@univerjs/engine-formula 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +1 -1
- package/lib/es/facade.js +1 -656
- package/lib/es/index.js +1 -33445
- package/lib/facade.js +1 -656
- package/lib/index.js +1 -33445
- package/lib/types/basics/cache-lru.d.ts +15 -0
- package/lib/types/basics/calculate.d.ts +15 -0
- package/lib/types/basics/common.d.ts +18 -3
- package/lib/types/basics/database.d.ts +17 -1
- package/lib/types/basics/date.d.ts +17 -1
- package/lib/types/basics/dirty.d.ts +16 -1
- package/lib/types/basics/financial.d.ts +15 -0
- package/lib/types/basics/format.d.ts +16 -1
- package/lib/types/basics/function.d.ts +32 -17
- package/lib/types/basics/inverted-index-cache.d.ts +16 -1
- package/lib/types/basics/is-null-cell.d.ts +16 -1
- package/lib/types/basics/match-token.d.ts +15 -0
- package/lib/types/basics/runtime.d.ts +16 -1
- package/lib/types/basics/statistical.d.ts +20 -4
- package/lib/types/commands/mutations/formula.mutation.d.ts +16 -1
- package/lib/types/commands/mutations/register-function.mutation.d.ts +16 -1
- package/lib/types/commands/mutations/set-array-formula-data.mutation.d.ts +17 -2
- package/lib/types/commands/mutations/set-defined-name.mutation.d.ts +16 -1
- package/lib/types/commands/mutations/set-feature-calculation.mutation.d.ts +17 -2
- package/lib/types/commands/mutations/set-formula-calculation.mutation.d.ts +20 -5
- package/lib/types/commands/mutations/set-formula-data.mutation.d.ts +17 -2
- package/lib/types/commands/mutations/set-image-formula-data.mutation.d.ts +17 -2
- package/lib/types/commands/mutations/set-other-formula.mutation.d.ts +17 -2
- package/lib/types/commands/mutations/set-super-table.mutation.d.ts +18 -3
- package/lib/types/config/config.d.ts +18 -3
- package/lib/types/controllers/calculate.controller.d.ts +15 -0
- package/lib/types/controllers/computing-status.controller.d.ts +15 -0
- package/lib/types/controllers/formula.controller.d.ts +15 -0
- package/lib/types/controllers/set-dependency.controller.d.ts +15 -0
- package/lib/types/controllers/set-feature-calculation.controller.d.ts +15 -0
- package/lib/types/controllers/set-other-formula.controller.d.ts +15 -0
- package/lib/types/controllers/set-super-table.controller.d.ts +15 -0
- package/lib/types/engine/analysis/lexer-node.d.ts +17 -2
- package/lib/types/engine/analysis/lexer-tree-builder.d.ts +21 -5
- package/lib/types/engine/analysis/lexer.d.ts +16 -1
- package/lib/types/engine/analysis/parser.d.ts +18 -2
- package/lib/types/engine/ast-node/ast-root-node.d.ts +15 -0
- package/lib/types/engine/ast-node/base-ast-node-factory.d.ts +16 -1
- package/lib/types/engine/ast-node/base-ast-node.d.ts +18 -3
- package/lib/types/engine/ast-node/function-node.d.ts +17 -2
- package/lib/types/engine/ast-node/lambda-node.d.ts +15 -0
- package/lib/types/engine/ast-node/lambda-parameter-node.d.ts +17 -1
- package/lib/types/engine/ast-node/null-node.d.ts +15 -0
- package/lib/types/engine/ast-node/operator-node.d.ts +16 -1
- package/lib/types/engine/ast-node/prefix-node.d.ts +17 -2
- package/lib/types/engine/ast-node/reference-node.d.ts +15 -0
- package/lib/types/engine/ast-node/suffix-node.d.ts +16 -1
- package/lib/types/engine/ast-node/union-node.d.ts +15 -0
- package/lib/types/engine/ast-node/value-node.d.ts +15 -0
- package/lib/types/engine/dependency/dependency-tree.d.ts +20 -5
- package/lib/types/engine/dependency/formula-dependency.d.ts +27 -9
- package/lib/types/engine/interpreter/interpreter.d.ts +21 -5
- package/lib/types/engine/reference-object/base-reference-object.d.ts +25 -9
- package/lib/types/engine/reference-object/cell-reference-object.d.ts +16 -1
- package/lib/types/engine/reference-object/column-reference-object.d.ts +15 -0
- package/lib/types/engine/reference-object/multi-area-reference-object.d.ts +21 -6
- package/lib/types/engine/reference-object/range-reference-object.d.ts +16 -1
- package/lib/types/engine/reference-object/row-reference-object.d.ts +15 -0
- package/lib/types/engine/reference-object/table-reference-object.d.ts +18 -2
- package/lib/types/engine/utils/array-object.d.ts +16 -1
- package/lib/types/engine/utils/ast-node-tool.d.ts +17 -2
- package/lib/types/engine/utils/cell.d.ts +18 -3
- package/lib/types/engine/utils/check-variant-error.d.ts +16 -1
- package/lib/types/engine/utils/compare.d.ts +15 -0
- package/lib/types/engine/utils/function-definition.d.ts +15 -0
- package/lib/types/engine/utils/generate-ast-node.d.ts +21 -6
- package/lib/types/engine/utils/get-runtime-feature-cell.d.ts +17 -2
- package/lib/types/engine/utils/node-type.d.ts +19 -4
- package/lib/types/engine/utils/numfmt-kit.d.ts +17 -1
- package/lib/types/engine/utils/object-compare.d.ts +17 -2
- package/lib/types/engine/utils/prefix-handler.d.ts +18 -3
- package/lib/types/engine/utils/r1c1-reference.d.ts +16 -1
- package/lib/types/engine/utils/reference-cache.d.ts +16 -1
- package/lib/types/engine/utils/reference.d.ts +17 -1
- package/lib/types/engine/utils/sequence.d.ts +16 -1
- package/lib/types/engine/utils/update-lambda-statement.d.ts +16 -1
- package/lib/types/engine/utils/value-object.d.ts +19 -3
- package/lib/types/engine/value-object/array-value-object.d.ts +18 -2
- package/lib/types/engine/value-object/base-value-object.d.ts +16 -1
- package/lib/types/engine/value-object/cube-value-object.d.ts +16 -1
- package/lib/types/engine/value-object/lambda-value-object.d.ts +21 -5
- package/lib/types/engine/value-object/primitive-object.d.ts +15 -0
- package/lib/types/facade/f-formula.d.ts +19 -2
- package/lib/types/facade/f-univer.d.ts +15 -0
- package/lib/types/functions/array/array-constrain/index.d.ts +16 -1
- package/lib/types/functions/array/flatten/index.d.ts +16 -1
- package/lib/types/functions/array/function-map.d.ts +15 -0
- package/lib/types/functions/base-function.d.ts +27 -10
- package/lib/types/functions/column-like-functions.d.ts +16 -1
- package/lib/types/functions/compatibility/betadist/index.d.ts +16 -1
- package/lib/types/functions/compatibility/function-map.d.ts +15 -0
- package/lib/types/functions/compatibility/hypgeomdist/index.d.ts +16 -1
- package/lib/types/functions/compatibility/lognormdist/index.d.ts +16 -1
- package/lib/types/functions/compatibility/negbinomdist/index.d.ts +16 -1
- package/lib/types/functions/compatibility/normsdist/index.d.ts +16 -1
- package/lib/types/functions/compatibility/rank/index.d.ts +17 -2
- package/lib/types/functions/compatibility/tdist/index.d.ts +16 -1
- package/lib/types/functions/custom-function.d.ts +15 -0
- package/lib/types/functions/database/daverage/index.d.ts +17 -1
- package/lib/types/functions/database/dcount/index.d.ts +16 -1
- package/lib/types/functions/database/dcounta/index.d.ts +16 -1
- package/lib/types/functions/database/dget/index.d.ts +16 -1
- package/lib/types/functions/database/dmax/index.d.ts +16 -1
- package/lib/types/functions/database/dmin/index.d.ts +16 -1
- package/lib/types/functions/database/dproduct/index.d.ts +16 -1
- package/lib/types/functions/database/dstdev/index.d.ts +17 -1
- package/lib/types/functions/database/dstdevp/index.d.ts +17 -1
- package/lib/types/functions/database/dsum/index.d.ts +16 -1
- package/lib/types/functions/database/dvar/index.d.ts +17 -1
- package/lib/types/functions/database/dvarp/index.d.ts +17 -1
- package/lib/types/functions/database/function-map.d.ts +15 -0
- package/lib/types/functions/date/date/index.d.ts +16 -1
- package/lib/types/functions/date/datedif/index.d.ts +16 -1
- package/lib/types/functions/date/datevalue/index.d.ts +16 -1
- package/lib/types/functions/date/day/index.d.ts +16 -1
- package/lib/types/functions/date/days/index.d.ts +16 -1
- package/lib/types/functions/date/days360/index.d.ts +16 -1
- package/lib/types/functions/date/edate/index.d.ts +16 -1
- package/lib/types/functions/date/eomonth/index.d.ts +16 -1
- package/lib/types/functions/date/epochtodate/index.d.ts +17 -2
- package/lib/types/functions/date/function-map.d.ts +15 -0
- package/lib/types/functions/date/hour/index.d.ts +16 -1
- package/lib/types/functions/date/isoweeknum/index.d.ts +16 -1
- package/lib/types/functions/date/minute/index.d.ts +16 -1
- package/lib/types/functions/date/month/index.d.ts +16 -1
- package/lib/types/functions/date/networkdays/index.d.ts +16 -1
- package/lib/types/functions/date/networkdays-intl/index.d.ts +16 -1
- package/lib/types/functions/date/now/index.d.ts +15 -0
- package/lib/types/functions/date/second/index.d.ts +16 -1
- package/lib/types/functions/date/time/index.d.ts +16 -1
- package/lib/types/functions/date/timevalue/index.d.ts +16 -1
- package/lib/types/functions/date/to-date/index.d.ts +17 -2
- package/lib/types/functions/date/today/index.d.ts +15 -0
- package/lib/types/functions/date/weekday/index.d.ts +16 -1
- package/lib/types/functions/date/weeknum/index.d.ts +16 -1
- package/lib/types/functions/date/workday/index.d.ts +16 -1
- package/lib/types/functions/date/workday-intl/index.d.ts +16 -1
- package/lib/types/functions/date/year/index.d.ts +16 -1
- package/lib/types/functions/date/yearfrac/index.d.ts +16 -1
- package/lib/types/functions/engineering/besseli/index.d.ts +16 -1
- package/lib/types/functions/engineering/besselj/index.d.ts +16 -1
- package/lib/types/functions/engineering/besselk/index.d.ts +16 -1
- package/lib/types/functions/engineering/bessely/index.d.ts +16 -1
- package/lib/types/functions/engineering/bin2dec/index.d.ts +16 -1
- package/lib/types/functions/engineering/bin2hex/index.d.ts +16 -1
- package/lib/types/functions/engineering/bin2oct/index.d.ts +16 -1
- package/lib/types/functions/engineering/bitand/index.d.ts +16 -1
- package/lib/types/functions/engineering/bitlshift/index.d.ts +16 -1
- package/lib/types/functions/engineering/bitor/index.d.ts +16 -1
- package/lib/types/functions/engineering/bitrshift/index.d.ts +16 -1
- package/lib/types/functions/engineering/bitxor/index.d.ts +16 -1
- package/lib/types/functions/engineering/complex/index.d.ts +16 -1
- package/lib/types/functions/engineering/convert/index.d.ts +16 -1
- package/lib/types/functions/engineering/dec2bin/index.d.ts +16 -1
- package/lib/types/functions/engineering/dec2hex/index.d.ts +16 -1
- package/lib/types/functions/engineering/dec2oct/index.d.ts +16 -1
- package/lib/types/functions/engineering/delta/index.d.ts +16 -1
- package/lib/types/functions/engineering/erf/index.d.ts +16 -1
- package/lib/types/functions/engineering/erf-precise/index.d.ts +16 -1
- package/lib/types/functions/engineering/erfc/index.d.ts +16 -1
- package/lib/types/functions/engineering/erfc-precise/index.d.ts +16 -1
- package/lib/types/functions/engineering/function-map.d.ts +15 -0
- package/lib/types/functions/engineering/gestep/index.d.ts +16 -1
- package/lib/types/functions/engineering/hex2bin/index.d.ts +16 -1
- package/lib/types/functions/engineering/hex2dec/index.d.ts +16 -1
- package/lib/types/functions/engineering/hex2oct/index.d.ts +16 -1
- package/lib/types/functions/engineering/imabs/index.d.ts +16 -1
- package/lib/types/functions/engineering/imaginary/index.d.ts +16 -1
- package/lib/types/functions/engineering/imargument/index.d.ts +16 -1
- package/lib/types/functions/engineering/imconjugate/index.d.ts +16 -1
- package/lib/types/functions/engineering/imcos/index.d.ts +16 -1
- package/lib/types/functions/engineering/imcosh/index.d.ts +16 -1
- package/lib/types/functions/engineering/imcot/index.d.ts +16 -1
- package/lib/types/functions/engineering/imcoth/index.d.ts +16 -1
- package/lib/types/functions/engineering/imcsc/index.d.ts +16 -1
- package/lib/types/functions/engineering/imcsch/index.d.ts +16 -1
- package/lib/types/functions/engineering/imdiv/index.d.ts +16 -1
- package/lib/types/functions/engineering/imexp/index.d.ts +16 -1
- package/lib/types/functions/engineering/imln/index.d.ts +16 -1
- package/lib/types/functions/engineering/imlog/index.d.ts +16 -1
- package/lib/types/functions/engineering/imlog10/index.d.ts +16 -1
- package/lib/types/functions/engineering/imlog2/index.d.ts +16 -1
- package/lib/types/functions/engineering/impower/index.d.ts +16 -1
- package/lib/types/functions/engineering/improduct/index.d.ts +16 -1
- package/lib/types/functions/engineering/imreal/index.d.ts +16 -1
- package/lib/types/functions/engineering/imsec/index.d.ts +16 -1
- package/lib/types/functions/engineering/imsech/index.d.ts +16 -1
- package/lib/types/functions/engineering/imsin/index.d.ts +16 -1
- package/lib/types/functions/engineering/imsinh/index.d.ts +16 -1
- package/lib/types/functions/engineering/imsqrt/index.d.ts +16 -1
- package/lib/types/functions/engineering/imsub/index.d.ts +16 -1
- package/lib/types/functions/engineering/imsum/index.d.ts +16 -1
- package/lib/types/functions/engineering/imtan/index.d.ts +16 -1
- package/lib/types/functions/engineering/imtanh/index.d.ts +16 -1
- package/lib/types/functions/engineering/oct2bin/index.d.ts +16 -1
- package/lib/types/functions/engineering/oct2dec/index.d.ts +16 -1
- package/lib/types/functions/engineering/oct2hex/index.d.ts +16 -1
- package/lib/types/functions/financial/accrint/index.d.ts +16 -1
- package/lib/types/functions/financial/accrintm/index.d.ts +16 -1
- package/lib/types/functions/financial/amorlinc/index.d.ts +16 -1
- package/lib/types/functions/financial/coupdaybs/index.d.ts +16 -1
- package/lib/types/functions/financial/coupdays/index.d.ts +16 -1
- package/lib/types/functions/financial/coupdaysnc/index.d.ts +16 -1
- package/lib/types/functions/financial/coupncd/index.d.ts +16 -1
- package/lib/types/functions/financial/coupnum/index.d.ts +16 -1
- package/lib/types/functions/financial/couppcd/index.d.ts +16 -1
- package/lib/types/functions/financial/cumipmt/index.d.ts +16 -1
- package/lib/types/functions/financial/cumprinc/index.d.ts +16 -1
- package/lib/types/functions/financial/db/index.d.ts +16 -1
- package/lib/types/functions/financial/ddb/index.d.ts +16 -1
- package/lib/types/functions/financial/disc/index.d.ts +16 -1
- package/lib/types/functions/financial/dollarde/index.d.ts +16 -1
- package/lib/types/functions/financial/dollarfr/index.d.ts +16 -1
- package/lib/types/functions/financial/duration/index.d.ts +16 -1
- package/lib/types/functions/financial/effect/index.d.ts +16 -1
- package/lib/types/functions/financial/function-map.d.ts +15 -0
- package/lib/types/functions/financial/fv/index.d.ts +16 -1
- package/lib/types/functions/financial/fvschedule/index.d.ts +16 -1
- package/lib/types/functions/financial/intrate/index.d.ts +16 -1
- package/lib/types/functions/financial/ipmt/index.d.ts +16 -1
- package/lib/types/functions/financial/irr/index.d.ts +16 -1
- package/lib/types/functions/financial/ispmt/index.d.ts +16 -1
- package/lib/types/functions/financial/mduration/index.d.ts +16 -1
- package/lib/types/functions/financial/mirr/index.d.ts +16 -1
- package/lib/types/functions/financial/nominal/index.d.ts +16 -1
- package/lib/types/functions/financial/nper/index.d.ts +16 -1
- package/lib/types/functions/financial/npv/index.d.ts +16 -1
- package/lib/types/functions/financial/oddfprice/index.d.ts +16 -1
- package/lib/types/functions/financial/oddfyield/index.d.ts +16 -1
- package/lib/types/functions/financial/oddlprice/index.d.ts +16 -1
- package/lib/types/functions/financial/oddlyield/index.d.ts +16 -1
- package/lib/types/functions/financial/pduration/index.d.ts +16 -1
- package/lib/types/functions/financial/pmt/index.d.ts +16 -1
- package/lib/types/functions/financial/ppmt/index.d.ts +16 -1
- package/lib/types/functions/financial/price/index.d.ts +16 -1
- package/lib/types/functions/financial/pricedisc/index.d.ts +16 -1
- package/lib/types/functions/financial/pricemat/index.d.ts +16 -1
- package/lib/types/functions/financial/pv/index.d.ts +16 -1
- package/lib/types/functions/financial/rate/index.d.ts +16 -1
- package/lib/types/functions/financial/received/index.d.ts +16 -1
- package/lib/types/functions/financial/rri/index.d.ts +16 -1
- package/lib/types/functions/financial/sln/index.d.ts +16 -1
- package/lib/types/functions/financial/syd/index.d.ts +16 -1
- package/lib/types/functions/financial/tbilleq/index.d.ts +16 -1
- package/lib/types/functions/financial/tbillprice/index.d.ts +16 -1
- package/lib/types/functions/financial/tbillyield/index.d.ts +16 -1
- package/lib/types/functions/financial/vdb/index.d.ts +16 -1
- package/lib/types/functions/financial/xirr/index.d.ts +16 -1
- package/lib/types/functions/financial/xnpv/index.d.ts +16 -1
- package/lib/types/functions/financial/yield/index.d.ts +16 -1
- package/lib/types/functions/financial/yielddisc/index.d.ts +16 -1
- package/lib/types/functions/financial/yieldmat/index.d.ts +16 -1
- package/lib/types/functions/information/cell/index.d.ts +16 -1
- package/lib/types/functions/information/error-type/index.d.ts +16 -1
- package/lib/types/functions/information/function-map.d.ts +15 -0
- package/lib/types/functions/information/isbetween/index.d.ts +16 -1
- package/lib/types/functions/information/isblank/index.d.ts +17 -2
- package/lib/types/functions/information/isdate/index.d.ts +16 -1
- package/lib/types/functions/information/isemail/index.d.ts +16 -1
- package/lib/types/functions/information/iserr/index.d.ts +17 -2
- package/lib/types/functions/information/iserror/index.d.ts +17 -2
- package/lib/types/functions/information/iseven/iseven.d.ts +16 -1
- package/lib/types/functions/information/isformula/index.d.ts +17 -2
- package/lib/types/functions/information/islogical/index.d.ts +17 -2
- package/lib/types/functions/information/isna/index.d.ts +17 -2
- package/lib/types/functions/information/isnontext/index.d.ts +17 -2
- package/lib/types/functions/information/isnumber/index.d.ts +17 -2
- package/lib/types/functions/information/isodd/isodd.d.ts +16 -1
- package/lib/types/functions/information/isref/index.d.ts +16 -1
- package/lib/types/functions/information/istext/index.d.ts +17 -2
- package/lib/types/functions/information/isurl/index.d.ts +16 -1
- package/lib/types/functions/information/n/index.d.ts +16 -1
- package/lib/types/functions/information/na/index.d.ts +15 -0
- package/lib/types/functions/information/sheet/index.d.ts +17 -2
- package/lib/types/functions/information/sheets/index.d.ts +16 -1
- package/lib/types/functions/information/type/index.d.ts +16 -1
- package/lib/types/functions/logical/and/index.d.ts +16 -1
- package/lib/types/functions/logical/bycol/index.d.ts +17 -2
- package/lib/types/functions/logical/byrow/index.d.ts +17 -2
- package/lib/types/functions/logical/false/index.d.ts +15 -0
- package/lib/types/functions/logical/function-map.d.ts +15 -0
- package/lib/types/functions/logical/if/index.d.ts +17 -2
- package/lib/types/functions/logical/iferror/index.d.ts +17 -2
- package/lib/types/functions/logical/ifna/index.d.ts +17 -2
- package/lib/types/functions/logical/ifs/index.d.ts +16 -1
- package/lib/types/functions/logical/lambda/index.d.ts +17 -1
- package/lib/types/functions/logical/let/index.d.ts +17 -1
- package/lib/types/functions/logical/makearray/index.d.ts +17 -1
- package/lib/types/functions/logical/map/index.d.ts +17 -2
- package/lib/types/functions/logical/not/index.d.ts +16 -1
- package/lib/types/functions/logical/or/index.d.ts +16 -1
- package/lib/types/functions/logical/reduce/index.d.ts +17 -2
- package/lib/types/functions/logical/scan/index.d.ts +17 -2
- package/lib/types/functions/logical/switch/index.d.ts +16 -1
- package/lib/types/functions/logical/true/index.d.ts +15 -0
- package/lib/types/functions/logical/xor/index.d.ts +16 -1
- package/lib/types/functions/lookup/address/index.d.ts +16 -1
- package/lib/types/functions/lookup/areas/index.d.ts +16 -1
- package/lib/types/functions/lookup/choose/index.d.ts +16 -1
- package/lib/types/functions/lookup/choosecols/index.d.ts +16 -1
- package/lib/types/functions/lookup/chooserows/index.d.ts +16 -1
- package/lib/types/functions/lookup/column/index.d.ts +16 -1
- package/lib/types/functions/lookup/columns/index.d.ts +16 -1
- package/lib/types/functions/lookup/drop/index.d.ts +16 -1
- package/lib/types/functions/lookup/expand/index.d.ts +16 -1
- package/lib/types/functions/lookup/filter/index.d.ts +16 -1
- package/lib/types/functions/lookup/formulatext/index.d.ts +18 -3
- package/lib/types/functions/lookup/function-map.d.ts +15 -0
- package/lib/types/functions/lookup/hlookup/index.d.ts +16 -1
- package/lib/types/functions/lookup/hstack/index.d.ts +16 -1
- package/lib/types/functions/lookup/hyperlink/index.d.ts +16 -1
- package/lib/types/functions/lookup/image/index.d.ts +16 -1
- package/lib/types/functions/lookup/index/index.d.ts +17 -2
- package/lib/types/functions/lookup/indirect/index.d.ts +17 -2
- package/lib/types/functions/lookup/lookup/index.d.ts +17 -2
- package/lib/types/functions/lookup/match/index.d.ts +17 -2
- package/lib/types/functions/lookup/offset/index.d.ts +16 -1
- package/lib/types/functions/lookup/row/index.d.ts +16 -1
- package/lib/types/functions/lookup/rows/index.d.ts +16 -1
- package/lib/types/functions/lookup/sort/index.d.ts +16 -1
- package/lib/types/functions/lookup/sortby/index.d.ts +17 -1
- package/lib/types/functions/lookup/take/index.d.ts +16 -1
- package/lib/types/functions/lookup/tocol/index.d.ts +16 -1
- package/lib/types/functions/lookup/torow/index.d.ts +16 -1
- package/lib/types/functions/lookup/transpose/index.d.ts +17 -2
- package/lib/types/functions/lookup/unique/index.d.ts +16 -1
- package/lib/types/functions/lookup/vlookup/index.d.ts +17 -2
- package/lib/types/functions/lookup/vstack/index.d.ts +16 -1
- package/lib/types/functions/lookup/wrapcols/index.d.ts +16 -1
- package/lib/types/functions/lookup/wraprows/index.d.ts +16 -1
- package/lib/types/functions/lookup/xlookup/index.d.ts +16 -1
- package/lib/types/functions/lookup/xmatch/index.d.ts +16 -1
- package/lib/types/functions/math/abs/index.d.ts +16 -1
- package/lib/types/functions/math/acos/index.d.ts +16 -1
- package/lib/types/functions/math/acosh/index.d.ts +16 -1
- package/lib/types/functions/math/acot/index.d.ts +16 -1
- package/lib/types/functions/math/acoth/index.d.ts +16 -1
- package/lib/types/functions/math/aggregate/index.d.ts +18 -3
- package/lib/types/functions/math/arabic/index.d.ts +16 -1
- package/lib/types/functions/math/asin/index.d.ts +16 -1
- package/lib/types/functions/math/asinh/index.d.ts +16 -1
- package/lib/types/functions/math/atan/index.d.ts +16 -1
- package/lib/types/functions/math/atan2/index.d.ts +16 -1
- package/lib/types/functions/math/atanh/index.d.ts +16 -1
- package/lib/types/functions/math/base/index.d.ts +16 -1
- package/lib/types/functions/math/ceiling/index.d.ts +16 -1
- package/lib/types/functions/math/ceiling-math/index.d.ts +16 -1
- package/lib/types/functions/math/ceiling-precise/index.d.ts +16 -1
- package/lib/types/functions/math/combin/index.d.ts +16 -1
- package/lib/types/functions/math/combina/index.d.ts +16 -1
- package/lib/types/functions/math/cos/index.d.ts +16 -1
- package/lib/types/functions/math/cosh/index.d.ts +16 -1
- package/lib/types/functions/math/cot/index.d.ts +16 -1
- package/lib/types/functions/math/coth/index.d.ts +16 -1
- package/lib/types/functions/math/csc/index.d.ts +16 -1
- package/lib/types/functions/math/csch/index.d.ts +16 -1
- package/lib/types/functions/math/decimal/index.d.ts +16 -1
- package/lib/types/functions/math/degrees/index.d.ts +16 -1
- package/lib/types/functions/math/even/index.d.ts +16 -1
- package/lib/types/functions/math/exp/index.d.ts +16 -1
- package/lib/types/functions/math/fact/index.d.ts +16 -1
- package/lib/types/functions/math/factdouble/index.d.ts +16 -1
- package/lib/types/functions/math/floor/index.d.ts +16 -1
- package/lib/types/functions/math/floor-math/index.d.ts +16 -1
- package/lib/types/functions/math/floor-precise/index.d.ts +16 -1
- package/lib/types/functions/math/function-map.d.ts +15 -0
- package/lib/types/functions/math/gcd/index.d.ts +16 -1
- package/lib/types/functions/math/int/index.d.ts +16 -1
- package/lib/types/functions/math/lcm/index.d.ts +16 -1
- package/lib/types/functions/math/ln/index.d.ts +16 -1
- package/lib/types/functions/math/log/index.d.ts +16 -1
- package/lib/types/functions/math/log10/index.d.ts +16 -1
- package/lib/types/functions/math/mdeterm/index.d.ts +16 -1
- package/lib/types/functions/math/minverse/index.d.ts +16 -1
- package/lib/types/functions/math/mmult/index.d.ts +16 -1
- package/lib/types/functions/math/mod/index.d.ts +16 -1
- package/lib/types/functions/math/mround/index.d.ts +16 -1
- package/lib/types/functions/math/multinomial/index.d.ts +16 -1
- package/lib/types/functions/math/munit/index.d.ts +16 -1
- package/lib/types/functions/math/odd/index.d.ts +16 -1
- package/lib/types/functions/math/pi/index.d.ts +15 -0
- package/lib/types/functions/math/power/index.d.ts +16 -1
- package/lib/types/functions/math/product/index.d.ts +16 -1
- package/lib/types/functions/math/quotient/index.d.ts +16 -1
- package/lib/types/functions/math/radians/index.d.ts +16 -1
- package/lib/types/functions/math/rand/index.d.ts +15 -0
- package/lib/types/functions/math/randarray/index.d.ts +16 -1
- package/lib/types/functions/math/randbetween/index.d.ts +16 -1
- package/lib/types/functions/math/roman/index.d.ts +16 -1
- package/lib/types/functions/math/round/index.d.ts +16 -1
- package/lib/types/functions/math/roundbank/index.d.ts +16 -1
- package/lib/types/functions/math/rounddown/index.d.ts +16 -1
- package/lib/types/functions/math/roundup/index.d.ts +16 -1
- package/lib/types/functions/math/sec/index.d.ts +16 -1
- package/lib/types/functions/math/sech/index.d.ts +16 -1
- package/lib/types/functions/math/sequence/index.d.ts +16 -1
- package/lib/types/functions/math/seriessum/index.d.ts +16 -1
- package/lib/types/functions/math/sign/index.d.ts +16 -1
- package/lib/types/functions/math/sin/index.d.ts +16 -1
- package/lib/types/functions/math/sinh/index.d.ts +16 -1
- package/lib/types/functions/math/sqrt/index.d.ts +16 -1
- package/lib/types/functions/math/sqrtpi/index.d.ts +16 -1
- package/lib/types/functions/math/subtotal/index.d.ts +18 -3
- package/lib/types/functions/math/sum/index.d.ts +16 -1
- package/lib/types/functions/math/sumif/index.d.ts +17 -2
- package/lib/types/functions/math/sumifs/index.d.ts +17 -2
- package/lib/types/functions/math/sumproduct/index.d.ts +16 -1
- package/lib/types/functions/math/sumsq/index.d.ts +16 -1
- package/lib/types/functions/math/sumx2my2/index.d.ts +16 -1
- package/lib/types/functions/math/sumx2py2/index.d.ts +16 -1
- package/lib/types/functions/math/sumxmy2/index.d.ts +16 -1
- package/lib/types/functions/math/tan/index.d.ts +16 -1
- package/lib/types/functions/math/tanh/index.d.ts +16 -1
- package/lib/types/functions/math/trunc/index.d.ts +16 -1
- package/lib/types/functions/meta/compare/index.d.ts +16 -1
- package/lib/types/functions/meta/cube/index.d.ts +16 -1
- package/lib/types/functions/meta/divided/index.d.ts +16 -1
- package/lib/types/functions/meta/function-map.d.ts +15 -0
- package/lib/types/functions/meta/minus/index.d.ts +16 -1
- package/lib/types/functions/meta/multiply/index.d.ts +16 -1
- package/lib/types/functions/meta/plus/index.d.ts +16 -1
- package/lib/types/functions/new-excel-functions.d.ts +16 -1
- package/lib/types/functions/statistical/avedev/index.d.ts +16 -1
- package/lib/types/functions/statistical/average/index.d.ts +16 -1
- package/lib/types/functions/statistical/average-weighted/index.d.ts +16 -1
- package/lib/types/functions/statistical/averagea/index.d.ts +16 -1
- package/lib/types/functions/statistical/averageif/index.d.ts +17 -2
- package/lib/types/functions/statistical/averageifs/index.d.ts +17 -2
- package/lib/types/functions/statistical/beta-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/beta-inv/index.d.ts +16 -1
- package/lib/types/functions/statistical/binom-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/binom-dist-range/index.d.ts +16 -1
- package/lib/types/functions/statistical/binom-inv/index.d.ts +16 -1
- package/lib/types/functions/statistical/chisq-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/chisq-dist-rt/index.d.ts +16 -1
- package/lib/types/functions/statistical/chisq-inv/index.d.ts +16 -1
- package/lib/types/functions/statistical/chisq-inv-rt/index.d.ts +16 -1
- package/lib/types/functions/statistical/chisq-test/index.d.ts +16 -1
- package/lib/types/functions/statistical/confidence-norm/index.d.ts +16 -1
- package/lib/types/functions/statistical/confidence-t/index.d.ts +16 -1
- package/lib/types/functions/statistical/correl/index.d.ts +16 -1
- package/lib/types/functions/statistical/count/index.d.ts +16 -1
- package/lib/types/functions/statistical/counta/index.d.ts +16 -1
- package/lib/types/functions/statistical/countblank/index.d.ts +16 -1
- package/lib/types/functions/statistical/countif/index.d.ts +17 -2
- package/lib/types/functions/statistical/countifs/index.d.ts +17 -2
- package/lib/types/functions/statistical/covariance-p/index.d.ts +16 -1
- package/lib/types/functions/statistical/covariance-s/index.d.ts +16 -1
- package/lib/types/functions/statistical/devsq/index.d.ts +16 -1
- package/lib/types/functions/statistical/expon-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/f-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/f-dist-rt/index.d.ts +16 -1
- package/lib/types/functions/statistical/f-inv/index.d.ts +16 -1
- package/lib/types/functions/statistical/f-inv-rt/index.d.ts +16 -1
- package/lib/types/functions/statistical/f-test/index.d.ts +16 -1
- package/lib/types/functions/statistical/fisher/index.d.ts +16 -1
- package/lib/types/functions/statistical/fisherinv/index.d.ts +16 -1
- package/lib/types/functions/statistical/forecast/index.d.ts +16 -1
- package/lib/types/functions/statistical/frequency/index.d.ts +16 -1
- package/lib/types/functions/statistical/function-map.d.ts +15 -0
- package/lib/types/functions/statistical/gamma/index.d.ts +16 -1
- package/lib/types/functions/statistical/gamma-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/gamma-inv/index.d.ts +16 -1
- package/lib/types/functions/statistical/gammaln/index.d.ts +16 -1
- package/lib/types/functions/statistical/gauss/index.d.ts +16 -1
- package/lib/types/functions/statistical/geomean/index.d.ts +16 -1
- package/lib/types/functions/statistical/growth/index.d.ts +16 -1
- package/lib/types/functions/statistical/harmean/index.d.ts +16 -1
- package/lib/types/functions/statistical/hypgeom-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/intercept/index.d.ts +16 -1
- package/lib/types/functions/statistical/kurt/index.d.ts +16 -1
- package/lib/types/functions/statistical/large/index.d.ts +16 -1
- package/lib/types/functions/statistical/linest/index.d.ts +16 -1
- package/lib/types/functions/statistical/logest/index.d.ts +16 -1
- package/lib/types/functions/statistical/lognorm-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/lognorm-inv/index.d.ts +16 -1
- package/lib/types/functions/statistical/marginoferror/index.d.ts +16 -1
- package/lib/types/functions/statistical/max/index.d.ts +16 -1
- package/lib/types/functions/statistical/maxa/index.d.ts +16 -1
- package/lib/types/functions/statistical/maxifs/index.d.ts +17 -2
- package/lib/types/functions/statistical/median/index.d.ts +16 -1
- package/lib/types/functions/statistical/min/index.d.ts +16 -1
- package/lib/types/functions/statistical/mina/index.d.ts +16 -1
- package/lib/types/functions/statistical/minifs/index.d.ts +17 -2
- package/lib/types/functions/statistical/mode-mult/index.d.ts +16 -1
- package/lib/types/functions/statistical/mode-sngl/index.d.ts +16 -1
- package/lib/types/functions/statistical/negbinom-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/norm-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/norm-inv/index.d.ts +16 -1
- package/lib/types/functions/statistical/norm-s-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/norm-s-inv/index.d.ts +16 -1
- package/lib/types/functions/statistical/pearson/index.d.ts +16 -1
- package/lib/types/functions/statistical/percentile-exc/index.d.ts +16 -1
- package/lib/types/functions/statistical/percentile-inc/index.d.ts +16 -1
- package/lib/types/functions/statistical/percentrank-exc/index.d.ts +16 -1
- package/lib/types/functions/statistical/percentrank-inc/index.d.ts +16 -1
- package/lib/types/functions/statistical/permut/index.d.ts +16 -1
- package/lib/types/functions/statistical/permutationa/index.d.ts +16 -1
- package/lib/types/functions/statistical/phi/index.d.ts +16 -1
- package/lib/types/functions/statistical/poisson-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/prob/index.d.ts +16 -1
- package/lib/types/functions/statistical/quartile-exc/index.d.ts +16 -1
- package/lib/types/functions/statistical/quartile-inc/index.d.ts +16 -1
- package/lib/types/functions/statistical/rank-avg/index.d.ts +17 -2
- package/lib/types/functions/statistical/rank-eq/index.d.ts +17 -2
- package/lib/types/functions/statistical/rsq/index.d.ts +16 -1
- package/lib/types/functions/statistical/skew/index.d.ts +16 -1
- package/lib/types/functions/statistical/skew-p/index.d.ts +16 -1
- package/lib/types/functions/statistical/slope/index.d.ts +16 -1
- package/lib/types/functions/statistical/small/index.d.ts +16 -1
- package/lib/types/functions/statistical/standardize/index.d.ts +16 -1
- package/lib/types/functions/statistical/stdev-p/index.d.ts +17 -2
- package/lib/types/functions/statistical/stdev-s/index.d.ts +17 -2
- package/lib/types/functions/statistical/stdeva/index.d.ts +17 -2
- package/lib/types/functions/statistical/stdevpa/index.d.ts +17 -2
- package/lib/types/functions/statistical/steyx/index.d.ts +16 -1
- package/lib/types/functions/statistical/t-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/t-dist-2t/index.d.ts +16 -1
- package/lib/types/functions/statistical/t-dist-rt/index.d.ts +16 -1
- package/lib/types/functions/statistical/t-inv/index.d.ts +16 -1
- package/lib/types/functions/statistical/t-inv-2t/index.d.ts +16 -1
- package/lib/types/functions/statistical/t-test/index.d.ts +16 -1
- package/lib/types/functions/statistical/trend/index.d.ts +16 -1
- package/lib/types/functions/statistical/trimmean/index.d.ts +16 -1
- package/lib/types/functions/statistical/var-p/index.d.ts +17 -2
- package/lib/types/functions/statistical/var-s/index.d.ts +17 -2
- package/lib/types/functions/statistical/vara/index.d.ts +17 -2
- package/lib/types/functions/statistical/varpa/index.d.ts +17 -2
- package/lib/types/functions/statistical/weibull-dist/index.d.ts +16 -1
- package/lib/types/functions/statistical/z-test/index.d.ts +16 -1
- package/lib/types/functions/text/arraytotext/index.d.ts +16 -1
- package/lib/types/functions/text/asc/index.d.ts +16 -1
- package/lib/types/functions/text/bahttext/index.d.ts +16 -1
- package/lib/types/functions/text/char/index.d.ts +16 -1
- package/lib/types/functions/text/clean/index.d.ts +16 -1
- package/lib/types/functions/text/code/index.d.ts +16 -1
- package/lib/types/functions/text/concat/index.d.ts +16 -1
- package/lib/types/functions/text/concatenate/index.d.ts +16 -1
- package/lib/types/functions/text/dbcs/index.d.ts +16 -1
- package/lib/types/functions/text/dollar/index.d.ts +16 -1
- package/lib/types/functions/text/exact/index.d.ts +16 -1
- package/lib/types/functions/text/find/index.d.ts +16 -1
- package/lib/types/functions/text/findb/index.d.ts +16 -1
- package/lib/types/functions/text/fixed/index.d.ts +16 -1
- package/lib/types/functions/text/function-map.d.ts +15 -0
- package/lib/types/functions/text/left/index.d.ts +16 -1
- package/lib/types/functions/text/leftb/index.d.ts +16 -1
- package/lib/types/functions/text/len/index.d.ts +16 -1
- package/lib/types/functions/text/lenb/index.d.ts +16 -1
- package/lib/types/functions/text/lower/index.d.ts +16 -1
- package/lib/types/functions/text/mid/index.d.ts +16 -1
- package/lib/types/functions/text/midb/index.d.ts +16 -1
- package/lib/types/functions/text/numberstring/index.d.ts +16 -1
- package/lib/types/functions/text/numbervalue/index.d.ts +16 -1
- package/lib/types/functions/text/proper/index.d.ts +16 -1
- package/lib/types/functions/text/regexextract/index.d.ts +16 -1
- package/lib/types/functions/text/regexmatch/index.d.ts +16 -1
- package/lib/types/functions/text/regexreplace/index.d.ts +16 -1
- package/lib/types/functions/text/replace/index.d.ts +16 -1
- package/lib/types/functions/text/replaceb/index.d.ts +16 -1
- package/lib/types/functions/text/rept/index.d.ts +16 -1
- package/lib/types/functions/text/right/index.d.ts +16 -1
- package/lib/types/functions/text/rightb/index.d.ts +16 -1
- package/lib/types/functions/text/search/index.d.ts +16 -1
- package/lib/types/functions/text/searchb/index.d.ts +16 -1
- package/lib/types/functions/text/substitute/index.d.ts +16 -1
- package/lib/types/functions/text/t/index.d.ts +17 -2
- package/lib/types/functions/text/text/index.d.ts +16 -1
- package/lib/types/functions/text/textafter/index.d.ts +17 -2
- package/lib/types/functions/text/textbefore/index.d.ts +17 -2
- package/lib/types/functions/text/textjoin/index.d.ts +16 -1
- package/lib/types/functions/text/textsplit/index.d.ts +16 -1
- package/lib/types/functions/text/trim/index.d.ts +16 -1
- package/lib/types/functions/text/unichar/index.d.ts +16 -1
- package/lib/types/functions/text/unicode/index.d.ts +16 -1
- package/lib/types/functions/text/upper/index.d.ts +16 -1
- package/lib/types/functions/text/value/index.d.ts +16 -1
- package/lib/types/functions/text/valuetotext/index.d.ts +16 -1
- package/lib/types/functions/util.d.ts +17 -1
- package/lib/types/functions/web/encodeurl/index.d.ts +16 -1
- package/lib/types/functions/web/function-map.d.ts +15 -0
- package/lib/types/models/formula-data.model.d.ts +18 -2
- package/lib/types/models/utils/formula-data-util.d.ts +17 -2
- package/lib/types/plugin.d.ts +16 -1
- package/lib/types/services/active-dirty-manager.service.d.ts +19 -3
- package/lib/types/services/calculate-formula.service.d.ts +25 -7
- package/lib/types/services/current-data.service.d.ts +19 -3
- package/lib/types/services/defined-names.service.d.ts +19 -3
- package/lib/types/services/dependency-manager.service.d.ts +20 -4
- package/lib/types/services/feature-calculation-manager.service.d.ts +23 -7
- package/lib/types/services/formula-common.d.ts +16 -1
- package/lib/types/services/function.service.d.ts +20 -4
- package/lib/types/services/global-computing-status.service.d.ts +18 -2
- package/lib/types/services/hyperlink-engine-formula.service.d.ts +18 -2
- package/lib/types/services/other-formula-manager.service.d.ts +19 -3
- package/lib/types/services/register-other-formula.service.d.ts +20 -4
- package/lib/types/services/runtime.service.d.ts +22 -6
- package/lib/types/services/sheet-row-filtered.service.d.ts +16 -1
- package/lib/types/services/super-table.service.d.ts +21 -4
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +9 -1
- package/package.json +8 -7
- package/lib/types/functions/logical/bycol/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/logical/byrow/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/logical/makearray/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/logical/map/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/logical/reduce/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/logical/scan/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/lookup/index/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/lookup/indirect/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/arraytotext/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/asc/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/bahttext/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/char/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/clean/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/code/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/dbcs/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/dollar/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/exact/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/find/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/findb/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/fixed/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/left/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/leftb/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/len/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/lenb/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/lower/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/mid/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/midb/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/numberstring/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/numbervalue/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/proper/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/regexextract/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/regexmatch/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/regexreplace/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/replace/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/replaceb/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/rept/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/right/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/rightb/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/search/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/searchb/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/substitute/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/t/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/text/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/textafter/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/textbefore/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/textjoin/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/textsplit/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/trim/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/unichar/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/unicode/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/upper/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/value/__test__/index.spec.d.ts +0 -16
- package/lib/types/functions/text/valuetotext/__test__/index.spec.d.ts +0 -16
package/lib/umd/index.js
CHANGED
|
@@ -1 +1,9 @@
|
|
|
1
|
-
(function(w,S){typeof exports=="object"&&typeof module<"u"?S(exports,require("@univerjs/core"),require("rxjs"),require("@univerjs/rpc")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","rxjs","@univerjs/rpc"],S):(w=typeof globalThis<"u"?globalThis:w||self,S(w.UniverEngineFormula={},w.UniverCore,w.rxjs,w.UniverRpc))})(this,(function(w,S,Oe,Ul){"use strict";var $R=Object.defineProperty;var YR=(w,S,Oe)=>S in w?$R(w,S,{enumerable:!0,configurable:!0,writable:!0,value:Oe}):w[S]=Oe;var A=(w,S,Oe)=>YR(w,typeof S!="symbol"?S+"":S,Oe);var en;var Mt=(i=>(i.FALSE="FALSE",i.TRUE="TRUE",i))(Mt||{}),Dt=(i=>(i[i.SUCCESS=0]="SUCCESS",i[i.ERROR=1]="ERROR",i))(Dt||{}),Me=(i=>(i.ALL="#All",i.DATA="#Data",i.HEADERS="#Headers",i.TOTALS="#Totals",i.THIS_ROW="#This Row",i))(Me||{}),rt=(i=>(i[i.FRONT=0]="FRONT",i[i.BACK=1]="BACK",i))(rt||{});class yt{constructor(u){A(this,"_cache");this._cache=new S.LRUMap(u)}set(u,e){const t=this._hash(u);this._cache.set(t,e)}get(u){const e=this._hash(u);return this._cache.get(e)}clear(){this._cache.clear()}delete(u){this._cache.delete(this._hash(u))}forEach(u,e){this._cache.forEach(u,e)}_hash(u){return u.length<=64?u:S.hashAlgorithm(u).toString()}}var h=(i=>(i.DIV_BY_ZERO="#DIV/0!",i.NAME="#NAME?",i.VALUE="#VALUE!",i.NUM="#NUM!",i.NA="#N/A",i.CYCLE="#CYCLE!",i.REF="#REF!",i.SPILL="#SPILL!",i.CALC="#CALC!",i.ERROR="#ERROR!",i.CONNECT="#GETTING_DATA",i.NULL="#NULL!",i))(h||{});const wt=new Set(Object.values(h)),Ja=[...new Set(Object.values(h).map(i=>i.length))];class tn{constructor(){A(this,"pattern","")}dispose(){}getPattern(){return this.pattern}setPattern(u){this.pattern=u}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(u){return!1}}var se=(i=>(i.PLUS="+",i.MINUS="-",i.MULTIPLY="*",i.DIVIDED="/",i.CONCATENATE="&",i.POWER="^",i.EQUALS="=",i.NOT_EQUAL="<>",i.GREATER_THAN=">",i.GREATER_THAN_OR_EQUAL=">=",i.LESS_THAN="<",i.LESS_THAN_OR_EQUAL="<=",i))(se||{}),H=(i=>(i.EQUALS="=",i.NOT_EQUAL="<>",i.GREATER_THAN=">",i.GREATER_THAN_OR_EQUAL=">=",i.LESS_THAN="<",i.LESS_THAN_OR_EQUAL="<=",i))(H||{});const rn=new Map([["<>",4],["<",4],[">=",4],["=",4],[">",4],["<=",4],["&",3],["+",2],["-",2],["/",1],["*",1],["^",0]]),ct=new Set(rn.keys()),xl=new Set(["=","<>",">",">=","<","<="]);var K=(i=>(i.OPEN_BRACKET="(",i.CLOSE_BRACKET=")",i.COMMA=",",i.SINGLE_QUOTATION="'",i.DOUBLE_QUOTATION='"',i.OPEN_BRACES="{",i.CLOSE_BRACES="}",i.COLON=":",i.OPEN_SQUARE_BRACKET="[",i.CLOSE_SQUARE_BRACKET="]",i))(K||{}),Ke=(i=>(i.PERCENTAGE="%",i.POUND="#",i))(Ke||{});const nn=new Set(["%","#"]);var De=(i=>(i.AT="@",i.MINUS="-",i.PLUS="+",i))(De||{});const vl=" ";class bt extends tn{constructor(e){super();A(this,"_customData");this._rawValue=e}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(e){}setArrayValue(e){}withCustomData(e){return this._customData=e,this}getCustomData(){return this._customData}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isDateFormat(){return!1}isError(){return!1}isNull(){return!1}isHyperlink(){return!1}isImage(){return!1}sum(){return g.create(h.VALUE)}max(){return g.create(h.VALUE)}min(){return g.create(h.VALUE)}count(){return g.create(h.VALUE)}countA(){return g.create(h.VALUE)}countBlank(){return g.create(h.VALUE)}getNegative(){return g.create(h.VALUE)}getReciprocal(){return g.create(h.VALUE)}plus(e){return g.create(h.VALUE)}minus(e){return g.create(h.VALUE)}multiply(e){return g.create(h.VALUE)}divided(e){return g.create(h.VALUE)}mod(e){return g.create(h.VALUE)}map(e){return g.create(h.NAME)}mapValue(e){return g.create(h.NAME)}compare(e,t,r=!1){return g.create(h.NAME)}isEqual(e){return this.compare(e,H.EQUALS)}isNotEqual(e){return this.compare(e,H.NOT_EQUAL)}isGreaterThanOrEqual(e){return this.compare(e,H.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(e){return this.compare(e,H.LESS_THAN_OR_EQUAL)}isLessThan(e){return this.compare(e,H.LESS_THAN)}isGreaterThan(e){return this.compare(e,H.GREATER_THAN)}concatenateFront(e){return g.create(h.NAME)}concatenateBack(e){return g.create(h.NAME)}plusBy(e){return g.create(h.VALUE)}minusBy(e){return g.create(h.VALUE)}multiplyBy(e){return g.create(h.VALUE)}dividedBy(e){return g.create(h.VALUE)}modInverse(e){return g.create(h.VALUE)}compareBy(e,t,r=!1){return g.create(h.NAME)}concatenate(e,t=rt.FRONT){let r=this.getValue().toString();if(typeof e=="string")t===rt.FRONT?r=e+r:r+=e;else if(typeof e=="number")t===rt.FRONT?r=e.toString()+r:r+=e.toString();else if(typeof e=="boolean"){const n=e?"TRUE":"FALSE";t===rt.FRONT?r=n+r:r+=n}return r}pow(e){return g.create(h.VALUE)}powInverse(e){return g.create(h.VALUE)}sqrt(){return g.create(h.VALUE)}cbrt(){return g.create(h.VALUE)}cos(){return g.create(h.VALUE)}cosh(){return g.create(h.VALUE)}acos(){return g.create(h.VALUE)}acosh(){return g.create(h.VALUE)}sin(){return g.create(h.VALUE)}sinh(){return g.create(h.VALUE)}asin(){return g.create(h.VALUE)}asinh(){return g.create(h.VALUE)}tan(){return g.create(h.VALUE)}tanh(){return g.create(h.VALUE)}atan(){return g.create(h.VALUE)}atan2(e){return g.create(h.VALUE)}atan2Inverse(e){return g.create(h.VALUE)}atanh(){return g.create(h.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return g.create(h.VALUE)}log10(){return g.create(h.VALUE)}exp(){return g.create(h.VALUE)}abs(){return g.create(h.VALUE)}round(e){return g.create(h.VALUE)}roundInverse(e){return g.create(h.VALUE)}floor(e){return g.create(h.VALUE)}floorInverse(e){return g.create(h.VALUE)}ceil(e){return g.create(h.VALUE)}ceilInverse(e){return g.create(h.VALUE)}convertToNumberObjectValue(){return g.create(h.VALUE)}convertToBooleanObjectValue(){return g.create(h.VALUE)}}const Il=1e3,Cs=new yt(Il);class g extends bt{constructor(u,e=""){super(u),this._errorType=u,this._errorContent=e}static create(u,e=""){const t=`${u}-${e}`,r=Cs.get(t);if(r)return r;const n=new g(u,e);return Cs.set(t,n),n}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(u){return u.getErrorType()===this.getErrorType()}isError(){return!0}}const _s="yyyy/mm/dd;@",Fl="yyyy/mm/dd hh:mm",Bl="h:mm A/P",Bt=1440*60*1e3;function Re(i){const u=Date.UTC(1900,0,1),e=Date.UTC(1900,1,28),t=Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate());let r=(t-u)/Bt;return t>e&&(r+=1),Math.floor(r)+1}function Sr(i){const u=Date.UTC(1900,0,1,0,0,0),e=Date.UTC(1900,1,28,0,0,0),t=Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),i.getUTCHours(),i.getUTCMinutes(),i.getUTCSeconds(),i.getUTCMilliseconds());let r=(t-u)/Bt;return t>e&&(r+=1),r+1}function ae(i){const u=Date.UTC(1900,0,1),e=Date.UTC(1900,1,28);let t=Math.floor(i)-1;return t>(e-u)/Bt&&(t-=1),new Date(u+t*Bt)}function As(i){const u=Date.UTC(1900,0,1,0,0,0),e=Date.UTC(1900,1,28,0,0,0);let t=i-1;return t>(e-u)/Bt&&(t-=1),t<0&&(t=i),new Date(u+t*Bt)}function Es(i){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(i))return!1;const e=i.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const r=t.getFullYear(),n=(t.getMonth()+1).toString().padStart(2,"0"),s=t.getDate().toString().padStart(2,"0"),a=`${r}-${n}-${s}`;return i.replace(/\//g,"-").split("-").map(l=>l.padStart(2,"0")).join("-")===a}function sn(i){return S.numfmt.parseDate(i)}function an(i){return S.numfmt.parseTime(i)}function Rs(i){return S.numfmt.getFormatInfo(i).isDate}const ei={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 Mr(i){return!!(typeof i=="string"&&/^[0|1]{7}/.test(i)||ei[Number(i)])}function ti(i){if(!Mr(i))return[];if(typeof i=="string"&&/^[0|1]{7}/.test(i)){const u=[];for(let e=1;e<=i.length;e++)`${i[e-1]}`=="1"&&(e===i.length?u.push(0):u.push(e));return u}return ei[Number(i)]||[]}function on(i,u,e=1,t){const r=ti(e),n=Math.floor(i),s=Math.floor(u),a=s>n?n:s;let o=0;const l=Math.abs(Math.floor(u)-Math.floor(i))+1;for(let c=0;c<l;c++){const f=a+c;if(t&&t.length>0&&t.some(d=>Math.floor(d)===f))continue;const m=kt(f);r.includes(m)||o++}return s>=n?o:-o}function un(i,u,e=1,t){const r=ti(e),n=Math.floor(i);let s=n,a=Math.abs(u);for(let o=1;o<=a;o++){const l=u<0?n-o:n+o;if(l<0)return g.create(h.NUM);if(t&&t.length>0&&t.some(f=>Math.floor(f)===l)){a++;continue}const c=kt(l);if(r.includes(c)){a++;continue}s=l}return s}function G(i){if(i.isError())return i;const u=i.getValue();if(i.isString()){let e;if(sn(`${u}`))e=sn(`${u}`).v;else if(an(`${u}`))e=an(`${u}`).v;else if(S.isRealNum(u))e=+u;else return g.create(h.VALUE);return e instanceof Date&&(e=Sr(e)),+e<0||+e>2958465?g.create(h.NUM):+e}else{const e=+i.getValue();return e<0||e>2958465?g.create(h.NUM):e}}function kt(i){const u=Math.floor(i)===60;let e=ae(i);const t=Date.UTC(1900,1,28),r=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate());return!u&&r<=t&&(e=new Date(r-Bt)),e.getUTCDay()}function Ee(i,u,e){switch(e){case 0:return kl(i,u);case 1:return $l(i,u);case 2:return{days:Math.abs(u-i),yearDays:360};case 3:return{days:Math.abs(u-i),yearDays:365};case 4:return Yl(i,u);default:return{days:Math.abs(u-i),yearDays:365}}}function kl(i,u){const e=ae(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0,s=ae(u),a=u>0?s.getUTCFullYear():1900,o=u>0?s.getUTCMonth()+1:1,l=u>0?s.getUTCDate():0;r===2?ae(i+1).getUTCMonth()+1===3&&(n=30):n===31&&(n=30),l===31&&(n<30?(s=ae(u+1),a=s.getUTCFullYear(),o=s.getUTCMonth()+1,l=s.getUTCDate()):l=30);const c=(a-t)*360,f=u>=i?30-n:-n,m=u>=i?l:l-30,d=(u>=i?o-r-1:o-r+1)*30;return{days:Math.abs(c+f+m+d),yearDays:360}}function $l(i,u){const e=ae(i),t=i>0?e.getUTCFullYear():1900,r=ae(u),n=u>0?r.getUTCFullYear():1900,s=Math.abs(u-i),a=Math.abs(n-t)+1;let o,l;if(n<t){const c=new Date(Date.UTC(n,0,1)),f=new Date(Date.UTC(t,11,31));o=Re(c),l=Re(f),n===1900&&(o+=1)}else{const c=new Date(Date.UTC(t,0,1)),f=new Date(Date.UTC(n,11,31));o=Re(c),l=Re(f),t===1900&&(o+=1)}return{days:s,yearDays:(l-o+1)/a}}function Yl(i,u){const e=ae(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0;const s=ae(u),a=u>0?s.getUTCFullYear():1900,o=u>0?s.getUTCMonth()+1:1;let l=u>0?s.getUTCDate():0;n===31&&(n=30),l===31&&(l=30);const c=(a-t)*360,f=u>=i?30-n:-n,m=u>=i?l:l-30,d=(u>=i?o-r-1:o-r+1)*30;return{days:Math.abs(c+f+m+d),yearDays:360}}function Hl(i){return i%4===0&&i%100!==0||i%400===0}function Gl(i){return i%4===0&&i%100!==0||i%400===0||i===1900}const Wl=[31,29,31,30,31,30,31,31,30,31,30,31],Ql=[31,28,31,30,31,30,31,31,30,31,30,31];function Dr(i,u){return Hl(i)?Wl[u]:Ql[u]}function ln(i){return Gl(i)?366:365}function ri(i,u){switch(u){case 0:case 2:case 4:return 360;case 1:return ln(ae(i).getUTCFullYear());case 3:return 365;default:return-1}}function ur(i,u,e){return Dr(i,u)===e}function lr(i,u){let e=i.getUTCFullYear(),t=i.getUTCMonth();const r=i.getUTCDate();return ur(e,t,r)?(i.setUTCDate(1),i.setUTCMonth(i.getUTCMonth()+u),e=i.getUTCFullYear(),t=i.getUTCMonth(),i.setUTCDate(Dr(e,t))):i.setUTCMonth(i.getUTCMonth()+u),i}function ni(i,u,e,t,r){for(let n=0,s=i.length;n<s;n++){const a=i[n];if(u!==a.unitId||e!==a.sheetId)continue;const{startRow:o,startColumn:l,endRow:c,endColumn:f}=a.range;if(t>=o&&t<=c&&r>=l&&r<=f)return!0}return!1}var si=(i=>(i[i.Financial=0]="Financial",i[i.Date=1]="Date",i[i.Math=2]="Math",i[i.Statistical=3]="Statistical",i[i.Lookup=4]="Lookup",i[i.Database=5]="Database",i[i.Text=6]="Text",i[i.Logical=7]="Logical",i[i.Information=8]="Information",i[i.Engineering=9]="Engineering",i[i.Cube=10]="Cube",i[i.Compatibility=11]="Compatibility",i[i.Web=12]="Web",i[i.Array=13]="Array",i[i.Univer=14]="Univer",i[i.User=15]="User",i[i.DefinedName=16]="DefinedName",i[i.Table=17]="Table",i))(si||{});const ai=[...Object.values(H),...Object.values(se),...Object.values(K),...Object.values(Ke),...Object.values(De)];function wr(i){return ai.includes(i)}function ii(i){for(const u of ai)if(i.indexOf(u)>-1)return!0;return!1}function ql(i){return i[0]==="'"&&i[i.length-1]==="'"?i.substring(1,i.length-1):i}function Xl(i){return wr(i)&&i!==K.CLOSE_BRACES&&i!==K.CLOSE_BRACKET&&i!==K.SINGLE_QUOTATION&&i!==K.DOUBLE_QUOTATION||i===" "}const Kl=new Set([se.PLUS,se.MINUS,se.MULTIPLY,se.DIVIDED,se.CONCATENATE,se.POWER,se.EQUALS,se.NOT_EQUAL,se.GREATER_THAN,se.GREATER_THAN_OR_EQUAL,se.LESS_THAN,se.LESS_THAN_OR_EQUAL,K.OPEN_BRACKET,K.COMMA,K.COLON,K.OPEN_BRACES,K.OPEN_SQUARE_BRACKET]);function Zl(i){return Kl.has(i)}const zl=new Set([se.PLUS,se.MINUS,se.MULTIPLY,se.DIVIDED,se.CONCATENATE,se.POWER,se.EQUALS,se.NOT_EQUAL,se.GREATER_THAN,se.GREATER_THAN_OR_EQUAL,se.LESS_THAN,se.LESS_THAN_OR_EQUAL,K.OPEN_BRACKET,K.COMMA,K.COLON,K.OPEN_BRACES,K.OPEN_SQUARE_BRACKET,Ke.PERCENTAGE,Ke.POUND]);function Jl(i){return zl.has(i)}const cr='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',oi=new RegExp(cr),ec="((?![\\[\\]\\/?*\\\\]).)*!",Lt="$",cn="\\s*?:\\s*?",fn="[A-Za-z]+",mn="[1-9][0-9]*",fr=`'?(${cr})?(${ec})?'?`,ys=`\\${Lt}?${fn}\\${Lt}?${mn}`,tc=`^(${De.AT})?${fr}${ys}${cn}${ys}$`,ui=new RegExp(tc),rc=`^${fr}\\s*?${ys}(${Ke.POUND})?$`,li=new RegExp(rc),nc=`^${fr}\\${Lt}?${mn}${cn}\\${Lt}?${mn}$`,ci=new RegExp(nc),sc=`^${fr}\\${Lt}?${fn}${cn}\\${Lt}?${fn}$`,fi=new RegExp(sc),ac=`^${fr}\\s*?\\${Lt}?${mn}$`,mi=new RegExp(ac),ic=`^${fr}\\s*?\\${Lt}?${fn}$`,hi=new RegExp(ic),Lr="((?![~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()【】\\[\\]\\/\\\\]).)+",gi="\\[#.+\\]\\s*?,\\s*?",hn="\\[((?<!#).)*\\]",di=`${hn}${cn}${hn}`,oc=`^(${cr})?${Lr}$`,uc=`^(${cr})?${Lr}(${hn}|\\[${gi}${hn}\\])+$`,lc=`^(${cr})?${Lr}(\\[${di}\\])?$|^${Lr}(\\[${gi}${di}\\])?$`,cc=`^(${cr})?${Lr}\\[\\s*#([^\\]]+)\\s*\\]$`,Ci=new RegExp(oc),_i=new RegExp(uc),Ai=new RegExp(lc),Ei=new RegExp(cc),fc="{.*?}",Ri=new RegExp(fc,"g");function Pr(i){return li.lastIndex=0,li.test(i)}function mc(i){return ui.lastIndex=0,ui.test(i)}function yi(i){return ci.lastIndex=0,ci.test(i)}function bi(i){return fi.lastIndex=0,fi.test(i)}function Ni(i){return mi.lastIndex=0,mi.test(i)}function pi(i){return hi.lastIndex=0,hi.test(i)}function hc(i){return Ci.lastIndex=0,Ci.test(i)}function gc(i){return _i.lastIndex=0,_i.test(i)}function dc(i){return Ai.lastIndex=0,Ai.test(i)}function Cc(i){return Ei.lastIndex=0,Ei.test(i)}function _c(i){return Ri.lastIndex=0,Ri.test(i)}function bs(i){return Pr(i)||mc(i)||yi(i)||bi(i)}function Ns(i){const u={};return Object.keys(i).forEach(e=>{const t=i[e];if(t==null)return!0;u[e]==null&&(u[e]={}),Object.keys(t).forEach(r=>{const n=t[r];u[e][r]=new S.ObjectMatrix(n)})}),u}function Ac(i){const u={};for(const e in i){const t=i[e];if(t!=null){u[e]==null&&(u[e]={});for(const r in t){const n=t[r],s={};n.forValue((a,o,l)=>{s[a]===void 0&&(s[a]={}),s[a][o]=l}),u[e][r]=s}}}return u}const nt="P_1",Nt="R_1",$t="L_1",jr="LR_1",Vi="LO_1",Oi="LET",mr="LAMBDA",Ec="CUBE",Rc=new Set(["RAND","RANDBETWEEN","NOW","TODAY"]),Tr={type:S.CommandType.MUTATION,id:"sheet.mutation.data-validation-formula-mark-dirty",handler(){return!0}},Si={id:"formula.mutation.register-function",type:S.CommandType.MUTATION,handler:()=>!0},gn={id:"formula.mutation.set-array-formula-data",type:S.CommandType.MUTATION,handler:(i,u)=>!0},yc=/[^0-9]/g,bc=/[^A-Za-z]/g;function Ur(i){let u=i[0]==="$";const e=i.substring(1);let t=e.indexOf("$")>-1;return S.Tools.isStringNumber(e)&&u&&!t&&(u=!1,t=!0),u&&t?S.AbsoluteRefType.ALL:u?S.AbsoluteRefType.COLUMN:t?S.AbsoluteRefType.ROW:S.AbsoluteRefType.NONE}function Nc(i){const u=i.split("!");u.length>1&&(i=u[u.length-1]);const e=i.split(":");return e.length>1?{startAbsoluteRefType:Ur(e[0]),endAbsoluteRefType:Ur(e[1])}:{startAbsoluteRefType:Ur(e[0])}}function Mi(i=S.AbsoluteRefType.NONE){let u="",e="";return i===S.AbsoluteRefType.ROW?u="$":i===S.AbsoluteRefType.COLUMN?e="$":i===S.AbsoluteRefType.ALL&&(u="$",e="$"),{rowAbsoluteString:u,columnAbsoluteString:e}}function pt(i){const{startColumn:u,startRow:e,endColumn:t,endRow:r,startAbsoluteRefType:n,endAbsoluteRefType:s,rangeType:a=S.RANGE_TYPE.NORMAL}=i,o=Mi(n),l=Mi(s);if(a===S.RANGE_TYPE.ROW||a===S.RANGE_TYPE.ALL){const m=`${o.rowAbsoluteString}${e+1}`,d=`${l.rowAbsoluteString}${r+1}`;return`${m}:${d}`}if(a===S.RANGE_TYPE.COLUMN){const m=`${o.columnAbsoluteString}${S.Tools.chatAtABC(u)}`,d=`${l.columnAbsoluteString}${S.Tools.chatAtABC(t)}`;return`${m}:${d}`}const c=`${o.columnAbsoluteString}${S.Tools.chatAtABC(u)}${o.rowAbsoluteString}${e+1}`,f=`${l.columnAbsoluteString}${S.Tools.chatAtABC(t)}${l.rowAbsoluteString}${r+1}`;return c===f?c:`${c}:${f}`}function Di(i,u){return`${ji(i)}!${pt(u)}`}function wi(i,u,e){return An(i)||An(u)?`'[${En(i)}]${En(u)}'!${pt(e)}`:`[${i}]${u}!${pt(e)}`}function dn(i){const{unitId:u,sheetName:e,range:t}=i;return u!=null&&u.length>0&&e!=null&&e.length>0?wi(u,e,t):e!=null&&e.length>0?Di(e,t):pt(t)}function Cn(i){const u=Number.parseInt(i.replace(yc,""))-1,e=S.Tools.ABCatNum(i.replace(bc,"")),t=Ur(i);return{row:u,column:e,absoluteRefType:t}}function _n(i){const u=oi.exec(i);let e="";u!=null&&(e=u[0].trim(),e=ps(e.slice(1,e.length-1)),i=i.replace(oi,""));const t=i.indexOf("!");let r="",n="";return t>-1?(r=i.substring(0,t),r[0]==="'"&&r[r.length-1]==="'"&&(r=r.substring(1,r.length-1)),r=ps(r),n=i.substring(t+1)):n=i,{refBody:n,sheetName:r,unitId:e}}function hr(i){const{refBody:u,sheetName:e,unitId:t}=_n(i),r=u.indexOf(":");if(r===-1){const C=Cn(u),_=C.row,E=C.column,R=C.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:_,startColumn:E,endRow:_,endColumn:E,startAbsoluteRefType:R,endAbsoluteRefType:R}}}const n=u.substring(0,r),s=u.substring(r+1),a=Cn(n),o=Cn(s),l=a.row>o.row?o.row:a.row,c=a.column>o.column?o.column:a.column,f=a.row>o.row?a.row:o.row,m=a.column>o.column?a.column:o.column;let d=S.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(f)?d=S.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(m)&&(d=S.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:f,endColumn:m,startAbsoluteRefType:a.absoluteRefType,endAbsoluteRefType:o.absoluteRefType,rangeType:d}}}const pc=["LOG10"];function xr(i){const u=Li(i);if(!bs(u)||pc.includes(u.toUpperCase().trim()))return!1;const{range:e}=hr(u);return!(e.endColumn>=S.MAX_COLUMN_COUNT)}function Li(i){const u=[];let e=!1;for(let t=0,r=i.length;t<r;t++){const n=i[t];if(n===vl&&!e)u.push(n);else{if(!e&&(n===De.AT||n===De.MINUS||n===De.PLUS))continue;u.push(n),e=!0}}return u.join("")}function Vc(i,u){const e=(i==null?void 0:i.split(","))||[];return i===""||e.length===0?[]:Pi(i)?e.map(n=>{const s=hr(n);return{unitId:s.unitId,sheetId:u(s.sheetName),range:s.range,sheetName:s.sheetName}}):[]}function Pi(i){return((i==null?void 0:i.split(","))||[]).every(e=>xr(e.trim()))}function An(i){return i.length===0?!1:!!(ii(i)||Oc(i)||Sc(i)||Mc(i)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(i))}function ji(i){return An(i)?`'${En(i)}'`:i}function En(i){return i.replace(/'/g,"''")}function ps(i){return i.replace(/''/g,"'")}function Oc(i){const u=/^([A-Z]+)([1-9][0-9]*)$/.exec(i);if(!u)return!1;const[,e,t]=u,r=Number(t);if(r<1||r>S.MAX_ROW_COUNT)return!1;const n=S.columnLabelToNumber(e);return!(n<1||n>S.MAX_COLUMN_COUNT)}function Sc(i){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(i)}function Mc(i){return!new RegExp("^\\p{Letter}","u").test(i.charAt(0))}function Ti(i){const u=i.indexOf("[");return u===-1?{tableName:i,struct:""}:{tableName:i.slice(0,u),columnStruct:i.slice(u)}}var Dc=Object.getOwnPropertyDescriptor,wc=(i,u,e,t)=>{for(var r=t>1?void 0:t?Dc(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Lc=(i,u)=>(e,t)=>u(e,t,i);w.DefinedNamesService=class extends S.Disposable{constructor(e){super();A(this,"_definedNameMap",{});A(this,"_nameCacheMap",{});A(this,"_update$",new Oe.Subject);A(this,"update$",this._update$.asObservable());A(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});A(this,"_currentRange$",new Oe.Subject);A(this,"currentRange$",this._currentRange$.asObservable());A(this,"_focusRange$",new Oe.Subject);A(this,"focusRange$",this._focusRange$.asObservable());this._univerInstanceService=e}dispose(){super.dispose(),this._definedNameMap={},this._nameCacheMap={},this._update$.complete(),this._currentRange$.complete(),this._focusRange$.complete()}getWorksheetByRef(e,t){var n;const{sheetName:r}=_n(t);return(n=this._univerInstanceService.getUnit(e))==null?void 0:n.getSheetBySheetName(r)}focusRange(e,t){const r=this.getValueById(e,t);r!==void 0&&this._focusRange$.next({...r,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return pt(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._updateCache(e),this._update()}registerDefinedName(e,t){this._definedNameMap[e]===void 0&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._updateCache(e),this._update()}removeDefinedName(e,t){var r;(r=this._definedNameMap[e])==null||delete r[t],this._updateCache(e),this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._updateCache(e),this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){const r=this._nameCacheMap[e];if(r)return r[t.toLowerCase()]||null;const n=this._definedNameMap[e];if(n===void 0)return null;let s=null;for(const a of Object.values(n))if(a.name===t){s=a;break}return s&&(this._nameCacheMap[e]=this._nameCacheMap[e]||{},this._nameCacheMap[e][t.toLowerCase()]=s),s}getValueById(e,t){var r;return(r=this._definedNameMap[e])==null?void 0:r[t]}hasDefinedName(e){return this._definedNameMap[e]===void 0?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}getAllDefinedNames(){return this._definedNameMap}getDefinedNameByRefString(e,t){if(this._definedNameMap[e]){for(const[r,n]of Object.entries(this._definedNameMap[e]))if(n.formulaOrRefString===t)return n}}_update(){this._update$.next(null)}_updateCache(e){const t=this._definedNameMap[e];if(t===void 0){delete this._nameCacheMap[e];return}this._nameCacheMap[e]={};for(const r of Object.values(t))this._nameCacheMap[e][r.name.toLowerCase()]=r}},w.DefinedNamesService=wc([Lc(0,S.IUniverInstanceService)],w.DefinedNamesService);const Yt=S.createIdentifier("univer.formula.defined-names.service"),Pc=(i,u)=>{const{unitId:e,id:t}=u;return{...i.get(Yt).getValueById(e,t),unitId:e}},Vs={id:"formula.mutation.set-defined-name",type:S.CommandType.MUTATION,handler:(i,u)=>{if(u==null)return!1;const e=i.get(Yt),{id:t,unitId:r,name:n,formulaOrRefString:s,comment:a,hidden:o,localSheetId:l,formulaOrRefStringWithPrefix:c}=u;return e.registerDefinedName(r,{id:t,name:n.trim(),formulaOrRefString:s.trim(),comment:a==null?void 0:a.trim(),hidden:o,localSheetId:l,formulaOrRefStringWithPrefix:c}),!0}},Ui={id:"formula.mutation.remove-defined-name",type:S.CommandType.MUTATION,handler:(i,u)=>{if(u==null)return!1;const e=i.get(Yt),{unitId:t,id:r}=u;return e.removeDefinedName(t,r),!0}},Rn={id:"formula.mutation.set-feature-calculation",type:S.CommandType.MUTATION,handler:()=>!0},yn={id:"formula.mutation.remove-feature-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Os={id:"formula.mutation.set-formula-calculation-start",type:S.CommandType.MUTATION,handler:()=>!0},xi={id:"formula.mutation.set-trigger-formula-calculation-start",type:S.CommandType.MUTATION,handler:()=>!0},Ss={id:"formula.mutation.set-formula-string-batch-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Ms={id:"formula.mutation.set-formula-string-batch-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},Ds={id:"formula.mutation.set-formula-calculation-stop",type:S.CommandType.MUTATION,handler:()=>!0},vr={id:"formula.mutation.set-formula-calculation-notification",type:S.CommandType.MUTATION,handler:()=>!0},bn={id:"formula.mutation.set-formula-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},ws={id:"formula.mutation.set-formula-dependency-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Nn={id:"formula.mutation.set-formula-dependency-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},Ls={id:"formula.mutation.set-cell-formula-dependency-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Ps={id:"formula.mutation.set-cell-formula-dependency-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},js={id:"formula.mutation.set-query-formula-dependency",type:S.CommandType.MUTATION,handler:()=>!0},Ts={id:"formula.mutation.set-query-formula-dependency-result",type:S.CommandType.MUTATION,handler:()=>!0},Us={id:"formula.mutation.set-query-formula-dependency-all",type:S.CommandType.MUTATION,handler:()=>!0},xs={id:"formula.mutation.set-query-formula-dependency-all-result",type:S.CommandType.MUTATION,handler:()=>!0},vs={id:"formula.mutation.set-formula-data",type:S.CommandType.MUTATION,handler:(i,u)=>!0},Is={id:"formula.mutation.set-image-formula-data",type:S.CommandType.MUTATION,handler:(i,u)=>!0},Ir={id:"formula.mutation.set-other-formula",type:S.CommandType.MUTATION,handler:()=>!0},Fr={id:"formula.mutation.remove-other-formula",type:S.CommandType.MUTATION,handler:()=>!0};class vi extends S.Disposable{constructor(){super();A(this,"_tableMap",new Map);A(this,"_tableOptionMap",new Map);A(this,"_update$",new Oe.Subject);A(this,"update$",this._update$.asObservable());this.registerTableOptionMap(Me.ALL,Me.ALL),this.registerTableOptionMap(Me.DATA,Me.DATA),this.registerTableOptionMap(Me.HEADERS,Me.HEADERS),this.registerTableOptionMap(Me.TOTALS,Me.TOTALS),this.registerTableOptionMap(Me.THIS_ROW,Me.THIS_ROW)}dispose(){super.dispose(),this._update$.complete(),this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var r;(r=this._tableMap.get(e))==null||r.delete(t),this._update()}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,r){var n;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(n=this._tableMap.get(e))==null||n.set(t,r),this._update()}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}getTable(e,t){var r;return(r=this._tableMap.get(e))==null?void 0:r.get(t)}hasTable(e,t){const r=this._tableMap.get(e);return r?r.keys().some(n=>n.toLowerCase()===t.toLowerCase()):!1}_update(){this._update$.next(null)}}const gr=S.createIdentifier("univer.formula.super-table.service"),Ii={id:"formula.mutation.set-super-table",type:S.CommandType.MUTATION,handler:(i,u)=>{const{unitId:e,tableName:t,reference:r}=u;return i.get(gr).registerTable(e,t,r),!0}},Fi={id:"formula.mutation.remove-super-table",type:S.CommandType.MUTATION,handler:(i,u)=>{const{unitId:e,tableName:t}=u;return i.get(gr).remove(e,t),!0}},Bi={id:"formula.mutation.set-super-table-option",type:S.CommandType.MUTATION,handler:(i,u)=>{const{tableOption:e,tableOptionType:t}=u;return i.get(gr).registerTableOptionMap(e,t),!0}},pn="engine-formula.config",ki=1,jc="CYCLE_REFERENCE_COUNT",Tc="RETURN_DEPENDENCY_TREE",$i={},Fs=new yt(1e5);function Ht(i){const u=Fs.get(i);if(u)return u;const e=hr(i);return Fs.set(i,e),hr(i)}function Uc(){Fs.clear()}var xe=(i=>(i[i.NORMAL=0]="NORMAL",i[i.NUMBER=1]="NUMBER",i[i.STRING=2]="STRING",i[i.FUNCTION=3]="FUNCTION",i[i.REFERENCE=4]="REFERENCE",i[i.ARRAY=5]="ARRAY",i[i.DEFINED_NAME=6]="DEFINED_NAME",i[i.TABLE=7]="TABLE",i))(xe||{});function Bs(i){let u="";for(const e of i)typeof e=="string"?u+=e:u+=e.token;return u}class oe{constructor(){A(this,"_parent");A(this,"_token",Nt);A(this,"_children",[]);A(this,"_lambdaId");A(this,"_functionDefinitionPrivacyVar");A(this,"_lambdaParameter","");A(this,"_startIndex",-1);A(this,"_endIndex",-1);A(this,"_definedNames",[])}dispose(){var u;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(u=this._functionDefinitionPrivacyVar)==null||u.clear(),this._functionDefinitionPrivacyVar=null,this._children=[],this._parent=null,this._definedNames=[]}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(u){this._lambdaId=u}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(u){this._functionDefinitionPrivacyVar=u}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(u){this._lambdaParameter=u}getParent(){return this._parent}setParent(u){this._parent=u}getChildren(){return this._children}setChildren(u){this._children=u}addChildren(u){this._children.push(u)}addChildrenFirst(u){this._children.unshift(u)}getToken(){return this._token}setToken(u){this._token=u}setIndex(u,e){this._startIndex=u,this._endIndex=e}setDefinedNames(u){this._definedNames=u}hasDefinedNames(){return this._definedNames.length>0}replaceChild(u,e){const t=this._getIndexInParent(u);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(u){const e=this.getParent();e&&e.removeChild(this),this.setParent(u),u.getChildren().push(this)}removeChild(u){const e=this._getIndexInParent(u);e!=null&&this.getChildren().splice(e,1)}serialize(){const u=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let n=0;n<r;n++){const s=e[n];s instanceof oe?t.push(s.serialize()):t.push(s)}return{token:u,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(u){const e=this.getChildren(),t=e.length;for(let r=0;r<t;r++)if(e[r]===u)return r}}const Yi=2e3,ks=new yt(Yi),$s=new yt(Yi);class dr extends S.Disposable{constructor(){super(...arguments);A(this,"_currentLexerNode",new oe);A(this,"_upLevel",0);A(this,"_segment","");A(this,"_bracketState",[]);A(this,"_openBracketNormalIndexStack",[]);A(this,"_squareBracketState",0);A(this,"_bracesState",0);A(this,"_singleQuotationState",0);A(this,"_doubleQuotationState",0);A(this,"_lambdaState",!1);A(this,"_colonState",!1);A(this,"_formulaErrorCount",0);A(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),ks.clear(),$s.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===h.VALUE)return;const n=r[0];if(typeof n=="string")return;let s=n.getParent(),a=n;for(;s;){const o=s.getToken();if(o!==nt&&!wr(o)&&s.getStartIndex()!==-1){const l=s.getChildren().indexOf(a);return{functionName:o,paramIndex:l}}a=s,s=s.getParent()}}checkIfAddBracket(e){let t=0,r=e.length-1,n=e[r];for(;(n===K.CLOSE_BRACKET||n===" ")&&r>=0;)n===K.CLOSE_BRACKET&&t++,n=e[--r];const s=this._getCurrentParamIndex(e,e.length-2);if(s==null||s===h.VALUE)return 0;const a=s[0];if(typeof a=="string")return 0;let o=a.getParent(),l=0;for(s[1]===K.OPEN_BRACKET&&l++;o;){const c=o.getToken();c!==nt&&c!==K.COLON&&o.getStartIndex()!==-1&&c.toUpperCase()!==mr&&(t===0?l+=1:t--),o=o.getParent()}return l}sequenceNodesBuilder(e){const t=$s.get(e);if(t)return[...t];const r=this._getSequenceArray(e);if(r.length===0)return;const n=this.getSequenceNode(r);return $s.set(e,[...n]),n}convertRefersToAbsolute(e,t,r,n=""){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,l=s.length;o<l;o++){const c=s[o];if(typeof c!="string"&&c.nodeType===xe.REFERENCE){const{token:f,endIndex:m}=c,d=Ht(f);if(d==null)continue;const{range:C,sheetName:_,unitId:E}=d,R={...C,startAbsoluteRefType:t,endAbsoluteRefType:r},y=dn({range:R,unitId:E,sheetName:_||n}),N=y.length-f.length;s[o]={...c,token:y,endIndex:m+N};for(let p=o+1;p<l;p++){const M=s[p];typeof M!="string"&&(M.startIndex+=N,M.endIndex+=N)}}}return`${a}${Bs(s)}`}moveFormulaRefOffset(e,t,r,n=!1){const s=this.sequenceNodesBuilder(e);if(s==null)return e;const a=[];for(let o=0,l=s.length;o<l;o++){const c=s[o];if(typeof c=="string"||c.nodeType!==xe.REFERENCE){a.push(c);continue}const{token:f}=c,m=Ht(f),{sheetName:d,unitId:C}=m;let _=m.range;if(!n&&_.startAbsoluteRefType===S.AbsoluteRefType.ALL&&_.endAbsoluteRefType===S.AbsoluteRefType.ALL){a.push(c);continue}else _=S.moveRangeByOffset(_,t,r,n);let E="";S.isValidRange(_)?E=dn({range:_,unitId:C,sheetName:d}):E=h.REF,a.push({...c,token:E})}return`=${Bs(a)}`}_formulaSpellCheck(){if(this._currentLexerNode.getChildren().length===0)return!0;const e=this._currentLexerNode.getChildren()[0];return e instanceof oe?!0:!!(this._passArrayOperator(e)||ct.has(e)||nn.has(e)||e===De.AT||e===K.COMMA||e===K.COLON||e===K.OPEN_BRACKET)}_passArrayOperator(e){if(e.length===0||!(e[0]==="{"&&e[e.length-1]==="}"))return!1;const t=this._currentLexerNode.getChildren(),r=t[t.length-1];return r instanceof oe?!1:!!ct.has(r)}getSequenceNode(e){const t=[];let r=!1;for(let n=0,s=e.length;n<s;n++){const a=e[n],o=e[n-1],{segment:l,currentString:c}=a;if(c===K.DOUBLE_QUOTATION&&(r=!0),(l!==""||n===0)&&n!==s-1){t.push(c);continue}let f=(o==null?void 0:o.segment)||"";const m=n-f.length;let d=n-1;const C=n-1;if(n===s-1&&this._isLastMergeString(c)&&(f+=c,d+=1),f===""||rn.has(f)){t.push(c);continue}const _=f.trim(),E=Li(_);r===!0&&_[_.length-1]===K.DOUBLE_QUOTATION&&_[0]!==K.OPEN_BRACES?(r=!1,this._processPushSequenceNode(t,xe.STRING,f,m,d,C)):Pr(E)&&xr(E)?this._processPushSequenceNode(t,xe.REFERENCE,f,m,d,C):S.Tools.isStringNumber(_)?this._processPushSequenceNode(t,xe.NUMBER,f,m,d,C):_.length>0&&this._processPushSequenceNode(t,xe.FUNCTION,f,m,d,C),(n!==s-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,r,n,s,a){this._pushSequenceNode(e,{nodeType:t,token:r,startIndex:n,endIndex:s},a)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===K.DOUBLE_QUOTATION||S.Tools.isStringNumber(e)||!wr(e)}_mergeSequenceNodeReference(e){const t=[],r=e.length;let n=0;for(;n<r;){const s=e[n];if(typeof s=="string"){const a=e[n-1];if(s.trim()===K.CLOSE_BRACES&&a!=null&&typeof a!="string"&&a.nodeType===xe.FUNCTION&&a.token.trim().substring(0,1)===K.OPEN_BRACES){a.nodeType=xe.ARRAY,a.token+=s,a.endIndex+=s.length,n++;continue}t.push(s)}else{const a=e[n+1],o=e[n+2];a===K.COLON&&typeof s!="string"&&o!=null&&typeof o!="string"&&xr((s.token+a+o.token).trim())&&(s.nodeType=xe.REFERENCE,s.token+=a+o.token,s.endIndex=o.endIndex,n+=2),t.push(s)}n++}return this._minusSplitSequenceNode(t)}_minusSplitSequenceNode(e){const t=[];for(const r of e){if(typeof r!="string"){const s=r.token.match(/^(\s*([-@+]\s*)+)(.*)$/);if(s){const a=s[1],o=s[3];if(xr(o.trim())){const l=a.length,c=r.startIndex,f=r.startIndex+l-1,m={nodeType:xe.NORMAL,token:a,startIndex:c,endIndex:f},d={nodeType:xe.REFERENCE,token:o,startIndex:f+1,endIndex:r.endIndex};t.push(m),t.push(d);continue}}}t.push(r)}return t}_pushSequenceNode(e,t,r){const n=r-t.startIndex+1;e.splice(e.length-n,n,t)}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,r){var f;if(t===!0){const m=ks.get(e),d=r&&((f=this._simpleCheckDefinedName)==null?void 0:f.call(this,e,r));if(m&&!d)return m}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(Nt);const n=[];let s=this._nodeMaker(e,n);if(s===h.VALUE||n.length===0)return s;let a=!1,o="",l=[];if(r){const{hasDefinedName:m,sequenceString:d,definedNames:C}=this._handleDefinedName(n,r);a=m,o=d,l=C}if(a&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(Nt),s=this._nodeMaker(`=${o}`),s===h.VALUE))return s;const c=this._getTopNode(this._currentLexerNode);if(c&&(this._currentLexerNode=c),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return h.VALUE;ks.set(e,this._currentLexerNode)}return a&&this._currentLexerNode.setDefinedNames(l),this._currentLexerNode}_handleDefinedName(e,t){const{unitId:r,getValueByName:n,getSheetName:s}=t;if(r==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const a=this.getSequenceNode(e);let o="",l=!1;const c=[];for(let f=0,m=a.length;f<m;f++){const d=a[f];if(typeof d=="string"){o+=d;continue}const{nodeType:C,token:_}=d;let E=_;if(C===xe.REFERENCE||C===xe.FUNCTION){C===xe.FUNCTION&&(E=this._getHasSheetNameDefinedName(_,r,t));const R=n(r,E);if(R){const y=R.formulaOrRefString,N=this._handleNestedDefinedName(y,t);if(N==null||typeof N!="object")o+=N||h.NAME,l=!0,c.push(E);else if(typeof N=="object"){const{sequenceString:p,definedNames:M}=N;o+=p,M.forEach(D=>{c.push(D)}),l=!0}}else this._checkDefinedNameDirty(E,t)?(o+=h.NAME,l=!0,c.push(E)):o+=E}else o+=E}return{sequenceString:o,hasDefinedName:l,definedNames:c}}_getHasSheetNameDefinedName(e,t,r){if(!e.includes("!"))return e;const n=e.split("!");if(n.length!==2)return e;const s=n[0],a=n[1].trim(),o=r.getValueByName(t,a);if(!o)return e;const l=o.localSheetId;if(l!==void 0){if(l==="AllDefaultWorkbook")return a;const c=r.getSheetName(t,l);if(s===c)return a}else return a;return e}_handleNestedDefinedName(e,t){const r=[],n=this._nodeMaker(e,r);return n===h.VALUE||r.length===0?n:this._handleDefinedName(r,t)}_simpleCheckDefinedName(e,t){const{getDirtyDefinedNameMap:r,unitId:n}=t,s=r(),a=n;if(a!=null&&s[a]!=null){const o=Object.keys(s[a]);for(let l=0,c=o.length;l<c;l++){const f=o[l];if(e.indexOf(f)>-1)return!0}}return!1}_checkDefinedNameDirty(e,t){const{getDirtyDefinedNameMap:r,unitId:n}=t,s=r(),a=n;if(a!=null&&s[a]!=null){const o=Object.keys(s[a]);for(let l=0,c=o.length;l<c;l++)if(o[l]===e)return!0}return!1}_suffixExpressionHandler(e){var o;const t=e.getChildren();if(!t)return!1;const r=t.length,n=[],s=[];let a=!0;for(let l=0;l<r;l++){const c=t[l];if(c instanceof oe)a=this._suffixExpressionHandler(c),n.push(c);else{const f=c.trim();if(f==="")continue;if(ct.has(f)){if(f===se.PLUS&&this._deletePlusForPreNode(t[l-1]))continue;if(f!==se.PLUS&&f!==se.MINUS&&this._deletePlusForPreNode(t[l-1]))return!1;for(;s.length>0;){const m=(o=s[s.length-1])==null?void 0:o.trim();if(!m||m===K.OPEN_BRACKET)break;const d=rn.get(m),C=rn.get(f);if(d===void 0||C===void 0)break;if(C>=d)n.push(s.pop());else break}s.push(c)}else if(f===K.OPEN_BRACKET)s.push(c);else if(f===K.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(n,s,t,l);else{if(this._checkCloseBracket(t[l-1]))return!1;n.push(c)}}}return a?this._processSuffixExpressionRemain(n,s,e):!1}_processSuffixExpressionRemain(e,t,r){const n=e.length,s=e[n-1];for(;t.length>0;){const a=t.pop();if(!(s instanceof oe)&&(a===K.OPEN_BRACKET||a===K.CLOSE_BRACKET))return!1;e.push(a)}return r.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,r,n){var s;if(this._checkOpenBracket(r[n-1])||this._checkOperator(r[n-1]))return!1;for(;t.length>0;){const a=(s=t[t.length-1])==null?void 0:s.trim();if(!a)break;if(a===K.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===K.CLOSE_BRACKET||e instanceof oe}_checkOpenBracket(e){return e===K.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof oe?!1:ct.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof oe)){const t=e.trim();if(ct.has(t)||t===K.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new oe}_resetSegment(){this._segment=""}_openBracket(e=0){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openBracketNormalIndex(){this._openBracketNormalIndexStack.push(this._currentLexerNode.getChildren().length-1)}_getNodesByCurrentBracketNormalIndex(){const e=this._openBracketNormalIndexStack.pop();if(e===void 0)return[];const t=this._currentLexerNode.getChildren();return t.length===0?[]:t.splice(e)}_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}_formalErrorOccurred(){this._formulaErrorCount+=1}_hasFormalError(){return this._formulaErrorCount>0}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof oe)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,n,s,a,o,l;const e=(r=this._currentLexerNode)==null?void 0:r.getParent();let t=!1;if(e&&e.getToken()===$t){if((n=e==null?void 0:e.getParent())!=null&&n.getParent()){const c=(a=(s=this._currentLexerNode.getParent())==null?void 0:s.getParent())==null?void 0:a.getParent();c&&(this._currentLexerNode=c),t=!0}}else if(e!=null&&e.getParent()){const c=(o=this._currentLexerNode.getParent())==null?void 0:o.getParent();c&&(this._currentLexerNode=c),t=!0}for(let c=0;c<this._upLevel;c++){const f=(l=this._currentLexerNode)==null?void 0:l.getParent();f&&(this._currentLexerNode=f),this._currentLexerNode?t=!0:t=!1}return t}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){let r=e;if(r!==""){const n=this._currentLexerNode.getChildren();if(!(r instanceof oe)&&this.isColonOpen()){const s=new oe;s.setToken(r),s.setParent(this._currentLexerNode),r=s}t?n.unshift(r):n.push(r)}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 n=new oe;n.setToken(e),n.setIndex(t-e.length,t-1),this._setCurrentLexerNode(n,r)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_formulaErrorLastTokenCheck(e,t){const r=this._findPreviousToken(e,t)||"",n=e.length-1===t;if(!n&&this._isOperatorToken(r)||n&&Zl(r))return!0;if(nn.has(r)){const s=this._findSecondLastNonSpaceToken(e,t);if(s==null||Jl(s))return!0}return!1}_findPreviousToken(e,t){let r=t;for(;r>=0;){const n=e[r];if(n!==" ")return n;r--}}_findSecondLastNonSpaceToken(e,t){let r=t,n=0;for(;r>=0;){const s=e[r];if(s!==" "&&(n++,n===2))return s;r--}return null}_findNextToken(e,t){let r=t;for(;r>=0;){const n=e[r];if(n!==" ")return n;r++}}_unexpectedEndingTokenExcludeOperator(e){return e===K.OPEN_BRACKET||e===K.COMMA||e===se.EQUALS||e===""}_unexpectedEndingToken(e){return!!(this._isOperatorToken(e)||this._unexpectedEndingTokenExcludeOperator(e))}_isOperatorToken(e){return!!ct.has(e)}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new oe,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1,this._formulaErrorCount=0}_checkErrorState(){return!!(this._bracketState.length>0||this._bracesState>0||this._singleQuotationState>0||this._doubleQuotationState>0||this._hasFormalError())}_checkSimilarErrorToken(e,t,r){let n=t;if(e!==Ke.POUND)return!0;let s=r[++n];for(;s===" ";)s=r[++n];return!!wr(s)}_checkIfErrorObject(e,t){return!!this._findErrorObject(e,t)}_findErrorObject(e,t){for(let r=0;r<Ja.length;r++){const n=Ja[r],s=t.slice(e,e+n).join("").toUpperCase();if(wt.has(s))return s}}_nodeMaker(e,t,r){let n=e.replace(/\r\n$|\r|\n/g," ");n.substring(0,1)===se.EQUALS&&(n=n.substring(1));const s=n.split(""),a=s.length;this._resetTemp(),this._formulaErrorLastTokenCheck(s,a-1)&&this._formalErrorOccurred();let o=0;for(;o<a;){const l=s[o];if(r===o)return[this._currentLexerNode,l];if(l===Ke.POUND&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()&&this._checkIfErrorObject(o,s)){const c=this._findErrorObject(o,s);if(c==null)return h.VALUE;this._pushNodeToChildren(c);for(let f=0;f<c.length;f++){const m=s[o];this._pushSegment(m),this._addSequenceArray(t,m,o),o++}this._resetSegment();continue}else if(l===K.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,o),this._resetSegment()),this._openBracket(1),this._closeLambda();const c=s[o+1];if(c&&c===K.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return h.VALUE;this._addSequenceArray(t,l,o),o++,this._addSequenceArray(t,c,o),o++,this._closeBracket();continue}else c&&this._newAndPushCurrentLexerNode(nt,o)}else this._pushNodeToChildren(l),this._openBracket(0),this._openBracketNormalIndex(),this._resetSegment();else if(l===K.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._formulaErrorLastTokenCheck(s,o-1)&&this._formalErrorOccurred(),this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const f=s[o+1];if(f&&f===K.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return h.VALUE;this._newAndPushCurrentLexerNode($t,o,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&o!==a-1)return h.VALUE}else return h.VALUE;this._closeBracket()}else if(l===K.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){if(this._pushSegment(l),this._openBraces(),!this._formulaSpellCheck())return h.VALUE}else if(l===K.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===K.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===K.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===K.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=s[o+1];c&&c===K.DOUBLE_QUOTATION?o++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===K.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation(),this._segmentCount()===0&&this._resetSegment();else{const c=s[o+1];if(c&&c===K.SINGLE_QUOTATION){this._pushSegment(l),this._addSequenceArray(t,l,o),o++,this._pushSegment(c),this._addSequenceArray(t,c,o),o++;continue}else this._closeSingleQuotation()}this._pushSegment(l)}else if(l===K.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){this._formulaErrorLastTokenCheck(s,o-1)&&this._formalErrorOccurred();const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&o!==a-1&&c!=null)return h.VALUE;this._newAndPushCurrentLexerNode(nt,o)}else{const f=new oe;f.setToken(Ec);const m=new oe;m.setToken(nt),m.changeToParent(f);const d=this._currentLexerNode.getParent();if(d&&d.getToken()===K.COLON){const C=d.getParent();if(!C)return h.VALUE;d.changeToParent(m),C.setChildren([]),f.changeToParent(C)}else return h.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=f,this._newAndPushCurrentLexerNode(nt,o)}}else if(l===K.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new oe;c.setToken(l);const f=new oe;f.setToken(nt),f.setParent(c);const m=new oe;m.setToken(nt),m.setParent(c),c.getChildren().push(f,m);let d=c,C=0;if(this._segmentCount()>0){let _,E,R=0;const y=this._segment.trim(),N=y[0],p=y[1];if(N===De.MINUS&&(_=new oe,_.setToken(De.MINUS),_.setIndex(o-this._segment.length,o-this._segment.length),R++),N===De.AT||p===De.AT){E=new oe,E.setToken(De.AT);const D=o-this._segment.length+R;E.setIndex(D,D),_&&(_.addChildren(E),E.setParent(_)),R++}if(R>0&&(this._segment=y.slice(R)),C=R,E)if(E.addChildren(c),c.setParent(E),E.getParent()){const D=E.getParent();D&&(d=D)}else d=E;else _&&(d=_,_.addChildren(c),c.setParent(_));const M=new oe;M.setToken(this._segment),M.setParent(f),M.setIndex(o-this._segment.length,o-1),f.getChildren().push(M),this._resetSegment()}else{const _=this._getLastChildCurrentLexerNode();_&&_.changeToParent(f)}this._setCurrentLexerNode(d),this._currentLexerNode=m,this._openColon(C)}else if(nn.has(l)&&this._checkSimilarErrorToken(l,o,s)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){this._pushNodeToChildren(this._segment);const c=new oe;c.setToken(l),c.setIndex(o-1,o-1);const f=this._getLastChildCurrent();if(f instanceof oe)f.changeToParent(c);else if(f===K.CLOSE_BRACKET){const m=this._getNodesByCurrentBracketNormalIndex();c.getChildren().push(...m)}else f!==!1&&(c.getChildren().push(f),this._removeLastChild());this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(ct.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){let c=this._segment.trim();if(l===se.MINUS&&c===""){const f=this._findPreviousToken(s,o-1)||"",m=this._findNextToken(s,o+1)||"";if(this._unexpectedEndingTokenExcludeOperator(f)&&this._isOperatorToken(m)){this._pushNodeToChildren("0"),this._pushNodeToChildren(se.MINUS),this._addSequenceArray(t,l,o),this._resetSegment(),o++;continue}else if(this._unexpectedEndingToken(f))if(m===se.PLUS){this._pushSegment(se.MINUS),this._addSequenceArray(t,l,o),this._addSequenceArray(t,se.PLUS,o+1),o+=2;continue}else{this._pushSegment(se.MINUS),this._addSequenceArray(t,l,o),o++;continue}}else if(this._segment.length>0&&this._isScientificNotation(s,o,l)){this._pushSegment(l),this._addSequenceArray(t,l,o),o++;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 f=s[o+1];if(f&&ct.has(l+f)){this._pushNodeToChildren(c+l+f),this._resetSegment(),this._addSequenceArray(t,l,o),o++,this._addSequenceArray(t,f,o),o++;continue}else this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else(this._segment!==""||l!==" ")&&this._pushSegment(l);this._addSequenceArray(t,l,o),o++}if(this._pushNodeToChildren(this._segment),this._checkErrorState())return h.VALUE}_isScientificNotation(e,t,r){const n=e[t-2];if(n&&Number.isNaN(Number(n))||!(r===se.MINUS||r===se.PLUS))return!1;const s=e[t+1];if(s&&Number.isNaN(Number(s)))return!1;const a=e[t-1];return a&&a.toUpperCase()==="E"}_addSequenceArray(e,t,r){e==null||e.push({segment:this._segment,currentString:t,cur:r,currentLexerNode:this._currentLexerNode})}getNewFormulaWithPrefix(e,t){return null}getFormulaExprTree(e,t,r,n,s){return null}}function xc(i,u,e,t,r,n,s){const a=(s==null?void 0:s.f)||"",o=(s==null?void 0:s.si)||"",l=S.isFormulaString(a),c=S.isFormulaId(o),f=i.getValue(r,n),m=(f==null?void 0:f.f)||"",d=(f==null?void 0:f.si)||"",C=(f==null?void 0:f.x)||0,_=(f==null?void 0:f.y)||0;function E(){var R;if(S.isFormulaString(m)&&S.isFormulaId(d)&&C===0&&_===0){const y=(R=e==null?void 0:e[d])==null?void 0:R.f;y?t.set(d,y):t.set(d,m)}}l&&c?(d!==o&&E(),i.setValue(r,n,{f:a,si:o}),e[o]={f:a,r,c:n},u.setValue(r,n,{f:a,si:o})):l&&!c?(m!==a&&E(),i.setValue(r,n,{f:a}),u.setValue(r,n,{f:a})):!l&&c?(d!==o&&E(),i.setValue(r,n,{f:"",si:o})):!l&&!c&&i.getValue(r,n)&&(E(),i.realDeleteValue(r,n),u.setValue(r,n,null))}function vc(i,u,e,t){const r=i==null?void 0:i.getValue(e,t);if(r==null)return!0;const n=[];i.forValue((c,f,m)=>{c===e&&f===t||S.Rectangle.intersects(m,r)&&n.push(m)});const{startRow:s,startColumn:a,endRow:o,endColumn:l}=r;for(let c=s;c<=o;c++)for(let f=a;f<=l;f++){let m=!1;const d=S.cellToRange(c,f);n.some(C=>S.Rectangle.contains(C,d)?(m=!0,!0):!1),m||u.realDeleteValue(c,f)}}var Ic=Object.getOwnPropertyDescriptor,Fc=(i,u,e,t)=>{for(var r=t>1?void 0:t?Ic(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Hi=(i,u)=>(e,t)=>u(e,t,i);w.FormulaDataModel=class extends S.Disposable{constructor(e,t){super();A(this,"_arrayFormulaRange",{});A(this,"_arrayFormulaCellData",{});A(this,"_unitImageFormulaData",{});this._univerInstanceService=e,this._lexerTreeBuilder=t}dispose(){super.dispose(),this._arrayFormulaRange={},this._arrayFormulaCellData={},this._unitImageFormulaData={}}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{var c,f,m,d;const s=r[n],a=(f=(c=this._arrayFormulaRange)==null?void 0:c[t])==null?void 0:f[n];if(a==null)return!0;const o=new S.ObjectMatrix(a);let l=new S.ObjectMatrix;((m=this._arrayFormulaCellData[t])==null?void 0:m[n])!=null&&(l=new S.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[n])),s.forValue((C,_)=>{const E=o.getValue(C,_);if(E==null)return!0;const{startRow:R,startColumn:y,endRow:N,endColumn:p}=E;for(let M=R;M<=N;M++)for(let D=y;D<=p;D++)l.setValue(M,D,null);o.realDeleteValue(C,_)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][n]=l.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(n=>{var l,c;const s=r[n],a=new S.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[n]),o=new S.ObjectMatrix((c=this._arrayFormulaCellData[t])==null?void 0:c[n]);s.forValue((f,m)=>{const d=a==null?void 0:a.getValue(f,m);if(d==null)return!0;const{startRow:C,startColumn:_,endRow:E,endColumn:R}=d;for(let y=C;y<=E;y++)for(let N=_;N<=R;N++)o.setValue(y,N,null)}),s.forValue((f,m,d)=>{o.setValue(f,m,d)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][n]=o.getData())})})}getFormulaData(){const e={},t=this._univerInstanceService.getAllUnitsForType(S.UniverInstanceType.UNIVER_SHEET);return t.length===0||t.forEach(r=>{const n=r.getUnitId();e[n]={},r.getSheets().forEach(a=>{const o=a.getCellMatrix(),l=a.getSheetId();Ys(e,n,l,o)})}),e}getSheetFormulaData(e,t){const r={},n=this._univerInstanceService.getUnit(e);if(n==null)return{};r[e]={};const s=n.getSheetBySheetId(t);if(s==null)return{};const a=s.getCellMatrix();return Ys(r,e,t,a),r[e][t]}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getUnitImageFormulaData(){return this._unitImageFormulaData}setUnitImageFormulaData(e){this._unitImageFormulaData=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(n=>{var o;const s=new S.ObjectMatrix(r[n]),a=new S.ObjectMatrix((o=this._arrayFormulaRange[t])==null?void 0:o[n]);s.forValue((l,c,f)=>{a.setValue(l,c,f)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][n]=a.getData())})})}mergeUnitImageFormulaData(e){const t=Object.keys(e);for(let r=0;r<t.length;r++){const n=t[r],s=e[n];if(!s)continue;this._unitImageFormulaData[n]||(this._unitImageFormulaData[n]={});const a=Object.keys(s);for(let o=0;o<a.length;o++){const l=a[o],c=s[l];c&&(this._unitImageFormulaData[n][l]||(this._unitImageFormulaData[n][l]=new S.ObjectMatrix),c.forValue((f,m,d)=>{this._unitImageFormulaData[n][l].setValue(f,m,d)}))}}}deleteArrayFormulaRange(e,t,r,n){var o;const s=(o=this._arrayFormulaRange[e])==null?void 0:o[t];if(s==null)return;const a=new S.ObjectMatrix(s);a.getValue(r,n)&&(a.realDeleteValue(r,n),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=a.getData()))}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(S.UniverInstanceType.UNIVER_SHEET),t={},r={},n={};for(const s of e){const a=s.getUnitId(),o=s.getSheets(),l={},c={};for(const f of o){const m=f.getSheetId(),d=f.getConfig();l[m]={cellData:new S.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData,defaultRowHeight:d.defaultRowHeight,defaultColumnWidth:d.defaultColumnWidth},c[f.getName()]=f.getSheetId()}t[a]=l,r[a]=s.getStyles(),n[a]=c}return{allUnitData:t,unitStylesData:r,unitSheetNameMap:n}}getHiddenRowsFiltered(){const e=this._univerInstanceService.getAllUnitsForType(S.UniverInstanceType.UNIVER_SHEET),t={};for(const r of e){const n=r.getUnitId(),s=r.getSheets();t[n]={};for(const a of s){const o=a.getSheetId();t[n][o]={};const l=0,c=a.getRowCount()-1,f={};for(let m=l;m<=c;m++)a.getRowVisible(m)||(f[m]={hd:S.BooleanNumber.TRUE});t[n][o]=f}}return t}updateFormulaData(e,t,r){const n=new S.ObjectMatrix(r),s=this._getSheetFormulaIdMap(e,t),a=new Map,o=this.getFormulaData();o[e]==null&&(o[e]={});const l=o[e];l[t]==null&&(l[t]={});const c=new S.ObjectMatrix(l[t]||{}),f=new S.ObjectMatrix;return n.forValue((m,d,C)=>{xc(c,f,s,a,m,d,C)}),c.forValue((m,d,C)=>{const _=(C==null?void 0:C.f)||"",E=(C==null?void 0:C.si)||"";if(S.isFormulaId(E)){const R=s==null?void 0:s[E],y=a.get(E);if(R&&!S.isFormulaString(_)){const N=R.f,p=d-R.c,M=m-R.r;c.setValue(m,d,{f:N,si:E,x:p,y:M}),f.setValue(m,d,{f:N,si:E,x:p,y:M})}else if(typeof y=="string"){const N=(C==null?void 0:C.x)||0,p=(C==null?void 0:C.y)||0,M=this._lexerTreeBuilder.moveFormulaRefOffset(y,N,p);a.set(E,{r:m,c:d,f:M}),c.setValue(m,d,{f:M,si:E}),f.setValue(m,d,{f:M,si:E})}else if(typeof y=="object"){const N=d-y.c,p=m-y.r;c.setValue(m,d,{f:y.f,si:E,x:N,y:p}),f.setValue(m,d,{f:y.f,si:E,x:N,y:p})}}}),f.getMatrix()}updateArrayFormulaRange(e,t,r){var o;const n=(o=this._arrayFormulaRange[e])==null?void 0:o[t];if(!n)return;const s=new S.ObjectMatrix(n);new S.ObjectMatrix(r).forValue((l,c,f)=>{s.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,r){var c,f;const n=(c=this._arrayFormulaRange[e])==null?void 0:c[t];if(!n)return;const s=new S.ObjectMatrix(n),a=(f=this._arrayFormulaCellData[e])==null?void 0:f[t];if(!a)return;const o=new S.ObjectMatrix(a);new S.ObjectMatrix(r).forValue((m,d,C)=>{vc(s,o,m,d)})}updateImageFormulaData(e,t,r){var a;const n=(a=this._unitImageFormulaData[e])==null?void 0:a[t];if(!n)return;new S.ObjectMatrix(r).forValue((o,l)=>{n.realDeleteValue(o,l)})}getFormulaStringByCell(e,t,r,n){const s=this._univerInstanceService.getUnit(n);if(s==null)return null;const a=s.getSheetBySheetId(r);if(a==null)return null;const o=a.getCellMatrix(),l=o.getValue(e,t);if(l==null)return null;const{f:c,si:f}=l;if(S.isFormulaString(c))return c;if(S.isFormulaId(f)){let m=null;return o.forValue((d,C,_)=>{if(_==null)return!0;const{f:E,si:R}=_;if(S.isFormulaString(E)&&f===R)return m=this._lexerTreeBuilder.moveFormulaRefOffset(E,t-C,e-d),!1}),m}return null}getFormulaDirtyRanges(){const e=this.getFormulaData(),t=[];for(const r in e){const n=e[r];if(!n)continue;const s=this._univerInstanceService.getUnit(r);if(s)for(const a in n){const o=n[a];if(!o)continue;const l=s.getSheetBySheetId(a);if(!l)continue;const c={};for(const f of Object.keys(o)){const m=Number(f);for(const d in o[m]){const C=Number(d),_=l.getCellRaw(m,C),E=S.isFormulaString(_==null?void 0:_.f)||S.isFormulaId(_==null?void 0:_.si),R=(_==null?void 0:_.v)===void 0||(_==null?void 0:_.v)===null||(_==null?void 0:_.v)==="";if(!(E&&R))continue;c[C]||(c[C]=[]);const y=c[C].slice(-1)[0];y&&y.endRow===m-1?y.endRow=m:c[C].push({startRow:m,endRow:m})}}for(const f in c){const m=c[f];for(let d=0;d<m.length;d++){const C=m[d];t.push({unitId:r,sheetId:a,range:{rangeType:S.RANGE_TYPE.NORMAL,startRow:C.startRow,endRow:C.endRow,startColumn:Number(f),endColumn:Number(f)}})}}}}return t}_getSheetFormulaIdMap(e,t){const r={},n=this._univerInstanceService.getUnit(e);if(n==null)return r;const s=n.getSheetBySheetId(t);return s==null||s.getCellMatrix().forValue((o,l,c)=>{if(c==null)return!0;const{f,si:m}=c;S.isFormulaString(f)&&S.isFormulaId(m)&&(r[m]={f,r:o,c:l})}),r}},w.FormulaDataModel=Fc([Hi(0,S.IUniverInstanceService),Hi(1,S.Inject(dr))],w.FormulaDataModel);function Ys(i,u,e,t){i[u]||(i[u]={}),i[u][e]||(i[u][e]={});const r=new Map,n=new S.ObjectMatrix(i[u][e]);t.forValue((a,o,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"",m=S.isFormulaString(c),d=S.isFormulaId(f);m&&d?(n.setValue(a,o,{f:c,si:f}),r.set(f,{f:c,r:a,c:o})):m&&!d?n.setValue(a,o,{f:c}):!m&&d&&n.setValue(a,o,{f:"",si:f})}),n.forValue((a,o,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"";if(S.isFormulaId(f)&&!S.isFormulaString(c)){const m=r.get(f);if(m){const d=m.f,C=o-m.c,_=a-m.r;n.setValue(a,o,{f:d,si:f,x:C,y:_})}else n.realDeleteValue(a,o)}});const s=n.getMatrix();return{[u]:{[e]:s}}}const Bc=class za{constructor(u,e){this.low=u,this.high=e}clone(){return new za(this.low,this.high)}get max(){return this.clone()}less_than(u){return this.low<u.low||this.low===u.low&&this.high<u.high}equal_to(u){return this.low===u.low&&this.high===u.high}intersect(u){return!this.not_intersect(u)}not_intersect(u){return this.high<u.low||u.high<this.low}merge(u){return new za(this.low===void 0?u.low:this.low<u.low?this.low:u.low,this.high===void 0?u.high:this.high>u.high?this.high:u.high)}output(){return[this.low,this.high]}static comparable_max(u,e){return u.merge(e)}static comparable_less_than(u,e){return u<e}},Te=0,ye=1;class Gt{constructor(u=void 0,e=void 0,t=null,r=null,n=null,s=ye){if(this.left=t,this.right=r,this.parent=n,this.color=s,this.item={key:u,value:e},u&&u instanceof Array&&u.length===2&&!Number.isNaN(u[0])&&!Number.isNaN(u[1])){let[a,o]=u;a>o&&([a,o]=[o,a]),this.item.key=new Bc(a,o)}this.max=this.item.key?this.item.key.max:void 0}isNil(){return this.item.key===void 0&&this.item.value===void 0&&this.left===null&&this.right===null&&this.color===ye}_value_less_than(u){return this.item.value&&u.item.value&&this.item.value.less_than?this.item.value.less_than(u.item.value):this.item.value<u.item.value}less_than(u){return this.item.value===this.item.key&&u.item.value===u.item.key?this.item.key.less_than(u.item.key):this.item.key.less_than(u.item.key)||this.item.key.equal_to(u.item.key)&&this._value_less_than(u)}_value_equal(u){return this.item.value&&u.item.value&&this.item.value.equal_to?this.item.value.equal_to(u.item.value):this.item.value===u.item.value}equal_to(u){return this.item.value===this.item.key&&u.item.value===u.item.key?this.item.key.equal_to(u.item.key):this.item.key.equal_to(u.item.key)&&this._value_equal(u)}intersect(u){return this.item.key.intersect(u.item.key)}copy_data(u){this.item.key=u.item.key,this.item.value=u.item.value}update_max(){if(this.max=this.item.key?this.item.key.max:void 0,this.right&&this.right.max){const u=this.item.key.constructor.comparable_max;this.max=u(this.max,this.right.max)}if(this.left&&this.left.max){const u=this.item.key.constructor.comparable_max;this.max=u(this.max,this.left.max)}}not_intersect_left_subtree(u){const e=this.item.key.constructor.comparable_less_than;let t=this.left.max.high!==void 0?this.left.max.high:this.left.max;return e(t,u.item.key.low)}not_intersect_right_subtree(u){const e=this.item.key.constructor.comparable_less_than;let t=this.right.max.low!==void 0?this.right.max.low:this.right.item.key.low;return e(u.item.key.high,t)}}class Hs{constructor(){this.root=null,this.nil_node=new Gt}get size(){let u=0;return this.tree_walk(this.root,()=>u++),u}get keys(){let u=[];return this.tree_walk(this.root,e=>u.push(e.item.key.output?e.item.key.output():e.item.key)),u}get values(){let u=[];return this.tree_walk(this.root,e=>u.push(e.item.value)),u}get items(){let u=[];return this.tree_walk(this.root,e=>u.push({key:e.item.key.output?e.item.key.output():e.item.key,value:e.item.value})),u}isEmpty(){return this.root==null||this.root===this.nil_node}clear(){this.root=null}insert(u,e=u){if(u===void 0)return;let t=new Gt(u,e,this.nil_node,this.nil_node,null,Te);return this.tree_insert(t),this.recalc_max(t),t}exist(u,e=u){let t=new Gt(u,e);return!!this.tree_search(this.root,t)}remove(u,e=u){let t=new Gt(u,e),r=this.tree_search(this.root,t);return r&&this.tree_delete(r),r}search(u,e=(t,r)=>t===r?r.output():t){let t=new Gt(u),r=[];return this.tree_search_interval(this.root,t,r),r.map(n=>e(n.item.value,n.item.key))}intersect_any(u){let e=new Gt(u);return this.tree_find_any_interval(this.root,e)}forEach(u){this.tree_walk(this.root,e=>u(e.item.key,e.item.value))}map(u){const e=new Hs;return this.tree_walk(this.root,t=>e.insert(t.item.key,u(t.item.value,t.item.key))),e}*iterate(u,e=(t,r)=>t===r?r.output():t){let t;for(u?t=this.tree_search_nearest_forward(this.root,new Gt(u)):this.root&&(t=this.local_minimum(this.root));t;)yield e(t.item.value,t.item.key),t=this.tree_successor(t)}recalc_max(u){let e=u;for(;e.parent!=null;)e.parent.update_max(),e=e.parent}tree_insert(u){let e=this.root,t=null;if(this.root==null||this.root===this.nil_node)this.root=u;else{for(;e!==this.nil_node;)t=e,u.less_than(e)?e=e.left:e=e.right;u.parent=t,u.less_than(t)?t.left=u:t.right=u}this.insert_fixup(u)}insert_fixup(u){let e,t;for(e=u;e!==this.root&&e.parent.color===Te;)e.parent===e.parent.parent.left?(t=e.parent.parent.right,t.color===Te?(e.parent.color=ye,t.color=ye,e.parent.parent.color=Te,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,this.rotate_left(e)),e.parent.color=ye,e.parent.parent.color=Te,this.rotate_right(e.parent.parent))):(t=e.parent.parent.left,t.color===Te?(e.parent.color=ye,t.color=ye,e.parent.parent.color=Te,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,this.rotate_right(e)),e.parent.color=ye,e.parent.parent.color=Te,this.rotate_left(e.parent.parent)));this.root.color=ye}tree_delete(u){let e,t;u.left===this.nil_node||u.right===this.nil_node?e=u:e=this.tree_successor(u),e.left!==this.nil_node?t=e.left:t=e.right,t.parent=e.parent,e===this.root?this.root=t:(e===e.parent.left?e.parent.left=t:e.parent.right=t,e.parent.update_max()),this.recalc_max(t),e!==u&&(u.copy_data(e),u.update_max(),this.recalc_max(u)),e.color===ye&&this.delete_fixup(t)}delete_fixup(u){let e=u,t;for(;e!==this.root&&e.parent!=null&&e.color===ye;)e===e.parent.left?(t=e.parent.right,t.color===Te&&(t.color=ye,e.parent.color=Te,this.rotate_left(e.parent),t=e.parent.right),t.left.color===ye&&t.right.color===ye?(t.color=Te,e=e.parent):(t.right.color===ye&&(t.color=Te,t.left.color=ye,this.rotate_right(t),t=e.parent.right),t.color=e.parent.color,e.parent.color=ye,t.right.color=ye,this.rotate_left(e.parent),e=this.root)):(t=e.parent.left,t.color===Te&&(t.color=ye,e.parent.color=Te,this.rotate_right(e.parent),t=e.parent.left),t.left.color===ye&&t.right.color===ye?(t.color=Te,e=e.parent):(t.left.color===ye&&(t.color=Te,t.right.color=ye,this.rotate_left(t),t=e.parent.left),t.color=e.parent.color,e.parent.color=ye,t.left.color=ye,this.rotate_right(e.parent),e=this.root));e.color=ye}tree_search(u,e){if(!(u==null||u===this.nil_node))return e.equal_to(u)?u:e.less_than(u)?this.tree_search(u.left,e):this.tree_search(u.right,e)}tree_search_nearest_forward(u,e){let t,r=u;for(;r&&r!==this.nil_node;)r.less_than(e)?r.intersect(e)?(t=r,r=r.left):r=r.right:((!t||r.less_than(t))&&(t=r),r=r.left);return t||null}tree_search_interval(u,e,t){u!=null&&u!==this.nil_node&&(u.left!==this.nil_node&&!u.not_intersect_left_subtree(e)&&this.tree_search_interval(u.left,e,t),u.intersect(e)&&t.push(u),u.right!==this.nil_node&&!u.not_intersect_right_subtree(e)&&this.tree_search_interval(u.right,e,t))}tree_find_any_interval(u,e){let t=!1;return u!=null&&u!==this.nil_node&&(u.left!==this.nil_node&&!u.not_intersect_left_subtree(e)&&(t=this.tree_find_any_interval(u.left,e)),t||(t=u.intersect(e)),!t&&u.right!==this.nil_node&&!u.not_intersect_right_subtree(e)&&(t=this.tree_find_any_interval(u.right,e))),t}local_minimum(u){let e=u;for(;e.left!=null&&e.left!==this.nil_node;)e=e.left;return e}local_maximum(u){let e=u;for(;e.right!=null&&e.right!==this.nil_node;)e=e.right;return e}tree_successor(u){let e,t,r;if(u.right!==this.nil_node)e=this.local_minimum(u.right);else{for(t=u,r=u.parent;r!=null&&r.right===t;)t=r,r=r.parent;e=r}return e}rotate_left(u){let e=u.right;u.right=e.left,e.left!==this.nil_node&&(e.left.parent=u),e.parent=u.parent,u===this.root?this.root=e:u===u.parent.left?u.parent.left=e:u.parent.right=e,e.left=u,u.parent=e,u!=null&&u!==this.nil_node&&u.update_max(),e=u.parent,e!=null&&e!==this.nil_node&&e.update_max()}rotate_right(u){let e=u.left;u.left=e.right,e.right!==this.nil_node&&(e.right.parent=u),e.parent=u.parent,u===this.root?this.root=e:u===u.parent.left?u.parent.left=e:u.parent.right=e,e.right=u,u.parent=e,u!==null&&u!==this.nil_node&&u.update_max(),e=u.parent,e!=null&&e!==this.nil_node&&e.update_max()}tree_walk(u,e){u!=null&&u!==this.nil_node&&(this.tree_walk(u.left,e),e(u),this.tree_walk(u.right,e))}testRedBlackProperty(){let u=!0;return this.tree_walk(this.root,function(e){e.color===Te&&(e.left.color===ye&&e.right.color===ye||(u=!1))}),u}testBlackHeightProperty(u){let e=0,t=0,r=0;if(u.color===ye&&e++,u.left!==this.nil_node?t=this.testBlackHeightProperty(u.left):t=1,u.right!==this.nil_node?r=this.testBlackHeightProperty(u.right):r=1,t!==r)throw new Error("Red-black height property violated");return e+=t,e}}const Gs=Symbol("EMPTY_CELL");class kc{constructor(){A(this,"_cache",new Map);A(this,"_continueBuildingCache",new Map)}set(u,e,t,r,n,s=!1){if(!this.shouldContinueBuildingCache(u,e,t,n)&&!s)return;let a=this._cache.get(u);a==null&&(a=new Map,this._cache.set(u,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let l=o.get(t);if(l==null&&(l=new Map,o.set(t,l)),s){for(const[m,d]of l)if(d.has(n)){d.delete(n);break}}let c=typeof r=="string"?r.toLowerCase():r;(c===""||c===null)&&(c=Gs);let f=l.get(c);f==null&&(f=new Set,l.set(c,f)),f.add(n)}getCellValuePositions(u,e,t){var r,n;return(n=(r=this._cache.get(u))==null?void 0:r.get(e))==null?void 0:n.get(t)}getCellPositions(u,e,t,r,n){var o,l,c;let s=typeof r=="string"?r.toLowerCase():r;(s===""||s===null)&&(s=Gs);const a=(c=(l=(o=this._cache.get(u))==null?void 0:o.get(e))==null?void 0:l.get(t))==null?void 0:c.get(s);return a&&[...a].filter(f=>n.some(([m,d])=>f>=m&&f<=d))}setContinueBuildingCache(u,e,t,r,n){if(t===-1||r===-1||n===-1)return;let s=this._continueBuildingCache.get(u);s==null&&(s=new Map,this._continueBuildingCache.set(u,s));let a=s.get(e);a==null&&(a=new Map,s.set(e,a));let o=a.get(t);if(o==null){o=new Hs,o.insert([r,n]),a.set(t,o);return}this._handleNewInterval(o,r,n)}shouldContinueBuildingCache(u,e,t,r){var a,o;if(t===-1||r===-1)return!1;const n=(o=(a=this._continueBuildingCache.get(u))==null?void 0:a.get(e))==null?void 0:o.get(t);return n?n.search([r,r]).length===0:!0}canUseCache(u,e,t,r,n){var f,m;const s=(m=(f=this._continueBuildingCache.get(u))==null?void 0:f.get(e))==null?void 0:m.get(t);if(t===-1||r===-1||n===-1||!s)return{rowsInCache:[],rowsNotInCache:[]};const a=s.search([r,n]);if(a.length===0)return{rowsInCache:[],rowsNotInCache:[]};a.sort((d,C)=>d[0]-C[0]);const o=[],l=[];let c=r;for(let d=0;d<a.length;d++){const[C,_]=a[d];if(c>=C){if(n<=_){o.push([c,n]);break}o.push([c,_]),c=_+1,d===a.length-1&&c<=n&&l.push([c,n])}else{if(n>_){o.push([C,_]),l.push([c,C-1]),c=_+1,d===a.length-1&&c<=n&&l.push([c,n]);continue}o.push([C,n]),l.push([c,C-1])}}return{rowsInCache:o,rowsNotInCache:l}}clear(){this._cache.clear(),this._continueBuildingCache.clear()}_handleNewInterval(u,e,t){let r=u.search([e,t]);if(r.length===0){const a=[e-1<0?0:e-1,t+1];if(r=u.search(a),r.length===0){u.insert([e,t]);return}}let n=e,s=t;for(const a of r)n=Math.min(n,a[0]),s=Math.max(s,a[1]),u.remove(a);u.insert([n,s])}}const Ge=new kc;class Gi extends S.Disposable{constructor(){super(...arguments);A(this,"_getRowFilteredCallback")}register(e){this._getRowFilteredCallback=e}getRowFiltered(e,t,r){var n;return this._getRowFilteredCallback&&(n=this._getRowFilteredCallback(e,t,r))!=null?n:!1}}const Ws=S.createIdentifier("univer.formula.sheet-row-filtered.service");var $c=Object.getOwnPropertyDescriptor,Yc=(i,u,e,t)=>{for(var r=t>1?void 0:t?$c(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Vn=(i,u)=>(e,t)=>u(e,t,i);w.FormulaCurrentConfigService=class extends S.Disposable{constructor(e,t,r,n){super();A(this,"_unitData",{});A(this,"_unitStylesData",{});A(this,"_arrayFormulaCellData",{});A(this,"_arrayFormulaRange",{});A(this,"_formulaData",{});A(this,"_sheetNameMap",{});A(this,"_forceCalculate",!1);A(this,"_clearDependencyTreeCache",{});A(this,"_dirtyRanges",[]);A(this,"_dirtyNameMap",{});A(this,"_dirtyDefinedNameMap",{});A(this,"_dirtyUnitFeatureMap",{});A(this,"_dirtyUnitOtherFormulaMap",{});A(this,"_excludedCell");A(this,"_sheetIdToNameMap",{});A(this,"_executeUnitId","");A(this,"_executeSubUnitId","");this._univerInstanceService=e,this._localeService=t,this._formulaDataModel=r,this._sheetRowFilteredService=n}dispose(){super.dispose(),this._unitData={},this._unitStylesData={},this._arrayFormulaCellData={},this._arrayFormulaRange={},this._formulaData={},this._sheetNameMap={},this._clearDependencyTreeCache={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._dirtyUnitOtherFormulaMap={},this._excludedCell={},this._sheetIdToNameMap={}}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}getArrayFormulaRange(){return this._arrayFormulaRange}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]||""}setSheetNameMap(e){this._sheetIdToNameMap=e}getClearDependencyTreeCache(){return this._clearDependencyTreeCache}getLocale(){return this._localeService.getCurrentLocale()}getSheetsInfo(){const e=this._univerInstanceService.getCurrentUnitForType(S.UniverInstanceType.UNIVER_SHEET),{id:t,sheetOrder:r}=e.getSnapshot();return{sheetOrder:r,sheetNameMap:this._sheetIdToNameMap[t]}}getSheetRowColumnCount(e,t){const r=this._univerInstanceService.getUnit(e),n=r==null?void 0:r.getSheetBySheetId(t),s=n==null?void 0:n.getSnapshot();if(!s)return{rowCount:0,columnCount:0};const{rowCount:a,columnCount:o}=s;return{rowCount:a,columnCount:o}}getFilteredOutRows(e,t,r,n){const s=[];for(let a=r;a<=n;a++)this._sheetRowFilteredService.getRowFiltered(e,t,a)&&s.push(a);return s}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:n}=this._loadSheetData();this._unitData=t,this._unitStylesData=n,this._sheetNameMap=r}e.rowData&&this._applyUnitRowData(e.rowData),this._formulaData=e.formulaData,this._arrayFormulaCellData=Ns(e.arrayFormulaCellData),this._arrayFormulaRange=e.arrayFormulaRange,this._forceCalculate=e.forceCalculate,this._clearDependencyTreeCache=e.clearDependencyTreeCache||{},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)}loadDataLite(e){const{allUnitData:t,unitSheetNameMap:r,unitStylesData:n}=this._loadSheetData();this._unitData=t,this._unitStylesData=n,this._sheetNameMap=r,this._formulaData=this._formulaDataModel.getFormulaData(),this._arrayFormulaCellData=Ns(this._formulaDataModel.getArrayFormulaCellData()),this._arrayFormulaRange=this._formulaDataModel.getArrayFormulaRange(),e&&this._applyUnitRowData(e)}getDirtyData(){return{forceCalculation:this._forceCalculate,dirtyRanges:this._dirtyRanges,dirtyNameMap:this._dirtyNameMap,dirtyDefinedNameMap:this._dirtyDefinedNameMap,dirtyUnitFeatureMap:this._dirtyUnitFeatureMap,dirtyUnitOtherFormulaMap:this._dirtyUnitOtherFormulaMap,clearDependencyTreeCache:this._clearDependencyTreeCache}}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(n=>{e[r]==null&&(e[r]={}),e[r][t[r][n]]=n})}),this._sheetIdToNameMap={},Object.keys(e).forEach(r=>{Object.keys(e[r]).forEach(n=>{this._sheetIdToNameMap[r]==null&&(this._sheetIdToNameMap[r]={}),this._sheetIdToNameMap[r][e[r][n]]=n})})}_loadSheetData(){const e=this._univerInstanceService.getCurrentUnitForType(S.UniverInstanceType.UNIVER_SHEET),t=e==null?void 0:e.getActiveSheet();return this._executeUnitId=e==null?void 0:e.getUnitId(),this._executeSubUnitId=t==null?void 0:t.getSheetId(),this._formulaDataModel.getCalculateData()}_applyUnitRowData(e){for(const t in e)if(e[t]!=null)for(const r in e[t])e[t][r]!=null&&(this._unitData[t]==null&&(this._unitData[t]={}),this._unitData[t][r]==null&&(this._unitData[t][r]={cellData:new S.ObjectMatrix({}),rowCount:0,columnCount:0,rowData:{},columnData:{}}),this._unitData[t][r].rowData=e[t][r])}},w.FormulaCurrentConfigService=Yc([Vn(0,S.IUniverInstanceService),Vn(1,S.Inject(S.LocaleService)),Vn(2,S.Inject(w.FormulaDataModel)),Vn(3,S.Inject(Ws))],w.FormulaCurrentConfigService);const Vt=S.createIdentifier("univer.formula.current-data.service");var Hc=Object.getOwnPropertyDescriptor,Gc=(i,u,e,t)=>{for(var r=t>1?void 0:t?Hc(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Qs=(i,u)=>(e,t)=>u(e,t,i);w.Lexer=class extends S.Disposable{constructor(u,e,t){super(),this._definedNamesService=u,this._lexerTreeBuilder=e,this._formulaCurrentConfigService=t}treeBuilder(u,e=!0){const t=this._definedNamesService.getAllDefinedNames();return this._isDeepDefinedNameMapEmpty(t)?this._lexerTreeBuilder.treeBuilder(u,e):this._lexerTreeBuilder.treeBuilder(u,e,{unitId:this._formulaCurrentConfigService.getExecuteUnitId(),getValueByName:this._definedNamesService.getValueByName.bind(this._definedNamesService),getDirtyDefinedNameMap:this._formulaCurrentConfigService.getDirtyDefinedNameMap.bind(this._formulaCurrentConfigService),getSheetName:this._formulaCurrentConfigService.getSheetName.bind(this._formulaCurrentConfigService)})}_isDeepDefinedNameMapEmpty(u){for(const e in u)if(Object.keys(u[e]).length>0)return!1;return!0}},w.Lexer=Gc([Qs(0,Yt),Qs(1,S.Inject(dr)),Qs(2,Vt)],w.Lexer);function On(i){if(i==null)return!0;const{v:u,f:e,si:t,p:r}=i;return!(!(u==null||typeof u=="string"&&u.length===0)||e!=null&&e.length>0||t!=null&&t.length>0||r!=null)}function Wc(i){var u;if(i===null)return 0;if(i!=null&&i.p){const e=i==null?void 0:i.p.body;if(e==null)return 0;const t=e.dataStream;return S.BuildTextUtils.transform.getPlainText(t)}return(u=i==null?void 0:i.v)!=null?u:0}function Qc(i,u=!1){return!u&&!(S.isFormulaString(i==null?void 0:i.f)||S.isFormulaId(i==null?void 0:i.si))?null:typeof(i==null?void 0:i.v)=="string"&&wt.has(i.v)?i.v:null}function Wi(i,u,e,t,r){var s;const n=Object.keys(r);for(const a of n){const o=r[a],l=(s=o==null?void 0:o[t])==null?void 0:s[e];if(l==null)continue;const c=l.getValue(i,u);if(c!=null)return c}}var Wt=(i=>(i[i.MIN=0]="MIN",i[i.MAX=1]="MAX",i))(Wt||{}),Le=(i=>(i[i.NORMAL=0]="NORMAL",i[i.MIN=1]="MIN",i[i.MAX=2]="MAX",i))(Le||{});function Sn(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(i,u)=>i.localeCompare(u)}function Qi(i){return i.indexOf("*")>-1||i.indexOf("?")>-1}function qs(i,u){const e=Xc(u).replace(/~?[*?]/g,r=>r.startsWith("~")?`\\${r.substring(1)}`:r==="*"?".*":r==="?"?".":r);return new RegExp(`^${e}$`).test(i)}function qi(i){return i.replace(/~?[*?]/g,u=>u.startsWith("~")?u.substring(1):" ")}function qc(i,u,e){let t=!1;switch(e){case H.EQUALS:t=qs(i,u);break;case H.NOT_EQUAL:t=!qs(i,u);break;case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:t=qs(i,u)||i>qi(u);break;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:t=i<qi(u);break}return t}function Xc(i){return i.replace(/[.+^${}()|[\]\\]/g,"\\$&")}function Xs(i){switch(i){case 1:return 2;case 0:return 0;case-1:return 1;default:return 0}}function Ks(i){return i===-2?1:0}function Kc(i,u,e){var o,l;if(i==null||u==null)return u;const t=(e==null?void 0:e.getStyleByCell(i))||i.s,r=(e==null?void 0:e.getStyleByCell(u))||u.s;if(t==null||r==null||typeof t!="object"||typeof r!="object")return u;const n=(o=t==null?void 0:t.n)==null?void 0:o.pattern,s=(l=r==null?void 0:r.n)==null?void 0:l.pattern;if(n==null||s==null)return u;const a=n||s;return r.n.pattern=a,u}const Zc=new yt(1e5);function zc(){Zc.clear()}const Jc=new Map([[S.LocaleType.EN_US,"$"],[S.LocaleType.RU_RU,"₽"],[S.LocaleType.VI_VN,"₫"],[S.LocaleType.ZH_CN,"¥"],[S.LocaleType.ZH_TW,"NT$"],[S.LocaleType.FR_FR,"€"],[S.LocaleType.FA_IR,"﷼"],[S.LocaleType.KO_KR,"₩"],[S.LocaleType.ES_ES,"€"],[S.LocaleType.CA_ES,"€"]]);function Xi(i){return Jc.get(i)||"$"}function We(i,u=2){let e=u;u>127&&(e=127);let t="";return e>0&&(t=`.${"0".repeat(e)}`),`"${Xi(i)}"#,##0${t}_);[Red]("${Xi(i)}"#,##0${t})`}function ef(i,u,e=2){return S.numfmt.format(We(i,e),u)}const Zs=new yt(1e5);function tf(i){let u=i;u.startsWith('"')&&u.endsWith('"')&&(u=u.slice(1,-1));const e=Zs.get(u);if(e)return{isNumberPattern:!0,value:e.value,pattern:e.pattern};const t=S.getNumfmtParseValueFilter(u);return t&&t.z?rf(u,t.v,t.z):{isNumberPattern:!1}}function rf(i,u,e){return Zs.set(i,{value:u,pattern:e}),{isNumberPattern:!0,value:u,pattern:e}}function nf(){Zs.clear()}function zs(i){let u;switch(i){case H.EQUALS:u=H.EQUALS;break;case H.GREATER_THAN:u=H.LESS_THAN;break;case H.GREATER_THAN_OR_EQUAL:u=H.LESS_THAN_OR_EQUAL;break;case H.LESS_THAN:u=H.GREATER_THAN;break;case H.LESS_THAN_OR_EQUAL:u=H.GREATER_THAN_OR_EQUAL;break;case H.NOT_EQUAL:u=H.NOT_EQUAL;break}return u}var Cr=9e15,Pt=1e9,Js="0123456789abcdef",Mn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Dn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ea={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Cr,maxE:Cr,crypto:!1},Ki,Ot,le=!0,wn="[DecimalError] ",jt=wn+"Invalid argument: ",Zi=wn+"Precision limit exceeded",zi=wn+"crypto unavailable",Ji="[object Decimal]",ve=Math.floor,Pe=Math.pow,sf=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,af=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,of=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,eo=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,st=1e7,ie=7,uf=9007199254740991,lf=Mn.length-1,ta=Dn.length-1,k={toStringTag:Ji};k.absoluteValue=k.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),te(i)},k.ceil=function(){return te(new this.constructor(this),this.e+1,2)},k.clampedTo=k.clamp=function(i,u){var e,t=this,r=t.constructor;if(i=new r(i),u=new r(u),!i.s||!u.s)return new r(NaN);if(i.gt(u))throw Error(jt+u);return e=t.cmp(i),e<0?i:t.cmp(u)>0?u:new r(t)},k.comparedTo=k.cmp=function(i){var u,e,t,r,n=this,s=n.d,a=(i=new n.constructor(i)).d,o=n.s,l=i.s;if(!s||!a)return!o||!l?NaN:o!==l?o:s===a?0:!s^o<0?1:-1;if(!s[0]||!a[0])return s[0]?o:a[0]?-l:0;if(o!==l)return o;if(n.e!==i.e)return n.e>i.e^o<0?1:-1;for(t=s.length,r=a.length,u=0,e=t<r?t:r;u<e;++u)if(s[u]!==a[u])return s[u]>a[u]^o<0?1:-1;return t===r?0:t>r^o<0?1:-1},k.cosine=k.cos=function(){var i,u,e=this,t=e.constructor;return e.d?e.d[0]?(i=t.precision,u=t.rounding,t.precision=i+Math.max(e.e,e.sd())+ie,t.rounding=1,e=cf(t,io(t,e)),t.precision=i,t.rounding=u,te(Ot==2||Ot==3?e.neg():e,i,u,!0)):new t(1):new t(NaN)},k.cubeRoot=k.cbrt=function(){var i,u,e,t,r,n,s,a,o,l,c=this,f=c.constructor;if(!c.isFinite()||c.isZero())return new f(c);for(le=!1,n=c.s*Pe(c.s*c,1/3),!n||Math.abs(n)==1/0?(e=Ue(c.d),i=c.e,(n=(i-e.length+1)%3)&&(e+=n==1||n==-2?"0":"00"),n=Pe(e,1/3),i=ve((i+1)/3)-(i%3==(i<0?-1:2)),n==1/0?e="5e"+i:(e=n.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),t=new f(e),t.s=c.s):t=new f(n.toString()),s=(i=f.precision)+3;;)if(a=t,o=a.times(a).times(a),l=o.plus(c),t=pe(l.plus(c).times(a),l.plus(o),s+2,1),Ue(a.d).slice(0,s)===(e=Ue(t.d)).slice(0,s))if(e=e.slice(s-3,s+1),e=="9999"||!r&&e=="4999"){if(!r&&(te(a,i+1,0),a.times(a).times(a).eq(c))){t=a;break}s+=4,r=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(te(t,i+1,1),u=!t.times(t).times(t).eq(c));break}return le=!0,te(t,i,f.rounding,u)},k.decimalPlaces=k.dp=function(){var i,u=this.d,e=NaN;if(u){if(i=u.length-1,e=(i-ve(this.e/ie))*ie,i=u[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e},k.dividedBy=k.div=function(i){return pe(this,new this.constructor(i))},k.dividedToIntegerBy=k.divToInt=function(i){var u=this,e=u.constructor;return te(pe(u,new e(i),0,1,1),e.precision,e.rounding)},k.equals=k.eq=function(i){return this.cmp(i)===0},k.floor=function(){return te(new this.constructor(this),this.e+1,3)},k.greaterThan=k.gt=function(i){return this.cmp(i)>0},k.greaterThanOrEqualTo=k.gte=function(i){var u=this.cmp(i);return u==1||u===0},k.hyperbolicCosine=k.cosh=function(){var i,u,e,t,r,n=this,s=n.constructor,a=new s(1);if(!n.isFinite())return new s(n.s?1/0:NaN);if(n.isZero())return a;e=s.precision,t=s.rounding,s.precision=e+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<32?(i=Math.ceil(r/3),u=(1/Un(4,i)).toString()):(i=16,u="2.3283064365386962890625e-10"),n=_r(s,1,n.times(u),new s(1),!0);for(var o,l=i,c=new s(8);l--;)o=n.times(n),n=a.minus(o.times(c.minus(o.times(c))));return te(n,s.precision=e,s.rounding=t,!0)},k.hyperbolicSine=k.sinh=function(){var i,u,e,t,r=this,n=r.constructor;if(!r.isFinite()||r.isZero())return new n(r);if(u=n.precision,e=n.rounding,n.precision=u+Math.max(r.e,r.sd())+4,n.rounding=1,t=r.d.length,t<3)r=_r(n,2,r,r,!0);else{i=1.4*Math.sqrt(t),i=i>16?16:i|0,r=r.times(1/Un(5,i)),r=_r(n,2,r,r,!0);for(var s,a=new n(5),o=new n(16),l=new n(20);i--;)s=r.times(r),r=r.times(a.plus(s.times(o.times(s).plus(l))))}return n.precision=u,n.rounding=e,te(r,u,e,!0)},k.hyperbolicTangent=k.tanh=function(){var i,u,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+7,t.rounding=1,pe(e.sinh(),e.cosh(),t.precision=i,t.rounding=u)):new t(e.s)},k.inverseCosine=k.acos=function(){var i=this,u=i.constructor,e=i.abs().cmp(1),t=u.precision,r=u.rounding;return e!==-1?e===0?i.isNeg()?mt(u,t,r):new u(0):new u(NaN):i.isZero()?mt(u,t+4,r).times(.5):(u.precision=t+6,u.rounding=1,i=new u(1).minus(i).div(i.plus(1)).sqrt().atan(),u.precision=t,u.rounding=r,i.times(2))},k.inverseHyperbolicCosine=k.acosh=function(){var i,u,e=this,t=e.constructor;return e.lte(1)?new t(e.eq(1)?0:NaN):e.isFinite()?(i=t.precision,u=t.rounding,t.precision=i+Math.max(Math.abs(e.e),e.sd())+4,t.rounding=1,le=!1,e=e.times(e).minus(1).sqrt().plus(e),le=!0,t.precision=i,t.rounding=u,e.ln()):new t(e)},k.inverseHyperbolicSine=k.asinh=function(){var i,u,e=this,t=e.constructor;return!e.isFinite()||e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,t.rounding=1,le=!1,e=e.times(e).plus(1).sqrt().plus(e),le=!0,t.precision=i,t.rounding=u,e.ln())},k.inverseHyperbolicTangent=k.atanh=function(){var i,u,e,t,r=this,n=r.constructor;return r.isFinite()?r.e>=0?new n(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(i=n.precision,u=n.rounding,t=r.sd(),Math.max(t,i)<2*-r.e-1?te(new n(r),i,u,!0):(n.precision=e=t-r.e,r=pe(r.plus(1),new n(1).minus(r),e+i,1),n.precision=i+4,n.rounding=1,r=r.ln(),n.precision=i,n.rounding=u,r.times(.5))):new n(NaN)},k.inverseSine=k.asin=function(){var i,u,e,t,r=this,n=r.constructor;return r.isZero()?new n(r):(u=r.abs().cmp(1),e=n.precision,t=n.rounding,u!==-1?u===0?(i=mt(n,e+4,t).times(.5),i.s=r.s,i):new n(NaN):(n.precision=e+6,n.rounding=1,r=r.div(new n(1).minus(r.times(r)).sqrt().plus(1)).atan(),n.precision=e,n.rounding=t,r.times(2)))},k.inverseTangent=k.atan=function(){var i,u,e,t,r,n,s,a,o,l=this,c=l.constructor,f=c.precision,m=c.rounding;if(l.isFinite()){if(l.isZero())return new c(l);if(l.abs().eq(1)&&f+4<=ta)return s=mt(c,f+4,m).times(.25),s.s=l.s,s}else{if(!l.s)return new c(NaN);if(f+4<=ta)return s=mt(c,f+4,m).times(.5),s.s=l.s,s}for(c.precision=a=f+10,c.rounding=1,e=Math.min(28,a/ie+2|0),i=e;i;--i)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(le=!1,u=Math.ceil(a/ie),t=1,o=l.times(l),s=new c(l),r=l;i!==-1;)if(r=r.times(o),n=s.minus(r.div(t+=2)),r=r.times(o),s=n.plus(r.div(t+=2)),s.d[u]!==void 0)for(i=u;s.d[i]===n.d[i]&&i--;);return e&&(s=s.times(2<<e-1)),le=!0,te(s,c.precision=f,c.rounding=m,!0)},k.isFinite=function(){return!!this.d},k.isInteger=k.isInt=function(){return!!this.d&&ve(this.e/ie)>this.d.length-2},k.isNaN=function(){return!this.s},k.isNegative=k.isNeg=function(){return this.s<0},k.isPositive=k.isPos=function(){return this.s>0},k.isZero=function(){return!!this.d&&this.d[0]===0},k.lessThan=k.lt=function(i){return this.cmp(i)<0},k.lessThanOrEqualTo=k.lte=function(i){return this.cmp(i)<1},k.logarithm=k.log=function(i){var u,e,t,r,n,s,a,o,l=this,c=l.constructor,f=c.precision,m=c.rounding,d=5;if(i==null)i=new c(10),u=!0;else{if(i=new c(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new c(NaN);u=i.eq(10)}if(e=l.d,l.s<0||!e||!e[0]||l.eq(1))return new c(e&&!e[0]?-1/0:l.s!=1?NaN:e?0:1/0);if(u)if(e.length>1)n=!0;else{for(r=e[0];r%10===0;)r/=10;n=r!==1}if(le=!1,a=f+d,s=Ut(l,a),t=u?jn(c,a+10):Ut(i,a),o=pe(s,t,a,1),Br(o.d,r=f,m))do if(a+=10,s=Ut(l,a),t=u?jn(c,a+10):Ut(i,a),o=pe(s,t,a,1),!n){+Ue(o.d).slice(r+1,r+15)+1==1e14&&(o=te(o,f+1,0));break}while(Br(o.d,r+=10,m));return le=!0,te(o,f,m)},k.minus=k.sub=function(i){var u,e,t,r,n,s,a,o,l,c,f,m,d=this,C=d.constructor;if(i=new C(i),!d.d||!i.d)return!d.s||!i.s?i=new C(NaN):d.d?i.s=-i.s:i=new C(i.d||d.s!==i.s?d:NaN),i;if(d.s!=i.s)return i.s=-i.s,d.plus(i);if(l=d.d,m=i.d,a=C.precision,o=C.rounding,!l[0]||!m[0]){if(m[0])i.s=-i.s;else if(l[0])i=new C(d);else return new C(o===3?-0:0);return le?te(i,a,o):i}if(e=ve(i.e/ie),c=ve(d.e/ie),l=l.slice(),n=c-e,n){for(f=n<0,f?(u=l,n=-n,s=m.length):(u=m,e=c,s=l.length),t=Math.max(Math.ceil(a/ie),s)+2,n>t&&(n=t,u.length=1),u.reverse(),t=n;t--;)u.push(0);u.reverse()}else{for(t=l.length,s=m.length,f=t<s,f&&(s=t),t=0;t<s;t++)if(l[t]!=m[t]){f=l[t]<m[t];break}n=0}for(f&&(u=l,l=m,m=u,i.s=-i.s),s=l.length,t=m.length-s;t>0;--t)l[s++]=0;for(t=m.length;t>n;){if(l[--t]<m[t]){for(r=t;r&&l[--r]===0;)l[r]=st-1;--l[r],l[t]+=st}l[t]-=m[t]}for(;l[--s]===0;)l.pop();for(;l[0]===0;l.shift())--e;return l[0]?(i.d=l,i.e=Pn(l,e),le?te(i,a,o):i):new C(o===3?-0:0)},k.modulo=k.mod=function(i){var u,e=this,t=e.constructor;return i=new t(i),!e.d||!i.s||i.d&&!i.d[0]?new t(NaN):!i.d||e.d&&!e.d[0]?te(new t(e),t.precision,t.rounding):(le=!1,t.modulo==9?(u=pe(e,i.abs(),0,3,1),u.s*=i.s):u=pe(e,i,0,t.modulo,1),u=u.times(i),le=!0,e.minus(u))},k.naturalExponential=k.exp=function(){return ra(this)},k.naturalLogarithm=k.ln=function(){return Ut(this)},k.negated=k.neg=function(){var i=new this.constructor(this);return i.s=-i.s,te(i)},k.plus=k.add=function(i){var u,e,t,r,n,s,a,o,l,c,f=this,m=f.constructor;if(i=new m(i),!f.d||!i.d)return!f.s||!i.s?i=new m(NaN):f.d||(i=new m(i.d||f.s===i.s?f:NaN)),i;if(f.s!=i.s)return i.s=-i.s,f.minus(i);if(l=f.d,c=i.d,a=m.precision,o=m.rounding,!l[0]||!c[0])return c[0]||(i=new m(f)),le?te(i,a,o):i;if(n=ve(f.e/ie),t=ve(i.e/ie),l=l.slice(),r=n-t,r){for(r<0?(e=l,r=-r,s=c.length):(e=c,t=n,s=l.length),n=Math.ceil(a/ie),s=n>s?n+1:s+1,r>s&&(r=s,e.length=1),e.reverse();r--;)e.push(0);e.reverse()}for(s=l.length,r=c.length,s-r<0&&(r=s,e=c,c=l,l=e),u=0;r;)u=(l[--r]=l[r]+c[r]+u)/st|0,l[r]%=st;for(u&&(l.unshift(u),++t),s=l.length;l[--s]==0;)l.pop();return i.d=l,i.e=Pn(l,t),le?te(i,a,o):i},k.precision=k.sd=function(i){var u,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(jt+i);return e.d?(u=to(e.d),i&&e.e+1>u&&(u=e.e+1)):u=NaN,u},k.round=function(){var i=this,u=i.constructor;return te(new u(i),i.e+1,u.rounding)},k.sine=k.sin=function(){var i,u,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+Math.max(e.e,e.sd())+ie,t.rounding=1,e=mf(t,io(t,e)),t.precision=i,t.rounding=u,te(Ot>2?e.neg():e,i,u,!0)):new t(NaN)},k.squareRoot=k.sqrt=function(){var i,u,e,t,r,n,s=this,a=s.d,o=s.e,l=s.s,c=s.constructor;if(l!==1||!a||!a[0])return new c(!l||l<0&&(!a||a[0])?NaN:a?s:1/0);for(le=!1,l=Math.sqrt(+s),l==0||l==1/0?(u=Ue(a),(u.length+o)%2==0&&(u+="0"),l=Math.sqrt(u),o=ve((o+1)/2)-(o<0||o%2),l==1/0?u="5e"+o:(u=l.toExponential(),u=u.slice(0,u.indexOf("e")+1)+o),t=new c(u)):t=new c(l.toString()),e=(o=c.precision)+3;;)if(n=t,t=n.plus(pe(s,n,e+2,1)).times(.5),Ue(n.d).slice(0,e)===(u=Ue(t.d)).slice(0,e))if(u=u.slice(e-3,e+1),u=="9999"||!r&&u=="4999"){if(!r&&(te(n,o+1,0),n.times(n).eq(s))){t=n;break}e+=4,r=1}else{(!+u||!+u.slice(1)&&u.charAt(0)=="5")&&(te(t,o+1,1),i=!t.times(t).eq(s));break}return le=!0,te(t,o,c.rounding,i)},k.tangent=k.tan=function(){var i,u,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+10,t.rounding=1,e=e.sin(),e.s=1,e=pe(e,new t(1).minus(e.times(e)).sqrt(),i+10,0),t.precision=i,t.rounding=u,te(Ot==2||Ot==4?e.neg():e,i,u,!0)):new t(NaN)},k.times=k.mul=function(i){var u,e,t,r,n,s,a,o,l,c=this,f=c.constructor,m=c.d,d=(i=new f(i)).d;if(i.s*=c.s,!m||!m[0]||!d||!d[0])return new f(!i.s||m&&!m[0]&&!d||d&&!d[0]&&!m?NaN:!m||!d?i.s/0:i.s*0);for(e=ve(c.e/ie)+ve(i.e/ie),o=m.length,l=d.length,o<l&&(n=m,m=d,d=n,s=o,o=l,l=s),n=[],s=o+l,t=s;t--;)n.push(0);for(t=l;--t>=0;){for(u=0,r=o+t;r>t;)a=n[r]+d[t]*m[r-t-1]+u,n[r--]=a%st|0,u=a/st|0;n[r]=(n[r]+u)%st|0}for(;!n[--s];)n.pop();return u?++e:n.shift(),i.d=n,i.e=Pn(n,e),le?te(i,f.precision,f.rounding):i},k.toBinary=function(i,u){return na(this,2,i,u)},k.toDecimalPlaces=k.toDP=function(i,u){var e=this,t=e.constructor;return e=new t(e),i===void 0?e:(ke(i,0,Pt),u===void 0?u=t.rounding:ke(u,0,8),te(e,i+e.e+1,u))},k.toExponential=function(i,u){var e,t=this,r=t.constructor;return i===void 0?e=ft(t,!0):(ke(i,0,Pt),u===void 0?u=r.rounding:ke(u,0,8),t=te(new r(t),i+1,u),e=ft(t,!0,i+1)),t.isNeg()&&!t.isZero()?"-"+e:e},k.toFixed=function(i,u){var e,t,r=this,n=r.constructor;return i===void 0?e=ft(r):(ke(i,0,Pt),u===void 0?u=n.rounding:ke(u,0,8),t=te(new n(r),i+r.e+1,u),e=ft(t,!1,i+t.e+1)),r.isNeg()&&!r.isZero()?"-"+e:e},k.toFraction=function(i){var u,e,t,r,n,s,a,o,l,c,f,m,d=this,C=d.d,_=d.constructor;if(!C)return new _(d);if(l=e=new _(1),t=o=new _(0),u=new _(t),n=u.e=to(C)-d.e-1,s=n%ie,u.d[0]=Pe(10,s<0?ie+s:s),i==null)i=n>0?u:l;else{if(a=new _(i),!a.isInt()||a.lt(l))throw Error(jt+a);i=a.gt(u)?n>0?u:l:a}for(le=!1,a=new _(Ue(C)),c=_.precision,_.precision=n=C.length*ie*2;f=pe(a,u,0,1,1),r=e.plus(f.times(t)),r.cmp(i)!=1;)e=t,t=r,r=l,l=o.plus(f.times(r)),o=r,r=u,u=a.minus(f.times(r)),a=r;return r=pe(i.minus(e),t,0,1,1),o=o.plus(r.times(l)),e=e.plus(r.times(t)),o.s=l.s=d.s,m=pe(l,t,n,1).minus(d).abs().cmp(pe(o,e,n,1).minus(d).abs())<1?[l,t]:[o,e],_.precision=c,le=!0,m},k.toHexadecimal=k.toHex=function(i,u){return na(this,16,i,u)},k.toNearest=function(i,u){var e=this,t=e.constructor;if(e=new t(e),i==null){if(!e.d)return e;i=new t(1),u=t.rounding}else{if(i=new t(i),u===void 0?u=t.rounding:ke(u,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(le=!1,e=pe(e,i,0,u,1).times(i),le=!0,te(e)):(i.s=e.s,e=i),e},k.toNumber=function(){return+this},k.toOctal=function(i,u){return na(this,8,i,u)},k.toPower=k.pow=function(i){var u,e,t,r,n,s,a=this,o=a.constructor,l=+(i=new o(i));if(!a.d||!i.d||!a.d[0]||!i.d[0])return new o(Pe(+a,l));if(a=new o(a),a.eq(1))return a;if(t=o.precision,n=o.rounding,i.eq(1))return te(a,t,n);if(u=ve(i.e/ie),u>=i.d.length-1&&(e=l<0?-l:l)<=uf)return r=ro(o,a,e,t),i.s<0?new o(1).div(r):te(r,t,n);if(s=a.s,s<0){if(u<i.d.length-1)return new o(NaN);if((i.d[u]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return e=Pe(+a,l),u=e==0||!isFinite(e)?ve(l*(Math.log("0."+Ue(a.d))/Math.LN10+a.e+1)):new o(e+"").e,u>o.maxE+1||u<o.minE-1?new o(u>0?s/0:0):(le=!1,o.rounding=a.s=1,e=Math.min(12,(u+"").length),r=ra(i.times(Ut(a,t+e)),t),r.d&&(r=te(r,t+5,1),Br(r.d,t,n)&&(u=t+10,r=te(ra(i.times(Ut(a,u+e)),u),u+5,1),+Ue(r.d).slice(t+1,t+15)+1==1e14&&(r=te(r,t+1,0)))),r.s=s,le=!0,o.rounding=n,te(r,t,n))},k.toPrecision=function(i,u){var e,t=this,r=t.constructor;return i===void 0?e=ft(t,t.e<=r.toExpNeg||t.e>=r.toExpPos):(ke(i,1,Pt),u===void 0?u=r.rounding:ke(u,0,8),t=te(new r(t),i,u),e=ft(t,i<=t.e||t.e<=r.toExpNeg,i)),t.isNeg()&&!t.isZero()?"-"+e:e},k.toSignificantDigits=k.toSD=function(i,u){var e=this,t=e.constructor;return i===void 0?(i=t.precision,u=t.rounding):(ke(i,1,Pt),u===void 0?u=t.rounding:ke(u,0,8)),te(new t(e),i,u)},k.toString=function(){var i=this,u=i.constructor,e=ft(i,i.e<=u.toExpNeg||i.e>=u.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e},k.truncated=k.trunc=function(){return te(new this.constructor(this),this.e+1,1)},k.valueOf=k.toJSON=function(){var i=this,u=i.constructor,e=ft(i,i.e<=u.toExpNeg||i.e>=u.toExpPos);return i.isNeg()?"-"+e:e};function Ue(i){var u,e,t,r=i.length-1,n="",s=i[0];if(r>0){for(n+=s,u=1;u<r;u++)t=i[u]+"",e=ie-t.length,e&&(n+=Tt(e)),n+=t;s=i[u],t=s+"",e=ie-t.length,e&&(n+=Tt(e))}else if(s===0)return"0";for(;s%10===0;)s/=10;return n+s}function ke(i,u,e){if(i!==~~i||i<u||i>e)throw Error(jt+i)}function Br(i,u,e,t){var r,n,s,a;for(n=i[0];n>=10;n/=10)--u;return--u<0?(u+=ie,r=0):(r=Math.ceil((u+1)/ie),u%=ie),n=Pe(10,ie-u),a=i[r]%n|0,t==null?u<3?(u==0?a=a/100|0:u==1&&(a=a/10|0),s=e<4&&a==99999||e>3&&a==49999||a==5e4||a==0):s=(e<4&&a+1==n||e>3&&a+1==n/2)&&(i[r+1]/n/100|0)==Pe(10,u-2)-1||(a==n/2||a==0)&&(i[r+1]/n/100|0)==0:u<4?(u==0?a=a/1e3|0:u==1?a=a/100|0:u==2&&(a=a/10|0),s=(t||e<4)&&a==9999||!t&&e>3&&a==4999):s=((t||e<4)&&a+1==n||!t&&e>3&&a+1==n/2)&&(i[r+1]/n/1e3|0)==Pe(10,u-3)-1,s}function Ln(i,u,e){for(var t,r=[0],n,s=0,a=i.length;s<a;){for(n=r.length;n--;)r[n]*=u;for(r[0]+=Js.indexOf(i.charAt(s++)),t=0;t<r.length;t++)r[t]>e-1&&(r[t+1]===void 0&&(r[t+1]=0),r[t+1]+=r[t]/e|0,r[t]%=e)}return r.reverse()}function cf(i,u){var e,t,r;if(u.isZero())return u;t=u.d.length,t<32?(e=Math.ceil(t/3),r=(1/Un(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),i.precision+=e,u=_r(i,1,u.times(r),new i(1));for(var n=e;n--;){var s=u.times(u);u=s.times(s).minus(s).times(8).plus(1)}return i.precision-=e,u}var pe=(function(){function i(t,r,n){var s,a=0,o=t.length;for(t=t.slice();o--;)s=t[o]*r+a,t[o]=s%n|0,a=s/n|0;return a&&t.unshift(a),t}function u(t,r,n,s){var a,o;if(n!=s)o=n>s?1:-1;else for(a=o=0;a<n;a++)if(t[a]!=r[a]){o=t[a]>r[a]?1:-1;break}return o}function e(t,r,n,s){for(var a=0;n--;)t[n]-=a,a=t[n]<r[n]?1:0,t[n]=a*s+t[n]-r[n];for(;!t[0]&&t.length>1;)t.shift()}return function(t,r,n,s,a,o){var l,c,f,m,d,C,_,E,R,y,N,p,M,D,L,P,j,I,v,Y,Q=t.constructor,ne=t.s==r.s?1:-1,ee=t.d,W=r.d;if(!ee||!ee[0]||!W||!W[0])return new Q(!t.s||!r.s||(ee?W&&ee[0]==W[0]:!W)?NaN:ee&&ee[0]==0||!W?ne*0:ne/0);for(o?(d=1,c=t.e-r.e):(o=st,d=ie,c=ve(t.e/d)-ve(r.e/d)),v=W.length,j=ee.length,R=new Q(ne),y=R.d=[],f=0;W[f]==(ee[f]||0);f++);if(W[f]>(ee[f]||0)&&c--,n==null?(D=n=Q.precision,s=Q.rounding):a?D=n+(t.e-r.e)+1:D=n,D<0)y.push(1),C=!0;else{if(D=D/d+2|0,f=0,v==1){for(m=0,W=W[0],D++;(f<j||m)&&D--;f++)L=m*o+(ee[f]||0),y[f]=L/W|0,m=L%W|0;C=m||f<j}else{for(m=o/(W[0]+1)|0,m>1&&(W=i(W,m,o),ee=i(ee,m,o),v=W.length,j=ee.length),P=v,N=ee.slice(0,v),p=N.length;p<v;)N[p++]=0;Y=W.slice(),Y.unshift(0),I=W[0],W[1]>=o/2&&++I;do m=0,l=u(W,N,v,p),l<0?(M=N[0],v!=p&&(M=M*o+(N[1]||0)),m=M/I|0,m>1?(m>=o&&(m=o-1),_=i(W,m,o),E=_.length,p=N.length,l=u(_,N,E,p),l==1&&(m--,e(_,v<E?Y:W,E,o))):(m==0&&(l=m=1),_=W.slice()),E=_.length,E<p&&_.unshift(0),e(N,_,p,o),l==-1&&(p=N.length,l=u(W,N,v,p),l<1&&(m++,e(N,v<p?Y:W,p,o))),p=N.length):l===0&&(m++,N=[0]),y[f++]=m,l&&N[0]?N[p++]=ee[P]||0:(N=[ee[P]],p=1);while((P++<j||N[0]!==void 0)&&D--);C=N[0]!==void 0}y[0]||y.shift()}if(d==1)R.e=c,Ki=C;else{for(f=1,m=y[0];m>=10;m/=10)f++;R.e=f+c*d-1,te(R,a?n+R.e+1:n,s,C)}return R}})();function te(i,u,e,t){var r,n,s,a,o,l,c,f,m,d=i.constructor;e:if(u!=null){if(f=i.d,!f)return i;for(r=1,a=f[0];a>=10;a/=10)r++;if(n=u-r,n<0)n+=ie,s=u,c=f[m=0],o=c/Pe(10,r-s-1)%10|0;else if(m=Math.ceil((n+1)/ie),a=f.length,m>=a)if(t){for(;a++<=m;)f.push(0);c=o=0,r=1,n%=ie,s=n-ie+1}else break e;else{for(c=a=f[m],r=1;a>=10;a/=10)r++;n%=ie,s=n-ie+r,o=s<0?0:c/Pe(10,r-s-1)%10|0}if(t=t||u<0||f[m+1]!==void 0||(s<0?c:c%Pe(10,r-s-1)),l=e<4?(o||t)&&(e==0||e==(i.s<0?3:2)):o>5||o==5&&(e==4||t||e==6&&(n>0?s>0?c/Pe(10,r-s):0:f[m-1])%10&1||e==(i.s<0?8:7)),u<1||!f[0])return f.length=0,l?(u-=i.e+1,f[0]=Pe(10,(ie-u%ie)%ie),i.e=-u||0):f[0]=i.e=0,i;if(n==0?(f.length=m,a=1,m--):(f.length=m+1,a=Pe(10,ie-n),f[m]=s>0?(c/Pe(10,r-s)%Pe(10,s)|0)*a:0),l)for(;;)if(m==0){for(n=1,s=f[0];s>=10;s/=10)n++;for(s=f[0]+=a,a=1;s>=10;s/=10)a++;n!=a&&(i.e++,f[0]==st&&(f[0]=1));break}else{if(f[m]+=a,f[m]!=st)break;f[m--]=0,a=1}for(n=f.length;f[--n]===0;)f.pop()}return le&&(i.e>d.maxE?(i.d=null,i.e=NaN):i.e<d.minE&&(i.e=0,i.d=[0])),i}function ft(i,u,e){if(!i.isFinite())return ao(i);var t,r=i.e,n=Ue(i.d),s=n.length;return u?(e&&(t=e-s)>0?n=n.charAt(0)+"."+n.slice(1)+Tt(t):s>1&&(n=n.charAt(0)+"."+n.slice(1)),n=n+(i.e<0?"e":"e+")+i.e):r<0?(n="0."+Tt(-r-1)+n,e&&(t=e-s)>0&&(n+=Tt(t))):r>=s?(n+=Tt(r+1-s),e&&(t=e-r-1)>0&&(n=n+"."+Tt(t))):((t=r+1)<s&&(n=n.slice(0,t)+"."+n.slice(t)),e&&(t=e-s)>0&&(r+1===s&&(n+="."),n+=Tt(t))),n}function Pn(i,u){var e=i[0];for(u*=ie;e>=10;e/=10)u++;return u}function jn(i,u,e){if(u>lf)throw le=!0,e&&(i.precision=e),Error(Zi);return te(new i(Mn),u,1,!0)}function mt(i,u,e){if(u>ta)throw Error(Zi);return te(new i(Dn),u,e,!0)}function to(i){var u=i.length-1,e=u*ie+1;if(u=i[u],u){for(;u%10==0;u/=10)e--;for(u=i[0];u>=10;u/=10)e++}return e}function Tt(i){for(var u="";i--;)u+="0";return u}function ro(i,u,e,t){var r,n=new i(1),s=Math.ceil(t/ie+4);for(le=!1;;){if(e%2&&(n=n.times(u),oo(n.d,s)&&(r=!0)),e=ve(e/2),e===0){e=n.d.length-1,r&&n.d[e]===0&&++n.d[e];break}u=u.times(u),oo(u.d,s)}return le=!0,n}function no(i){return i.d[i.d.length-1]&1}function so(i,u,e){for(var t,r,n=new i(u[0]),s=0;++s<u.length;){if(r=new i(u[s]),!r.s){n=r;break}t=n.cmp(r),(t===e||t===0&&n.s===e)&&(n=r)}return n}function ra(i,u){var e,t,r,n,s,a,o,l=0,c=0,f=0,m=i.constructor,d=m.rounding,C=m.precision;if(!i.d||!i.d[0]||i.e>17)return new m(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(u==null?(le=!1,o=C):o=u,a=new m(.03125);i.e>-2;)i=i.times(a),f+=5;for(t=Math.log(Pe(2,f))/Math.LN10*2+5|0,o+=t,e=n=s=new m(1),m.precision=o;;){if(n=te(n.times(i),o,1),e=e.times(++c),a=s.plus(pe(n,e,o,1)),Ue(a.d).slice(0,o)===Ue(s.d).slice(0,o)){for(r=f;r--;)s=te(s.times(s),o,1);if(u==null)if(l<3&&Br(s.d,o-t,d,l))m.precision=o+=10,e=n=a=new m(1),c=0,l++;else return te(s,m.precision=C,d,le=!0);else return m.precision=C,s}s=a}}function Ut(i,u){var e,t,r,n,s,a,o,l,c,f,m,d=1,C=10,_=i,E=_.d,R=_.constructor,y=R.rounding,N=R.precision;if(_.s<0||!E||!E[0]||!_.e&&E[0]==1&&E.length==1)return new R(E&&!E[0]?-1/0:_.s!=1?NaN:E?0:_);if(u==null?(le=!1,c=N):c=u,R.precision=c+=C,e=Ue(E),t=e.charAt(0),Math.abs(n=_.e)<15e14){for(;t<7&&t!=1||t==1&&e.charAt(1)>3;)_=_.times(i),e=Ue(_.d),t=e.charAt(0),d++;n=_.e,t>1?(_=new R("0."+e),n++):_=new R(t+"."+e.slice(1))}else return l=jn(R,c+2,N).times(n+""),_=Ut(new R(t+"."+e.slice(1)),c-C).plus(l),R.precision=N,u==null?te(_,N,y,le=!0):_;for(f=_,o=s=_=pe(_.minus(1),_.plus(1),c,1),m=te(_.times(_),c,1),r=3;;){if(s=te(s.times(m),c,1),l=o.plus(pe(s,new R(r),c,1)),Ue(l.d).slice(0,c)===Ue(o.d).slice(0,c))if(o=o.times(2),n!==0&&(o=o.plus(jn(R,c+2,N).times(n+""))),o=pe(o,new R(d),c,1),u==null)if(Br(o.d,c-C,y,a))R.precision=c+=C,l=s=_=pe(f.minus(1),f.plus(1),c,1),m=te(_.times(_),c,1),r=a=1;else return te(o,R.precision=N,y,le=!0);else return R.precision=N,o;o=l,r+=2}}function ao(i){return String(i.s*i.s/0)}function Tn(i,u){var e,t,r;for((e=u.indexOf("."))>-1&&(u=u.replace(".","")),(t=u.search(/e/i))>0?(e<0&&(e=t),e+=+u.slice(t+1),u=u.substring(0,t)):e<0&&(e=u.length),t=0;u.charCodeAt(t)===48;t++);for(r=u.length;u.charCodeAt(r-1)===48;--r);if(u=u.slice(t,r),u){if(r-=t,i.e=e=e-t-1,i.d=[],t=(e+1)%ie,e<0&&(t+=ie),t<r){for(t&&i.d.push(+u.slice(0,t)),r-=ie;t<r;)i.d.push(+u.slice(t,t+=ie));u=u.slice(t),t=ie-u.length}else t-=r;for(;t--;)u+="0";i.d.push(+u),le&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function ff(i,u){var e,t,r,n,s,a,o,l,c;if(u.indexOf("_")>-1){if(u=u.replace(/(\d)_(?=\d)/g,"$1"),eo.test(u))return Tn(i,u)}else if(u==="Infinity"||u==="NaN")return+u||(i.s=NaN),i.e=NaN,i.d=null,i;if(af.test(u))e=16,u=u.toLowerCase();else if(sf.test(u))e=2;else if(of.test(u))e=8;else throw Error(jt+u);for(n=u.search(/p/i),n>0?(o=+u.slice(n+1),u=u.substring(2,n)):u=u.slice(2),n=u.indexOf("."),s=n>=0,t=i.constructor,s&&(u=u.replace(".",""),a=u.length,n=a-n,r=ro(t,new t(e),n,n*2)),l=Ln(u,e,st),c=l.length-1,n=c;l[n]===0;--n)l.pop();return n<0?new t(i.s*0):(i.e=Pn(l,c),i.d=l,le=!1,s&&(i=pe(i,r,a*4)),o&&(i=i.times(Math.abs(o)<54?Pe(2,o):U.pow(2,o))),le=!0,i)}function mf(i,u){var e,t=u.d.length;if(t<3)return u.isZero()?u:_r(i,2,u,u);e=1.4*Math.sqrt(t),e=e>16?16:e|0,u=u.times(1/Un(5,e)),u=_r(i,2,u,u);for(var r,n=new i(5),s=new i(16),a=new i(20);e--;)r=u.times(u),u=u.times(n.plus(r.times(s.times(r).minus(a))));return u}function _r(i,u,e,t,r){var n,s,a,o,l=i.precision,c=Math.ceil(l/ie);for(le=!1,o=e.times(e),a=new i(t);;){if(s=pe(a.times(o),new i(u++*u++),l,1),a=r?t.plus(s):t.minus(s),t=pe(s.times(o),new i(u++*u++),l,1),s=a.plus(t),s.d[c]!==void 0){for(n=c;s.d[n]===a.d[n]&&n--;);if(n==-1)break}n=a,a=t,t=s,s=n}return le=!0,s.d.length=c+1,s}function Un(i,u){for(var e=i;--u;)e*=i;return e}function io(i,u){var e,t=u.s<0,r=mt(i,i.precision,1),n=r.times(.5);if(u=u.abs(),u.lte(n))return Ot=t?4:1,u;if(e=u.divToInt(r),e.isZero())Ot=t?3:2;else{if(u=u.minus(e.times(r)),u.lte(n))return Ot=no(e)?t?2:3:t?4:1,u;Ot=no(e)?t?1:4:t?3:2}return u.minus(r).abs()}function na(i,u,e,t){var r,n,s,a,o,l,c,f,m,d=i.constructor,C=e!==void 0;if(C?(ke(e,1,Pt),t===void 0?t=d.rounding:ke(t,0,8)):(e=d.precision,t=d.rounding),!i.isFinite())c=ao(i);else{for(c=ft(i),s=c.indexOf("."),C?(r=2,u==16?e=e*4-3:u==8&&(e=e*3-2)):r=u,s>=0&&(c=c.replace(".",""),m=new d(1),m.e=c.length-s,m.d=Ln(ft(m),10,r),m.e=m.d.length),f=Ln(c,10,r),n=o=f.length;f[--o]==0;)f.pop();if(!f[0])c=C?"0p+0":"0";else{if(s<0?n--:(i=new d(i),i.d=f,i.e=n,i=pe(i,m,e,t,0,r),f=i.d,n=i.e,l=Ki),s=f[e],a=r/2,l=l||f[e+1]!==void 0,l=t<4?(s!==void 0||l)&&(t===0||t===(i.s<0?3:2)):s>a||s===a&&(t===4||l||t===6&&f[e-1]&1||t===(i.s<0?8:7)),f.length=e,l)for(;++f[--e]>r-1;)f[e]=0,e||(++n,f.unshift(1));for(o=f.length;!f[o-1];--o);for(s=0,c="";s<o;s++)c+=Js.charAt(f[s]);if(C){if(o>1)if(u==16||u==8){for(s=u==16?4:3,--o;o%s;o++)c+="0";for(f=Ln(c,r,u),o=f.length;!f[o-1];--o);for(s=1,c="1.";s<o;s++)c+=Js.charAt(f[s])}else c=c.charAt(0)+"."+c.slice(1);c=c+(n<0?"p":"p+")+n}else if(n<0){for(;++n;)c="0"+c;c="0."+c}else if(++n>o)for(n-=o;n--;)c+="0";else n<o&&(c=c.slice(0,n)+"."+c.slice(n))}c=(u==16?"0x":u==2?"0b":u==8?"0o":"")+c}return i.s<0?"-"+c:c}function oo(i,u){if(i.length>u)return i.length=u,!0}function hf(i){return new this(i).abs()}function gf(i){return new this(i).acos()}function df(i){return new this(i).acosh()}function Cf(i,u){return new this(i).plus(u)}function _f(i){return new this(i).asin()}function Af(i){return new this(i).asinh()}function Ef(i){return new this(i).atan()}function Rf(i){return new this(i).atanh()}function yf(i,u){i=new this(i),u=new this(u);var e,t=this.precision,r=this.rounding,n=t+4;return!i.s||!u.s?e=new this(NaN):!i.d&&!u.d?(e=mt(this,n,1).times(u.s>0?.25:.75),e.s=i.s):!u.d||i.isZero()?(e=u.s<0?mt(this,t,r):new this(0),e.s=i.s):!i.d||u.isZero()?(e=mt(this,n,1).times(.5),e.s=i.s):u.s<0?(this.precision=n,this.rounding=1,e=this.atan(pe(i,u,n,1)),u=mt(this,n,1),this.precision=t,this.rounding=r,e=i.s<0?e.minus(u):e.plus(u)):e=this.atan(pe(i,u,n,1)),e}function bf(i){return new this(i).cbrt()}function Nf(i){return te(i=new this(i),i.e+1,2)}function pf(i,u,e){return new this(i).clamp(u,e)}function Vf(i){if(!i||typeof i!="object")throw Error(wn+"Object expected");var u,e,t,r=i.defaults===!0,n=["precision",1,Pt,"rounding",0,8,"toExpNeg",-Cr,0,"toExpPos",0,Cr,"maxE",0,Cr,"minE",-Cr,0,"modulo",0,9];for(u=0;u<n.length;u+=3)if(e=n[u],r&&(this[e]=ea[e]),(t=i[e])!==void 0)if(ve(t)===t&&t>=n[u+1]&&t<=n[u+2])this[e]=t;else throw Error(jt+e+": "+t);if(e="crypto",r&&(this[e]=ea[e]),(t=i[e])!==void 0)if(t===!0||t===!1||t===0||t===1)if(t)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(zi);else this[e]=!1;else throw Error(jt+e+": "+t);return this}function Of(i){return new this(i).cos()}function Sf(i){return new this(i).cosh()}function uo(i){var u,e,t;function r(n){var s,a,o,l=this;if(!(l instanceof r))return new r(n);if(l.constructor=r,lo(n)){l.s=n.s,le?!n.d||n.e>r.maxE?(l.e=NaN,l.d=null):n.e<r.minE?(l.e=0,l.d=[0]):(l.e=n.e,l.d=n.d.slice()):(l.e=n.e,l.d=n.d?n.d.slice():n.d);return}if(o=typeof n,o==="number"){if(n===0){l.s=1/n<0?-1:1,l.e=0,l.d=[0];return}if(n<0?(n=-n,l.s=-1):l.s=1,n===~~n&&n<1e7){for(s=0,a=n;a>=10;a/=10)s++;le?s>r.maxE?(l.e=NaN,l.d=null):s<r.minE?(l.e=0,l.d=[0]):(l.e=s,l.d=[n]):(l.e=s,l.d=[n]);return}if(n*0!==0){n||(l.s=NaN),l.e=NaN,l.d=null;return}return Tn(l,n.toString())}if(o==="string")return(a=n.charCodeAt(0))===45?(n=n.slice(1),l.s=-1):(a===43&&(n=n.slice(1)),l.s=1),eo.test(n)?Tn(l,n):ff(l,n);if(o==="bigint")return n<0?(n=-n,l.s=-1):l.s=1,Tn(l,n.toString());throw Error(jt+n)}if(r.prototype=k,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=Vf,r.clone=uo,r.isDecimal=lo,r.abs=hf,r.acos=gf,r.acosh=df,r.add=Cf,r.asin=_f,r.asinh=Af,r.atan=Ef,r.atanh=Rf,r.atan2=yf,r.cbrt=bf,r.ceil=Nf,r.clamp=pf,r.cos=Of,r.cosh=Sf,r.div=Mf,r.exp=Df,r.floor=wf,r.hypot=Lf,r.ln=Pf,r.log=jf,r.log10=Uf,r.log2=Tf,r.max=xf,r.min=vf,r.mod=If,r.mul=Ff,r.pow=Bf,r.random=kf,r.round=$f,r.sign=Yf,r.sin=Hf,r.sinh=Gf,r.sqrt=Wf,r.sub=Qf,r.sum=qf,r.tan=Xf,r.tanh=Kf,r.trunc=Zf,i===void 0&&(i={}),i&&i.defaults!==!0)for(t=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],u=0;u<t.length;)i.hasOwnProperty(e=t[u++])||(i[e]=this[e]);return r.config(i),r}function Mf(i,u){return new this(i).div(u)}function Df(i){return new this(i).exp()}function wf(i){return te(i=new this(i),i.e+1,3)}function Lf(){var i,u,e=new this(0);for(le=!1,i=0;i<arguments.length;)if(u=new this(arguments[i++]),u.d)e.d&&(e=e.plus(u.times(u)));else{if(u.s)return le=!0,new this(1/0);e=u}return le=!0,e.sqrt()}function lo(i){return i instanceof U||i&&i.toStringTag===Ji||!1}function Pf(i){return new this(i).ln()}function jf(i,u){return new this(i).log(u)}function Tf(i){return new this(i).log(2)}function Uf(i){return new this(i).log(10)}function xf(){return so(this,arguments,-1)}function vf(){return so(this,arguments,1)}function If(i,u){return new this(i).mod(u)}function Ff(i,u){return new this(i).mul(u)}function Bf(i,u){return new this(i).pow(u)}function kf(i){var u,e,t,r,n=0,s=new this(1),a=[];if(i===void 0?i=this.precision:ke(i,1,Pt),t=Math.ceil(i/ie),this.crypto)if(crypto.getRandomValues)for(u=crypto.getRandomValues(new Uint32Array(t));n<t;)r=u[n],r>=429e7?u[n]=crypto.getRandomValues(new Uint32Array(1))[0]:a[n++]=r%1e7;else if(crypto.randomBytes){for(u=crypto.randomBytes(t*=4);n<t;)r=u[n]+(u[n+1]<<8)+(u[n+2]<<16)+((u[n+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(u,n):(a.push(r%1e7),n+=4);n=t/4}else throw Error(zi);else for(;n<t;)a[n++]=Math.random()*1e7|0;for(t=a[--n],i%=ie,t&&i&&(r=Pe(10,ie-i),a[n]=(t/r|0)*r);a[n]===0;n--)a.pop();if(n<0)e=0,a=[0];else{for(e=-1;a[0]===0;e-=ie)a.shift();for(t=1,r=a[0];r>=10;r/=10)t++;t<ie&&(e-=ie-t)}return s.e=e,s.d=a,s}function $f(i){return te(i=new this(i),i.e+1,this.rounding)}function Yf(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function Hf(i){return new this(i).sin()}function Gf(i){return new this(i).sinh()}function Wf(i){return new this(i).sqrt()}function Qf(i,u){return new this(i).sub(u)}function qf(){var i=0,u=arguments,e=new this(u[i]);for(le=!1;e.s&&++i<u.length;)e=e.plus(u[i]);return le=!0,te(e,this.precision,this.rounding)}function Xf(i){return new this(i).tan()}function Kf(i){return new this(i).tanh()}function Zf(i){return te(i=new this(i),i.e+1,1)}k[Symbol.for("nodejs.util.inspect.custom")]=k.toString,k[Symbol.toStringTag]="Decimal";var U=k.constructor=uo(ea);Mn=new U(Mn),Dn=new U(Dn);function zf(i,u){const e=i+u;return Number.isSafeInteger(e)?e:new U(i).add(u).toNumber()}function Jf(i,u){const e=i-u;return Number.isSafeInteger(e)?e:new U(i).sub(u).toNumber()}function Ar(i,u){const e=i*u;return Number.isSafeInteger(e)?e:new U(i).mul(u).toNumber()}function em(i,u){const e=i/u;return Number.isSafeInteger(e)?e:new U(i).div(u).toNumber()}function xt(i,u){const e=10**Math.trunc(u),t=xn(i,e);return Math.round(Ar(i,e)+t)/e}function Qe(i,u){const e=10**Math.trunc(u),t=xn(i,e);return Math.floor(Ar(i,e)+t)/e}function $e(i,u){const e=10**Math.trunc(u),t=xn(i,e);return Math.ceil(Ar(i,e)-t)/e}function xn(i,u){return Number.EPSILON*Math.max(1,Math.abs(Ar(i,u)))}function co(i,u){return i-u*Math.floor(i/u)}function tm(i,u){return i**u}function rm(i){return Math.sqrt(i)}function fo(i,u){return i===u}function nm(i,u){return i>u}function sm(i,u){return i>=u}function am(i,u){return i<u}function im(i,u){return i<=u}function sa(i,u=15){return Math.floor(Math.abs(i)).toString().length>=u?i:Number.parseFloat(i.toPrecision(u))}function om(i,u,e=Number.EPSILON){return Math.abs(i-u)<e}function vn(i,u=12,e=1e-10){const t=sa(i,u);return om(i,t,e)?t:sa(i)}function um(i){return i-Math.trunc(i)}const ds=class ds extends bt{static create(){return this._instance=this._instance||new ds(0),this._instance}isNull(){return!0}plus(u){return b.create(0).plus(u)}minus(u){return b.create(0).minus(u)}multiply(u){return b.create(0).multiply(u)}divided(u){return b.create(0).divided(u)}mod(u){return b.create(0).mod(u)}compare(u,e){return u.isString()?x.create("").compare(u,e):u.isBoolean()?F.create(!1).compare(u,e):b.create(0).compare(u,e)}concatenateFront(u){return u.isArray()?u.concatenateBack(x.create("")):x.create(this.concatenate(u.getValue(),rt.FRONT))}concatenateBack(u){return u.isArray()?u.concatenateFront(x.create("")):x.create(this.concatenate(u.getValue(),rt.BACK))}plusBy(u){return b.create(0).plusBy(u)}minusBy(u){return b.create(0).minusBy(u)}multiplyBy(u){return b.create(0).multiplyBy(u)}dividedBy(u){return b.create(0).dividedBy(u)}compareBy(u,e){return typeof u=="string"?x.create("").compareBy(u,e):typeof u=="boolean"?F.create(!1).compareBy(u,e):b.create(0).compareBy(u,e)}pow(u){return b.create(0).pow(u)}sqrt(){return b.create(0).sqrt()}cbrt(){return b.create(0).cbrt()}cos(){return b.create(0).cos()}cosh(){return b.create(0).cosh()}acos(){return b.create(0).acos()}acosh(){return b.create(0).acosh()}sin(){return b.create(0).sin()}sinh(){return b.create(0).sinh()}asin(){return b.create(0).asin()}asinh(){return b.create(0).asinh()}tan(){return b.create(0).tan()}tanh(){return b.create(0).tanh()}atan(){return b.create(0).atan()}atan2(u){return b.create(0).atan2(u)}atanh(){return b.create(0).atanh()}log(){return g.create(h.NUM)}log10(){return g.create(h.NUM)}exp(){return b.create(0).exp()}abs(){return b.create(0).abs()}round(u){return b.create(0).round(u)}floor(u){return b.create(0).floor(u)}ceil(u){return b.create(0).ceil(u)}convertToNumberObjectValue(){return b.create(0)}convertToBooleanObjectValue(){return F.create(!1)}};A(ds,"_instance");let ce=ds;const or=class or extends bt{constructor(e){super(e);A(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new or(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new or(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),b.create(-t)}getReciprocal(){return this.getValue()?b.create(1):g.create(h.DIV_BY_ZERO)}plus(e){return this._convertToNumber().plus(e)}minus(e){return this._convertToNumber().minus(e)}multiply(e){return this._convertToNumber().multiply(e)}divided(e){return this._convertToNumber().divided(e)}mod(e){return this._convertToNumber().mod(e)}compare(e,t){return e.isArray()?e.compare(this,zs(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(e,t){let r=!1;if(typeof e=="string"||typeof e=="number")r=this._compareString(t);else if(typeof e=="boolean"){const n=b.create(e?1:0);return this._convertToNumber().compare(n,t)}return or.create(r)}_compareString(e){switch(e){case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!0;case H.EQUALS:case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.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),b.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}cosh(){return this._convertToNumber().cosh()}acos(){return this._convertToNumber().acos()}acosh(){return this._convertToNumber().acosh()}sin(){return this._convertToNumber().sin()}sinh(){return this._convertToNumber().sinh()}asin(){return this._convertToNumber().asin()}asinh(){return this._convertToNumber().asinh()}tan(){return this._convertToNumber().tan()}tanh(){return this._convertToNumber().tanh()}atan(){return this._convertToNumber().atan()}atan2(e){return this._convertToNumber().atan2(e)}atanh(){return this._convertToNumber().atanh()}log(){return this._convertToNumber().log()}log10(){return this._convertToNumber().log10()}exp(){return this._convertToNumber().exp()}abs(){return this._convertToNumber().abs()}round(e){return this._convertToNumber().round(e)}floor(e){return this._convertToNumber().floor(e)}ceil(e){return this._convertToNumber().ceil(e)}convertToNumberObjectValue(){return kr(this.getValue())}convertToBooleanObjectValue(){return this}};A(or,"_instanceTrue"),A(or,"_instanceFalse");let F=or;class b extends bt{constructor(e){super(e);A(this,"_value",0);this._value=Number(e)}static create(e,t=""){const r=new b(e);return t&&r.setPattern(t),r}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return b.create(0).minus(this)}getReciprocal(){return b.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());const r=this.plusBy(t.getValue());return r.isError(),r}equalZero(){return this._value===0}minus(e){if(e.isArray()){const n=e.getNegative();return n.isError()?n:n.plus(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());const r=this.minusBy(t.getValue());return r.isError(),r}multiply(e){if(e.isArray())return e.multiply(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());const r=this.multiplyBy(t.getValue());return r.isError(),r}divided(e){if(e.isArray()){const n=e.getReciprocal();return n.isError()?n:n.multiply(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());const r=this.dividedBy(t.getValue());return r.isError(),r}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),r=e.getValue();if(e.isNull())return g.create(h.DIV_BY_ZERO);if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(r===0)return g.create(h.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(t))return g.create(h.NUM);const n=co(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}if(typeof r=="boolean"){const n=r?1:0;return n===0?g.create(h.DIV_BY_ZERO):b.create(co(t,n))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):x.create(this.concatenate(e.getValue(),rt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):x.create(this.concatenate(e.getValue(),rt.BACK))}isDateFormat(){const e=this.getPattern();return S.numfmt.isDateFormat(e)}compare(e,t){if(e.isArray())return e.compare(this,zs(t));let r=!1;return e.isDateFormat()&&this.isDateFormat()&&(r=!0),this.compareBy(e.getValue(),t,r)}plusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=zf(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}minusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=Jf(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}multiplyBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=Ar(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}dividedBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(r===0)return g.create(h.DIV_BY_ZERO);const n=em(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}compareBy(e,t,r=!1){const n=this.getValue();let s=!1,a=n,o=e;return r&&(a=Math.round(n*1e8)/1e8,o=Math.round(e*1e8)/1e8),typeof o=="string"?s=this._compareString(t):typeof o=="number"?s=this._compareNumber(a,o,t):typeof o=="boolean"&&(s=this._compareBoolean(t)),F.create(s)}_compareString(e){switch(e){case H.EQUALS:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!1;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.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 H.EQUALS:return fo(e,t);case H.GREATER_THAN:return nm(e,t);case H.GREATER_THAN_OR_EQUAL:return sm(e,t);case H.LESS_THAN:return am(e,t);case H.LESS_THAN_OR_EQUAL:return im(e,t);case H.NOT_EQUAL:return!fo(e,t)}}_compareBoolean(e){switch(e){case H.EQUALS:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!1;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!0}}pow(e){if(e.isArray())return e.powInverse(this);if(this.isError())return this;const t=this.getValue();let r=e;if(e.isString()&&(r=e.convertToNumberObjectValue()),r.isError())return r;const n=+r.getValue();if(Number.isNaN(n))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(n))return g.create(h.NUM);if(t===0)return n<0?g.create(h.DIV_BY_ZERO):n===0?g.create(h.NUM):b.create(0);const s=tm(t,n);return Number.isFinite(s)?b.create(s):g.create(h.NUM)}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=rm(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cos(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}cosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cosh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acos(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acosh(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sin(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}sinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sinh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asin(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asinh(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tan(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tanh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atan(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(t===0&&r===0)return g.create(h.DIV_BY_ZERO);const n=Math.atan2(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create(Math.atan2(t,r?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atanh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log10(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.exp(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.abs(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-xt(Math.abs(t),r):xt(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create(xt(t,r?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-Qe(Math.abs(t),r):Qe(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create(Qe(t,r?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-$e(Math.abs(t),r):$e(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create($e(t,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return In(!0)}_compareInfinity(e,t,r){let n=!1;switch(r){case H.EQUALS:n=e===t;break;case H.GREATER_THAN:n=e>t;break;case H.GREATER_THAN_OR_EQUAL:n=e>=t;break;case H.LESS_THAN:n=e<t;break;case H.LESS_THAN_OR_EQUAL:n=e<=t;break;case H.NOT_EQUAL:n=e!==t;break}return n}}const lm=1e5,aa=new yt(lm);class x extends bt{constructor(e){super(e);A(this,"_value");A(this,"_isHyperlink",!1);A(this,"_hyperlinkUrl","");A(this,"_isImage",!1);A(this,"_imageInfo");this._value=e}static create(e,t){var s;const r=aa.get(e);if(r&&t&&this.checkCacheByOptions(r,t))return r;const n=new x(e);return t!=null&&t.isHyperlink&&(n._isHyperlink=t.isHyperlink,n._hyperlinkUrl=(s=t.hyperlinkUrl)!=null?s:""),t!=null&&t.isImage&&(n._isImage=t.isImage,n._imageInfo=t.imageInfo),aa.set(e,n),n}static checkCacheByOptions(e,t){return!(e.isHyperlink()!==t.isHyperlink||e.getHyperlinkUrl()!==t.hyperlinkUrl||e.isImage()!==t.isImage||!S.Tools.diffValue(e.getImageInfo(),t.imageInfo))}getValue(){return this._value}isString(){return!0}isHyperlink(){return this._isHyperlink}getHyperlinkUrl(){return this._hyperlinkUrl}isImage(){return this._isImage}getImageInfo(){return this._imageInfo}concatenateFront(e){return e.isArray()?e.concatenateBack(this):x.create(this.concatenate(e.getValue(),rt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):x.create(this.concatenate(e.getValue(),rt.BACK))}plus(e){return this.convertToNumberObjectValue().plus(e)}minus(e){return this.convertToNumberObjectValue().minus(e)}multiply(e){return this.convertToNumberObjectValue().multiply(e)}divided(e){return this.convertToNumberObjectValue().divided(e)}compare(e,t,r){return e.isArray()?e.compare(this,zs(t),r):this.compareBy(e.getValue(),t,r)}compareBy(e,t,r=!1){let n=this.getValue(),s=!1;if(typeof e=="string"){let a=e;if(r||(n=n.toLocaleLowerCase(),a=a.toLocaleLowerCase()),Qi(a))return this._checkWildcard(a,t);s=this._compareString(n,a,t)}else typeof e=="number"?s=this._compareNumber(t):typeof e=="boolean"&&(s=this._compareBoolean(t));return F.create(s)}_compareString(e,t,r){switch(r){case H.EQUALS:return e===t;case H.GREATER_THAN:return e>t;case H.GREATER_THAN_OR_EQUAL:return e>=t;case H.LESS_THAN:return e<t;case H.LESS_THAN_OR_EQUAL:return e<=t;case H.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case H.NOT_EQUAL:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!0;case H.EQUALS:case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case H.EQUALS:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!1;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!0}}convertToNumberObjectValue(){const e=this.getValue(),t=S.getNumfmtParseValueFilter(e);return t&&t.z?kr(t.v,t.z):kr(e)}convertToBooleanObjectValue(){return F.create(!0)}_checkWildcard(e,t){const r=this.getValue().toLocaleLowerCase(),n=qc(r,e,t);return F.create(n)}}function In(i){if(typeof i=="boolean")return F.create(i);let u=!1;if(typeof i=="string"){const e=i.toLocaleUpperCase();e===Mt.TRUE?u=!0:e===Mt.FALSE&&(u=!1)}else i===1?u=!0:u=!1;return F.create(u)}function cm(i){let u=i.toString();return u.charAt(0)==='"'&&u.charAt(u.length-1)==='"'&&(u=u.slice(1,-1),u=u.replace(/""/g,'"')),x.create(u)}function kr(i,u=""){if(typeof i=="boolean"){let e=0;return i&&(e=1),b.create(e,u)}else{if(typeof i=="number")return Number.isFinite(i)?b.create(i,u):g.create(h.NUM);if(S.isRealNum(i))return b.create(Number(i),u)}return g.create(h.VALUE)}function fm(i){return""}function mo(i=[],u=!1){const e=[];for(let t=0;t<i.length;t++){const r=i[t];e[t]==null&&(e[t]=[]);for(let n=0;n<r.length;n++){const s=r[n];e[t][n]=ht.create(s,u)}}return e}function mm(i=[]){const u=[];for(let e=0;e<i.length;e++){const t=i[e];u[e]==null&&(u[e]=[]);for(let r=0;r<t.length;r++){const n=t[r];n==null?u[e][r]=null:n.isError()?u[e][r]=n.getErrorType():u[e][r]=n.getValue()}}return u}class Z extends bt{constructor(e){super(typeof e=="string"?e:fm());A(this,"_values",[]);A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"_unitId","");A(this,"_sheetId","");A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_sliceCache",new Map);A(this,"_flattenCache");A(this,"_defaultValue",null);A(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new Z(e)}static createByArray(e){const r={calculateValueList:mo(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new Z(r)}dispose(){this._values=[],this._defaultValue=null,this._flattenPosition=null,this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}setDefaultValue(e){this._defaultValue=e}get(e,t){var r;return((r=this._values[e])==null?void 0:r[t])||this._defaultValue}getRealValue(e,t){const r=this._values[e];if(r==null)return null;const n=r[t];return n==null?null:n}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,r){if(e>=this._rowCount||t>=this._columnCount){console.error("Exceeding array bounds.");return}this._clearCache(),this._values[e][t]=r}getRangePosition(){const t=this.getRowCount(),r=0,n=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:r,endColumn:n-1}}iterator(e){var o;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let l=t;l<=r;l++)for(let c=n;c<=s;c++)if(e(((o=a[l])==null?void 0:o[c])||this._defaultValue,l,c)===!1)return}iteratorReverse(e){var o;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let l=r;l>=t;l--)for(let c=s;c>=n;c--)if(e(((o=a[l])==null?void 0:o[c])||this._defaultValue,l,c)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||ce.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||ce.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[[ce.create()]];const n=[];n[0]=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.get(s,a);if(!(o==null||o.isError())&&o.getValue()===!0){const l=this.get(s,a);n[0].push(l)}}return n}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let r=0;r<this._rowCount;r++)for(let n=0;n<this._columnCount;n++){const s=this.get(r,n);e[0].push(s)}const t=this._createNewArray(e,1,e[0].length);return t.setDefaultValue(this._defaultValue),this._flattenCache=t,t}flattenPosition(){if(this._flattenPosition!=null)return this._flattenPosition;const e=[],t=[],r=[],n=[];let s=0;for(let o=0;o<this._rowCount;o++)for(let l=0;l<this._columnCount;l++){const c=this.get(o,l);if(c==null||c.isError()||c.isNull()){s++;continue}c.isString()?(e.push(c),r.push(s++)):(t.push(c),n.push(s++))}const a={stringArray:e,numberArray:t,stringPosition:r,numberPosition:n};return this._flattenPosition=a,a}slice(e,t){let r=0,n=this._rowCount,s=1,a=0,o=this._columnCount,l=1;if(e!=null&&(r=e[0]||0,n=e[1]||this._rowCount,s=e[2]||1),t!=null&&(a=t[0]||0,o=t[1]||this._columnCount,l=t[2]||1),r>=this._rowCount||a>=this._columnCount)return;const c=`${r}_${n}_${s}_${a}_${o}_${l}`,f=this._sliceCache.get(c);if(f!=null)return f;const m=[],d=this._values;let C=0,_=0;for(let N=r;N<n;N+=s){_=0,m[C]==null&&(m[C]=[]);for(let p=a;p<o;p+=l){if(!d[N])return;let M=d[N][p]||this._defaultValue;M==null&&(M=ce.create()),m[C][_]=M,_++}C++}if(m.length===0||m[0].length===0)return;const E=s>1?-1:r+this._currentRow,R=l>1?-1:a+this._currentColumn,y=this._createNewArray(m,m.length,m[0].length,E,R);return y.setDefaultValue(this._defaultValue),this._sliceCache.set(c,y),y}sortByRow(e){const t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){const e=this._transposeArray(this._values),t=this._rowCount,r=this._columnCount,n=this._createNewArray(e,r,t);return n.setDefaultValue(this._defaultValue),n}orderSearch(e,t=Le.MIN,r=!1,n=!1){let s,a,o,l;const c=(f,m,d)=>{if(f==null||f.isNull())return!0;let C;if(n===!0?C=f.compare(e,H.EQUALS):C=f.isEqual(e),(C==null?void 0:C.getValue())===!0)return s=f,o={row:m,column:d},!1;t===Le.MAX?f.isGreaterThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,l={row:m,column:d}):t===Le.MIN&&f.isLessThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,l={row:m,column:d})};if(r?this.iteratorReverse((f,m,d)=>c(f,m,d)):this.iterator((f,m,d)=>c(f,m,d)),s!=null)return o;if(a!=null)return l}binarySearch(e,t=Wt.MIN,r=Le.MIN){if(e.isError())return;const{stringArray:n,stringPosition:s,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,n,s,t,r):this._binarySearch(e,a,o,t,r)}_binarySearch(e,t,r,n=Wt.MIN,s=Le.MIN){const a=Sn(),o=Number(e.getValue()),l=!Number.isNaN(o);let c=0,f=t.length-1,m=-1,d=-1,C=-1;for(;c<=f;){const _=Math.floor((c+f)/2),E=t[_];let R;if(E.isNull())R=n===Wt.MIN?1:-1;else{const y=E.getValue();if(l){const N=Number(y);R=Number.isNaN(N)?1:Math.sign(N-o)}else R=a(y.toString().toLocaleLowerCase(),e.getValue().toString().toLocaleLowerCase())}if(n===Wt.MAX&&(R=-R),R===0){m=_;break}R<0?(d=_,c=_+1):(C=_,f=_-1)}if(s===Le.NORMAL)return m!==-1?r[m]:void 0;if(s===Le.MIN)return m!==-1?r[m]:n===Wt.MIN?r[d]:r[C];if(s===Le.MAX)return m!==-1?r[m]:n===Wt.MIN?r[C]:r[d]}sum(){let e=b.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=b.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=b.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=b.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=b.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=b.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()==="")&&(e=e.plusBy(1))}),e}getNegative(){return Z.create("{0}").minus(this)}getReciprocal(){return Z.create("{1}").divided(this)}plus(e){return this._batchOperator(e,1)}minus(e){return this._batchOperator(e,0)}multiply(e){return this._batchOperator(e,2)}divided(e){return this._batchOperator(e,3)}mod(e){return this._batchOperator(e,4)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,r){return this._batchOperator(e,5,t,r)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(r,n,s)=>r==null?ce.create():r.isError()?r:e(r,n,s);return this.mapValue(t)}mapValue(e){var s;const t=this._rowCount,r=this._columnCount,n=[];for(let a=0;a<t;a++){const o=[];for(let l=0;l<r;l++){const c=(s=this._values)==null?void 0:s[a];if(c==null)o[l]=g.create(h.VALUE);else{const f=c[l]||this._defaultValue;f?o[l]=e(f,a,l):o[l]=ce.create()}}n.push(o)}return this._createNewArray(n,t,r)}pow(e){return this._batchOperator(e,8)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}cosh(){return this.map(e=>e.isError()?e:e.cosh())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}sinh(){return this.map(e=>e.isError()?e:e.sinh())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,12)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){const t=this.sum(),r=this.count();return t.divided(e===0?r:r.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),r=t.getColumnCount();if(r<=1)return t.get(0,0)||ce.create();if(t.sortByRow(0),r%2===0){const n=t.get(0,r/2)||ce.create(),s=t.get(0,r/2-1)||ce.create();return n.plus(s).divided(b.create(2))}return t.get(0,(r-1)/2)||ce.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 f=c.minus(t).pow(b.create(2));f.isError()||r[0].push(f)});const{_unitId:n,_sheetId:s,_currentRow:a,_currentColumn:o}=this;return Z.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:n,sheetId:s,row:a,column:o}).mean(e)}std(e=0){const t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,9)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,10)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,11)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return mm(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=Sn();return(r,n)=>{const s=r[e],a=n[e];return s==null?1:a==null?-1:s.isError()&&s.isError()?0:s.isError()?1:a.isError()?-1:t(s.getValue(),a.getValue())}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_batchOperator(e,t,r,n){const s=[];let a=this._rowCount,o=this._columnCount;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();if(a=Math.max(f,a),o=Math.max(m,o),f===1&&m===1){const d=e.getFirstCell();for(let C=0;C<o;C++)s.push(d)}else if(f===1&&this._columnCount>1){const d=e.getArrayValue();for(let C=0;C<o;C++)d[0]&&d[0][C]?s.push(d[0][C]):s.push(ce.create())}else return this._batchOperatorArray(e,t,r,n)}else for(let f=0;f<o;f++)s.push(e);const l=[];for(let f=0;f<o;f++){const m=s[f];this._batchOperatorValue(m,f,l,t,r,n)}const c=this._createNewArray(l,a,o);return c.setDefaultValue(F.create(!1)),c}_batchOperatorValue(e,t,r,n,s,a){const o=this._rowCount,l=this.getUnitId(),c=this.getSheetId(),f=this.getCurrentRow(),m=this.getCurrentColumn();if(n===5){const{rowsInCache:d,rowsNotInCache:C}=Ge.canUseCache(l,c,t+m,f,f+o-1);if(d.length>0){if(s===H.EQUALS&&!(e.isString()&&Qi(e.getValue()))){const _=Ge.getCellPositions(l,c,t+m,e.isNull()?null:e.getValue(),d);_!=null&&_.forEach(E=>{if(E<f||E>f+o-1)return;const R=E-f;r[R]==null&&(r[R]=[]),r[R][t]=F.create(!0)})}else{const _=Ge.getCellValuePositions(l,c,t+m);_!=null&&_.forEach((E,R)=>{let y=ce.create();wt.has(R)?y=g.create(R):typeof R=="string"?y=x.create(R):typeof R=="number"?y=b.create(R):typeof R=="boolean"&&(y=F.create(R));let N;y.isError()?N=y:e.isError()?N=e:N=y.compare(e,s,a),E.forEach(p=>{p>=f&&p<=f+o-1&&(r[p-f]==null&&(r[p-f]=[]),r[p-f][t]=N)})})}if(C.length>0)for(const _ of C){const[E,R]=_;for(let y=E;y<=R;y++)this.__batchOperatorRowValue(e,t,r,n,y-f,l,c,f,m,s,a);Ge.setContinueBuildingCache(l,c,t+m,E,R)}return}}for(let d=0;d<o;d++)this.__batchOperatorRowValue(e,t,r,n,d,l,c,f,m,s,a);Ge.setContinueBuildingCache(l,c,t+m,f,f+o-1)}__batchOperatorRowValue(e,t,r,n,s,a,o,l,c,f,m){const d=this.getValueOrDefault(s,t);if(r[s]==null&&(r[s]=[]),d&&e)if(d.isError())r[s][t]=d;else if(e.isError())r[s][t]=e;else switch(n){case 1:r[s][t]=d.plus(e);break;case 0:r[s][t]=d.minus(e);break;case 2:r[s][t]=d.multiply(e);break;case 3:r[s][t]=d.divided(e);break;case 4:r[s][t]=d.mod(e);break;case 5:f?r[s][t]=d.compare(e,f,m):r[s][t]=g.create(h.VALUE);break;case 6:r[s][t]=d.concatenateFront(e);break;case 7:r[s][t]=d.concatenateBack(e);break;case 8:r[s][t]=d.pow(e);break;case 9:r[s][t]=d.round(e);break;case 10:r[s][t]=d.floor(e);break;case 12:r[s][t]=d.atan2(e);break;case 11:r[s][t]=d.ceil(e);break}else r[s][t]=g.create(h.NA);!d||d!=null&&d.isNull()?Ge.set(a,o,t+c,Gs,s+l):Ge.set(a,o,t+c,d.getValue(),s+l)}_batchOperatorArray(e,t,r,n){let s=e.getRowCount(),a=e.getColumnCount();s<this._rowCount&&(s=this._rowCount),a<this._columnCount&&(a=this._columnCount);const o=[],l=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let f=0;f<s;f++){const m=[];for(let d=0;d<a;d++){let C;l===3?C=this.getValueOrDefault(0,0):l===1?C=this.getValueOrDefault(0,d):l===2?C=this.getValueOrDefault(f,0):C=this.getValueOrDefault(f,d);let _;if(c===3?_=e.getValueOrDefault(0,0):c===1?_=e.getValueOrDefault(0,d):c===2?_=e.getValueOrDefault(f,0):_=e.getValueOrDefault(f,d),C&&_)if(C.isError())m[d]=C;else if(_.isError())m[d]=_;else switch(t){case 1:m[d]=C.plus(_);break;case 0:m[d]=C.minus(_);break;case 2:m[d]=C.multiply(_);break;case 3:m[d]=C.divided(_);break;case 4:m[d]=C.mod(_);break;case 5:r?m[d]=C.compare(_,r,n):m[d]=g.create(h.VALUE);break;case 6:m[d]=C.concatenateFront(_);break;case 7:m[d]=C.concatenateBack(_);break;case 8:m[d]=C.pow(_);break;case 9:m[d]=C.round(_);break;case 12:m[d]=C.atan2(_);break;case 10:m[d]=C.floor(_);break;case 11:m[d]=C.ceil(_);break}else m[d]=g.create(h.NA)}o.push(m)}return this._createNewArray(o,s,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),r=t.length,n=[];let s=0;for(let a=0;a<r;a++){const l=t[a].split(","),c=l.length;s<c&&(s=c);const f=[];for(let m=0;m<c;m++){const d=l[m].trim();f.push(ht.create(d))}n.push(f)}return this._rowCount=r,this._columnCount=s,n}_createNewArray(e,t,r,n=-1,s=-1){(this._currentColumn===-1||this._currentRow===-1)&&(n=-1,s=-1);const a={calculateValueList:e,rowCount:t,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:n,column:s};return Z.create(a)}}class ht{static create(u,e=!1){if(u==null)return ce.create();if(typeof u=="boolean")return F.create(u);if(typeof u=="string"){const t=u.toLocaleUpperCase().trim();if(wt.has(t))return g.create(t);if(t===Mt.TRUE||t===Mt.FALSE)return In(u);if(S.isRealNum(u)&&Number(u).toString()===u.trim())return b.create(Number(u));if(!e){const{isNumberPattern:n,value:s,pattern:a}=tf(u);if(n)return b.create(s,a)}const r=u.replace(/\n/g,"").replace(/\r/g,"");return!hm(r)&&_c(r)?Z.create(r):cm(u)}return typeof u=="number"?kr(u):g.create(h.VALUE)}}function hm(i){const u=i.trim();return u.startsWith('"')&&u.endsWith('"')}const gm=1e4,Er=new yt(gm);class Qt extends tn{constructor(e){super();A(this,"_forcedSheetId","");A(this,"_forcedSheetName","");A(this,"_defaultSheetId","");A(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});A(this,"_unitData",{});A(this,"_unitStylesData",{});A(this,"_filteredOutRows",[]);A(this,"_defaultUnitId","");A(this,"_forcedUnitId","");A(this,"_runtimeData",{});A(this,"_arrayFormulaCellData",{});A(this,"_arrayFormulaRange",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeArrayFormulaRange",{});A(this,"_runtimeFeatureCellData",{});A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);A(this,"_currentRow");A(this,"_currentColumn");this._token=e}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){const{startRow:e,endRow:t,startColumn:r,endColumn:n}=this.getRangePosition();return e<0||r<0||t>=this.getActiveSheetRowCount()||n>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){const{x:e,y:t}=this.getRefOffset(),r=S.moveRangeByOffset(this.getRangeData(),e,t);return Number.isNaN(r.startRow)&&(r.startRow=0),Number.isNaN(r.startColumn)&&(r.startColumn=0),Number.isNaN(r.endRow)&&(r.endRow=this.getActiveSheetRowCount()-1),Number.isNaN(r.endColumn)&&(r.endColumn=this.getActiveSheetColumnCount()-1),r}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(g.create(h.VALUE),t,n);const a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId;for(let l=t;l<=r;l++)for(let c=n;c<=s;c++){if(l<0||c<0)return e(g.create(h.REF),l,c);const f=this.getCellData(l,c);let m=!1;if(On(f)){m=e(null,l,c);continue}let d=this.getCellValueObject(f);if(l===t&&c===n){const C=this.getCellPattern(a,o,l,c);if(C&&d.isNumber()){const _=Number(d.getValue());d=b.create(_,C)}}if(m=e(d,l,c),m===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return g.create(h.VALUE);const{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return b.create(0);let n=this.getCellValueObject(r);const s=this._forcedUnitId||this._defaultUnitId,a=this._forcedSheetId||this._defaultSheetId,o=this.getCellPattern(s,a,e,t);if(o&&n.isNumber()){const l=Number(n.getValue());n=b.create(l,o)}return n}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getUnitStylesData(){return this._unitStylesData}setUnitStylesData(e){this._unitStylesData=e}getFilteredOutRows(){return this._filteredOutRows}setFilteredOutRows(e){this._filteredOutRows=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeArrayFormulaRange(){return this._runtimeArrayFormulaRange}setRuntimeArrayFormulaRange(e){this._runtimeArrayFormulaRange=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(){const e=this.getRangeData();return e.endRow-e.startRow+1}getColumnCount(){const e=this.getRangeData();return e.endColumn-e.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}isCurrentRowForRange(){return!1}isCurrentColumnForRange(){return!1}isMultiArea(){return!1}unionBy(e){return g.create(h.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=Wc(e);if(wt.has(t))return g.create(t);if(e.t===S.CellValueType.NUMBER){const r=this._getPatternByCell(e);return S.isTextFormat(r)?x.create(t.toString()):kr(t,r)}return e.t===S.CellValueType.STRING||e.t===S.CellValueType.FORCE_STRING?x.create(t.toString()):e.t===S.CellValueType.BOOLEAN?In(t):ht.create(t)}_getPatternByCell(e){var n;const t=this._unitStylesData[this.getUnitId()];if(!t)return"";const r=t.getStyleByCell(e);return((n=r==null?void 0:r.n)==null?void 0:n.pattern)||""}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){var e;return(e=this._unitData[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentStylesData(){return this._unitStylesData[this.getUnitId()]}getCurrentRuntimeSheetData(){var e,t;return(t=(e=this._runtimeData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e,t;return(t=(e=this._arrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e,t;return(t=(e=this._runtimeArrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaRange(){var e,t;return(t=(e=this._arrayFormulaRange)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaRange(){var e,t;return(t=(e=this._runtimeArrayFormulaRange)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCellData(e,t){const r=this.getCurrentActiveSheetData(),n=this.getCurrentRuntimeSheetData(),s=this.getCurrentActiveArrayFormulaCellData(),a=this.getCurrentRuntimeActiveArrayFormulaCellData(),o=new S.ObjectMatrix(this.getCurrentActiveArrayFormulaRange()),l=new S.ObjectMatrix(this.getCurrentRuntimeActiveArrayFormulaRange());let c=(n==null?void 0:n.getValue(e,t))||(a==null?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t);if(c)return c;if(c=s==null?void 0:s.getValue(e,t),c){let f=!1;return o.forValue((m,d,C)=>{if(e>=C.startRow&&e<=C.endRow&&t>=C.startColumn&&t<=C.endColumn&&l.getValue(m,d))return f=!0,!1}),f?null:c}return r==null?void 0:r.cellData.getValue(e,t)}getRuntimeFeatureCellValue(e,t){return Wi(e,t,this.getSheetId(),this.getUnitId(),this._runtimeFeatureCellData)}getCellByPosition(e,t){let r=e,n=t;const s=this.getRangeData();r||(r=s.startRow),n||(n=s.startColumn);const a=this.getCellData(r,n);return a?this.getCellValueObject(a):g.create(h.VALUE)}setCurrentRowAndColumn(e,t){this._currentRow=e,this._currentColumn=t}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getCellPattern(e,t,r,n){var l,c,f,m;const s=this._unitStylesData[e];if(!s)return"";const a=(f=(c=(l=this._unitData[e])==null?void 0:l[t])==null?void 0:c.cellData)==null?void 0:f.getValue(r,n);if(!a)return"";const o=s.getStyleByCell(a);return((m=o==null?void 0:o.n)==null?void 0:m.pattern)||""}toArrayValueObject(e=!0){var C;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=`${this.getUnitId()}_${this.getSheetId()}_${t}_${r}_${n}_${s}`,o=Er.get(a);if(o&&e)return o;const l=r-t+1,c=s-n+1;if(l<0||c<0)return this._getBlankArrayValueObject();const f=new Array(l);this.iterator((_,E,R)=>{const y=E-t,N=R-n;f[y]||(f[y]=new Array(c)),_==null&&(_=ce.create()),f[y][N]=_});const m={calculateValueList:f,rowCount:f.length,columnCount:((C=f[0])==null?void 0:C.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:n},d=Z.create(m);return e&&Er.set(a,d),d}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(this._forcedSheetId==null||this._forcedSheetId.length===0)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){const e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return Z.create(e)}}class ho extends tn{constructor(u){super(),this._promise=u}isAsyncObject(){return!0}async getValue(){return this._promise}}class go extends tn{constructor(u){super(),this._promiseList=u}isAsyncArrayObject(){return!0}async getValue(){var t;const u=[];for(let r=0;r<this._promiseList.length;r++){const n=this._promiseList[r];u[r]==null&&(u[r]=[]);for(let s=0;s<n.length;s++){const a=n[s];a.isAsyncObject()?u[r][s]=await a.getValue():u[r][s]=a}}const e={calculateValueList:u,rowCount:u.length,columnCount:((t=u[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return Z.create(e)}}class $r extends Qt{constructor(u,e,t){super(""),this.setRangeData(u),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}class ia extends Qt{constructor(u){super(u);const e=Ht(u);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(u){if(!u.isCell())return g.create(h.REF);const e=u,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(u,e){const t=u.startRow,r=u.startColumn,n=e.startRow,s=e.startColumn,a={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>n?(a.startRow=n,a.endRow=t):(a.startRow=t,a.endRow=n),r>s?(a.startColumn=s,a.endColumn=r):(a.startColumn=r,a.endColumn=s),u.startAbsoluteRefType&&(a.startAbsoluteRefType=u.startAbsoluteRefType),e.startAbsoluteRefType&&(a.endAbsoluteRefType=e.startAbsoluteRefType),a}_createRange(u){const e=new $r(u,this.getForcedSheetId(),this.getForcedUnitId());e.setUnitData(this.getUnitData()),e.setDefaultSheetId(this.getDefaultSheetId()),e.setDefaultUnitId(this.getDefaultUnitId()),e.setRuntimeData(this.getRuntimeData()),e.setUnitStylesData(this.getUnitStylesData()),e.setArrayFormulaCellData(this.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());const{x:t,y:r}=this.getRefOffset();e.setRefOffset(t,r);const n=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),n!=null&&e.setForcedSheetIdDirect(n);const s=this.getForcedUnitId();return s&&e.setForcedUnitIdDirect(s),e}}class oa extends Qt{constructor(u){super(u);const e=Ht(u);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:e.range.endColumn,endRow:Number.NaN,rangeType:S.RANGE_TYPE.COLUMN};this.setRangeData(t)}isColumn(){return!0}unionBy(u){if(!u.isColumn())return g.create(h.REF);const e=u;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startColumn;if(n>=t.startColumn&&n<=t.endColumn)return this;const s=t.startColumn;return n>s?t.endColumn=n:(t.startColumn=n,t.endColumn=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=S.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}class ua extends Qt{constructor(u){super(u);const e=Ht(u);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:e.range.endRow,rangeType:S.RANGE_TYPE.ROW};this.setRangeData(t)}isRow(){return!0}unionBy(u){if(!u.isRow())return g.create(h.REF);const e=u;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startRow;if(n>=t.startRow&&n<=t.endRow)return this;const s=t.startRow;return n>s?t.endRow=n:(t.startRow=n,t.endRow=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=S.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}function O(i,u,e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<i;a++){const o=[];for(let l=0;l<u;l++){if(r===1&&n===1){const f=e.isArray()?e.get(0,0):e;o.push(f);continue}if(r===1&&l<n){const f=e.get(0,l);o.push(f);continue}if(n===1&&a<r){const f=e.get(a,0);o.push(f);continue}if(a>=r||l>=n){o.push(t!=null?t:ce.create());continue}const c=e.get(a,l);o.push(c)}s.push(o)}return at(s,i,u)}function at(i,u,e,t="",r=""){const n={calculateValueList:i,rowCount:u,columnCount:e,unitId:t,sheetId:r,row:-1,column:-1};return Z.create(n)}function la(i){const u=[H.EQUALS,H.NOT_EQUAL,H.GREATER_THAN_OR_EQUAL,H.GREATER_THAN,H.LESS_THAN_OR_EQUAL,H.LESS_THAN];for(const e of u)if(i.startsWith(e)){const t=i.substring(e.length);return[e,ht.create(t)]}return[H.EQUALS,ht.create(i)]}function Fn(i,u,e,t){if(!e)if(u.isString()){const r=`${u.getValue()}`,[n,s]=la(r);e=n,u=s}else e=H.EQUALS;return i.compare(u,e,t)}function dm(i,u){const e=i.getRowCount(),t=i.getColumnCount(),r=u.getRowCount(),n=u.getColumnCount();let s=i,a=u;if(e!==r||t!==n){const o=Math.max(e,r),l=Math.max(t,n);s=O(o,l,i),a=O(o,l,u)}return s.mapValue((o,l,c)=>{const f=a.get(l,c);return o!=null&&o.isError()?o:f!=null&&f.isError()?f:o!=null&&o.isBoolean()&&(f!=null&&f.isBoolean())?In(o.getValue()&&f.getValue()):F.create(!1)})}function Cm(i){const u=i.getValue();let e=0;return u&&(e=1),b.create(e)}function Co(i){return i.isArray()&&i.getRowCount()===1&&i.getColumnCount()===1?!0:i.isReferenceObject()?!!(i.isCell()||i.getRowCount()===1&&i.getColumnCount()===1):(i=i,!!(i.isString()||i.isNumber()||i.isBoolean()||i.isError()||i.isNull()))}function _m(i){const u=i==null?void 0:i.getPattern();let e={},t={};if(u&&(e={s:{n:{pattern:u}}}),i!=null&&i.getCustomData()&&(t={custom:i.getCustomData()}),i==null)return{v:null,...e};if(i.isError())return{v:i.getErrorType(),t:S.CellValueType.STRING,...e,...t};if(i.isValueObject()){const r=i,n=r.getValue();return r.isNumber()?{v:n,t:S.CellValueType.NUMBER,...e,...t}:r.isBoolean()?{v:n?1:0,t:S.CellValueType.BOOLEAN,...e,...t}:r.isString()?{v:n,t:S.CellValueType.STRING,...e,...t}:r.isNull()?{v:null,...e,...t}:{v:n,t:S.CellValueType.STRING,...e,...t}}}function Am(i){let u=0,e=0;return i.forEach((t,r)=>{if(r%2===1)if(t.isArray()){const n=t;u=Math.max(u,n.getRowCount()),e=Math.max(e,n.getColumnCount())}else u=Math.max(u,1),e=Math.max(e,1)}),{maxRowLength:u,maxColumnLength:e}}function Yr(i,u){if(i.length===0||i.length%2!==0)return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let e=null,t=-1,r=-1;if(u){if(!u.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};e=u.toArrayValueObject(),t=e.getRowCount(),r=e.getColumnCount()}let n=0,s=0,a=!1;const o=[];for(let l=0;l<i.length;l++)if(l%2===1){const c=i[l-1],f=i[l];if(!c.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};const m=c.toArrayValueObject(),d=m.getRowCount(),C=m.getColumnCount();l===1&&t===-1&&r===-1?(t=d,r=C):!a&&(t!==d||r!==C)&&(a=!0);let _=f;f.isReferenceObject()&&(_=f.toArrayValueObject()),n=Math.max(n,_.isArray()?_.getRowCount():1),s=Math.max(s,_.isArray()?_.getColumnCount():1),o.push(m),o.push(_)}return{isError:!1,errorObject:null,rangeIsDifferentSize:a,criteriaMaxRowLength:n,criteriaMaxColumnLength:s,targetRange:e,variants:o}}function ca(i){return i.isArray()?i:Z.createByArray([[i.getValue()]])}function Hr(i,u){const{formulaName:e,maxRowLength:t,maxColumnLength:r,isNumberSensitive:n=!1,targetRange:s}=u,a=[];for(let l=0;l<i.length;l++){if(l%2===1)continue;const c=i[l],f=i[l+1],m=O(t,r,f,g.create(h.NA));a.push({range:c,criteriaArray:m})}if(a.length===0)return[];const o=[];return a[0].criteriaArray.iterator((l,c,f)=>{let m;for(let C=0;C<a.length;C++){const{range:_,criteriaArray:E}=a[C],R=E.get(c,f);if(!R)continue;let y=Fn(_,R);if(n&&(y=Bn(y,_,R)),m===void 0){m=y;continue}m=dm(m,y)}let d;if(e==="COUNTIFS"){let C=0;m.iterator(_=>{_!=null&&_.isBoolean()&&_.getValue()===!0&&C++}),d=b.create(C)}else if(e==="SUMIFS")d=s.pick(m).sum();else if(e==="AVERAGEIFS"){const C=s.pick(m),_=C.sum(),E=C.count();d=_.divided(E)}else if(e==="MAXIFS"){const C=s.pick(m);C.getColumnCount()===0?d=Z.create("0"):d=C.max()}else if(e==="MINIFS"){const C=s.pick(m);C.getColumnCount()===0?d=Z.create("0"):d=C.min()}o[c]||(o[c]=[]),o[c][f]=d}),o}function Bn(i,u,e){const[t,r]=la(`${e.getValue()}`);return i.mapValue((n,s,a)=>{const o=u.get(s,a);if(o&&Em(o,r))return n;if(o!=null&&o.isError()&&r.isError()&&o.getValue()===r.getValue())return F.create(!0);if(t===H.EQUALS||t===H.NOT_EQUAL){if(o!=null&&o.isNumber()&&r.isString()){const l=r.convertToNumberObjectValue();if(l.isNumber())return o.compare(l,t)}if(r.isNumber()&&(o!=null&&o.isString())){const l=o.convertToNumberObjectValue();if(l.isNumber())return l.compare(r,t)}if(t===H.EQUALS)return F.create(!1);if(t===H.NOT_EQUAL)return F.create(!0)}return F.create(!1)})}function Em(i,u){if(i.isNumber()&&u.isNumber()||i.isBoolean()&&u.isBoolean())return!0;const e=i.isString()&&i.getValue()==="",t=u.isString()&&u.getValue()==="";return!!((e||i.isNull())&&(t||u.isNull())||i.isString()&&!e&&u.isString()&&!t)}var Gr=(i=>(i[i.CELL=0]="CELL",i[i.COLUMN=1]="COLUMN",i[i.ROW=2]="ROW",i))(Gr||{});function Rm(i,u){let e;switch(u){case 1:e=new oa(i);break;case 2:e=new ua(i);break;default:e=new ia(i);break}return e}function ym(i,u){let e;return i.isCell()&&u.isCell()||i.isRow()&&u.isRow()||i.isColumn()&&u.isColumn()?e=i.unionBy(u):e=g.create(h.NAME),e}var bm=Object.getOwnPropertyDescriptor,Nm=(i,u,e,t)=>{for(var r=t>1?void 0:t?bm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},pm=(i,u)=>(e,t)=>u(e,t,i);w.HyperlinkEngineFormulaService=class extends S.Disposable{constructor(u){super(),this._univerInstanceService=u}generateCellValue(u,e){if(e.trim()==="")return{v:""};let t=u;if(u.startsWith("#")&&bs(u.slice(1))){const{unitId:r,sheetName:n,range:s}=hr(u.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(S.UniverInstanceType.UNIVER_SHEET);if(r===""||r===a.getUnitId())if(n==="")t=`#gid=${a.getActiveSheet().getSheetId()}&range=${pt(s)}`;else{const o=a.getSheetBySheetName(n);o&&(t=`#gid=${o.getSheetId()}&range=${pt(s)}`)}}else S.Tools.isLegalUrl(u)&&(t=S.Tools.normalizeUrl(u));return{p:S.RichTextBuilder.create().insertLink(e,t).getData()}}},w.HyperlinkEngineFormulaService=Nm([pm(0,S.IUniverInstanceService)],w.HyperlinkEngineFormulaService);const fa=S.createIdentifier("univer.formula.hyperlink-engine-formula.service");var Vm=Object.getOwnPropertyDescriptor,Om=(i,u,e,t)=>{for(var r=t>1?void 0:t?Vm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},_o=(i,u)=>(e,t)=>u(e,t,i),qe=(i=>(i[i.IDLE=0]="IDLE",i[i.START=1]="START",i[i.START_DEPENDENCY=2]="START_DEPENDENCY",i[i.START_CALCULATION=3]="START_CALCULATION",i[i.CURRENTLY_CALCULATING=4]="CURRENTLY_CALCULATING",i[i.START_DEPENDENCY_ARRAY_FORMULA=5]="START_DEPENDENCY_ARRAY_FORMULA",i[i.START_CALCULATION_ARRAY_FORMULA=6]="START_CALCULATION_ARRAY_FORMULA",i[i.CURRENTLY_CALCULATING_ARRAY_FORMULA=7]="CURRENTLY_CALCULATING_ARRAY_FORMULA",i[i.CALCULATION_COMPLETED=8]="CALCULATION_COMPLETED",i))(qe||{}),Rr=(i=>(i[i.INITIAL=0]="INITIAL",i[i.STOP_EXECUTION=1]="STOP_EXECUTION",i[i.NOT_EXECUTED=2]="NOT_EXECUTED",i[i.SUCCESS=3]="SUCCESS",i))(Rr||{});w.FormulaRuntimeService=class extends S.Disposable{constructor(e,t){super();A(this,"_formulaExecuteStage",0);A(this,"_stopState",!1);A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_currentRowCount",Number.NEGATIVE_INFINITY);A(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);A(this,"_currentSubUnitId","");A(this,"_currentUnitId","");A(this,"_runtimeData",{});A(this,"_runtimeOtherData",{});A(this,"_unitArrayFormulaRange",{});A(this,"_unitArrayFormulaEmbeddedMap",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeClearArrayFormulaCellData",{});A(this,"_runtimeFeatureRange",{});A(this,"_runtimeFeatureCellData",{});A(this,"_runtimeImageFormulaData",[]);A(this,"_functionsExecutedState",0);A(this,"_functionDefinitionPrivacyVar",new Map);A(this,"_totalFormulasToCalculate",0);A(this,"_completedFormulasCount",0);A(this,"_totalArrayFormulasToCalculate",0);A(this,"_completedArrayFormulasCount",0);A(this,"_formulaCycleIndex",0);A(this,"_isCycleDependency",!1);A(this,"_dependencyTreeModelData",[]);this._currentConfigService=e,this._hyperlinkEngineFormulaService=t}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){super.dispose(),this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={},this.clearReferenceAndNumberformatCache()}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}markedAsSuccessfullyExecuted(){this._functionsExecutedState=3}markedAsNoFunctionsExecuted(){this._functionsExecutedState=2}markedAsStopFunctionsExecuted(){this._functionsExecutedState=1}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=0}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(0)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=0,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._unitArrayFormulaEmbeddedMap={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._runtimeImageFormulaData=[],this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._stopState=!1,this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0,this.clearReferenceAndNumberformatCache()}clearReferenceAndNumberformatCache(){zc(),nf(),Uc()}setCurrent(e,t,r,n,s,a){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=n,this._currentSubUnitId=s,this._currentUnitId=a}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t,r,n){const s=this._currentSubUnitId,a=this._currentUnitId;this._runtimeOtherData[a]===void 0&&(this._runtimeOtherData[a]={});const o=this._runtimeOtherData[a];(o[s]===void 0||o[s]===null)&&(o[s]={});const l=o[s];let c=[];if(n.isReferenceObject()||n.isValueObject()&&n.isArray()){const f=n,{startRow:m,startColumn:d}=f.getRangePosition();f.iterator((C,_,E)=>{const R=this._getValueObjectOfRuntimeData(C),y=_-m,N=E-d;c[y]==null&&(c[y]=[]),c[y][N]=R})}else c=[[this._getValueObjectOfRuntimeData(n)]];(l[e]===void 0||l[e]===null)&&(l[e]={}),(l[e][r]===void 0||l[e][r]===null)&&(l[e][r]={}),l[e][r][t]=c}setRuntimeData(e){const t=this._currentRow,r=this._currentColumn,n=this._currentRowCount,s=this.currentColumnCount,a=this._currentSubUnitId,o=this._currentUnitId;this._runtimeData[o]==null&&(this._runtimeData[o]={});const l=this._runtimeData[o];l[a]==null&&(l[a]=new S.ObjectMatrix);const c=l[a];this._unitArrayFormulaRange[o]==null&&(this._unitArrayFormulaRange[o]={});const f=this._unitArrayFormulaRange[o];(f[a]===null||f[a]===void 0)&&(f[a]={});const m=new S.ObjectMatrix(f[a]);this._runtimeArrayFormulaCellData[o]===void 0&&(this._runtimeArrayFormulaCellData[o]={});const d=this._runtimeArrayFormulaCellData[o];d[a]==null&&(d[a]=new S.ObjectMatrix);const C=d[a];this._runtimeClearArrayFormulaCellData[o]===void 0&&(this._runtimeClearArrayFormulaCellData[o]={});const _=this._runtimeClearArrayFormulaCellData[o];_[a]==null&&(_[a]=new S.ObjectMatrix);const E=_[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const R=e,{startRow:y,startColumn:N,endRow:p,endColumn:M}=R.getRangePosition();if(y===p&&N===M){const L=R.getFirstCell(),P=this._getValueObjectOfRuntimeData(L);c.setValue(t,r,P),E.setValue(t,r,P),Ge.set(o,a,r,L.getValue(),t,!0);return}const D={startRow:t,startColumn:r,endRow:p-y+t,endColumn:M-N+r};if(m.setValue(t,r,D),this._checkIfArrayFormulaRangeHasData(o,a,t,r,D)||this._checkIfArrayFormulaExceeded(n,s,D)){const L=this._getValueObjectOfRuntimeData(g.create(h.SPILL));c.setValue(t,r,L),E.setValue(t,r,L),Ge.set(o,a,r,h.SPILL,t,!0);const P=this._currentConfigService.getUnitData();R.iterator((j,I,v)=>{var ee,W;const Y=I-y+t,Q=v-N+r,ne=(W=(ee=P[o])==null?void 0:ee[a])==null?void 0:W.cellData.getValue(Y,Q);if(I===y&&v===N)C.setValue(t,r,L);else if(ne!=null)ne.v==null&&(ne.v=""),C.setValue(Y,Q,ne);else{if(this._isInOtherArrayFormulaRange(o,a,t,r,Y,Q))return!0;C.setValue(Y,Q,{v:""})}})}else{const L=g.create(h.SPILL);R.iterator((P,j,I)=>{Ge.set(o,a,r-N+I,P?P.getValue():0,t-y+j,!0);const v=this._getValueObjectOfRuntimeData(P);if(j===y&&I===N){if(P!=null&&P.isError()&&P.isEqualType(L))return E.setValue(t,r,{}),c.setValue(t,r,{...this._getValueObjectOfRuntimeData(L)}),!1;c.setValue(t,r,{...v})}const Y=j-y+t,Q=I-N+r;C.setValue(Y,Q,v)})}}else{const R=this._getValueObjectOfRuntimeData(e);if(c.setValue(t,r,R),e.isString()&&e.isImage()){const y=e.getImageInfo();y&&this._runtimeImageFormulaData.push({...y,unitId:o,sheetId:a,row:t,column:r})}Ge.set(o,a,r,e.getValue(),t,!0),E.setValue(t,r,R)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):_m(e)}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getUnitArrayFormulaEmbeddedMap(){return this._unitArrayFormulaEmbeddedMap}setUnitArrayFormulaEmbeddedMap(){const e=this._currentUnitId,t=this._currentSubUnitId,r=this._currentRow,n=this._currentColumn,s=this._unitArrayFormulaEmbeddedMap;s[e]==null&&(s[e]={}),s[e][t]==null&&(s[e][t]={}),s[e][t][r]==null&&(s[e][t][r]={}),s[e][t][r][n]=!0}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}setDependencyTreeModelData(e){this._dependencyTreeModelData=e}getDependencyTreeModelData(){return this._dependencyTreeModelData}getRuntimeImageFormulaData(){return this._runtimeImageFormulaData}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),arrayFormulaEmbedded:this.getUnitArrayFormulaEmbeddedMap(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),imageFormulaData:this.getRuntimeImageFormulaData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData(),dependencyTreeModelData:this.getDependencyTreeModelData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage(),formulaCycleIndex:this.getFormulaCycleIndex()}}clearArrayObjectCache(){Er.clear()}_checkIfArrayFormulaRangeHasData(e,t,r,n,s){var d,C,_,E,R,y,N,p,M,D,L;const{startRow:a,startColumn:o,endRow:l,endColumn:c}=s,f=this._currentConfigService.getUnitData(),m=this._currentConfigService.getArrayFormulaCellData();(_=(C=(d=this._unitArrayFormulaRange[e])==null?void 0:d[t])==null?void 0:C[r])==null||_[n];for(let P=a;P<=l;P++)for(let j=o;j<=c;j++){if(P===r&&n===j)continue;const I=(y=(R=(E=this._runtimeData)==null?void 0:E[e])==null?void 0:R[t])==null?void 0:y.getValue(P,j);(p=(N=m==null?void 0:m[e])==null?void 0:N[t])==null||p.getValue(P,j);const v=(L=(D=(M=f==null?void 0:f[e])==null?void 0:M[t])==null?void 0:D.cellData)==null?void 0:L.getValue(P,j),Y=this._getRuntimeFeatureCellValue(P,j,t,e);if(!On(I)||this._isInOtherArrayFormulaRange(e,t,r,n,P,j)||!On(v)||!On(Y))return!0}return!1}_getRuntimeFeatureCellValue(e,t,r,n){return Wi(e,t,r,n,this._runtimeFeatureCellData)}_arrayCellHasData(e){return e==null?!1:e.v!==void 0}_isInOtherArrayFormulaRange(e,t,r,n,s,a){var f;const o=(f=this._currentConfigService.getArrayFormulaRange()[e])==null?void 0:f[t];if(o==null)return!1;let l=!1;return new S.ObjectMatrix(o).forValue((m,d,C)=>{var R,y;if(m===r&&d===n)return;const _=this._isInArrayFormulaRange(C,s,a),E=(y=(R=this._runtimeData[e])==null?void 0:R[t])==null?void 0:y.getValue(m,d);_&&(E==null?void 0:E.v)!==h.SPILL&&(l=!0)}),l}_isInArrayFormulaRange(e,t,r){if(e==null)return!1;const{startRow:n,startColumn:s,endRow:a,endColumn:o}=e;return t>=n&&t<=a&&r>=s&&r<=o}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,n){const s=this._currentConfigService.getDirtyRanges();return s.length===0?!0:ni(s,e,t,r,n)}},w.FormulaRuntimeService=Om([_o(0,Vt),_o(1,fa)],w.FormulaRuntimeService);const it=S.createIdentifier("univer.formula.runtime.service");var ue=(i=>(i[i.REFERENCE=1]="REFERENCE",i[i.VALUE=2]="VALUE",i[i.OPERATOR=3]="OPERATOR",i[i.FUNCTION=4]="FUNCTION",i[i.LAMBDA=5]="LAMBDA",i[i.LAMBDA_PARAMETER=6]="LAMBDA_PARAMETER",i[i.ERROR=7]="ERROR",i[i.BASE=8]="BASE",i[i.ROOT=9]="ROOT",i[i.UNION=10]="UNION",i[i.PREFIX=11]="PREFIX",i[i.SUFFIX=12]="SUFFIX",i[i.NULL=13]="NULL",i))(ue||{});const gt=new Map([[1,7],[2,9],[3,8],[4,6],[5,1],[6,2],[9,10],[10,3],[11,4],[12,5]]);class Ye{constructor(u){A(this,"_children",[]);A(this,"_definedNames");A(this,"_parent");A(this,"_valueObject");A(this,"_calculateState",!1);A(this,"_async",!1);A(this,"_address",!1);A(this,"_isForcedCalculateFunction",!1);this._token=u}dispose(){var u;this._children.forEach(e=>{e.dispose()}),(u=this._valueObject)==null||u.dispose(),this._valueObject=null,this._children=[],this._definedNames=null,this._parent=null}get nodeType(){return ue.BASE}resetCalculationState(){this._children.forEach(u=>{u.resetCalculationState()}),this._valueObject=null,this._calculateState=!1}isAsync(){return this._async}isAddress(){return this._address}isForcedCalculateFunction(){return this._isForcedCalculateFunction}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(u){this._parent=u,u.addChildren(this)}setForcedCalculateFunction(){this._isForcedCalculateFunction=!0}getChildren(){return this._children}addChildren(...u){this._children.push(...u)}getToken(){return this._token}setValue(u){this._valueObject=u}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(u=!0){}async executeAsync(){return Promise.resolve(Dt.SUCCESS)}serialize(){const u=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let s=0;s<r;s++){const a=e[s];t.push(a.serialize())}const n={token:u,nodeType:this.nodeType};return r>0&&(n.children=t),n}hasDefinedName(u){var e;return((e=this._definedNames)==null?void 0:e.includes(u))||!1}setDefinedNames(u){this._definedNames=u}getDefinedNames(){return this._definedNames}}class je extends Ye{constructor(e){super(e);A(this,"_errorValueObject");this._errorValueObject=g.create(e)}get nodeType(){return ue.ERROR}static create(e){return new je(e)}getValue(){return this._errorValueObject}}const dt=100;class Ct{get zIndex(){return 0}dispose(){}create(u,e,t){let r;return u instanceof oe?r=u.getToken():r=u,new Ye(r)}}class ma extends Ye{get nodeType(){return ue.ROOT}execute(){const u=this.getChildren();if(u.length>1){this.setValue(g.create(h.VALUE));return}const e=u[0];e==null?this.setValue(g.create(h.VALUE)):this.setValue(e.getValue())}}class ha extends Ct{get zIndex(){return gt.get(ue.ROOT)||dt}checkAndCreateNodeType(u){if(!(u instanceof oe))return;if(u.getToken()===Nt)return new ma(Nt)}}var Ce=(i=>(i.DATE="DATE",i.DATEDIF="DATEDIF",i.DATEVALUE="DATEVALUE",i.DAY="DAY",i.DAYS="DAYS",i.DAYS360="DAYS360",i.EDATE="EDATE",i.EOMONTH="EOMONTH",i.EPOCHTODATE="EPOCHTODATE",i.HOUR="HOUR",i.ISOWEEKNUM="ISOWEEKNUM",i.MINUTE="MINUTE",i.MONTH="MONTH",i.NETWORKDAYS="NETWORKDAYS",i.NETWORKDAYS_INTL="NETWORKDAYS.INTL",i.NOW="NOW",i.SECOND="SECOND",i.TIME="TIME",i.TIMEVALUE="TIMEVALUE",i.TO_DATE="TO_DATE",i.TODAY="TODAY",i.WEEKDAY="WEEKDAY",i.WEEKNUM="WEEKNUM",i.WORKDAY="WORKDAY",i.WORKDAY_INTL="WORKDAY.INTL",i.YEAR="YEAR",i.YEARFRAC="YEARFRAC",i))(Ce||{}),X=(i=>(i.BESSELI="BESSELI",i.BESSELJ="BESSELJ",i.BESSELK="BESSELK",i.BESSELY="BESSELY",i.BIN2DEC="BIN2DEC",i.BIN2HEX="BIN2HEX",i.BIN2OCT="BIN2OCT",i.BITAND="BITAND",i.BITLSHIFT="BITLSHIFT",i.BITOR="BITOR",i.BITRSHIFT="BITRSHIFT",i.BITXOR="BITXOR",i.COMPLEX="COMPLEX",i.CONVERT="CONVERT",i.DEC2BIN="DEC2BIN",i.DEC2HEX="DEC2HEX",i.DEC2OCT="DEC2OCT",i.DELTA="DELTA",i.ERF="ERF",i.ERF_PRECISE="ERF.PRECISE",i.ERFC="ERFC",i.ERFC_PRECISE="ERFC.PRECISE",i.GESTEP="GESTEP",i.HEX2BIN="HEX2BIN",i.HEX2DEC="HEX2DEC",i.HEX2OCT="HEX2OCT",i.IMABS="IMABS",i.IMAGINARY="IMAGINARY",i.IMARGUMENT="IMARGUMENT",i.IMCONJUGATE="IMCONJUGATE",i.IMCOS="IMCOS",i.IMCOSH="IMCOSH",i.IMCOT="IMCOT",i.IMCOTH="IMCOTH",i.IMCSC="IMCSC",i.IMCSCH="IMCSCH",i.IMDIV="IMDIV",i.IMEXP="IMEXP",i.IMLN="IMLN",i.IMLOG="IMLOG",i.IMLOG10="IMLOG10",i.IMLOG2="IMLOG2",i.IMPOWER="IMPOWER",i.IMPRODUCT="IMPRODUCT",i.IMREAL="IMREAL",i.IMSEC="IMSEC",i.IMSECH="IMSECH",i.IMSIN="IMSIN",i.IMSINH="IMSINH",i.IMSQRT="IMSQRT",i.IMSUB="IMSUB",i.IMSUM="IMSUM",i.IMTAN="IMTAN",i.IMTANH="IMTANH",i.OCT2BIN="OCT2BIN",i.OCT2DEC="OCT2DEC",i.OCT2HEX="OCT2HEX",i))(X||{}),J=(i=>(i.ACCRINT="ACCRINT",i.ACCRINTM="ACCRINTM",i.AMORDEGRC="AMORDEGRC",i.AMORLINC="AMORLINC",i.COUPDAYBS="COUPDAYBS",i.COUPDAYS="COUPDAYS",i.COUPDAYSNC="COUPDAYSNC",i.COUPNCD="COUPNCD",i.COUPNUM="COUPNUM",i.COUPPCD="COUPPCD",i.CUMIPMT="CUMIPMT",i.CUMPRINC="CUMPRINC",i.DB="DB",i.DDB="DDB",i.DISC="DISC",i.DOLLARDE="DOLLARDE",i.DOLLARFR="DOLLARFR",i.DURATION="DURATION",i.EFFECT="EFFECT",i.FV="FV",i.FVSCHEDULE="FVSCHEDULE",i.INTRATE="INTRATE",i.IPMT="IPMT",i.IRR="IRR",i.ISPMT="ISPMT",i.MDURATION="MDURATION",i.MIRR="MIRR",i.NOMINAL="NOMINAL",i.NPER="NPER",i.NPV="NPV",i.ODDFPRICE="ODDFPRICE",i.ODDFYIELD="ODDFYIELD",i.ODDLPRICE="ODDLPRICE",i.ODDLYIELD="ODDLYIELD",i.PDURATION="PDURATION",i.PMT="PMT",i.PPMT="PPMT",i.PRICE="PRICE",i.PRICEDISC="PRICEDISC",i.PRICEMAT="PRICEMAT",i.PV="PV",i.RATE="RATE",i.RECEIVED="RECEIVED",i.RRI="RRI",i.SLN="SLN",i.SYD="SYD",i.TBILLEQ="TBILLEQ",i.TBILLPRICE="TBILLPRICE",i.TBILLYIELD="TBILLYIELD",i.VDB="VDB",i.XIRR="XIRR",i.XNPV="XNPV",i.YIELD="YIELD",i.YIELDDISC="YIELDDISC",i.YIELDMAT="YIELDMAT",i))(J||{}),be=(i=>(i.CELL="CELL",i.ERROR_TYPE="ERROR.TYPE",i.INFO="INFO",i.ISBETWEEN="ISBETWEEN",i.ISBLANK="ISBLANK",i.ISDATE="ISDATE",i.ISEMAIL="ISEMAIL",i.ISERR="ISERR",i.ISERROR="ISERROR",i.ISEVEN="ISEVEN",i.ISFORMULA="ISFORMULA",i.ISLOGICAL="ISLOGICAL",i.ISNA="ISNA",i.ISNONTEXT="ISNONTEXT",i.ISNUMBER="ISNUMBER",i.ISODD="ISODD",i.ISOMITTED="ISOMITTED",i.ISREF="ISREF",i.ISTEXT="ISTEXT",i.ISURL="ISURL",i.N="N",i.NA="NA",i.SHEET="SHEET",i.SHEETS="SHEETS",i.TYPE="TYPE",i))(be||{}),_e=(i=>(i.AND="AND",i.BYCOL="BYCOL",i.BYROW="BYROW",i.FALSE="FALSE",i.IF="IF",i.IFERROR="IFERROR",i.IFNA="IFNA",i.IFS="IFS",i.LAMBDA="LAMBDA",i.LET="LET",i.MAKEARRAY="MAKEARRAY",i.MAP="MAP",i.NOT="NOT",i.OR="OR",i.REDUCE="REDUCE",i.SCAN="SCAN",i.SWITCH="SWITCH",i.TRUE="TRUE",i.XOR="XOR",i))(_e||{}),re=(i=>(i.ADDRESS="ADDRESS",i.AREAS="AREAS",i.CHOOSE="CHOOSE",i.CHOOSECOLS="CHOOSECOLS",i.CHOOSEROWS="CHOOSEROWS",i.COLUMN="COLUMN",i.COLUMNS="COLUMNS",i.DROP="DROP",i.EXPAND="EXPAND",i.FILTER="FILTER",i.FORMULATEXT="FORMULATEXT",i.GETPIVOTDATA="GETPIVOTDATA",i.HLOOKUP="HLOOKUP",i.HSTACK="HSTACK",i.HYPERLINK="HYPERLINK",i.IMAGE="IMAGE",i.INDEX="INDEX",i.INDIRECT="INDIRECT",i.LOOKUP="LOOKUP",i.MATCH="MATCH",i.OFFSET="OFFSET",i.ROW="ROW",i.ROWS="ROWS",i.RTD="RTD",i.SORT="SORT",i.SORTBY="SORTBY",i.TAKE="TAKE",i.TOCOL="TOCOL",i.TOROW="TOROW",i.TRANSPOSE="TRANSPOSE",i.UNIQUE="UNIQUE",i.VLOOKUP="VLOOKUP",i.VSTACK="VSTACK",i.WRAPCOLS="WRAPCOLS",i.WRAPROWS="WRAPROWS",i.XLOOKUP="XLOOKUP",i.XMATCH="XMATCH",i))(re||{}),$=(i=>(i.ABS="ABS",i.ACOS="ACOS",i.ACOSH="ACOSH",i.ACOT="ACOT",i.ACOTH="ACOTH",i.AGGREGATE="AGGREGATE",i.ARABIC="ARABIC",i.ASIN="ASIN",i.ASINH="ASINH",i.ATAN="ATAN",i.ATAN2="ATAN2",i.ATANH="ATANH",i.BASE="BASE",i.CEILING="CEILING",i.CEILING_MATH="CEILING.MATH",i.CEILING_PRECISE="CEILING.PRECISE",i.COMBIN="COMBIN",i.COMBINA="COMBINA",i.COS="COS",i.COSH="COSH",i.COT="COT",i.COTH="COTH",i.CSC="CSC",i.CSCH="CSCH",i.DECIMAL="DECIMAL",i.DEGREES="DEGREES",i.EVEN="EVEN",i.EXP="EXP",i.FACT="FACT",i.FACTDOUBLE="FACTDOUBLE",i.FLOOR="FLOOR",i.FLOOR_MATH="FLOOR.MATH",i.FLOOR_PRECISE="FLOOR.PRECISE",i.GCD="GCD",i.INT="INT",i.ISO_CEILING="ISO.CEILING",i.LCM="LCM",i.LET="LET",i.LN="LN",i.LOG="LOG",i.LOG10="LOG10",i.MDETERM="MDETERM",i.MINVERSE="MINVERSE",i.MMULT="MMULT",i.MOD="MOD",i.MROUND="MROUND",i.MULTINOMIAL="MULTINOMIAL",i.MUNIT="MUNIT",i.ODD="ODD",i.PI="PI",i.POWER="POWER",i.PRODUCT="PRODUCT",i.QUOTIENT="QUOTIENT",i.RADIANS="RADIANS",i.RAND="RAND",i.RANDARRAY="RANDARRAY",i.RANDBETWEEN="RANDBETWEEN",i.ROMAN="ROMAN",i.ROUND="ROUND",i.ROUNDBANK="ROUNDBANK",i.ROUNDDOWN="ROUNDDOWN",i.ROUNDUP="ROUNDUP",i.SEC="SEC",i.SECH="SECH",i.SERIESSUM="SERIESSUM",i.SEQUENCE="SEQUENCE",i.SIGN="SIGN",i.SIN="SIN",i.SINH="SINH",i.SQRT="SQRT",i.SQRTPI="SQRTPI",i.SUBTOTAL="SUBTOTAL",i.SUM="SUM",i.SUMIF="SUMIF",i.SUMIFS="SUMIFS",i.SUMPRODUCT="SUMPRODUCT",i.SUMSQ="SUMSQ",i.SUMX2MY2="SUMX2MY2",i.SUMX2PY2="SUMX2PY2",i.SUMXMY2="SUMXMY2",i.TAN="TAN",i.TANH="TANH",i.TRUNC="TRUNC",i))($||{}),T=(i=>(i.AVEDEV="AVEDEV",i.AVERAGE="AVERAGE",i.AVERAGE_WEIGHTED="AVERAGE.WEIGHTED",i.AVERAGEA="AVERAGEA",i.AVERAGEIF="AVERAGEIF",i.AVERAGEIFS="AVERAGEIFS",i.BETA_DIST="BETA.DIST",i.BETA_INV="BETA.INV",i.BINOM_DIST="BINOM.DIST",i.BINOM_DIST_RANGE="BINOM.DIST.RANGE",i.BINOM_INV="BINOM.INV",i.CHISQ_DIST="CHISQ.DIST",i.CHISQ_DIST_RT="CHISQ.DIST.RT",i.CHISQ_INV="CHISQ.INV",i.CHISQ_INV_RT="CHISQ.INV.RT",i.CHISQ_TEST="CHISQ.TEST",i.CONFIDENCE_NORM="CONFIDENCE.NORM",i.CONFIDENCE_T="CONFIDENCE.T",i.CORREL="CORREL",i.COUNT="COUNT",i.COUNTA="COUNTA",i.COUNTBLANK="COUNTBLANK",i.COUNTIF="COUNTIF",i.COUNTIFS="COUNTIFS",i.COVARIANCE_P="COVARIANCE.P",i.COVARIANCE_S="COVARIANCE.S",i.DEVSQ="DEVSQ",i.EXPON_DIST="EXPON.DIST",i.F_DIST="F.DIST",i.F_DIST_RT="F.DIST.RT",i.F_INV="F.INV",i.F_INV_RT="F.INV.RT",i.F_TEST="F.TEST",i.FISHER="FISHER",i.FISHERINV="FISHERINV",i.FORECAST="FORECAST",i.FORECAST_ETS="FORECAST.ETS",i.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",i.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",i.FORECAST_ETS_STAT="FORECAST.ETS.STAT",i.FORECAST_LINEAR="FORECAST.LINEAR",i.FREQUENCY="FREQUENCY",i.GAMMA="GAMMA",i.GAMMA_DIST="GAMMA.DIST",i.GAMMA_INV="GAMMA.INV",i.GAMMALN="GAMMALN",i.GAMMALN_PRECISE="GAMMALN.PRECISE",i.GAUSS="GAUSS",i.GEOMEAN="GEOMEAN",i.GROWTH="GROWTH",i.HARMEAN="HARMEAN",i.HYPGEOM_DIST="HYPGEOM.DIST",i.INTERCEPT="INTERCEPT",i.KURT="KURT",i.LARGE="LARGE",i.LINEST="LINEST",i.LOGEST="LOGEST",i.LOGNORM_DIST="LOGNORM.DIST",i.LOGNORM_INV="LOGNORM.INV",i.MARGINOFERROR="MARGINOFERROR",i.MAX="MAX",i.MAXA="MAXA",i.MAXIFS="MAXIFS",i.MEDIAN="MEDIAN",i.MIN="MIN",i.MINA="MINA",i.MINIFS="MINIFS",i.MODE_MULT="MODE.MULT",i.MODE_SNGL="MODE.SNGL",i.NEGBINOM_DIST="NEGBINOM.DIST",i.NORM_DIST="NORM.DIST",i.NORM_INV="NORM.INV",i.NORM_S_DIST="NORM.S.DIST",i.NORM_S_INV="NORM.S.INV",i.PEARSON="PEARSON",i.PERCENTILE_EXC="PERCENTILE.EXC",i.PERCENTILE_INC="PERCENTILE.INC",i.PERCENTRANK_EXC="PERCENTRANK.EXC",i.PERCENTRANK_INC="PERCENTRANK.INC",i.PERMUT="PERMUT",i.PERMUTATIONA="PERMUTATIONA",i.PHI="PHI",i.POISSON_DIST="POISSON.DIST",i.PROB="PROB",i.QUARTILE_EXC="QUARTILE.EXC",i.QUARTILE_INC="QUARTILE.INC",i.RANK_AVG="RANK.AVG",i.RANK_EQ="RANK.EQ",i.RSQ="RSQ",i.SKEW="SKEW",i.SKEW_P="SKEW.P",i.SLOPE="SLOPE",i.SMALL="SMALL",i.STANDARDIZE="STANDARDIZE",i.STDEV_P="STDEV.P",i.STDEV_S="STDEV.S",i.STDEVA="STDEVA",i.STDEVPA="STDEVPA",i.STEYX="STEYX",i.T_DIST="T.DIST",i.T_DIST_2T="T.DIST.2T",i.T_DIST_RT="T.DIST.RT",i.T_INV="T.INV",i.T_INV_2T="T.INV.2T",i.T_TEST="T.TEST",i.TREND="TREND",i.TRIMMEAN="TRIMMEAN",i.VAR_P="VAR.P",i.VAR_S="VAR.S",i.VARA="VARA",i.VARPA="VARPA",i.WEIBULL_DIST="WEIBULL.DIST",i.Z_TEST="Z.TEST",i))(T||{}),z=(i=>(i.ASC="ASC",i.ARRAYTOTEXT="ARRAYTOTEXT",i.BAHTTEXT="BAHTTEXT",i.CHAR="CHAR",i.CLEAN="CLEAN",i.CODE="CODE",i.CONCAT="CONCAT",i.CONCATENATE="CONCATENATE",i.DBCS="DBCS",i.DOLLAR="DOLLAR",i.EXACT="EXACT",i.FIND="FIND",i.FINDB="FINDB",i.FIXED="FIXED",i.LEFT="LEFT",i.LEFTB="LEFTB",i.LEN="LEN",i.LENB="LENB",i.LOWER="LOWER",i.MID="MID",i.MIDB="MIDB",i.NUMBERSTRING="NUMBERSTRING",i.NUMBERVALUE="NUMBERVALUE",i.PHONETIC="PHONETIC",i.PROPER="PROPER",i.REGEXEXTRACT="REGEXEXTRACT",i.REGEXMATCH="REGEXMATCH",i.REGEXREPLACE="REGEXREPLACE",i.REPLACE="REPLACE",i.REPLACEB="REPLACEB",i.REPT="REPT",i.RIGHT="RIGHT",i.RIGHTB="RIGHTB",i.SEARCH="SEARCH",i.SEARCHB="SEARCHB",i.SUBSTITUTE="SUBSTITUTE",i.T="T",i.TEXT="TEXT",i.TEXTAFTER="TEXTAFTER",i.TEXTBEFORE="TEXTBEFORE",i.TEXTJOIN="TEXTJOIN",i.TEXTSPLIT="TEXTSPLIT",i.TRIM="TRIM",i.UNICHAR="UNICHAR",i.UNICODE="UNICODE",i.UPPER="UPPER",i.VALUE="VALUE",i.VALUETOTEXT="VALUETOTEXT",i.CALL="CALL",i.EUROCONVERT="EUROCONVERT",i.REGISTER_ID="REGISTER.ID",i))(z||{}),Wr=(i=>(i.ENCODEURL="ENCODEURL",i.FILTERXML="FILTERXML",i.WEBSERVICE="WEBSERVICE",i))(Wr||{});const Sm=[Ce,X,J,be,_e,re,$,T,z,Wr],Mm=new Set(Sm.flatMap(i=>Object.values(i)).filter(i=>/^[A-Z]{1,3}$/.test(i)).filter(i=>{const u=S.columnLabelToNumber(i);return u>0&&u<=S.MAX_COLUMN_COUNT})),Dm=5e3,qt=new yt(Dm);function ga(i,u,e,t,r){let n=qt.get(`${i}${u}`);if(n&&!Ao(n,r))return n;const s=e.treeBuilder(u);return wt.has(s)?je.create(s):(n=t.parse(s),n==null?(console.error("generateAstNode astNode is null"),je.create(s)):(qt.set(`${i}${u}`,n),n))}function Ao(i,u){const e=u.getDirtyDefinedNameMap(),t=u.getExecuteUnitId();if(t!=null&&e[t]!=null){const r=Object.keys(e[t]);for(let n=0,s=r.length;n<s;n++){const a=r[n];if(i.hasDefinedName(a))return!0}}return!1}function wm(i,u,e){return!!(u!=null&&Ao(u,e))}const St=S.createIdentifier("univer.formula-function.service");class Eo extends S.Disposable{constructor(){super(...arguments);A(this,"_functionExecutors",new Map);A(this,"_functionDescriptions",new Map)}dispose(){super.dispose(),this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.set(r.name,r)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.delete(r)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.set(r.functionName,r)}return S.toDisposable(()=>{for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r.functionName)}})}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r)}}deleteFormulaAstCacheKey(...e){qt.forEach((t,r)=>{e.forEach(n=>{r.includes(n)&&qt.delete(r)})})}}var Ie=(i=>(i.COMPARE="COMPARE",i.DIVIDED="DIVIDED",i.MINUS="MINUS",i.MULTIPLY="MULTIPLY",i.PLUS="PLUS",i.UNION="UNION",i.CUBE="CUBE",i))(Ie||{}),Lm=Object.getOwnPropertyDescriptor,Pm=(i,u,e,t)=>{for(var r=t>1?void 0:t?Lm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ro=(i,u)=>(e,t)=>u(e,t,i);class kn extends Ye{constructor(u,e,t){super(e),this._runtimeService=u,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ue.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null){console.error("PrefixNode execute value is null"),this.setValue(g.create(h.VALUE));return}this._operatorString===De.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(b.create(0),e)):this._operatorString===De.AT?t=this._handlerAT(e):t=g.create(h.VALUE),this.setValue(t)}_handlerAT(u){if(!u.isReferenceObject())return g.create(h.VALUE);const e=u;if(e.isCell())return g.create(h.VALUE);const t=this._runtimeService,r=t.currentRow||0,n=t.currentColumn||0,s=e.getRangePosition(),{startRow:a,startColumn:o,endRow:l,endColumn:c}=s;return c!==o&&l!==a||a===l&&o===c?g.create(h.VALUE):l===a&&n>=o&&n<=c?e.getCellByColumn(n):o===c&&r>=a&&r<=l?e.getCellByRow(r):e.isTable()?e.getCellByPosition(r):g.create(h.VALUE)}}w.PrefixNodeFactory=class extends Ct{constructor(u,e){super(),this._functionService=u,this._runtimeService=e}get zIndex(){return gt.get(ue.PREFIX)||dt}checkAndCreateNodeType(u){if(!(u instanceof oe))return;const e=u.getToken(),t=e.trim();if(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')return;let r="";if(t===De.MINUS)r=Ie.MINUS;else return t===De.AT?new kn(this._runtimeService,t):void 0;const n=this._functionService.getExecutor(r);return n?new kn(this._runtimeService,t,n):(console.error(`No function ${e}`),je.create(h.NAME))}},w.PrefixNodeFactory=Pm([Ro(0,St),Ro(1,it)],w.PrefixNodeFactory);function yo(i,u,e){let t,r,n=i;const s=n[0];let a=0;if(s===De.MINUS){const o=u.getExecutor(Ie.MINUS);t=new kn(e,De.MINUS,o),a++}else s===De.AT&&(r=new kn(e,De.AT),t&&r.setParent(t),a++);return a>0&&(n=n.slice(a)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:r}}var jm=Object.getOwnPropertyDescriptor,Tm=(i,u,e,t)=>{for(var r=t>1?void 0:t?jm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},yr=(i,u)=>(e,t)=>u(e,t,i);class Um extends Ye{constructor(u,e,t,r,n,s){super(u),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=n,this._formulaDataModel=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress(),this._functionExecutor.needsLocale&&this._setLocale(),this._functionExecutor.needsSheetsInfo&&this._setSheetsInfo(),this._functionExecutor.needsFormulaDataModel&&this._functionExecutor.setFormulaDataModel(this._formulaDataModel)}get nodeType(){return ue.FUNCTION}async executeAsync(){const u=[],e=this.getChildren(),t=e.length;this._compatibility();for(let s=0;s<t;s++){const o=e[s].getValue();o!=null&&(o.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?u.push(o.toArrayValueObject()):u.push(o))}const r=await this._calculateAsync(u);let n;return r.isAsyncObject()||r.isAsyncArrayObject()?n=await r.getValue():n=r,this._setEmbeddedArrayFormulaToResult(n),this._setRefData(n),this.setValue(n),Promise.resolve(Dt.SUCCESS)}execute(){const u=[],e=this.getChildren(),t=e.length;this._compatibility();for(let n=0;n<t;n++){const a=e[n].getValue();a!=null&&(a.isReferenceObject()&&this._functionExecutor.needsFilteredOutRows&&this._setFilteredOutRows(a),a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?u.push(a.toArrayValueObject()):u.push(a))}const r=this._calculate(u);this._setEmbeddedArrayFormulaToResult(r),this._setRefData(r),this.setValue(r)}isFunctionExecutorArgumentsIgnoreNumberPattern(){return this._functionExecutor.isArgumentsIgnoreNumberPattern()}_setEmbeddedArrayFormulaToResult(u){if(!u.isArray())return;const e=u.getRowCount(),t=u.getColumnCount();e<=1&&t<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const u=this.getChildren(),e=u.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=u[1].getValue(),r=u[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;let n,s;if(t!=null&&t.isReferenceObject()){const C=t.getRangeData(),{startRow:_,startColumn:E,endRow:R,endColumn:y}=C;n=R-_+1,s=y-E+1}else n=t!=null&&t.isArray()?t.getRowCount():1,s=t!=null&&t.isArray()?t.getColumnCount():1;const a=r.getRangeData(),{startRow:o,startColumn:l,endRow:c,endColumn:f}=a,m=c-o+1,d=f-l+1;n!==m&&(a.endRow+=n-m),s!==d&&(a.endColumn+=s-d)}_handleCustomResult(u){var t;if(typeof u!="object"||u==null)return ht.create(u);const e=mo(u);return Z.create({calculateValueList:e,rowCount:e.length,columnCount:((t=e[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}_handleAddressFunction(){this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction()}_mapVariantsToValues(u){return u.map(e=>e.isArray()?e.toValue():e.isLambda()?e:e.getValue())}_calculate(u){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(u.length<e||u.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=this._functionExecutor.calculateCustom(...this._mapVariantsToValues(u));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...u);return r}async _calculateAsync(u){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(u.length<e||u.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(u));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...u);return r}_setDefinedNamesForFunction(){const u=this._currentConfigService.getExecuteUnitId();if(u==null)return;const e=this._definedNamesService.getDefinedNameMap(u);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:u,currentSubUnitId:e,currentRow:t,currentColumn:r}=this._runtimeService;if(this._functionExecutor.setRefInfo(u,e,t,r),this._functionExecutor.needsSheetRowColumnCount){const{rowCount:n,columnCount:s}=this._currentConfigService.getSheetRowColumnCount(u,e);this._functionExecutor.setSheetRowColumnCount(n,s)}}_setRefData(u){if(!u.isReferenceObject())return;const e=u;e.setForcedSheetId(this._currentConfigService.getSheetNameMap()),e.setUnitData(this._currentConfigService.getUnitData()),e.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),e.setArrayFormulaRange(this._currentConfigService.getArrayFormulaRange()),e.setRuntimeData(this._runtimeService.getUnitData()),e.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),e.setRuntimeArrayFormulaRange(this._runtimeService.getUnitArrayFormula()),e.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}_setLocale(){this._functionExecutor.setLocale(this._currentConfigService.getLocale())}_setSheetsInfo(){this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo())}_setFilteredOutRows(u){const{startRow:e,endRow:t}=u.getRangePosition(),r=this._currentConfigService.getFilteredOutRows(u.getUnitId(),u.getSheetId(),e,t);u.setFilteredOutRows(r)}}class xm extends Ye{constructor(u="Error"){super(u)}get nodeType(){return ue.FUNCTION}async executeAsync(){return this.setValue(g.create(h.NAME)),Promise.resolve(Dt.SUCCESS)}execute(){this.setValue(g.create(h.NAME))}}w.FunctionNodeFactory=class extends Ct{constructor(u,e,t,r,n,s){super(),this._functionService=u,this._currentConfigService=e,this._runtimeService=t,this._definedNamesService=r,this._injector=n,this._formulaDataModel=s}get zIndex(){return gt.get(ue.FUNCTION)||dt}create(u){const e=this._functionService.getExecutor(u);return e?new Um(u,e,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${u}`),je.create(h.NAME))}checkAndCreateNodeType(u){if(typeof u=="string")return;const e=u.getToken(),{tokenTrim:t,minusPrefixNode:r,atPrefixNode:n}=yo(e.trim(),this._functionService,this._runtimeService),s=this._isParentUnionNode(u);if(!Number.isNaN(Number(t))&&!s)return je.create(h.VALUE);const a=t.toUpperCase();if(!(s&&Mm.has(a))&&this._functionService.hasExecutor(a)){const o=this.create(a);return n?o.setParent(n):r&&o.setParent(r),o}}_isParentUnionNode(u){var e,t;return((t=(e=u.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken())===K.COLON}},w.FunctionNodeFactory=Tm([yr(0,St),yr(1,Vt),yr(2,it),yr(3,Yt),yr(4,S.Inject(S.Injector)),yr(5,S.Inject(w.FormulaDataModel))],w.FunctionNodeFactory);var vm=Object.getOwnPropertyDescriptor,Im=(i,u,e,t)=>{for(var r=t>1?void 0:t?vm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Fm=(i,u)=>(e,t)=>u(e,t,i);w.Interpreter=class extends S.Disposable{constructor(u){super(),this._runtimeService=u}async executeAsync(u){if(!u||!u.node)return Promise.resolve(g.create(h.VALUE));const e=u.node,t=u.refOffsetX,r=u.refOffsetY;await this._executeAsync(e,t,r);const n=e.getValue();return n==null?Promise.resolve(g.create(h.VALUE)):Promise.resolve(n)}execute(u){if(!u||!u.node)return g.create(h.VALUE);const e=u.node,t=u.refOffsetX,r=u.refOffsetY;this._execute(e,t,r);const n=e.getValue();return n==null?g.create(h.VALUE):n}executePreCalculateNode(u){return u.execute(),u.getValue()}checkAsyncNode(u){if(u==null)return!1;const e=[];this._checkAsyncNode(u,e);for(let t=0,r=e.length;t<r;t++)if(e[t]===!0)return!0;return!1}_checkAsyncNode(u,e){const t=u.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];e.push(s.isAsync()),this._checkAsyncNode(s,e)}}async _executeAsync(u,e=0,t=0){if(this._runtimeService.isStopExecution())return Promise.resolve(Dt.ERROR);const r=u.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===mr&&a.isEmptyParamFunction()){a.execute();continue}await this._executeAsync(a,e,t)}return u.nodeType===ue.REFERENCE&&u.setRefOffset(e,t),u.nodeType===ue.FUNCTION&&u.isAsync()?await u.executeAsync():u.execute(),Promise.resolve(Dt.SUCCESS)}_execute(u,e=0,t=0){if(this._runtimeService.isStopExecution())return Dt.ERROR;const r=u.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===mr&&a.isEmptyParamFunction()){a.execute();continue}this._execute(a,e,t)}return u.nodeType===ue.REFERENCE&&u.setRefOffset(e,t),u.execute(),Dt.SUCCESS}},w.Interpreter=Im([Fm(0,it)],w.Interpreter);function bo(i){return i instanceof oe?i.getToken()===$t:!1}function Bm(i){return i instanceof oe?i.getToken()===Vi:!1}function da(i,u,e){const t=i.getChildren(),r=t.length,n=t[0];for(let s=0;s<r;s++){const a=t[s];if(!(bo(n)&&s!==0))if(a instanceof oe)da(a,u,e);else{const o=a.trim();if(e.has(o)){const l=new oe;l.setToken(jr),l.setLambdaId(u),l.setLambdaPrivacyVar(e),l.setLambdaParameter(o),t[s]=l}}}}function km(i){let u=i;for(;u!=null&&u.getParent();)u=u.getParent();return u}function Ca(i,u=0,e=0){return{node:i,refOffsetX:u,refOffsetY:e}}function No(i){if(!i)return;if(i.getToken()!==jr)return i;const u=i,e=u.getCurrentLambdaPrivacyVar(),t=u.getLambdaParameter();if(!e)return;const r=e.get(t);return r==null&&i.getValue()?i:No(r)}class $n extends bt{constructor(e,t,r){super(0);A(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=r,this._lambdaPrivacyValueMap.clear()}static create(e,t,r){return new $n(e,t,r)}dispose(){this._lambdaPrivacyValueMap.clear(),this._lambdaPrivacyValueMap=new Map,this._lambdaNode=null,this._interpreter=null,this._lambdaPrivacyVarKeys=[]}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t||!this._interpreter||!this._lambdaNode)return g.create(h.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let r;if(this._interpreter.checkAsyncNode(this._lambdaNode))r=new ho(this._interpreter.executeAsync(Ca(this._lambdaNode)));else{const n=this._interpreter.execute(Ca(this._lambdaNode));n.isReferenceObject()?r=n.toArrayValueObject():r=n}return this._lambdaNode.setNotEmpty(!0),r}executeCustom(...e){const t=e.map(r=>ht.create(r));return this.execute(...t)}_setLambdaNodeValue(e){if(!e)return;const t=e.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];if(s.getToken()===jr){const o=s.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(o);if(l)s.setValue(l);else{const c=s.getCurrentLambdaPrivacyVar(),f=No(c.get(o));f!=null&&s.setValue(f.getValue())}continue}this._setLambdaNodeValue(s)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const r=e[t],n=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(n,r)}}getLambdaPrivacyVarKeys(){return this._lambdaPrivacyVarKeys}}var $m=Object.getOwnPropertyDescriptor,Ym=(i,u,e,t)=>{for(var r=t>1?void 0:t?$m(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},po=(i,u)=>(e,t)=>u(e,t,i);class Hm extends Ye{constructor(e,t,r,n,s){super(e);A(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=r,this._lambdaPrivacyVarKeys=n,this._runtimeService=s}get nodeType(){return ue.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue($n.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}this._runtimeService.setUnitArrayFormulaEmbeddedMap()}}w.LambdaNodeFactory=class extends Ct{constructor(u,e){super(),this._runtimeService=u,this._interpreter=e}get zIndex(){return gt.get(ue.LAMBDA)||dt}create(u){const e=u.getChildren(),t=e[0];let r=e.slice(1,-1);const n=e[e.length-1];if(!(t instanceof oe&&n instanceof oe))return je.create(h.NAME);if(t.getToken()===$t){const o=t.getChildren();if(r.length!==o.length)return je.create(h.VALUE)}else r=e.slice(0,-1);const s=S.generateRandomId(8),a=new Map;for(let o=0;o<r.length;o++){const l=r[o];if(l instanceof oe){const c=l.getChildren()[0];l.setToken(Vi),a.set(c.trim(),void 0)}else return je.create(h.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(s,a),this._updateLambdaStatement(n,s,a),new Hm(u.getToken(),s,this._interpreter,[...a.keys()],this._runtimeService)}checkAndCreateNodeType(u){if(!(!(u instanceof oe)||u.getToken().trim().toUpperCase()!==mr))return this.create(u)}_updateLambdaStatement(u,e,t){da(u,e,t)}},w.LambdaNodeFactory=Ym([po(0,it),po(1,S.Inject(w.Interpreter))],w.LambdaNodeFactory);function Vo(i){if(!i)return;if(i.getToken()!==jr)return i;const u=i,e=u.getCurrentLambdaPrivacyVar(),t=u.getLambdaParameter();if(e)return Vo(e.get(t))}class Gm extends Ye{constructor(u,e,t){super(u),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return ue.LAMBDA_PARAMETER}execute(){const u=Vo(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(u)this.setValue(u.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(g.create(h.NAME))}}}class _a extends Ct{get zIndex(){return gt.get(ue.LAMBDA_PARAMETER)||dt}create(u){const e=u.getFunctionDefinitionPrivacyVar(),t=u.getLambdaParameter();return e?new Gm(u.getToken(),t,e):new je(h.NAME)}checkAndCreateNodeType(u){if(!(!(u instanceof oe)||u.getToken().trim()!==jr))return this.create(u)}}class Wm extends Ye{constructor(u){super(u),this._operatorString=u}get nodeType(){return ue.NULL}execute(){this.setValue(ce.create())}}var Qm=Object.getOwnPropertyDescriptor,qm=(i,u,e,t)=>{for(var r=t>1?void 0:t?Qm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Oo=(i,u)=>(e,t)=>u(e,t,i);class Xm extends Ye{constructor(u,e,t){super(u),this._functionExecutor=e,this._runtimeService=t}get nodeType(){return ue.OPERATOR}execute(){const u=this.getChildren();this._functionExecutor.name===Ie.COMPARE&&this._functionExecutor.setCompareType(this.getToken());const e=u[0],t=u[1];let r=e==null?void 0:e.getValue(),n=t==null?void 0:t.getValue();const s=this.getToken();if((r==null||n==null)&&s!==se.MINUS&&s!==se.PLUS){this.setValue(g.create(h.VALUE));return}r==null&&(r=ce.create()),n==null&&(n=ce.create()),r.isReferenceObject()&&(r=r.toArrayValueObject()),n.isReferenceObject()&&(n=n.toArrayValueObject());const a=this._functionExecutor.calculate(r,n);this._setEmbeddedArrayFormulaToResult(a),this.setValue(a)}_setEmbeddedArrayFormulaToResult(u){if(!u.isArray())return;const e=u.getRowCount(),t=u.getColumnCount();e<=1&&t<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}}w.OperatorNodeFactory=class extends Ct{constructor(u,e){super(),this._functionService=u,this._runtimeService=e}get zIndex(){return gt.get(ue.OPERATOR)||dt}create(u){let e="";const t=u;t===se.PLUS?e=Ie.PLUS:t===se.MINUS?e=Ie.MINUS:t===se.MULTIPLY?e=Ie.MULTIPLY:t===se.DIVIDED?e=Ie.DIVIDED:t===se.CONCATENATE?e=z.CONCATENATE:t===se.POWER?e=$.POWER:xl.has(t)&&(e=Ie.COMPARE);const r=this._functionService.getExecutor(e);return r?new Xm(t,r,this._runtimeService):(console.error(`No function ${u}`),je.create(h.NAME))}checkAndCreateNodeType(u){if(u instanceof oe)return;const e=u.trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&ct.has(e))return this.create(e)}},w.OperatorNodeFactory=qm([Oo(0,St),Oo(1,it)],w.OperatorNodeFactory);class Km extends Qt{constructor(e,t,r,n){super(e);A(this,"_isCurrentRowForRange",!1);this._tableData=t,this._columnDataString=r,this._tableOptionMap=n;const{sheetId:s,range:a,titleMap:o}=this._tableData;this.setForcedSheetIdDirect(s);const{startColumn:l,endColumn:c,type:f}=this._parseStructuredRef(this._columnDataString,o),m=a.startRow,d=a.endRow;let C=-1,_=-1;switch(f){case Me.ALL:C=m,_=d;break;case Me.DATA:C=m+1,_=d;break;case Me.HEADERS:C=m,_=m;break;case Me.TOTALS:C=d,_=d;break;case Me.THIS_ROW:{const E=this._resolveThisRow(m,d);C=E,_=E;break}default:C=m+1,_=d;break}this.setRangeData({startColumn:l,endColumn:c,startRow:C,endRow:_})}getRangeData(){const e=super.getRangeData();if(this._isCurrentRowForRange){const{startRow:t,startColumn:r,endRow:n,endColumn:s}=e,a=this.getCurrentRow();return{startRow:a==null?t:a,endRow:a==null?n:a,startColumn:r,endColumn:s}}return e}getRefOffset(){return{x:0,y:0}}isTable(){return!0}isCurrentRowForRange(){return this._isCurrentRowForRange}setForcedSheetId(e){}_parseStructuredRef(e,t){var _,E;const{range:r}=this._tableData,n=(_=r.startColumn)!=null?_:0,s=(E=r.endColumn)!=null?E:0;if(!e||e.trim().length===0)return{startColumn:n,endColumn:s,type:Me.DATA};const a=e.trim();if(a[0]!=="["){const R=this._mapSection(a);if(R!==void 0)return{startColumn:n,endColumn:s,type:R};const{startColumn:y,endColumn:N}=this._parseColumnOrRange(a,t,n);return{startColumn:y,endColumn:N,type:Me.DATA}}const o=this._stripOuterBracketOnce(a),l=this._findCommaAtTopLevel(o);if(o.length===0)return{startColumn:n,endColumn:s,type:Me.DATA};if(l===-1){if(o.startsWith("#")){const N=this._mapSection(o);return N!==void 0?{startColumn:n,endColumn:s,type:N}:{startColumn:n,endColumn:s,type:Me.DATA}}const{startColumn:R,endColumn:y}=this._parseColumnOrRange(o,t,n);return{startColumn:R,endColumn:y,type:Me.DATA}}const c=o.slice(0,l).trim(),f=o.slice(l+1).trim(),m=this._parseSectionMaybeBracketed(c),{startColumn:d,endColumn:C}=this._parseColumnOrRange(f,t,n);return{startColumn:d,endColumn:C,type:m}}_stripOuterBracketOnce(e){return e.length>=2&&e[0]==="["&&e[e.length-1]==="]"?e.slice(1,-1):e}_findCommaAtTopLevel(e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(n==="[")t++;else if(n==="]")t=Math.max(0,t-1);else if(n===K.COMMA&&t===0)return r}return-1}_parseSectionMaybeBracketed(e){const t=e.trim(),r=t.startsWith("[")&&t.endsWith("]")?this._stripOuterBracketOnce(t):t,n=this._mapSection(r);return n!=null?n:Me.DATA}_mapSection(e){const t=e.trim();if(!t.startsWith("#"))return;const r=this._tableOptionMap.get(t);if(r!==void 0)return r;const n=t.replace(/\s+/g," ").toLowerCase();for(const[s,a]of this._tableOptionMap.entries())if(s.replace(/\s+/g," ").toLowerCase()===n)return a}_parseColumnOrRange(e,t,r){const n=e.trim(),s=this._findColonAtTopLevel(n);if(s===-1){const d=this._stripOuterBracketIfAny(n),C=this._titleToIndex(d,t);return{startColumn:r+C,endColumn:+r+C}}const a=n.slice(0,s).trim(),o=n.slice(s+1).trim(),l=this._stripOuterBracketIfAny(a),c=this._stripOuterBracketIfAny(o),f=this._titleToIndex(l,t),m=this._titleToIndex(c,t);return f!==-1&&m!==-1&&f>m?{startColumn:r+m,endColumn:r+f}:{startColumn:r+f,endColumn:r+m}}_stripOuterBracketIfAny(e){return e.length>=2&&e[0]==="["&&e[e.length-1]==="]"?e.slice(1,-1):e}_findColonAtTopLevel(e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(n==="[")t++;else if(n==="]")t=Math.max(0,t-1);else if(n===K.COLON&&t===0)return r}return-1}_titleToIndex(e,t){var a;const r=e.trim(),n=t.get(r);if(n!==void 0)return n;const s=r.replace(/\u3000/g," ").trim();return(a=t.get(s))!=null?a:-1}_resolveThisRow(e,t){return this._isCurrentRowForRange=!0,Math.min(e+1,t)}}var Zm=Object.getOwnPropertyDescriptor,zm=(i,u,e,t)=>{for(var r=t>1?void 0:t?Zm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Yn=(i,u)=>(e,t)=>u(e,t,i);class So extends Ye{constructor(e,t,r,n,s=!1,a){super(r);A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);this._currentConfigService=e,this._runtimeService=t,this._referenceObjectType=n,this._isPrepareMerge=s,this._tableReferenceObject=a}get nodeType(){return ue.REFERENCE}execute(){const e=this._currentConfigService,t=this._runtimeService,r=this._tableReferenceObject||Rm(this.getToken(),this._referenceObjectType);r.setDefaultUnitId(t.currentUnitId),r.setDefaultSheetId(t.currentSubUnitId),r.setForcedSheetId(e.getSheetNameMap()),r.setUnitData(e.getUnitData()),r.setArrayFormulaCellData(e.getArrayFormulaCellData()),r.setArrayFormulaRange(e.getArrayFormulaRange()),r.setRuntimeData(t.getUnitData()),r.setUnitStylesData(e.getUnitStylesData()),r.setRuntimeArrayFormulaCellData(t.getRuntimeArrayFormulaCellData()),r.setRuntimeArrayFormulaRange(t.getUnitArrayFormula()),r.setRuntimeFeatureCellData(t.getRuntimeFeatureCellData());const n=t.currentRow,s=t.currentColumn;r.setCurrentRowAndColumn(n,s);const{x:a,y:o}=this.getRefOffset();r.setRefOffset(a,o),!this._isPrepareMerge&&r.isExceedRange()?this.setValue(g.create(h.NAME)):this.setValue(r)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}}w.ReferenceNodeFactory=class extends Ct{constructor(u,e,t,r){super(),this._currentConfigService=u,this._formulaRuntimeService=e,this._functionService=t,this._superTableService=r}get zIndex(){return gt.get(ue.REFERENCE)||dt}checkAndCreateNodeType(u){var l,c;let e=!1,t,r=!1;u instanceof oe?(e=!0,t=u.getToken().trim(),((c=(l=u.getParent())==null?void 0:l.getParent())==null?void 0:c.getToken().trim())===K.COLON&&(r=!0)):t=u.trim();const{tokenTrim:n,minusPrefixNode:s,atPrefixNode:a}=yo(t,this._functionService,this._formulaRuntimeService);if(!e&&n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')return;const o=this._getNode(n,e,r,u);if(o)return a?o.setParent(a):s&&o.setParent(s),o}_getTableMap(){const u=this._currentConfigService.getExecuteUnitId();if(u)return this._superTableService.getTableMap(u)}_getNode(u,e,t,r){var C;const n=this._currentConfigService,s=this._formulaRuntimeService,a=_=>new So(n,s,u,_,t),o=this._getTableMap();if((C=o==null?void 0:o.has(u))!=null?C:!1)return this._getTableReferenceNode(u,e,t,!0);if(Pr(u))return a(Gr.CELL);const f=e&&this._checkParentIsUnionOperator(r);return f&&Ni(u)?a(Gr.ROW):f&&pi(u)?a(Gr.COLUMN):this._getTableReferenceNode(u,e,t,!1)}_getTableReferenceNode(u,e,t,r=!1){if(!this._checkTokenIsTableReference(u)&&!r)return;const{tableName:n,columnStruct:s}=Ti(u),a=this._getTableMap();if(!e&&(a!=null&&a.has(n))){const o=s,l=a.get(n),c=this._superTableService.getTableOptionMap();return new So(this._currentConfigService,this._formulaRuntimeService,u,Gr.COLUMN,t,new Km(u,l,o,c))}}_checkTokenIsTableReference(u){return hc(u)||gc(u)||dc(u)||Cc(u)}_checkParentIsUnionOperator(u){var e,t;return((t=(e=u.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken().trim())===K.COLON}},w.ReferenceNodeFactory=zm([Yn(0,Vt),Yn(1,it),Yn(2,St),Yn(3,gr)],w.ReferenceNodeFactory);var Jm=Object.getOwnPropertyDescriptor,eh=(i,u,e,t)=>{for(var r=t>1?void 0:t?Jm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Aa=(i,u)=>(e,t)=>u(e,t,i);class Mo extends Ye{constructor(u,e,t,r){super(t),this._currentConfigService=u,this._lexer=e,this._operatorString=t,this._functionExecutor=r}get nodeType(){return ue.SUFFIX}execute(){var r;let e=(r=this.getChildren()[0])==null?void 0:r.getValue(),t;if(e==null){this.setValue(g.create(h.ERROR));return}if(this._operatorString===Ke.PERCENTAGE){if(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,b.create(100)),t.isNumber()){const n=Number(t.getValue());t=b.create(n,"0.00%")}}else this._operatorString===Ke.POUND?t=this._handlerPound(e):t=g.create(h.VALUE);this.setValue(t)}_handlerPound(u){var o,l,c,f;if(!u.isReferenceObject()||!u.isCell())return g.create(h.VALUE);const e=u,t=e.getRangePosition(),r=e.getUnitId(),n=e.getSheetId(),s=this._currentConfigService.getFormulaData(),a=(f=(c=(l=(o=s==null?void 0:s[r])==null?void 0:o[n])==null?void 0:l[t.startRow])==null?void 0:c[t.startColumn])==null?void 0:f.f;return a&&this._lexer.treeBuilder(a),g.create(h.VALUE)}}w.SuffixNodeFactory=class extends Ct{constructor(u,e,t){super(),this._functionService=u,this._lexer=e,this._currentConfigService=t}get zIndex(){return gt.get(ue.SUFFIX)||dt}checkAndCreateNodeType(u){if(!(u instanceof oe))return;const e=u.getToken().trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===Ke.PERCENTAGE)t=Ie.DIVIDED;else return e===Ke.POUND?new Mo(this._currentConfigService,this._lexer,e):void 0;const r=this._functionService.getExecutor(t);return r?new Mo(this._currentConfigService,this._lexer,e,r):(console.error(`No function ${u}`),je.create(h.NAME))}},w.SuffixNodeFactory=eh([Aa(0,St),Aa(1,S.Inject(w.Lexer)),Aa(2,Vt)],w.SuffixNodeFactory);var th=Object.getOwnPropertyDescriptor,rh=(i,u,e,t)=>{for(var r=t>1?void 0:t?th(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},nh=(i,u)=>(e,t)=>u(e,t,i);class sh extends Ye{constructor(u){super(u)}get nodeType(){return ue.UNION}execute(){const u=this.getChildren(),e=u[0],t=u[1],r=e.getValue(),n=t.getValue();if(r==null||n==null){console.error("UnionNode execute leftNode or rightNode is null"),this.setValue(g.create(h.VALUE));return}let s;this.getToken()===K.COLON?s=this._unionFunction(r,n):s=g.create(h.NAME),this.setValue(s)}_unionFunction(u,e){return u.isError()||e.isError()||!u.isReferenceObject()||!e.isReferenceObject()?g.create(h.REF):(u=u,e=e,ym(u,e))}}w.UnionNodeFactory=class extends Ct{constructor(u){super(),this._functionService=u}get zIndex(){return gt.get(ue.UNION)||dt}create(u){return new sh(u)}checkAndCreateNodeType(u){if(!(u instanceof oe))return;const t=u.getToken().trim();if(!(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')&&t===K.COLON)return this.create(t)}},w.UnionNodeFactory=rh([nh(0,St)],w.UnionNodeFactory);class ah extends Ye{constructor(u){super(u)}get nodeType(){return ue.VALUE}execute(){var t,r;const u=this.getParent();let e=!0;(u==null?void 0:u.nodeType)===ue.FUNCTION&&(e=(r=(t=u.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:t.call(u))!=null?r:!0),this.setValue(ht.create(this.getToken(),e))}}class Ea extends Ct{get zIndex(){return gt.get(ue.VALUE)||dt}_checkValueNode(u){if(Number.isNaN(Number(u))){const e=u.trim(),t=e.charAt(0),r=e.charAt(e.length-1);if(wt.has(e))return this.create(e);if(t==='"'&&r==='"')return this.create(e);if(t==="{"&&r==="}")return this.create(e);const n=e.toUpperCase();if(n===Mt.TRUE||n===Mt.FALSE)return this.create(n)}else return this.create(u)}create(u){return new ah(u)}checkAndCreateNodeType(u){if(!(u instanceof oe))return this._checkValueNode(u)}}var ih=Object.getOwnPropertyDescriptor,oh=(i,u,e,t)=>{for(var r=t>1?void 0:t?ih(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ot=(i,u)=>(e,t)=>u(e,t,i);w.AstTreeBuilder=class extends S.Disposable{constructor(e,t,r,n,s,a,o,l,c,f,m){super();A(this,"_astNodeFactoryList",[]);this._runtimeService=e,this._astRootNodeFactory=t,this._functionNodeFactory=r,this._lambdaNodeFactory=n,this._lambdaParameterNodeFactory=s,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=l,this._suffixNodeFactory=c,this._unionNodeFactory=f,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){const t=new ma(Nt),r=this._parse(e,t);return e.hasDefinedNames()&&(r==null||r.setDefinedNames(e.getDefinedNames())),r}_lambdaParameterHandler(e,t){if(t.getLambdaId==null)return je.create(h.VALUE);const r=t.getLambdaId(),n=new ma(Nt),s=this._runtimeService.getFunctionDefinitionPrivacyVar(r);if(!s)return!1;const a=[...s.keys()],o=e.getChildren(),l=o.length;for(let c=0;c<l;c++){const f=o[c];if(f instanceof oe){da(f,r,s),this._parse(f,n);const d=n.getChildren()[c];d!=null&&s.set(a[c],d)}else return!1}return n.setParent(t),t}_changeLetToLambda(e){const t=e.getChildren(),r=t.length;if(r%2!==1||r===0)return;const n=new oe;n.setToken(mr);const s=new oe;s.setToken($t);const a=[...t];for(let l=0;l<r;l++){const c=a[l];if(!(c instanceof oe))return;l%2===0?c.changeToParent(n):c.changeToParent(s)}n.addChildrenFirst(s),s.setParent(n);const o=e.getParent();return o==null||o.replaceChild(e,n),n}_parse(e,t){var f;const r=e.getChildren(),n=r.length,s=[];let a=null;const o=e.getToken().trim().toUpperCase();if(o===Oi){const m=this._changeLetToLambda(e);return m!=null?this._parse(m,t):je.create(h.ERROR)}if(o===nt){if(a=t,n===0)return new Wm(Nt).setParent(t),a}else{if(o===$t){let m=this._lambdaParameterHandler(e,t);return m===!1&&(m=je.create(h.ERROR)),m}if(a=this._checkAstNode(e),a==null)return je.create(h.NAME)}const l=r[0];for(let m=0;m<n;m++){const d=r[m];if(bo(l)){if(m!==0&&m!==n-1)continue}else if(Bm(d)&&m!==n-1)continue;let C=null;if(d instanceof oe){if(d.getToken()===nt&&d.getChildren().length===0){const _=(f=d.getParent())==null?void 0:f.getChildren();if(_&&_.length===1)return je.create(h.NAME)}if(C=this._parse(d,a),C===a)continue}else C=this._checkAstNode(d);if(C==null)return je.create(h.NAME);if(C=km(C),C==null||(C==null?void 0:C.nodeType)===ue.ERROR)return C;switch(C.nodeType){case ue.FUNCTION:{const _=C.getToken().trim().toUpperCase();Rc.has(_)&&C.setForcedCalculateFunction(),s.push(C);break}case ue.LAMBDA:s.push(C);break;case ue.LAMBDA_PARAMETER:s.push(C);break;case ue.OPERATOR:{const _=s.pop(),E=s.pop();E&&E.setParent(C),_&&_.setParent(C),s.push(C);break}case ue.REFERENCE:s.push(C);break;case ue.ROOT:s.push(C);break;case ue.UNION:s.push(C);break;case ue.VALUE:s.push(C);break;case ue.PREFIX:s.push(C);break;case ue.SUFFIX:s.push(C);break}}const c=s.length;for(let m=0;m<c;m++)s[m].setParent(a);return a}_checkAstNode(e){let t=null;const r=this._astNodeFactoryList.length;for(let n=0;n<r&&(t=this._astNodeFactoryList[n].checkAndCreateNodeType(e),t==null);n++);return t==null?new xm:t}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(S.sortRules)}},w.AstTreeBuilder=oh([ot(0,it),ot(1,S.Inject(ha)),ot(2,S.Inject(w.FunctionNodeFactory)),ot(3,S.Inject(w.LambdaNodeFactory)),ot(4,S.Inject(_a)),ot(5,S.Inject(w.OperatorNodeFactory)),ot(6,S.Inject(w.PrefixNodeFactory)),ot(7,S.Inject(w.ReferenceNodeFactory)),ot(8,S.Inject(w.SuffixNodeFactory)),ot(9,S.Inject(w.UnionNodeFactory)),ot(10,S.Inject(Ea))],w.AstTreeBuilder);class Do extends S.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",new Map);A(this,"_featureFormulaData",new Map);A(this,"_formulaData",new Map);A(this,"_definedNameMap",new Map);A(this,"_otherFormulaDataMainData",new Set);A(this,"_dependencyRTreeCache",new S.RTree);A(this,"_dependencyTreeIdLast",0)}buildDependencyTree(e,t){throw new Error("Method not implemented.")}getTreeById(e){throw new Error("Method not implemented.")}getAllTree(){throw new Error("Method not implemented.")}reset(){throw new Error("Method not implemented.")}addOtherFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeOtherFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearOtherFormulaDependency(e,t){throw new Error("Method not implemented.")}addFeatureFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeFeatureFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearFeatureFormulaDependency(e,t){throw new Error("Method not implemented.")}addFormulaDependency(e,t,r,n,s){throw new Error("Method not implemented.")}removeFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}clearFormulaDependency(e,t){throw new Error("Method not implemented.")}removeFormulaDependencyByDefinedName(e,t){throw new Error("Method not implemented.")}searchDependency(e,t){return this._dependencyRTreeCache.bulkSearch(e,t)}_restDependencyTreeId(){this._dependencyTreeIdLast=0}getOtherFormulaDependency(e,t,r){var n,s;return(s=(n=this._otherFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}addOtherFormulaDependencyMainData(e){this._otherFormulaDataMainData.add(e)}hasOtherFormulaDataMainData(e){return this._otherFormulaDataMainData.has(e)}_removeDependencyRTreeCacheById(e,t){this._dependencyRTreeCache.removeById(e,t)}getFeatureFormulaDependency(e,t,r){var n,s;return(s=(n=this._featureFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}getFormulaDependency(e,t,r,n){var s,a;return(a=(s=this._formulaData.get(e))==null?void 0:s.get(t))==null?void 0:a.getValue(r,n)}addDependencyRTreeCache(e){const t=[];for(let r=0;r<e.rangeList.length;r++){const n=e.rangeList[r],{unitId:s,sheetId:a,range:o}=n;t.push({unitId:s,sheetId:a,range:o,id:e.treeId})}this._dependencyRTreeCache.bulkInsert(t),this._addAllTreeMap(e)}getLastTreeId(){const e=this._dependencyTreeIdLast;return this._dependencyTreeIdLast++,e}_addAllTreeMap(e){throw new Error("Method not implemented.")}_addDefinedName(e,t,r){this._definedNameMap.has(e)||this._definedNameMap.set(e,new Map);const n=this._definedNameMap.get(e);n.has(t)||n.set(t,new Set),n.get(t).add(r)}addFormulaDependencyByDefinedName(e,t){const r=e.treeId,n=(t==null?void 0:t.getDefinedNames())||[];for(const s of n)this._addDefinedName(e.unitId,s,r)}updateDependencyTreeDirtyState(e,t){throw new Error("Method not implemented.")}}class wo extends Do{constructor(){super(...arguments);A(this,"_allTreeMap",new Map)}dispose(){super.dispose(),this.reset()}buildDependencyTree(e,t=[]){const r=this.getAllTree();return e.length===0?(this._buildReverseDependency(r,t),r):(this._buildDependencyTree(r,e),this._buildReverseDependency(r,e),r)}_buildDependencyTree(e,t){const r=new Map;for(let n=0;n<t.length;n++){const s=t[n];r.set(s.treeId,s)}for(let n=0;n<e.length;n++){const s=e[n],a=s.toRTreeItem(),o=this._dependencyRTreeCache.bulkSearch(a);for(const l of o){const c=r.get(l);c&&s!==c&&!c.hasChildren(s.treeId)&&c.pushChildren(s)}}r.clear()}_buildReverseDependency(e,t){const r=new Map;for(let n=0;n<e.length;n++){const s=e[n];r.set(s.treeId,s)}for(let n=0;n<t.length;n++){const s=t[n],a=s.toRTreeItem(),o=this._dependencyRTreeCache.bulkSearch(a);for(const l of o){const c=r.get(l);c&&s!==c&&!c.hasChildren(s.treeId)&&c.pushChildren(s)}}r.clear()}getAllTree(){const e=[];return this._allTreeMap.forEach(t=>{t.resetState(),e.push(t)}),e}getTreeById(e){return this._allTreeMap.get(e)}reset(){this._otherFormulaData.clear(),this._featureFormulaData.clear(),this._formulaData.clear(),this._definedNameMap.clear(),this._otherFormulaDataMainData.clear(),this._dependencyRTreeCache.clear(),this._allTreeMap.clear(),this._restDependencyTreeId()}addOtherFormulaDependency(e,t,r,n){this._otherFormulaData.has(e)||this._otherFormulaData.set(e,new Map);const s=this._otherFormulaData.get(e);s.has(t)||s.set(t,new Map);const a=s.get(t);a.has(r)||a.set(r,new S.ObjectMatrix),a.get(r).setValue(n.refOffsetX,n.refOffsetY,n.treeId),this._addAllTreeMap(n)}removeOtherFormulaDependency(e,t,r){const n=this._otherFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const o=s.get(a);o!=null&&(o.forValue((l,c,f)=>{this._removeDependencyRTreeCache(f),this.clearDependencyForTree(this._allTreeMap.get(f)),this._removeAllTreeMap(f)}),s.delete(a),this._otherFormulaDataMainData.delete(a))}),s.size===0&&n.delete(t),n.size===0&&this._otherFormulaData.delete(e)}}clearOtherFormulaDependency(e,t){const r=this._otherFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t);for(const s of n.keys()){const a=n.get(s);a!=null&&(a.forValue((o,l,c)=>{const f=this._allTreeMap.get(c);f&&(this.clearDependencyForTree(f),this._removeAllTreeMap(c))}),this._otherFormulaDataMainData.delete(s))}n.clear()}else if(r){for(const n of r.keys()){const s=r.get(n);this._removeDependencyRTreeCacheById(e,n);for(const a of s.keys()){const o=s.get(a);o!=null&&(o.forValue((l,c,f)=>{const m=this._allTreeMap.get(f);m&&(this.clearDependencyForTree(m),this._removeAllTreeMap(f))}),this._otherFormulaDataMainData.delete(a))}}this._otherFormulaData.delete(e)}}addFeatureFormulaDependency(e,t,r,n){this._featureFormulaData.has(e)||this._featureFormulaData.set(e,new Map);const s=this._featureFormulaData.get(e);s.has(t)||s.set(t,new Map),s.get(t).set(r,n.treeId),this._addAllTreeMap(n)}removeFeatureFormulaDependency(e,t,r){const n=this._featureFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const o=s.get(a);o!=null&&(this._removeDependencyRTreeCache(o),s.delete(a),this.clearDependencyForTree(this._allTreeMap.get(o)),this._removeAllTreeMap(o))})}}clearFeatureFormulaDependency(e,t){const r=this._featureFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forEach(s=>{s!=null&&(this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s))}),n.clear()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forEach(a=>{a!=null&&(this.clearDependencyForTree(this._allTreeMap.get(a)),this._removeAllTreeMap(a))})}),this._featureFormulaData.delete(e))}addFormulaDependency(e,t,r,n,s){this._formulaData.has(e)||this._formulaData.set(e,new Map);const a=this._formulaData.get(e);a.has(t)||a.set(t,new S.ObjectMatrix),a.get(t).setValue(r,n,s.treeId),this._addAllTreeMap(s)}removeFormulaDependency(e,t,r,n){const s=this._formulaData.get(e);if(s&&s.has(t)){const a=s.get(t),o=a.getValue(r,n);if(o==null)return;this._removeDependencyRTreeCache(o),a.realDeleteValue(r,n),this.clearDependencyForTree(this._allTreeMap.get(o)),this._removeAllTreeMap(o)}}clearFormulaDependency(e,t){const r=this._formulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forValue((s,a,o)=>{if(o==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(o)),this._removeAllTreeMap(o)}),n.reset()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forValue((a,o,l)=>{if(l==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(l)),this._removeAllTreeMap(l)})}),this._formulaData.delete(e))}clearDependencyForTree(e){if(e==null)return;const t=e.parents,r=e.children,n=this._allTreeMap;for(const s of t){const a=n.get(s);a==null||a.children.delete(e.treeId)}for(const s of r){const a=n.get(s);a==null||a.parents.delete(e.treeId)}e.dispose()}_removeDependencyRTreeCache(e){if(e==null)return;const t=this._allTreeMap.get(e);if(t){const r=[];for(let n=0;n<t.rangeList.length;n++){const s=t.rangeList[n],{unitId:a,sheetId:o,range:l}=s;r.push({unitId:a,sheetId:o,range:l,id:e})}this._dependencyRTreeCache.bulkRemove(r)}}removeFormulaDependencyByDefinedName(e,t){const r=this._definedNameMap.get(e);if(r){const n=r.get(t);if(n){for(const s of n)this._removeDependencyRTreeCache(s),this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s);n.clear()}}}_removeAllTreeMap(e){e!=null&&this._allTreeMap.delete(e)}_addAllTreeMap(e){this._allTreeMap.set(e.treeId,e)}updateDependencyTreeDirtyState(e,t){const r=this._allTreeMap.get(e);r&&(r.isDirty=t)}}const Qr=S.createIdentifier("univer.formula.dependency-manager.service");class Lo extends S.Disposable{constructor(){super(...arguments);A(this,"_referenceExecutorMap",new Map);A(this,"_onChanged$",new Oe.Subject);A(this,"onChanged$",this._onChanged$.asObservable())}dispose(){super.dispose(),this._referenceExecutorMap.clear(),this._onChanged$.complete()}remove(e,t,r){r.forEach(n=>{var s,a;(a=(s=this._referenceExecutorMap.get(e))==null?void 0:s.get(t))==null||a.delete(n)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:r})}get(e,t,r){var n,s;return(s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}has(e,t,r){var n,s;return!!((s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))!=null&&s.has(r))}register(e,t,r,n){let s=this._referenceExecutorMap.get(e);s||(s=new Map,this._referenceExecutorMap.set(e,s));let a=s.get(t);a||(a=new Map,s.set(t,a)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[r]}),a.set(r,n)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const br=S.createIdentifier("univer.formula.feature-calculation-manager.service");class Po extends S.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",{})}dispose(){super.dispose(),this._otherFormulaData={}}remove(e){var s,a,o;const{unitId:t,subUnitId:r,formulaId:n}=e;(o=(a=(s=this._otherFormulaData)==null?void 0:s[t])==null?void 0:a[r])==null||delete o[n]}get(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return(a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n]}has(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return((a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n])!=null}register(e){const{unitId:t,subUnitId:r,formulaId:n,item:s}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][n]=s}batchRegister(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{const o=s[a];if(o==null)return!0;this.register({unitId:t,subUnitId:n,formulaId:a,item:o})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{this.remove({unitId:t,subUnitId:n,formulaId:a})})})})}getOtherFormulaData(){return this._otherFormulaData}}const Hn=S.createIdentifier("univer.formula.other-formula-manager.service");var Xt=(i=>(i[i.NORMAL_FORMULA=0]="NORMAL_FORMULA",i[i.OTHER_FORMULA=1]="OTHER_FORMULA",i[i.FEATURE_FORMULA=2]="FEATURE_FORMULA",i))(Xt||{});class jo{constructor(){A(this,"_state",0);A(this,"type",0);A(this,"treeId");A(this,"children",new Set);A(this,"parents",new Set)}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}pushChildren(u){this.children.add(u.treeId),u._pushParent(this)}hasChildren(u){return this.children.has(u)}_pushParent(u){this.parents.add(u.treeId)}}class Ra extends jo{constructor(){super(...arguments);A(this,"refTree");A(this,"refOffsetX",-1);A(this,"refOffsetY",-1);A(this,"isCache",!1);A(this,"isDirty",!1);A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");A(this,"featureId")}get isVirtual(){return!0}get row(){return this.refTree==null?-1:this.refTree.row+this.refOffsetY}get column(){return this.refTree==null?-1:this.refTree.column+this.refOffsetX}get rowCount(){return this.refTree==null?0:this.refTree.rowCount}get columnCount(){return this.refTree==null?0:this.refTree.columnCount}get unitId(){return this.refTree==null?"":this.refTree.unitId}get subUnitId(){return this.refTree==null?"":this.refTree.subUnitId}get formula(){var e,t;return(t=(e=this.refTree)==null?void 0:e.formula)!=null?t:""}get nodeData(){return{node:this.node,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}get node(){var e;return(e=this.refTree)==null?void 0:e.node}dispose(){this.refTree=null}get rangeList(){const e=[];if(this.refTree==null)return[];for(let t=0;t<this.refTree.rangeList.length;t++){const r=this.refTree.rangeList[t];e.push({unitId:r.unitId,sheetId:r.sheetId,range:S.moveRangeByOffset(r.range,this.refOffsetX,this.refOffsetY)})}return e}toRTreeItem(){const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,o=this.column;return!(a<t||a>n||o<r||o>s)}dependencySheetName(e){return this.refTree==null?!1:this.refTree.dependencySheetName(e)}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:o,sheetId:l,range:c}=a,f=(r=e==null?void 0:e[o])==null?void 0:r[l];let{startRow:m,endRow:d,startColumn:C,endColumn:_}=c;Number.isNaN(m)&&(m=0),Number.isNaN(C)&&(C=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(_)&&(_=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((R,y)=>{if(R>=m&&R<=d&&y>=C&&y<=_)return E=!0,!1}),E)return!0}return!1}get formulaId(){return this.refTree==null?"":this.refTree.formulaId}}class Gn extends jo{constructor(e){super();A(this,"isCache",!1);A(this,"featureId");A(this,"featureDirtyRanges",[]);A(this,"refOffsetX",0);A(this,"refOffsetY",0);A(this,"formulaId");A(this,"subUnitId","");A(this,"unitId","");A(this,"rangeList",[]);A(this,"formula","");A(this,"row",-1);A(this,"column",-1);A(this,"rowCount",Number.NEGATIVE_INFINITY);A(this,"columnCount",Number.NEGATIVE_INFINITY);A(this,"isDirty",!1);A(this,"node");A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");this.treeId=e}get isVirtual(){return!1}get nodeData(){return{node:this.node,refOffsetX:0,refOffsetY:0}}toJson(){return{formula:this.formula,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}dispose(){this.featureDirtyRanges=[],this.rangeList=[],this.addressFunctionNodes=[],this.getDirtyData=null}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,o=this.column;return!(a<t||a>n||o<r||o>s)}dependencySheetName(e){var r;const t=this.rangeList;if(t.length===0||e==null)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:o,sheetId:l}=a;if(((r=e[o])==null?void 0:r[l])!=null)return!0}return!1}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:o,sheetId:l,range:c}=a,f=(r=e==null?void 0:e[o])==null?void 0:r[l];let{startRow:m,endRow:d,startColumn:C,endColumn:_}=c;Number.isNaN(m)&&(m=0),Number.isNaN(C)&&(C=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(_)&&(_=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((R,y)=>{if(R>=m&&R<=d&&y>=C&&y<=_)return E=!0,!1}),E)return!0}return!1}pushRangeList(e){this.rangeList.push(...e)}shouldBePushRangeList(){return this.rangeList.length===0&&this.type!==2}toRTreeItem(){if(this.featureId!=null)return this.featureDirtyRanges;const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}}class ya{constructor(u){A(this,"children",new Set);A(this,"parents",new Set);A(this,"treeId",-1);A(this,"formula","");A(this,"refOffsetX",0);A(this,"refOffsetY",0);A(this,"row",-1);A(this,"column",-1);A(this,"unitId","");A(this,"subUnitId","");A(this,"rangeList",[]);A(this,"refTreeId");A(this,"formulaId");A(this,"featureId");A(this,"type");var e,t,r,n;this.treeId=u.treeId,this.row=u.row,this.column=u.column,this.unitId=u.unitId,this.subUnitId=u.subUnitId,this.refOffsetX=u.refOffsetX,this.refOffsetY=u.refOffsetY,this.rangeList=u.rangeList,u.isVirtual?this.refTreeId=(t=(e=u.refTree)==null?void 0:e.treeId)!=null?t:-1:(this.formula=u.formula,this.formulaId=(r=u.formulaId)!=null?r:void 0,this.featureId=(n=u.featureId)!=null?n:void 0,this.type=u.type)}toJson(){return{children:Array.from(this.children).map(u=>u.treeId),parents:Array.from(this.parents).map(u=>u.treeId),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}toFullJson(){return{children:Array.from(this.children).map(u=>u.toJson()),parents:Array.from(this.parents).map(u=>u.toJson()),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}addParent(u){this.parents.add(u)}addChild(u){this.children.add(u)}}var uh=Object.getOwnPropertyDescriptor,lh=(i,u,e,t)=>{for(var r=t>1?void 0:t?uh(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},_t=(i,u)=>(e,t)=>u(e,t,i);function Kt(i){return i.getLastTreeId()||0}const Wn=S.createIdentifier("engine-formula.dependency-generator");w.FormulaDependencyGenerator=class extends S.Disposable{constructor(e,t,r,n,s,a,o,l,c,f){super();A(this,"_updateRangeFlattenCache",new Map);A(this,"_dependencyRTreeCacheForAddressFunction",new S.RTree);A(this,"_executedAddressFunctionNodeIds",new Set);A(this,"_formulaDependencyTreeModel",new Map);this._currentConfigService=e,this._runtimeService=t,this._otherFormulaManagerService=r,this._featureCalculationManagerService=n,this._univerInstanceService=s,this._interpreter=a,this._astTreeBuilder=o,this._lexer=l,this._dependencyManagerService=c,this._lexerTreeBuilder=f,this._initUnitDispose()}dispose(){super.dispose(),this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),qt.clear()}_initUnitDispose(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(S.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{this._disposeByUnitId(e.getUnitId())}))}_disposeByUnitId(e){qt.forEach((t,r)=>{r.startsWith(e)&&qt.delete(r)})}async generate(e=!1){this._updateRangeFlatten();const t=this._currentConfigService.getFormulaData(),r=this._otherFormulaManagerService.getOtherFormulaData(),n=this._currentConfigService.getClearDependencyTreeCache();n!=null&&Object.keys(n).forEach(m=>{m!=null&&Object.keys(n[m]).forEach(d=>{d!=null&&(this._dependencyManagerService.clearOtherFormulaDependency(m,d),this._dependencyManagerService.clearFeatureFormulaDependency(m,d),this._dependencyManagerService.clearFormulaDependency(m,d))})});const s=this._currentConfigService.getUnitData(),a=await this._generateTreeList(t,r,s);e&&this._runtimeService.setDependencyTreeModelData(this._getAllDependencyJson(a));const o=this._getUpdateTreeListAndMakeDependency(a);let l=this._calculateRunList(o);return this._dependencyFeatureCalculation(l)&&(l.forEach(m=>{m.resetState()}),l=this._calculateRunList(l)),this._checkIsCycleDependency(l)&&this._runtimeService.enableCycleDependency(),this._dependencyRTreeCacheForAddressFunction.clear(),this._runtimeService.clearArrayObjectCache(),Promise.resolve(l)}_dependencyFeatureCalculation(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();if(t.size===0)return;this._clearFeatureCalculationNode(e);let r=!1;return t.forEach((n,s)=>{n.forEach((a,o)=>{a.forEach((l,c)=>{const{unitId:f,subUnitId:m,getDirtyData:d}=l,C=d(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),_=this._convertDirtyRangesToUnitRange(C.dirtyRanges),E=this._intersectFeatureCalculation(_,e,{unitId:f,subUnitId:m,featureId:c});if(E.length>0){let R=this._getExistTreeList({unitId:f,subUnitId:m,featureId:c},e);R==null&&(R=this._getFeatureFormulaTree(c,Kt(this._dependencyManagerService),l),e.push(R)),R.parents=new Set,E.forEach(y=>{y.hasChildren(R.treeId)||y.pushChildren(R)}),r=!0}})})}),r}_clearFeatureCalculationNode(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();e.forEach(r=>{var a,o,l,c;const n=new Set;for(const f of r.children){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(o=(a=t.get(r.unitId))==null?void 0:a.get(r.subUnitId))!=null&&o.has(m.featureId)||n.add(f))}r.children=n;const s=new Set;for(const f of r.parents){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(c=(l=t.get(r.unitId))==null?void 0:l.get(r.subUnitId))!=null&&c.has(m.featureId)||s.add(f))}r.parents=s})}_convertDirtyRangesToUnitRange(e){const t=[];for(const r in e){const n=e[r];for(const s in n){const a=n[s];for(const o of a)t.push({unitId:r,sheetId:s,range:o})}}return t}_intersectFeatureCalculation(e,t,r){const n=[],s=this._dependencyManagerService.searchDependency(e);for(let a=0,o=t.length;a<o;a++){const l=t[a];if(l.unitId===r.unitId&&l.subUnitId===r.subUnitId&&l.featureId===r.featureId)continue;s.has(l.treeId)&&n.push(l)}return n}_getExistTreeList(e,t){const{unitId:r,subUnitId:n,featureId:s}=e;for(let a=0,o=t.length;a<o;a++){const l=t[a];if(l.unitId===r&&l.subUnitId===n&&l.featureId===s)return l}}_isCyclicUtil(e,t,r){const n=this._dependencyManagerService.getTreeById(e);if(n==null)return!1;if(!t.has(n.treeId)){t.add(n.treeId),r.add(n.treeId);for(const s of n.children)if(!t.has(s)&&this._isCyclicUtil(s,t,r)||r.has(s))return!0}return r.delete(n.treeId),!1}_checkIsCycleDependency(e){const t=new Set,r=new Set;for(let n=0,s=e.length;n<s;n++){const a=e[n];if(this._isCyclicUtil(a.treeId,t,r)===!0)return!0}return!1}async _generateTreeList(e,t,r){const n=Object.keys(e),s=Object.keys(t),a=[];this._currentConfigService.isForceCalculate()&&this._dependencyManagerService.reset(),this._registerFormulas(n,e,r,a),this._registerOtherFormulas(t,s,a),this._registerFeatureFormulas(a);for(let l=0,c=a.length;l<c;l++){const f=a[l];if(!f.formula)continue;const m=this._getTreeNode(f);f.isDirty=this._includeTree(f,m);const d=this._getAddressFunctionNodeList(m);if(d.length>0&&(f.addressFunctionNodes=d),f.isVirtual)continue;this._runtimeService.setCurrent(f.row,f.column,f.rowCount,f.columnCount,f.subUnitId,f.unitId);const C=await this._getRangeListByNode({node:m,refOffsetX:f.refOffsetX,refOffsetY:f.refOffsetY});f.pushRangeList(C)}for(let l=0,c=a.length;l<c;l++){const f=a[l];f.isCache||this._dependencyManagerService.addDependencyRTreeCache(f)}return await this._calculateListByFunctionRefNode(a),a}_registerFeatureFormulas(e){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((r,n)=>{r.forEach((s,a)=>{s.forEach((o,l)=>{const c=this._dependencyManagerService.getFeatureFormulaDependency(o.unitId,o.subUnitId,l);e.push(this._getFeatureFormulaTree(l,c,o))})})})}_getFeatureFormulaTree(e,t,r){const{unitId:n,subUnitId:s,dependencyRanges:a,getDirtyData:o}=r,l=t||Kt(this._dependencyManagerService),c=new Gn(l);c.unitId=n,c.subUnitId=s,c.rangeList=a,c.getDirtyData=o;const f=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),m=this._convertDirtyRangesToUnitRange(f.dirtyRanges);return c.featureDirtyRanges=m,c.featureId=e,c.type=Xt.FEATURE_FORMULA,this._dependencyManagerService.addFeatureFormulaDependency(n,s,e,c),this._dependencyManagerService.getFeatureFormulaDependency(r.unitId,r.subUnitId,e)&&(c.isCache=!0),c}_registerOtherFormulas(e,t,r){for(const n of t){const s=e[n];if(s==null)continue;const a=Object.keys(s);for(const o of a){const l=s[o];if(l==null)continue;const c=Object.keys(l);for(const f of c){const m=this._dependencyManagerService.hasOtherFormulaDataMainData(f),d=l[f],{f:C,ranges:_}=d;let E=!1;m&&(E=!0);const R=ga(n,C,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:y,firstColumn:N}=this._getFirstCellOfRange(_),p=this._dependencyManagerService.getOtherFormulaDependency(n,o,f),M=(p==null?void 0:p.getValue(0,0))||Kt(this._dependencyManagerService),D=new Gn(M);for(let L=0;L<_.length;L++){const P=_[L],{startRow:j,startColumn:I,endRow:v,endColumn:Y}=P;for(let Q=j;Q<=v;Q++)for(let ne=I;ne<=Y;ne++){const ee=ne-N,W=Q-y;if(ee===0&&W===0){D.node=R,D.formula=C,D.unitId=n,D.subUnitId=o,D.formulaId=f,D.type=Xt.OTHER_FORMULA,D.isCache=E,r.push(D),this._dependencyManagerService.addOtherFormulaDependency(n,o,f,D),this._dependencyManagerService.addFormulaDependencyByDefinedName(D);continue}const fe=new Ra;fe.treeId=(p==null?void 0:p.getValue(ee,W))||Kt(this._dependencyManagerService),fe.refTree=D,fe.refOffsetX=ee,fe.refOffsetY=W,fe.isCache=E,fe.type=Xt.OTHER_FORMULA,this._dependencyManagerService.addOtherFormulaDependency(n,o,f,fe),this._dependencyManagerService.addFormulaDependencyByDefinedName(fe),r.push(fe)}}this._dependencyManagerService.addOtherFormulaDependencyMainData(f)}}}}_getFirstCellOfRange(e){const t=e[0];return{firstRow:t.startRow,firstColumn:t.startColumn}}_registerFormulas(e,t,r,n){for(const s of e){const a=t[s];if(a==null)continue;const o=Object.keys(a);for(const l of o){const c=new S.ObjectMatrix(a[l]||{}),f=new Map;c.forValue((m,d,C)=>{if(C==null)return!0;const{x:_=0,y:E=0,si:R}=C;if(!(_===0&&E===0&&R!=null))return!0;const y=this._createFDtree(s,l,m,d,r,C),N=this._dependencyManagerService.getFormulaDependency(s,l,m,d);N!=null?(y.treeId=N,y.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(N,!1)):(this._dependencyManagerService.addFormulaDependency(s,l,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),f.set(R,y),n.push(y)}),c.forValue((m,d,C)=>{if(C==null)return!0;const{x:_=0,y:E=0,si:R}=C;if(_===0&&E===0&&R!=null)return!0;let y;if(R&&f.has(R)){const p=f.get(R);y=this._createVirtualFDtree(p,C)}else y=this._createFDtree(s,l,m,d,r,C);const N=this._dependencyManagerService.getFormulaDependency(s,l,m,d);N!=null?(y.treeId=N,y.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(N,!1)):(this._dependencyManagerService.addFormulaDependency(s,l,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),n.push(y)}),f.clear()}}}_createFDtree(e,t,r,n,s,a){const{f:o,x:l=0,y:c=0}=a,f=new Gn(Kt(this._dependencyManagerService)),m=s[e][t],d=ga(e,o,this._lexer,this._astTreeBuilder,this._currentConfigService);return f.node=d,f.formula=o,f.unitId=e,f.subUnitId=t,f.row=r,f.column=n,f.rowCount=m.rowCount,f.columnCount=m.columnCount,f}_createVirtualFDtree(e,t){const{x:r=0,y:n=0}=t,s=new Ra;return s.treeId=Kt(this._dependencyManagerService),s.refTree=e,s.refOffsetX=r,s.refOffsetY=n,s}_updateRangeFlatten(){const e=this._currentConfigService.isForceCalculate(),t=this._currentConfigService.getDirtyRanges();if(!e){this._updateRangeFlattenCache.clear();for(let r=0;r<t.length;r++){const n=t[r],s=n.range,a=n.sheetId,o=n.unitId;this._addFlattenCache(o,a,s)}}}_addFlattenCache(e,t,r){let n=this._updateRangeFlattenCache.get(e);n==null&&(n=new Map,this._updateRangeFlattenCache.set(e,n));let s=n.get(t);s==null&&(s=[],n.set(t,s)),s.push(r)}_isPreCalculateNode(e){return e.nodeType===ue.UNION||e.nodeType===ue.PREFIX&&e.getToken()===De.AT||e.nodeType===ue.SUFFIX&&e.getToken()===Ke.POUND}_nodeTraversalRef(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(this._isPreCalculateNode(a)){if(t.push(a),a.nodeType===ue.UNION)for(const o of a.getChildren())o.nodeType===ue.FUNCTION&&o.isAddress()&&this._nodeTraversalRef(o,t);continue}else a.nodeType===ue.REFERENCE&&t.push(a);this._nodeTraversalRef(a,t)}}_nodeTraversalReferenceFunction(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.nodeType===ue.FUNCTION&&a.isAddress()){t.push(a);continue}this._nodeTraversalReferenceFunction(a,t)}}async _executeNode(e,t=0,r=0){let n;const s={node:e,refOffsetX:t,refOffsetY:r};return this._interpreter.checkAsyncNode(e)?n=await this._interpreter.executeAsync(s):n=this._interpreter.execute(s),n}async _getRangeListByNode(e){const t=[],r=e.refOffsetX,n=e.refOffsetY,s=e.node;if(s==null)return[];this._nodeTraversalRef(s,t);const a=[];for(let o=0,l=t.length;o<l;o++){const c=t[o],m=(await this._executeNode(c,r,n)).toUnitRange();a.push(m),c.setValue(null)}return a}_getAddressFunctionNodeList(e){const t=[];return e==null?[]:(this._nodeTraversalReferenceFunction(e,t),t)}_getTreeNode(e){return e.node}async _buildDirtyRangesByAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY,a=await this._getRangeListByFunctionRefNode(r,n,s);t.addressFunctionNodes=[],this._addDependencyTreeByAddressFunction(t,a);const o=e.bulkSearch(a),l=this._buildTreeNodeById(o);l.length!==0&&await this._calculateAddressFunctionRuntimeData(e,l)}async _calculateListByFunctionRefNode(e){const t=new S.RTree;for(let r=0,n=e.length;r<n;r++){const s=e[r];t.insert({unitId:s.unitId,sheetId:s.subUnitId,range:{startRow:s.row,startColumn:s.column,endRow:s.row,endColumn:s.column},id:s.treeId})}this._executedAddressFunctionNodeIds.clear();for(let r=0,n=e.length;r<n;r++){const s=e[r];await this._calculateAddressFunction(t,s)}}async _calculateAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);const a=[];for(let c=0,f=r.length;c<f;c++){const m=await this._getRangeListByNode({node:r[c],refOffsetX:n,refOffsetY:s});a.push(...m)}const o=new Set;this._searchDependencyByAddressFunction(e,a,o);const l=this._buildTreeNodeById(o);if(l.length===0){await this._buildDirtyRangesByAddressFunction(e,t);return}await this._calculateAddressFunctionRuntimeData(e,l),await this._buildDirtyRangesByAddressFunction(e,t)}async _calculateAddressFunctionRuntimeData(e,t){for(;t.length>0;){const r=t.pop(),s={node:this._getTreeNode(r),refOffsetX:r.refOffsetX,refOffsetY:r.refOffsetY};await this._calculateAddressFunction(e,r),this._runtimeService.setCurrent(r.row,r.column,r.rowCount,r.columnCount,r.subUnitId,r.unitId);let a;this._interpreter.checkAsyncNode(s.node)?a=await this._interpreter.executeAsync(s):a=this._interpreter.execute(s),r.formulaId!=null?this._runtimeService.setRuntimeOtherData(r.formulaId,r.refOffsetX,r.refOffsetY,a):this._runtimeService.setRuntimeData(a)}}_buildTreeNodeById(e){const t=[];for(const r of e){const n=this._getTreeById(r);!n||this._executedAddressFunctionNodeIds.has(r)||(this._executedAddressFunctionNodeIds.add(r),t.push(n))}return t}_searchDependencyByAddressFunction(e,t,r){const n=e.bulkSearch(t),s=this._dependencyRTreeCacheForAddressFunction.bulkSearch(t);for(const o of s)r.has(o)||r.add(o);const a=[];for(const o of n){const l=this._getTreeById(o);l&&!r.has(o)&&(a.push(...l.rangeList),r.add(o))}return a.length>0&&this._searchDependencyByAddressFunction(e,a,r),r}_getTreeById(e){return this._dependencyManagerService.getTreeById(e)}_addDependencyTreeByAddressFunction(e,t){const r=[];for(let n=0;n<t.length;n++){const s=t[n],{unitId:a,sheetId:o,range:l}=s;r.push({unitId:a,sheetId:o,range:l,id:e.treeId})}this._dependencyRTreeCacheForAddressFunction.bulkInsert(r)}async _getRangeListByFunctionRefNode(e,t,r){const n=[];for(let s=0,a=e.length;s<a;s++){const o=e[s],c=(await this._executeNode(o,t,r)).toUnitRange();n.push(c),o.setValue(null)}return n}_getUpdateTreeListAndMakeDependency(e){const t=[],r=new Set,n=this._currentConfigService.isForceCalculate(),s=this._currentConfigService.getDirtyRanges(),a=this._dependencyManagerService.searchDependency(s),o=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s);for(const c of o)a.add(c);const l=this._dependencyManagerService.buildDependencyTree(e);for(const c of l){const f=c.treeId;(n||c.isDirty||c.dependencySheetName(this._currentConfigService.getDirtyNameMap())||a.has(f)&&!c.isExcludeRange(this._currentConfigService.getExcludedRange()))&&!r.has(f)&&(t.push(c),r.add(f))}return t}_includeTreeFeature(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.featureId;if(n!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(s=o==null?void 0:o[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_includeOtherFormula(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.formulaId;if(n!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(s=o==null?void 0:o[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_detectForcedRecalculationNode(e,t){return t==null?!1:this._detectForcedRecalculationNodeRecursion(t)}_detectForcedRecalculationNodeRecursion(e){if(e.isForcedCalculateFunction())return!0;const t=e.getChildren();for(let r=0,n=t.length;r<n;r++){const s=t[r];if(this._detectForcedRecalculationNodeRecursion(s))return!0}return!1}_includeTree(e,t){var c,f,m;const r=e.unitId,n=e.subUnitId;if(this._detectForcedRecalculationNode(e,t)===!0||this._includeTreeFeature(e)===!0||this._includeOtherFormula(e)===!0||wm(e,t,this._currentConfigService)===!0)return!0;const s=(f=(c=this._currentConfigService.getExcludedRange())==null?void 0:c[r])==null?void 0:f[n];if((s==null?void 0:s.getValue(e.row,e.column))!=null)return!1;if(((m=this._currentConfigService.getDirtyNameMap()[r])==null?void 0:m[n])!=null)return!0;if(!this._updateRangeFlattenCache.has(r))return!1;const o=this._updateRangeFlattenCache.get(r);if(!o.has(n))return!1;const l=o.get(n);for(const d of l)if(e.inRangeData(d))return!0;return!1}_calculateRunList(e){e.length;const t=e,r=[],n=[];for(;t.length>0;){const s=t.pop();if(s===void 0||s.isSkip())continue;if(s.isAdded()){r.push(s),s.setSkip();continue}n.length=0;for(const o of s.parents){const l=this._dependencyManagerService.getTreeById(o);if(!l){console.error("Dependency tree not found for treeId:",o);continue}l.isAdded()||s.isSkip()||n.push(l)}const a=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s.toRTreeItem());for(const o of a){const l=this._dependencyManagerService.getTreeById(o);if(!l){console.error("Dependency tree not found for treeId:",o);continue}l.isAdded()||s.isSkip()||n.push(l)}n.length===0?(r.push(s),s.setSkip()):(s.setAdded(),t.push(s,...n))}return r}async _initializeGenerateTreeList(){const e=this._currentConfigService.getFormulaData(),t=this._otherFormulaManagerService.getOtherFormulaData(),r=this._currentConfigService.getUnitData();return await this._generateTreeList(e,t,r)}async _getAllTreeList(){const e=await this._initializeGenerateTreeList();return this._dependencyManagerService.buildDependencyTree(e)}_getTreeModel(e){let t=this._formulaDependencyTreeModel.get(e);if(!t){const r=this._getTreeById(e);if(!r){console.error("FormulaDependencyTree is null for treeId:",e);return}t=new ya(r),this._formulaDependencyTreeModel.set(e,t)}return t}_getDependencyTreeParenIds(e){return e.parents}_getDependencyTreeChildrenIds(e){return e.children}_getFormulaDependencyTreeModel(e){const t=this._getTreeModel(e.treeId),r=this._getDependencyTreeParenIds(e);if(!t)return new ya(e);for(const n of r){const s=this._getTreeModel(n);s&&(t.addParent(s),s.addChild(t))}return t}_endFormulaDependencyTreeModel(){this._formulaDependencyTreeModel.clear()}_startFormulaDependencyTreeModel(){}_getAllDependencyJson(e){this._startFormulaDependencyTreeModel();const t=[];for(const n of e){const s=n.type;if(n.isVirtual&&(s===Xt.FEATURE_FORMULA||s===Xt.OTHER_FORMULA))continue;const a=this._getFormulaDependencyTreeModel(n);t.push(a)}const r=[];for(const n of t)r.push(n.toJson());return this._endFormulaDependencyTreeModel(),r}async getAllDependencyJson(){const e=await this._getAllTreeList();return this._getAllDependencyJson(e)}_setRealFormulaString(e){if(e.refTreeId==null)return;const t=this._getTreeById(e.refTreeId);if(!t)return;const r=this._lexerTreeBuilder.moveFormulaRefOffset(t.formula,e.refOffsetX,e.refOffsetY);e.formula=r}async getCellDependencyJson(e,t,r,n){await this._initializeGenerateTreeList();const s=this._dependencyManagerService.getFormulaDependency(e,t,r,n);if(s==null)return;const a=this._getTreeById(s);if(!a)return;this._startFormulaDependencyTreeModel();const o=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(o);const l=this._getDependencyTreeChildrenIds(a);for(const c of l){const f=this._getTreeModel(c);f&&(this._setRealFormulaString(f),o.addChild(f))}for(const c of o.parents)this._setRealFormulaString(c);return this._endFormulaDependencyTreeModel(),o.toFullJson()}_getRangeDependents(e){const t=this._dependencyManagerService.searchDependency(e),r=[];for(const s of t){const a=this._getTreeById(s);if(!a)continue;const o=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(o),r.push(o)}const n=[];for(const s of r)s&&n.push(s.toJson());return n}async getRangeDependents(e){await this._initializeGenerateTreeList(),this._startFormulaDependencyTreeModel();const t=this._getRangeDependents(e);return this._endFormulaDependencyTreeModel(),t}_getInRangeFormulas(e,t){const r=[];for(const a of t)for(const o of e){const l=o.unitId,c=o.sheetId;if(!(a.unitId!==l||a.subUnitId!==c)&&(o.range,a.inRangeData(o.range))){r.push(a);break}}const n=[];for(const a of r){const o=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(o),n[a.treeId]=o}const s=[];for(const a of n)a&&s.push(a.toJson());return s}async getInRangeFormulas(e){const t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();const r=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),r}async getRangeDependentsAndInRangeFormulas(e){const t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();const r=this._getRangeDependents(e),n=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),{dependents:r,inRanges:n}}},w.FormulaDependencyGenerator=lh([_t(0,Vt),_t(1,it),_t(2,Hn),_t(3,br),_t(4,S.Inject(S.IUniverInstanceService)),_t(5,S.Inject(w.Interpreter)),_t(6,S.Inject(w.AstTreeBuilder)),_t(7,S.Inject(w.Lexer)),_t(8,Qr),_t(9,S.Inject(dr))],w.FormulaDependencyGenerator);var ch=Object.getOwnPropertyDescriptor,fh=(i,u,e,t)=>{for(var r=t>1?void 0:t?ch(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Zt=(i,u)=>(e,t)=>u(e,t,i);const To=500,Qn=S.createIdentifier("engine-formula.calculate-formula.service");w.CalculateFormulaService=class extends S.Disposable{constructor(e,t,r,n,s,a,o){super();A(this,"_executionInProgressListener$",new Oe.Subject);A(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());A(this,"_executionCompleteListener$",new Oe.Subject);A(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());A(this,"_executeLock",new S.AsyncLock);A(this,"_isCalculateTreeModel",!1);this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=n,this._formulaDependencyGenerator=s,this._interpreter=a,this._astTreeBuilder=o}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),Er.clear(),Ge.clear(),Cs.clear(),aa.clear()}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._runtimeService.setFormulaExecuteStage(qe.START),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._currentConfigService.load(e),this._runtimeService.reset();const t=e.maxIteration||ki;this._isCalculateTreeModel=e.isCalculateTreeModel||!1,this._executeLock.acquire("FORMULA_EXECUTION_LOCK",async()=>{for(let r=0;r<t&&(this._runtimeService.setFormulaCycleIndex(r),await this._executeStep(),Er.clear(),!!this._runtimeService.isCycleDependency());r++);this._runtimeService.setFormulaExecuteStage(qe.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),Ge.clear(),this._runtimeService.reset()})}async _executeStep(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:r}=e,{dirtyRanges:n,excludedCell:s}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,r);return n==null||n.length===0||(Er.clear(),this._currentConfigService.loadDirtyRangesAndExcludedCell(n,s),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const r=[],n={};return Object.keys(e).forEach(s=>{const a=e[s];if(a==null)return!0;Object.keys(a).forEach(o=>{const l=new S.ObjectMatrix(a[o]);if(l==null)return!0;const c=new S.ObjectMatrix;l.forValue((f,m,d)=>{c.setValue(f,m,!0),r.push({unitId:s,sheetId:o,range:d})}),n[s]==null&&(n[s]={}),n[s][o]=c})}),Object.keys(t).forEach(s=>{const a=t[s];Object.keys(a).forEach(o=>{const l=a[o];if(l==null)return!0;Object.keys(l).forEach(c=>{const f=l[c];if(f==null)return!0;for(const m of f)r.push({unitId:o,sheetId:c,range:m})})})}),{dirtyRanges:r,excludedCell:n}}async _apply(e=!1){var l;e?this._runtimeService.setFormulaExecuteStage(qe.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(qe.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=(await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(),r=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(qe.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(qe.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let n=[];const s=this._configService.getConfig(pn),a=(s==null?void 0:s.intervalCount)||To,o=t.length;for(let c=0;c<o;c++){const f=t[c],m=f.nodeData,d=f.getDirtyData;if(c%a===0&&(await new Promise(_=>{const E=S.requestImmediateMacroTask(_);n.push(E)}),e?(this._runtimeService.setFormulaExecuteStage(qe.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(c+1)):(this._runtimeService.setFormulaExecuteStage(qe.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(c+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||m==null&&d==null)){this._runtimeService.setFormulaExecuteStage(qe.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}this._runtimeService.setCurrent(f.row,f.column,f.rowCount,f.columnCount,f.subUnitId,f.unitId);let C;if(d!=null&&f.featureId!=null){const{runtimeCellData:_,dirtyRanges:E}=d(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(f.featureId,_),this._runtimeService.setRuntimeFeatureRange(f.featureId,E)}else m!=null&&(r.checkAsyncNode(m.node)?C=await r.executeAsync(m):C=r.execute(m),f.formulaId!=null?this._runtimeService.setRuntimeOtherData(f.formulaId,f.refOffsetX,f.refOffsetY,C):this._runtimeService.setRuntimeData(C));(l=m.node)==null||l.resetCalculationState()}return n.forEach(c=>c()),n=[],o>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}async executeFormulas(e,t){var s;this._currentConfigService.loadDataLite(t);const r=this._currentConfigService.getUnitData();this._runtimeService.reset();const n={};for(const a of Object.keys(e)){const o=e[a];if(o!=null){n[a]={};for(const l of Object.keys(o)){const c=o[l];if(c==null)continue;const f=(s=r[a])==null?void 0:s[l];if(f!=null){n[a][l]={};for(const m of Object.keys(c)){const d=Number.parseInt(m);n[a][l][d]={};const C=c[d];if(C)for(const _ of Object.keys(C)){const E=Number.parseInt(_),R=C[E];if(!R)continue;const y=f.rowCount||0,N=f.columnCount||0;this._runtimeService.setCurrent(d,E,y,N,l,a);const p=[];for(const M of R){let D=await this.calculate(M);if(!D){p.push({value:null,formula:M});continue}D.isReferenceObject()&&(D=D.toArrayValueObject());const L=D;if(L.isArray()){const P=L;if(P.getRowCount()===1&&P.getColumnCount()===1){p.push({value:P.getFirstCell().getValue(),formula:M});continue}p.push({value:P.toValue(),formula:M});continue}p.push({value:L.getValue(),formula:M})}n[a][l][d][E]=p}}}}}}return n}async calculate(e){const t=this._lexer.treeBuilder(e);if(Object.values(h).includes(t))return;const r=this._astTreeBuilder.parse(t),n=this._interpreter;if(r==null)return;const s={node:r,refOffsetX:0,refOffsetY:0};return n.checkAsyncNode(r)?await n.executeAsync(s):n.execute(s)}async getAllDependencyJson(){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getAllDependencyJson()}async getCellDependencyJson(e,t,r,n){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getCellDependencyJson(e,t,r,n)}async getRangeDependents(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependents(e)}async getInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getInRangeFormulas(e)}async getDependentsAndInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependentsAndInRangeFormulas(e)}},w.CalculateFormulaService=fh([Zt(0,S.IConfigService),Zt(1,S.Inject(w.Lexer)),Zt(2,Vt),Zt(3,it),Zt(4,Wn),Zt(5,S.Inject(w.Interpreter)),Zt(6,S.Inject(w.AstTreeBuilder))],w.CalculateFormulaService);var mh=Object.getOwnPropertyDescriptor,hh=(i,u,e,t)=>{for(var r=t>1?void 0:t?mh(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ba=(i,u)=>(e,t)=>u(e,t,i);w.CalculateController=class extends S.Disposable{constructor(u,e,t){super(),this._commandService=u,this._calculateFormulaService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(u=>{if(u.id===Ds.id)this._calculateFormulaService.stopFormulaExecution();else if(u.id===Os.id)this._calculate(u.params);else if(u.id===gn.id){const e=u.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:r}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(r)}else if(u.id===Ss.id)this._calculateFormulaString(u.params);else if(u.id===ws.id)this._generateAllDependencyTreeJson();else if(u.id===Ls.id)this._generateCellDependencyTreeJson(u.params);else if(u.id===js.id){const e=u.params;this._queryFormulaDependencyJson(e)}else if(u.id===Us.id){const e=u.params;this._queryFormulaDependencyAllJson(e)}}))}async _calculate(u){const{forceCalculation:e=!1,dirtyRanges:t=[],dirtyNameMap:r={},dirtyDefinedNameMap:n={},dirtyUnitFeatureMap:s={},dirtyUnitOtherFormulaMap:a={},clearDependencyTreeCache:o={},maxIteration:l=ki,rowData:c,isCalculateTreeModel:f=!1}=u,m=this._formulaDataModel.getFormulaData(),d=this._formulaDataModel.getArrayFormulaCellData(),C=this._formulaDataModel.getArrayFormulaRange();this._calculateFormulaService.execute({formulaData:m,arrayFormulaCellData:d,arrayFormulaRange:C,forceCalculate:e,dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:n,dirtyUnitFeatureMap:s,dirtyUnitOtherFormulaMap:a,clearDependencyTreeCache:o,maxIteration:l,isCalculateTreeModel:f,rowData:c})}async _queryFormulaDependencyJson(u){const{unitRanges:e,isInRange:t}=u;let r=[];t?r=await this._calculateFormulaService.getInRangeFormulas(e):r=await this._calculateFormulaService.getRangeDependents(e),this._commandService.executeCommand(Ts.id,{result:r},{onlyLocal:!0})}async _queryFormulaDependencyAllJson(u){const{unitRanges:e}=u,t=await this._calculateFormulaService.getDependentsAndInRangeFormulas(e);this._commandService.executeCommand(xs.id,{result:t},{onlyLocal:!0})}async _generateAllDependencyTreeJson(){const u=await this._calculateFormulaService.getAllDependencyJson();this._commandService.executeCommand(Nn.id,{result:u},{onlyLocal:!0})}async _generateCellDependencyTreeJson(u){const{unitId:e,sheetId:t,row:r,column:n}=u,s=await this._calculateFormulaService.getCellDependencyJson(e,t,r,n);this._commandService.executeCommand(Ps.id,{result:s},{onlyLocal:!0})}async _calculateFormulaString(u){const{formulas:e}=u,t=await this._calculateFormulaService.executeFormulas(e);this._commandService.executeCommand(Ms.id,{result:t},{onlyLocal:!0})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(u=>{const e=u.functionsExecutedState;switch(e){case Rr.NOT_EXECUTED:this._applyTreeResult(u);break;case Rr.STOP_EXECUTION:break;case Rr.SUCCESS:this._applyResult(u);break;case Rr.INITIAL:break}this._commandService.executeCommand(vr.id,{functionsExecutedState:e},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(u=>{this._commandService.executeCommand(vr.id,{stageInfo:u},{onlyLocal:!0})})}async _applyTreeResult(u){const{dependencyTreeModelData:e}=u;e.length>0&&this._commandService.executeCommand(Nn.id,{result:e},{onlyLocal:!0})}async _applyResult(u){const{unitData:e,unitOtherData:t,arrayFormulaRange:r,arrayFormulaCellData:n,clearArrayFormulaCellData:s,arrayFormulaEmbedded:a,imageFormulaData:o,dependencyTreeModelData:l}=u;if(!e){this._applyTreeResult(u),console.error("No sheetData from Formula Engine!");return}(r||a)&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaCellData(n),this._formulaDataModel.mergeArrayFormulaRange(r),this._commandService.executeCommand(gn.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData(),arrayFormulaEmbedded:a},{onlyLocal:!0})),o&&o.length>0&&this._commandService.executeCommand(Is.id,{imageFormulaData:o},{onlyLocal:!0}),this._applyTreeResult(u),this._commandService.executeCommand(bn.id,{unitData:Ac(e),unitOtherData:t},{onlyLocal:!0})}},w.CalculateController=hh([ba(0,S.ICommandService),ba(1,Qn),ba(2,S.Inject(w.FormulaDataModel))],w.CalculateController);const Uo=/[\[\]]/g;function xo(i,u){if(Uo.test(i)){const e=Number(i.replace(Uo,""));return u+e}return Number(i)-1}function Na(i,u=0,e=0){i=i.toLocaleUpperCase();const t=i.split(/[RC]/),r=t[1],n=t[2],s=xo(r,u),a=xo(n,e);return{row:s,column:a,absoluteRefType:S.AbsoluteRefType.NONE}}function vo(i,u=0,e=0){const{refBody:t,sheetName:r,unitId:n}=_n(i),s=t.indexOf(":");if(s===-1){const _=Na(t,u,e),E=_.row,R=_.column,y=_.absoluteRefType;return{unitId:n,sheetName:r,range:{startRow:E,startColumn:R,endRow:E,endColumn:R,startAbsoluteRefType:y,endAbsoluteRefType:y}}}const a=t.substring(0,s),o=t.substring(s+1),l=Na(a,u,e),c=Na(o,u,e),f=l.row,m=l.column,d=c.row,C=c.column;return{unitId:n,sheetName:r,range:{startRow:f,startColumn:m,endRow:d,endColumn:C,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function gh(i){const u=qn(i.startRow,i.startAbsoluteRefType,!0),e=qn(i.startColumn,i.startAbsoluteRefType,!1),t=qn(i.endRow,i.endAbsoluteRefType,!0),r=qn(i.endColumn,i.endAbsoluteRefType,!1);return u===t&&e===r?`R${u}C${e}`:`R${u}C${e}:R${t}C${r}`}function qn(i,u=S.AbsoluteRefType.ALL,e){switch(i+=1,u){case S.AbsoluteRefType.ALL:return`${i}`;case S.AbsoluteRefType.ROW:return e?`${i}`:`[${i}]`;case S.AbsoluteRefType.COLUMN:return e?`[${i}]`:`${i}`;case S.AbsoluteRefType.NONE:return`[${i}]`}}function zt(i){let u=i;if(i.isArray()){const e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return g.create(h.VALUE);u=i.get(0,0)}return u.isError(),u}function qr(...i){for(let u=0;u<i.length;u++){const e=zt(i[u]);if(e.isError())return{isError:!0,errorObject:e};i[u]=e}return{isError:!1,variants:i}}function q(...i){for(let u=0;u<i.length;u++){const e=zt(i[u]);if(e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[u]=e}return{isError:!1,variants:i}}function Fe(...i){for(let u=0;u<i.length;u++){let e=i[u];if(e.isError())return{isError:!0,errorObject:e};if(e.isNull())return{isError:!0,errorObject:g.create(h.NA)};if(e=zt(i[u]),e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[u]=e}return{isError:!1,variants:i}}function B(...i){for(let u=0;u<i.length;u++){let e=i[u];if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return{isError:!0,errorObject:e};i[u]=e}return{isError:!1,variants:i}}class V{constructor(u){A(this,"_unitId");A(this,"_subUnitId");A(this,"_row",-1);A(this,"_column",-1);A(this,"_definedNames");A(this,"_locale");A(this,"_sheetOrder");A(this,"_sheetNameMap");A(this,"_formulaDataModel");A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"needsExpandParams",!1);A(this,"needsReferenceObject",!1);A(this,"needsLocale",!1);A(this,"needsSheetsInfo",!1);A(this,"needsFormulaDataModel",!1);A(this,"needsSheetRowColumnCount",!1);A(this,"needsFilteredOutRows",!1);A(this,"minParams",-1);A(this,"maxParams",-1);this._name=u}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}dispose(){}getDefinedName(u){var t;const e=this._definedNames;return e==null?null:(t=Array.from(Object.values(e)).filter(r=>r.name===u))==null?void 0:t[0]}setDefinedNames(u){this._definedNames=u}getLocale(){return this._locale}setLocale(u){this._locale=u}getSheetsInfo(){return{sheetOrder:this._sheetOrder,sheetNameMap:this._sheetNameMap}}setSheetsInfo({sheetOrder:u,sheetNameMap:e}){this._sheetOrder=u,this._sheetNameMap=e}setFormulaDataModel(u){this._formulaDataModel=u}setSheetRowColumnCount(u,e){this._rowCount=u,this._columnCount=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}isArgumentsIgnoreNumberPattern(){return!1}setRefInfo(u,e,t,r){this._unitId=u,this._subUnitId=e,this._row=t,this._column=r}calculateCustom(...u){return null}calculate(...u){return g.create(h.VALUE)}checkArrayType(u){return u.isReferenceObject()||u.isValueObject()&&u.isArray()}getIndexNumValue(u,e=1){let t=u;if(t.isArray()&&(t=t.getFirstCell()),t.isBoolean())return t.getValue()===!1?g.create(h.VALUE):e;if(t.isString()){const r=Number(t.getValue());return Number.isNaN(r)?g.create(h.REF):r}else if(t.isNumber())return t.getValue();return g.create(h.VALUE)}getZeroOrOneByOneDefault(u){if(u==null)return 1;let e=1;if(u.isArray()&&(u=u.getFirstCell()),u.isBoolean())u.getValue()===!1&&(e=0);else{if(u.isString())return;u.isNumber()&&u.getValue()===0&&(e=0)}return e}getMatchTypeValue(u){if(u==null)return 1;let e=1;if(u.isArray()&&(u=u.getFirstCell()),u.isBoolean())u.getValue()===!1&&(e=0);else{if(u.isString())return;if(u.isNumber()){const t=u.getValue();t<=0&&(e=t)}}return e}binarySearch(u,e,t,r,n){const s=e.binarySearch(u,r,n);if(s==null)return g.create(h.NA);let a;return t.getRowCount()===1?a=t.get(0,s)||ce.create():a=t.get(s,0)||ce.create(),a.isNull()?b.create(0):a}_getOneFirstByRaw(u){return u.length===0?g.create(h.NA):u[0][0]||g.create(h.NA)}_getOneLastByRaw(u){return u.length===0?g.create(h.NA):u[u.length-1][u[0].length-1]||g.create(h.NA)}equalSearch(u,e,t,r=!0){const n=t.pickRaw(e.isEqual(u));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}fuzzySearch(u,e,t,r=!0){const n=t.pickRaw(e.compare(u,H.EQUALS));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}orderSearch(u,e,t,r=Le.MIN,n=!1){const s=e.orderSearch(u,r,n);if(s==null)return g.create(h.NA);const a=t.get(s.row,s.column)||ce.create();return a.isNull()?g.create(h.NA):a}binarySearchExpand(u,e,t,r=0,n,s){const a=e.binarySearch(u,n,s);return a==null?g.create(h.NA):r===0?t.slice([a,a+1]):t.slice(void 0,[a,a+1])}equalSearchExpand(u,e,t,r=!0,n=0){const s=e.isEqual(u);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}fuzzySearchExpand(u,e,t,r=!0,n=0){const s=e.compare(u,H.EQUALS);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}orderSearchExpand(u,e,t,r=Le.MIN,n=!1,s=0){const a=e.orderSearch(u,r,n);return a==null?g.create(h.NA):s===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}flattenArray(u,e=!0){const t=[];t[0]=[];for(let r=0;r<u.length;r++){let n=u[r];if((n.isString()||n.isBoolean()||n.isNull())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()){let s;if(n.iterator(a=>{if(a==null||a.isNull()||e&&(a.isString()||a.isBoolean()))return!0;if(a=this._includingLogicalValuesAndText(a),a.isError())return s=a,!1;t[0].push(a)}),s!=null&&s.isError())return s}else t[0].push(n)}return at(t,1,t[0].length)}_includingLogicalValuesAndText(u){if(u.isBoolean()&&(u=Cm(u)),u.isString()){const e=Number(u.getValue());u=b.create(Number.isNaN(e)?0:e)}return u}createReferenceObject(u,e){const t=u.getForcedUnitId()||u.getDefaultUnitId()||"",r=u.getForcedSheetId()||u.getDefaultUnitId()||"",n=u.getForcedSheetName(),a=dn({unitId:t,sheetName:n,range:e});let o;return Pr(a)?o=new ia(a):Ni(a)?o=new ua(a):pi(a)?o=new oa(a):o=new $r(e,r,t),this._setReferenceDefault(u,o)}_setReferenceDefault(u,e){if(this.unitId==null||this.subUnitId==null)return g.create(h.REF);e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId);const t=u.getUnitId();t!=null&&e.setForcedUnitIdDirect(t);const r=u.getForcedSheetId();return r!=null&&e.setForcedSheetIdDirect(r),e.setForcedSheetName(u.getForcedSheetName()),e.setUnitData(u.getUnitData()),e.setRuntimeData(u.getRuntimeData()),e.setArrayFormulaCellData(u.getArrayFormulaCellData()),e.setUnitStylesData(u.getUnitStylesData()),e}}class dh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;const{isError:n,errorObject:s,variants:a}=qr(t,r);if(n)return s;const{isError:o,errorObject:l,variants:c}=B(...a);if(o)return l;const[f,m]=c,d=Math.floor(+f.getValue()),C=Math.floor(+m.getValue());if(d<0||C<0)return g.create(h.NUM);if(d===0||C===0)return g.create(h.REF);const _=e.isArray()?e.getRowCount():1,E=e.isArray()?e.getColumnCount():1;if(_===1&&E===1)return e.isArray()?e.get(0,0):e;const R=d>_?_:d,y=C>E?E:C;return e.slice([0,R],[0,y])}}class Ch extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r],s=n.isArray()?n.getRowCount():1,a=n.isArray()?n.getColumnCount():1;for(let o=0;o<s;o++)for(let l=0;l<a;l++){const c=n.isArray()?n.get(o,l):n;t.push([c])}}return Z.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}var Xn=(i=>(i.ARRAY_CONSTRAIN="ARRAY_CONSTRAIN",i.FLATTEN="FLATTEN",i))(Xn||{});const Io=[[dh,Xn.ARRAY_CONSTRAIN],[Ch,Xn.FLATTEN]];var Nr;(i=>{const u=.636619772;function e(n,s){let a=0;for(let o=0;o<n.length;++o)a=s*a+n[o];return a}function t(n,s,a,o,l){if(s===0)return a;if(s===1)return o;const c=2/n;let f=a,m=o,d=o;for(let C=1;C<s;++C)d=m*C*c+l*f,f=m,m=d;return d}function r(n,s,a,o){return function(c,f){if(a){if(c===0)return a===1?-1/0:1/0;if(c<0)return Number.NaN}if(f===0)return n(c);if(f===1)return s(c);if(f<0)return Number.NaN;const m=f|0,d=n(c),C=s(c);return t(c,m,d,C,o)}}i.besselj=(()=>{const n=[-184.9052456,77392.33017,-1121442418e-2,6516196407e-1,-13362590354,57568490574],s=[1,267.8532712,59272.64853,9494680718e-3,1029532985,57568490411],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-934935152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function l(_){let E=0,R=0,y=0,N=_*_;if(_<8)R=e(n,N),y=e(s,N),E=R/y;else{const p=_-.785398164;N=64/N,R=e(a,N),y=e(o,N),E=Math.sqrt(u/_)*(Math.cos(p)*R-Math.sin(p)*y*8/_)}return E}const c=[-30.16036606,15704.4826,-2972611439e-3,2423968531e-1,-7895059235,72362614232],f=[1,376.9991397,99447.43394,1858330474e-2,2300535178,144725228442],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function C(_){let E=0,R=0,y=0,N=_*_;const p=Math.abs(_)-2.356194491;return Math.abs(_)<8?(R=_*e(c,N),y=e(f,N),E=R/y):(N=64/N,R=e(m,N),y=e(d,N),E=Math.sqrt(u/Math.abs(_))*(Math.cos(p)*R-Math.sin(p)*y*8/Math.abs(_)),_<0&&(E=-E)),E}return function _(E,R){const y=Math.round(R);if(!Number.isFinite(E))return Number.isNaN(E)?E:0;if(y<0)return(y%2?-1:1)*_(E,-y);if(E<0)return(y%2?-1:1)*_(-E,y);if(y===0)return l(E);if(y===1)return C(E);if(E===0)return 0;let N=0;if(E>y)N=t(E,y,l(E),C(E),-1);else{const p=2*Math.floor((y+Math.floor(Math.sqrt(40*y)))/2);let M=!1,D=0,L=0,P=1,j=0;const I=2/E;for(let v=p;v>0;v--)if(j=v*I*P-D,D=P,P=j,Math.abs(P)>1e10&&(P*=1e-10,D*=1e-10,N*=1e-10,L*=1e-10),M&&(L+=P),M=!M,v===y&&(N=D),p-v>100&&N===0)return Number.NaN;L=2*L-P,N/=L}return N}})(),i.bessely=(()=>{const n=[228.4622733,-86327.92757,1087988129e-2,-5123598036e-1,7062834065,-2957821389],s=[1,226.1030244,47447.2647,7189466438e-3,7452499648e-1,40076544269],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-934945152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function l(_){let E=0,R=0,y=0,N=_*_;const p=_-.785398164;return _<8?(R=e(n,N),y=e(s,N),E=R/y+u*(0,i.besselj)(_,0)*Math.log(_)):(N=64/N,R=e(a,N),y=e(o,N),E=Math.sqrt(u/_)*(Math.sin(p)*R+Math.cos(p)*y*8/_)),E}const c=[8511.937935,-4237922726e-3,7349264551e-1,-51534381390,127527439e4,-4900604943e3],f=[1,354.9632885,102042.605,2245904002e-2,3733650367,424441966400,249958057e5],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function C(_){let E=0,R=0,y=0,N=_*_;const p=_-2.356194491;return _<8?(R=_*e(c,N),y=e(f,N),E=R/y+u*((0,i.besselj)(_,1)*Math.log(_)-1/_)):(N=64/N,R=e(m,N),y=e(d,N),E=Math.sqrt(u/_)*(Math.sin(p)*R+Math.cos(p)*y*8/_)),E}return r(l,C,1,-1)})(),i.besseli=(()=>{const n=[.0045813,.0360768,.2659732,1.2067492,3.0899424,3.5156229,1],s=[.00392377,-.01647633,.02635537,-.02057706,.00916281,-.00157565,.00225319,.01328592,.39894228];function a(f){return f<=3.75?e(n,f*f/(3.75*3.75)):Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(s,3.75/Math.abs(f))}const o=[32411e-8,.00301532,.02658733,.15084934,.51498869,.87890594,.5],l=[-.00420059,.01787654,-.02895312,.02282967,-.01031555,.00163801,-.00362018,-.03988024,.39894228];function c(f){return f<3.75?f*e(o,f*f/(3.75*3.75)):(f<0?-1:1)*Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(l,3.75/Math.abs(f))}return function f(m,d){const C=Math.round(d);if(C===0)return a(m);if(C===1)return c(m);if(C<0)return Number.NaN;if(Math.abs(m)===0)return 0;if(m===1/0)return 1/0;let _=0,E;const R=2/Math.abs(m);let y=0,N=1,p=0;const M=2*Math.round((C+Math.round(Math.sqrt(40*C)))/2);for(E=M;E>0;E--)if(p=E*R*N+y,y=N,N=p,Math.abs(N)>1e10&&(N*=1e-10,y*=1e-10,_*=1e-10),E===C&&(_=y),M-E>100&&_===0)return Number.NaN;return _*=f(m,0)/N,m<0&&C%2?-_:_}})(),i.besselk=(()=>{const n=[74e-7,1075e-7,.00262698,.0348859,.23069756,.4227842,-.57721566],s=[53208e-8,-.0025154,.00587872,-.01062446,.02189568,-.07832358,1.25331414];function a(f){return f<=2?-Math.log(f/2)*(0,i.besseli)(f,0)+e(n,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(s,2/f)}const o=[-4686e-8,-.00110404,-.01919402,-.18156897,-.67278579,.15443144,1],l=[-68245e-8,.00325614,-.00780353,.01504268,-.0365562,.23498619,1.25331414];function c(f){return f<=2?Math.log(f/2)*(0,i.besseli)(f,1)+1/f*e(o,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(l,2/f)}return r(a,c,2,1)})()})(Nr||(Nr={}));function pa(i){return/^[01]{1,10}$/.test(i)}function Va(i){return/^[0-7]{1,10}$/.test(i)}function Oa(i){return/^[0-9A-Fa-f]{1,10}$/.test(i)}function Jt(i){if(i===0)return 0;const u=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,15626441722e-18,-85238095915e-18,6529054439e-18,5059343495e-18,-991364156e-18,-227365122e-18,96467911e-18,2394038e-18,-6886027e-18,894487e-18,313092e-18,-112708e-18,381e-18,7106e-18,-1523e-18,-94e-18,121e-18,-28e-18];let e=i,t=!1;e<0&&(e=-e,t=!0);const r=2/(2+e),n=4*r-2;let s=0,a=0,o;for(let c=u.length-1;c>0;c--)o=s,s=n*s-a+u[c],a=o;const l=r*Math.exp(-e*e+.5*(u[0]+n*s)-a);return t?l-1:1-l}function Sa(i){return 1-Jt(i)}function _h(i){if(i>=2)return-100;if(i<=0)return 100;const u=i<1?i:2-i,e=Math.sqrt(-2*Math.log(u/2));let t=-.70711*((2.30753+e*.27061)/(1+e*(.99229+e*.04481))-e);for(let r=0;r<2;r++){const n=Sa(t)-u;t+=n/(1.1283791670955126*Math.exp(-t*t)-t*n)}return i<1?t:-t}function pr(i,u=1){let e=Math.floor(i);if(i<0)return Number.NaN;let t=1;for(;e>1&&Number.isFinite(t);)t*=e,e-=u;return t}function er(i,u){const e=Math.min(i-u,u);let t=1;for(let r=1;r<=e&&Number.isFinite(t);r++)t*=i-r+1,t/=r;return t}function Ma(i,u){let e=Math.floor(i),t=Math.floor(u);for(;t!==0;){const r=t;t=e%t,e=r}return e}function Fo(i,u){const e=Ma(i,u);return e===0?0:Math.abs(i*u)/e}function Da(i){const u=i.length;if(u===1)return i[0][0];if(u===2)return i[0][0]*i[1][1]-i[0][1]*i[1][0];const{rowSwap:e,smallPivotDetected:t,luMatrix:r,permutation:n}=Bo(i);if(t)return 0;let s=e?1:-1;for(let a=0;a<n.length;a++)s*=r[a][a];return s===0?0:s}function Ah(i){const u=Da(i);return u===0?null:i.length===1?[[1/u]]:Rh(i).map(r=>r.map(n=>n/u))}function Eh(i,u,e){return i.filter((t,r)=>r!==u).map(t=>t.filter((r,n)=>n!==e))}function Rh(i){const u=i.length,e=Array.from({length:u},()=>new Array(u).fill(0));for(let t=0;t<u;t++)for(let r=0;r<u;r++){const s=((t+r)%2===0?1:-1)*Da(Eh(i,t,r));e[r][t]=s===0?0:s}return e}function Vr(i,u){return i.map(e=>u[0].map((t,r)=>e.reduce((n,s,a)=>n+s*u[a][r],0)))}function At(i){return i[0].map((u,e)=>i.map(t=>t[e]))}function yh(i){const{smallPivotDetected:u,luMatrix:e,permutation:t}=Bo(i);return u?null:bh(e,t)}function Bo(i){const u=At(i),e=u.length,t=u[0].length;let r=!0,n=!1;const s=wa(e,t,0),a=new Array(t).fill(0).map((o,l)=>l);for(let o=0;o<t;o++){for(let m=0;m<o;m++){let d=u[m][o];for(let C=0;C<m;C++)d-=s[m][C]*s[C][o];s[m][o]=d}let l=-1/0,c=o;for(let m=o;m<e;m++){let d=u[m][o];for(let _=0;_<o;_++)d-=s[m][_]*s[_][o];s[m][o]=d;const C=Math.abs(d);C>l&&(l=C,c=m)}if(Math.abs(s[c][o])<1e-11){n=!0;break}c!==o&&([s[o],s[c]]=[s[c],s[o]],[u[o],u[c]]=[u[c],u[o]],[a[o],a[c]]=[a[c],a[o]],r=!r);const f=s[o][o];for(let m=o+1;m<e;m++)s[m][o]/=f}return{rowSwap:r,smallPivotDetected:n,luMatrix:s,permutation:a}}function bh(i,u){const e=u.length,t=wa(e,e,0);for(let n=0;n<e;n++)t[n][n]=1;const r=wa(e,e,0);for(let n=0;n<e;n++){const s=u[n];for(let a=0;a<e;a++)r[n][a]=t[s][a]}for(let n=0;n<e;n++){const s=r[n];for(let a=n+1;a<e;a++){const o=i[a][n];for(let l=0;l<e;l++)r[a][l]-=s[l]*o}}for(let n=e-1;n>=0;n--){const s=r[n],a=i[n][n];for(let o=0;o<e;o++)s[o]/=a;for(let o=0;o<n;o++){const l=i[o][n];for(let c=0;c<e;c++)r[o][c]-=s[c]*l}}return r}function wa(i,u,e){const t=[];for(let r=0;r<i;r++){t[r]=[];for(let n=0;n<u;n++)t[r].push(e)}return t}function Nh(i){const u=ph(i);if(!u)return null;const{matrixU:e,matrixS:t,matrixV:r}=u,n=At(e),s=Array.from({length:t.length},()=>new Array(i[0].length).fill(0)),a=Math.max(i.length,i[0].length)*Number.EPSILON*t[0];for(let o=0;o<t.length;o++)Math.abs(t[o])>a&&(s[o][o]=1/t[o]);return Vr(r,Vr(s,n))}function ph(i){const u=At(i),e=u.length,t=u[0].length;if(e<t)return null;const r=new Array(t).fill(0),n=new Array(t).fill(0),s=Array.from({length:t},()=>new Array(t).fill(0));let a=Number.EPSILON,o=0,l=0,c=0;for(let _=0;_<t;_++){if(r[_]=o,l=La(u,_,e,_,_),l<=1e-64/a)o=0;else{o=Math.sqrt(l),u[_][_]>=0&&(o=-o);const R=u[_][_]*o-l;u[_][_]-=o;for(let y=_+1;y<t;y++){l=La(u,_,e,_,y);for(let N=_;N<e;N++)u[N][y]+=l/R*u[N][_]}}if(n[_]=o,l=ko(u,_+1,t,_,_),l<=1e-64/a)o=0;else{o=Math.sqrt(l),u[_][_+1]>=0&&(o=-o);const R=u[_][_+1]*o-l;u[_][_+1]-=o;for(let y=_+1;y<t;y++)r[y]=u[_][y]/R;for(let y=_+1;y<e;y++){l=ko(u,_+1,t,y,_);for(let N=_+1;N<t;N++)u[y][N]+=l*r[N]}}const E=Math.abs(n[_])+Math.abs(r[_]);E>c&&(c=E)}let f=0;for(let _=t-1;_>=0;_--){if(o!==0){for(let E=f;E<t;E++)s[E][_]=u[_][E]/(o*u[_][_+1]);for(let E=f;E<t;E++){l=0;for(let R=f;R<t;R++)l+=u[_][R]*s[R][E];for(let R=f;R<t;R++)s[R][E]+=l*s[R][_]}}for(let E=f;E<t;E++)s[_][E]=0,s[E][_]=0;s[_][_]=1,o=r[_],f=_}for(let _=t-1;_>=0;_--){o=n[_];for(let E=_+1;E<t;E++)u[_][E]=0;if(o!==0){for(let E=_+1;E<t;E++){l=La(u,_+1,e,_,E);for(let R=_;R<e;R++)u[R][E]+=l/(u[_][_]*o)*u[R][_]}for(let E=_;E<e;E++)u[E][_]/=o}else for(let E=_;E<e;E++)u[E][_]=0;u[_][_]+=1}a*=c;let m=0,d=0,C=0;for(let _=t-1;_>=0;_--)for(let E=0;E<50;E++){let R=!1,y=_;for(;y>=0;y--){if(Math.abs(r[y])<=a){R=!0;break}if(Math.abs(n[y-1])<=a)break}if(!R){let D=0,L=1;for(let P=y;P<_+1&&(m=L*r[P],d=n[P],r[P]*=D,!(Math.abs(m)<=a));P++){C=Kn(m,d),n[P]=C,D=d/C,L=-m/C;for(let j=0;j<e;j++){const I=u[j][y-1],v=u[j][P];u[j][y-1]=I*D+v*L,u[j][P]=-I*L+v*D}}}if(y===_){if(n[_]<0){n[_]=-n[_];for(let D=0;D<t;D++)s[D][_]=-s[D][_]}break}if(E>=49)return null;let N=n[y];m=((n[_-1]-n[_])*(n[_-1]+n[_])+(r[_-1]-r[_])*(r[_-1]+r[_]))/(2*r[_]*n[_-1]),C=Kn(m,1),m<0?m=((N-n[_])*(N+n[_])+r[_]*(n[_-1]/(m-C)-r[_]))/N:m=((N-n[_])*(N+n[_])+r[_]*(n[_-1]/(m+C)-r[_]))/N;let p=1,M=1;for(let D=y+1;D<_+1;D++){let L=r[D],P=n[D];d=M*L,L*=p,C=Kn(m,d),r[D-1]=C,p=m/C,M=d/C,m=N*p+L*M,d=P*M,L=-N*M+L*p,P*=p;for(let j=0;j<t;j++){const I=s[j][D-1],v=s[j][D];s[j][D-1]=I*p+v*M,s[j][D]=-I*M+v*p}C=Kn(m,d),n[D-1]=C,p=m/C,M=d/C,m=p*L+M*P,N=-M*L+p*P;for(let j=0;j<e;j++){const I=u[j][D-1],v=u[j][D];u[j][D-1]=I*p+v*M,u[j][D]=-I*M+v*p}}r[y]=0,r[_]=m,n[_]=N}for(let _=0;_<n.length;_++)n[_]<a&&(n[_]=0);for(let _=0;_<t;_++)for(let E=_-1;E>=0;E--)if(n[E]<n[_]){const R=n[E];n[E]=n[_],n[_]=R;for(let y=0;y<u.length;y++){const N=u[y][_];u[y][_]=u[y][E],u[y][E]=N}for(let y=0;y<s.length;y++){const N=s[y][_];s[y][_]=s[y][E],s[y][E]=N}_=E}return{matrixU:u,matrixS:n,matrixV:s}}function Kn(i,u){let e=0;return Math.abs(i)>Math.abs(u)?(e=u/i,Math.abs(i)*Math.sqrt(1+e*e)):u!==0?(e=i/u,Math.abs(u)*Math.sqrt(1+e*e)):0}function La(i,u,e,t,r){let n=0;for(let s=u;s<e;s++)n+=i[s][t]*i[s][r];return n}function ko(i,u,e,t,r){let n=0;for(let s=u;s<e;s++)n+=i[t][s]*i[r][s];return n}const Zn=new Map([["I",1],["V",5],["X",10],["L",50],["C",100],["D",500],["M",1e3]]),Vh=new Map([[1,"I"],[4,"IV"],[5,"V"],[9,"IX"],[10,"X"],[40,"XL"],[45,"VL"],[49,"IL"],[50,"L"],[90,"XC"],[95,"VC"],[99,"IC"],[100,"C"],[400,"CD"],[450,"LD"],[490,"XD"],[495,"VD"],[499,"ID"],[500,"D"],[900,"CM"],[950,"LM"],[990,"XM"],[995,"VM"],[999,"IM"],[1e3,"M"]]),Oh=[[1,4,5,9,10,40,50,90,100,400,500,900,1e3,4e3],[1,4,5,9,10,40,45,50,90,95,100,400,450,500,900,950,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,500,900,950,990,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,500,900,950,990,995,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,499,500,900,950,990,995,999,1e3,4e3]];function $o(i,u,e){return i<=0?0:i>=1?1:zn(i,u,e)}function Sh(i,u,e){return i<=0||i>=1?0:u===1&&e===1?1:u<512&&e<512?i**(u-1)*(1-i)**(e-1)/ja(u,e):Math.exp((u-1)*Math.log(i)+(e-1)*Math.log(1-i)-Ta(u,e))}function Pa(i,u,e){if(i<=0)return 0;if(i>=1)return 1;const t=1e-8;let r;if(u>=1&&e>=1){const l=i<.5?i:1-i,c=Math.sqrt(-2*Math.log(l));r=(2.30753+c*.27061)/(1+c*(.99229+c*.04481))-c,i<.5&&(r=-r);const f=(r*r-3)/6,m=2/(1/(2*u-1)+1/(2*e-1)),d=r*Math.sqrt(f+m)/m-(1/(2*e-1)-1/(2*u-1))*(f+5/6-2/(3*m));r=u/(u+e*Math.exp(2*d))}else{const l=Math.exp(u*Math.log(u/(u+e)))/u,c=Math.exp(e*Math.log(e/(u+e)))/e,f=l+c;i<l/f?r=(u*f*i)**(1/u):r=1-(e*f*(1-i))**(1/e)}const n=-Ta(u,e);let s,a,o;for(let l=0;l<10;l++){if(r===0||r===1)return r;if(s=zn(r,u,e)-i,a=Math.exp((u-1)*Math.log(r)+(e-1)*Math.log(1-r)+n),o=s/a,r-=a=o/(1-.5*Math.min(1,o*((u-1)/r-(e-1)/(1-r)))),r<=0&&(r=.5*(r+a)),r>=1&&(r=.5*(r+a+1)),Math.abs(a)<t*r&&l>0)break}return r}function zn(i,u,e){const t=i===0||i===1?0:Math.exp(ut(u+e)-ut(u)-ut(e)+u*Math.log(i)+e*Math.log(1-i));return i<(u+1)/(u+e+2)?t*Yo(i,u,e)/u:1-t*Yo(1-i,e,u)/e}function Yo(i,u,e){let n=1-(u+e)*i/(u+1);Math.abs(n)<1e-8&&(n=1e-8),n=1/n;let s=1,a=n;for(let o=1;o<=100;o++){let l=o*(e-o)*i/((u-1+o*2)*(u+o*2));if(n=1+l*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+l/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,l=-(u+o)*(u+e+o)*i/((u+o*2)*(u+1+o*2)),n=1+l*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+l/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,Math.abs(n*s-1)<1e-8)break}return a}function ja(i,u){return i+u>170?Math.exp(Ta(i,u)):Jn(i)*Jn(u)/Jn(i+u)}function Ta(i,u){return ut(i)+ut(u)-ut(i+u)}function Ho(i,u,e){if(i<0)return 0;if(i>=u)return 1;if(e<0||e>1||u<=0)return Number.NaN;let t=0;for(let r=0;r<=i;r++)t+=Ua(r,u,e);return t}function Ua(i,u,e){return e===0||e===1?u*e===i?1:0:er(u,i)*e**i*(1-e)**(u-i)}function xa(i,u){return i<=0?0:Ia(u/2,i/2)}function Mh(i,u){return i<0?0:i===0&&u===2?.5:Math.exp((u/2-1)*Math.log(i)-i/2-u/2*Math.log(2)-ut(u/2))}function Go(i,u){return i<=0?0:i>=1?1/0:2*qo(i,u/2)}function va(i,u,e){return i<0?0:zn(u*i/(u*i+e),u/2,e/2)}function Dh(i,u,e){if(i<0)return 0;if(i===0&&u<2)return 1/0;if(i===0&&u===2)return 1;let t=1/ja(u/2,e/2);return t*=(u/e)**(u/2),t*=i**(u/2-1),t*=(1+u/e*i)**(-(u+e)/2),t}function Wo(i,u,e){return i<=0?0:i>=1?1/0:e/(u*(1/Pa(i,u/2,e/2)-1))}function wh(i,u){return i<0?0:1-Math.exp(-u*i)}function Lh(i,u){return i<0?0:u*Math.exp(-u*i)}function Qo(i,u,e){const t=u.length;let r=0,n=0;for(let m=0;m<t;m++)r+=u[m],n+=e[m];const s=r/t,a=n/t;let o=0,l=0;for(let m=0;m<t;m++)o+=(u[m]-s)*(e[m]-a),l+=(e[m]-a)**2;if(l===0)return 1/0;const c=o/l;return s-c*a+c*i}function Jn(i){const u=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],e=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535];let t=0,r=i;if(i>171.6243769536076)return 1/0;if(r<=0){const f=r%1+36e-17;if(f)t=(r&1?-1:1)*Math.PI/Math.sin(Math.PI*f),r=1-r;else return 1/0}const n=r;let s=0,a;r<1?a=r++:a=(r-=s=(r|0)-1)-1;let o=0,l=0;for(let f=0;f<8;++f)o=(o+u[f])*a,l=l*a+e[f];let c=o/l+1;if(n<r)c/=n;else if(n>r)for(let f=0;f<s;++f)c*=r,r++;return t&&(c=t/c),c}function Ph(i,u,e){return i<=0?0:Ia(u,i/e)}function jh(i,u,e){return i<0?0:i===0&&u===1?1/e:Math.exp((u-1)*Math.log(i)-i/e-ut(u)-u*Math.log(e))}function Th(i,u,e){return i<=0?0:i>=1?1/0:e*qo(i,u)}function ut(i){const u=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18];let e=i,t=i+5.5;t-=(i+.5)*Math.log(t);let r=1.000000000190015;for(let n=0;n<6;n++)r+=u[n]/++e;return-t+Math.log(2.5066282746310007*r/i)}function Ia(i,u){if(u<0||i<=0)return Number.NaN;const e=1e-30,t=-~(Math.log(i>=1?i:1/i)*8.5+i*.4+17),r=ut(i),n=Math.exp(-u+i*Math.log(u)-r);let s=i,a=1/i,o=a;if(u<i+1){if(n===0)return 0;for(let d=1;d<=t&&(a+=o*=u/++s,!(Math.abs(o)<Math.abs(a)*e));d++);return a*n}if(n===0)return 1;let l=u+1-i,c=1/e,f=1/l,m=f;for(let d=1;d<=t;d++){const C=-d*(d-i);if(l+=2,f=C*f+l,Math.abs(f)<e&&(f=e),c=l+C/c,Math.abs(c)<e&&(c=e),f=1/f,m*=f*c,Math.abs(f*c-1)<e)break}return 1-m*n}function qo(i,u){if(i<=0)return 0;if(i>=1)return Math.max(100,u+100*Math.sqrt(u));let e;if(u>1){const a=i<.5?i:1-i,o=Math.sqrt(-2*Math.log(a));e=(2.30753+o*.27061)/(1+o*(.99229+o*.04481))-o,i<.5&&(e=-e),e=Math.max(.001,u*(1-1/(9*u)-e/(3*Math.sqrt(u)))**3)}else{const a=1-u*(.253+u*.12);i<a?e=(i/a)**(1/u):e=1-Math.log(1-(i-a)/(1-a))}const t=1e-8,r=ut(u);let n,s;for(let a=0;a<12;a++){if(e<=0)return 0;if(n=Ia(u,e)-i,u>1?s=Math.exp((u-1)*(Math.log(u-1)-1)-r)*Math.exp(-(e-(u-1))+(u-1)*(Math.log(e)-Math.log(u-1))):s=Math.exp(-e+(u-1)*Math.log(e)-r),s!==0&&(s=n/s/(1-.5*Math.min(1,n/s*((u-1)/e-1)))),e-=s,e<=0&&(e=.5*(e+s)),Math.abs(s)<t*e)break}return e}function Uh(i,u,e,t){let r=0;for(let n=0;n<=i;n++)r+=Fa(n,u,e,t);return r}function Fa(i,u,e,t){return u-i>t-e?0:er(e,i)*er(t-e,u-i)/er(t,u)}function Xo(i,u,e){return i<0?0:.5+.5*Jt((Math.log(i)-u)/Math.sqrt(2*e*e))}function xh(i,u,e){return i<=0?0:Math.exp(-Math.log(i)-.5*Math.log(2*Math.PI)-Math.log(e)-(Math.log(i)-u)**2/(2*e*e))}function vh(i,u,e){return Math.exp(es(i,u,e))}function Ih(i,u,e){if(i<0)return 0;let t=0;for(let r=0;r<=i;r++)t+=Ba(r,u,e);return t}function Ba(i,u,e){return i<0?0:er(i+u-1,u-1)*e**u*(1-e)**i}function Xr(i,u,e){return .5*(1+Jt((i-u)/Math.sqrt(2*e*e)))}function Ko(i,u,e){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(e)-(i-u)**2/(2*e*e))}function es(i,u,e){return-1.4142135623730951*e*_h(2*i)+u}function Fh(i,u){let e=0;for(let t=0;t<=i;t++)e+=Zo(t,u);return e}function Zo(i,u){return Math.exp(-u)*u**i/pr(i)}function Kr(i,u){const e=.5*zn(u/(i**2+u),u/2,.5);return i<0?e:1-e}function Bh(i,u){const e=(1+i**2/u)**(-(u+1)/2);return 1/(Math.sqrt(u)*ja(.5,u/2))*e}function ts(i,u){let e=Pa(2*Math.min(i,1-i),.5*u,.5);return e=Math.sqrt(u*(1-e)/e),i>.5?e:-e}function Ze(i,u,e,t,r){const n=[],s=[];let a=!0;for(let o=0;o<e;o++){const l=Math.floor(o/t),c=o%t,f=Math.floor(o/r),m=o%r,d=i.isArray()?i.get(l,c):i,C=u.isArray()?u.get(f,m):u;if(d.isError())return{isError:!0,errorObject:d,array1Values:n,array2Values:s,noCalculate:a};if(C.isError())return{isError:!0,errorObject:C,array1Values:n,array2Values:s,noCalculate:a};if(d.isNull()||C.isNull()||d.isBoolean()||C.isBoolean())continue;const _=d.getValue(),E=C.getValue();!S.isRealNum(_)||!S.isRealNum(E)||(n.push(+_),s.push(+E),a=!1)}return{isError:!1,errorObject:null,array1Values:n,array2Values:s,noCalculate:a}}function rs(i,u,e){const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;let n=t,s=r;if(u&&!u.isNull()&&(n=u.isArray()?u.getRowCount():1,s=u.isArray()?u.getColumnCount():1,t===1&&s!==r||r===1&&n!==t||t!==1&&r!==1&&(n!==t||s!==r)))return{isError:!0,errorObject:g.create(h.REF)};if(e&&!e.isNull()){const a=e.isArray()?e.getRowCount():1,o=e.isArray()?e.getColumnCount():1;if(t===1&&n>1&&a!==n||r===1&&s>1&&o!==s)return{isError:!0,errorObject:g.create(h.REF)}}return{isError:!1,errorObject:null}}function Et(i){const u=i.isArray()?i.getRowCount():1,e=i.isArray()?i.getColumnCount():1,t=[];for(let r=0;r<u;r++){t[r]=[];for(let n=0;n<e;n++){const s=i.isArray()?i.get(r,n):i;if(s.isError()||s.isNull()||s.isBoolean()||s.isString())return g.create(h.VALUE);t[r].push(+s.getValue())}}return t}function ns(i,u){const e=[];let t=1;for(let r=0;r<i;r++){e[r]=[];for(let n=0;n<u;n++)e[r].push(t++)}return e}function ss(i,u,e,t){let r=u;t&&(r=u.map(a=>Math.log(a)));let n,s;return e?{slope:n,intercept:s}=kh(i,r):{slope:n,intercept:s}=$h(i,r),t&&(n=Math.exp(n),s=Math.exp(s)),Number.isNaN(n)&&!e&&(n=0),{slope:n,intercept:s,Y:r}}function kh(i,u){const e=u.length;let t=0,r=0,n=0,s=0;for(let c=0;c<e;c++)t+=i[c],r+=u[c],n+=i[c]*i[c],s+=i[c]*u[c];const o=(e*s-t*r)/(e*n-t*t),l=1/e*r-o*(1/e)*t;return{slope:o,intercept:l}}function $h(i,u){const e=[[...i]],t=[...u];let r=e.length,n=e[0].length,s=Math.min(r,n);const a=new Array(s).fill(0);for(let l=0;l<s;l++){const c=e[l];let f=0;for(let d=0;d<n;d++)f+=c[d]**2;const m=c[l]<0?Math.sqrt(f):-Math.sqrt(f);if(a[l]=m,m!==0){c[l]-=m;for(let d=l+1;d<r;d++){let C=0;for(let _=l;_<n;_++)C-=e[d][_]*c[_];C/=m*c[l];for(let _=l;_<n;_++)e[d][_]-=C*c[_]}}}r=e.length,n=e[0].length,s=Math.min(r,n);const o=new Array(r).fill(0);for(let l=0;l<s;l++){const c=e[l];let f=0;for(let m=0;m<n;m++)f+=t[m]*c[m];f/=a[l]*c[l];for(let m=0;m<n;m++)t[m]+=f*c[m]}for(let l=a.length-1;l>=0;l--){t[l]/=a[l];const c=t[l],f=e[l];o[l]=c;for(let m=0;m<l;m++)t[m]-=c*f[m]}return{slope:o[0],intercept:0}}function as(i,u,e,t,r){const n=i.length===1&&i[0].length>1;let s=i;r&&(s=i.map(_=>_.map(E=>Math.log(E))));let a=u,o=e;n&&(s=At(s),a=At(a),o=At(o)),t&&(a=a.map(_=>[..._,1]));const l=At(a),c=Vr(l,a),f=Vr(l,s);let m=yh(c);if(!m&&(m=Nh(c),!m))return g.create(h.NA);let d=Vr(m,f);t||d.push([0]),d=At(d);const C=d[0].pop();if(d[0].reverse(),d[0].push(C),r)for(let _=0;_<d[0].length;_++)d[0][_]=Math.exp(d[0][_]);return{coefficients:d,Y:s,X:a,newX:o,XTXInverse:m}}function zo(i){const u=[],e=[];let t=!1;for(let r=0;r<i.length;r++){const n=i[r];if(n.isReferenceObject())n.isMultiArea()?u.push(n):e.push(n);else{t=!0;break}}return{isError:t,multiAreaRefs:u,normalRefs:e}}var Se=(i=>(i.AVERAGE="AVERAGE",i.COUNT="COUNT",i.COUNTA="COUNTA",i.MAX="MAX",i.MIN="MIN",i.PRODUCT="PRODUCT",i.STDEV="STDEV",i.STDEV_S="STDEV.S",i.STDEVP="STDEVP",i.STDEV_P="STDEV.P",i.SUM="SUM",i.VAR="VAR",i.VAR_S="VAR.S",i.VARP="VARP",i.VAR_P="VAR.P",i.MEDIAN="MEDIAN",i.MODE_SNGL="MODE.SNGL",i))(Se||{});function Jo(i,u){const e=i[u];return e?e.hd===S.BooleanNumber.TRUE:!1}function eu(i,u,e,t,r,n){const s=i.getValue(u,e);if(s!=null&&s.f||s!=null&&s.si){const a=n.getFormulaStringByCell(u,e,t,r);if(a&&(a.indexOf(`${$.SUBTOTAL}(`)>-1||a.indexOf(`${$.AGGREGATE}(`)>-1))return!0}return!1}function tu(i,u){const e=Object.entries(i).filter(([t,{count:r}])=>r===u).sort((t,r)=>t[1].order-r[1].order).map(([t])=>+t);return b.create(e[0])}function ru(i,u){var y,N;const{type:e,ignoreRowHidden:t,ignoreErrorValues:r,ignoreNested:n,formulaDataModel:s}=i,a=[];let o=0,l=0,c=0,f=0,m=0,d=0,C=1;const _={};let E=1,R=0;for(let p=0;p<u.length;p++){const M=u[p],D=M.getFilteredOutRows(),L=M.getRowData(),P=M.getUnitId(),j=M.getSheetId(),v=(N=(y=M.getUnitData()[P])==null?void 0:y[j])==null?void 0:N.cellData;let Y;if(M.iterator((Q,ne,ee)=>{if(D.includes(ne)||t&&Jo(L,ne)||n&&eu(v,ne,ee,j,P,s))return!0;if(e==="COUNT")return Q!=null&&Q.isNumber()&&o++,!0;if(e==="COUNTA")return Q!=null&&!Q.isNull()&&l++,!0;if(Q!=null&&Q.isError())return r?!0:(Y=Q,!1);if(!Q||Q.isNull()||Q.isBoolean()||Q.isString())return!0;let W=Q.getValue();if(!S.isRealNum(W))return!0;if(W=+W,f++,e==="MAX")return m=f===1?W:Math.max(m,W),!0;if(e==="MIN")return d=f===1?W:Math.min(d,W),!0;if(e==="MODE.SNGL")return _[W]?(_[W].count++,_[W].count>E&&(E=_[W].count)):_[W]={count:1,order:R++},!0;c+=W,C*=W,a.push(Q)}),Y!=null&&Y.isError())return Y}switch(e){case"AVERAGE":return f===0?g.create(h.DIV_BY_ZERO):b.create(c/f);case"COUNT":return b.create(o);case"COUNTA":return b.create(l);case"MAX":return b.create(m);case"MIN":return b.create(d);case"PRODUCT":return b.create(f===0?0:C);case"STDEV":case"STDEV.S":return f<2?g.create(h.DIV_BY_ZERO):at([a],1,f).std(1);case"STDEVP":case"STDEV.P":return f===0?g.create(h.DIV_BY_ZERO):at([a],1,f).std();case"SUM":return b.create(c);case"VAR":case"VAR.S":return f<2?g.create(h.DIV_BY_ZERO):at([a],1,f).var(1);case"VARP":case"VAR.P":return f===0?g.create(h.DIV_BY_ZERO):at([a],1,f).var();case"MEDIAN":return f===0?g.create(h.NUM):nu(a.map(p=>+p.getValue()));case"MODE.SNGL":return R===0||E===1?g.create(h.NA):tu(_,E);default:return g.create(h.VALUE)}}function tr(i,u,e){var a,o;const{ignoreRowHidden:t=!1,ignoreErrorValues:r=!1,ignoreNested:n=!1}=u!=null?u:{},s=[];if(i.isReferenceObject()){const l=i.getFilteredOutRows(),c=i.getRowData(),f=i.getUnitId(),m=i.getSheetId(),C=(o=(a=i.getUnitData()[f])==null?void 0:a[m])==null?void 0:o.cellData;let _;if(i.iterator((E,R,y)=>{if(l.includes(R)||t&&Jo(c,R))return!0;if(E!=null&&E.isError())return r?!0:(_=E,!1);if(n&&e&&eu(C,R,y,m,f,e)||!E||E.isNull()||E.isBoolean()||E.isString())return!0;const N=E.getValue();if(!S.isRealNum(N))return!0;s.push(+N)}),_)return _}else{const l=i.isArray()?i.getRowCount():1,c=i.isArray()?i.getColumnCount():1;for(let f=0;f<l;f++)for(let m=0;m<c;m++){const d=i.isArray()?i.get(f,m):i;if(d.isError()){if(r)continue;return d}if(!d||d.isNull()||d.isBoolean()||d.isString())continue;const C=d.getValue();S.isRealNum(C)&&s.push(+C)}}return s.length===0?g.create(h.NUM):s}function nu(i){const u=i.length;i.sort((t,r)=>t-r);let e;if(u%2===0){const t=u/2;e=(i[t-1]+i[t])/2}else e=i[Math.floor(u/2)];return b.create(e)}function su(i,u){if(u<1||u>i.length)return g.create(h.NUM);i.sort((t,r)=>r-t);const e=Math.ceil(u);return b.create(i[e-1])}function au(i,u){if(u<1||u>i.length)return g.create(h.NUM);i.sort((t,r)=>t-r);const e=Math.floor(u);return b.create(i[e-1])}function iu(i,u){const e=i.length;if(u<0||u>1)return g.create(h.NUM);i.sort((a,o)=>a-o);const t=u*(e-1),r=Math.floor(t),n=t-r;if(n===0)return b.create(i[r]);const s=i[r]+n*(i[r+1]-i[r]);return b.create(s)}function ou(i,u){const e=i.length;if(u<1/(e+1)||u>1-1/(e+1))return g.create(h.NUM);i.sort((a,o)=>a-o);const t=u*(e+1)-1,r=Math.floor(t),n=t-r;if(n===0)return b.create(i[r]);const s=i[r]+n*(i[r+1]-i[r]);return b.create(s)}function uu(i,u){const e=i.length;if(u<0||u>4)return g.create(h.NUM);i.sort((o,l)=>o-l);const r=u/4*(e-1),n=Math.floor(r),s=r-n;if(s===0)return b.create(i[n]);const a=i[n]+s*(i[n+1]-i[n]);return b.create(a)}function lu(i,u){const e=i.length;if(u<=0||u>=4)return g.create(h.NUM);i.sort((o,l)=>o-l);const t=u/4;if(t<1/(e+1)||t>1-1/(e+1))return g.create(h.NUM);const r=t*(e+1)-1,n=Math.floor(r),s=r-n;if(s===0)return b.create(i[n]);const a=i[n]+s*(i[n+1]-i[n]);return b.create(a)}class cu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:b.create(0),o=s!=null?s:b.create(1);a.isNull()&&(a=b.create(0)),o.isNull()&&(o=b.create(1));const l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),C=O(l,c,a,g.create(h.NA)),_=O(l,c,o,g.create(h.NA)),E=f.mapValue((R,y,N)=>{const p=m.get(y,N),M=d.get(y,N),D=C.get(y,N),L=_.get(y,N);return this._handleSingleObject(R,p,M,D,L)});return l===1&&c===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:o,variants:l}=B(e,t,r,n,s);if(a)return o;const[c,f,m,d,C]=l,_=+c.getValue(),E=+f.getValue(),R=+m.getValue(),y=+d.getValue(),N=+C.getValue();if(E<=0||R<=0||_<=0||_>=1||y>=N)return g.create(h.NUM);const p=Pa(_,E,R)*(N-y)+y;return b.create(p)}}class fu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=o,d=Math.floor(+l.getValue()),C=Math.floor(+c.getValue()),_=+f.getValue(),E=+m.getValue();if(d<0||d>C||_<0||_>1)return g.create(h.NUM);let R;return E?R=Ho(d,C,_):R=Ua(d,C,_),b.create(R)}}class mu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=Math.floor(+o.getValue()),m=+l.getValue(),d=+c.getValue();if(f<0||m<=0||m>=1||d<=0||d>=1)return g.create(h.NUM);let C=0;for(;C<=f&&!(Ho(C,f,m)>=d);)C++;return b.create(C)}}class hu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(l<0||c<1||c>10**10)return g.create(h.NUM);const f=1-xa(l,c);return b.create(f)}}class gu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(l<0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=Go(1-l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class du extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return o.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.NA);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?f:C?g.create(h.DIV_BY_ZERO):this._getResult(m,d,r,n)}_getResult(e,t,r,n){let s=0;for(let l=0;l<e.length;l++){if(t[l]===0)return g.create(h.DIV_BY_ZERO);s+=(e[l]-t[l])**2/t[l]}let a=(r-1)*(n-1);r===1?a=n-1:n===1&&(a=r-1);const o=1-xa(s,a);return b.create(o)}}class Cu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);if(f.isError())return f;if(C.isError())return C;if(_.isError())return _;const{isError:E,errorObject:R,variants:y}=B(f,C,_);if(E)return R;const[N,p,M]=y,D=+N.getValue(),L=+p.getValue(),P=Math.floor(+M.getValue());if(D<=0||D>=1||L<=0||P<1)return g.create(h.NUM);const j=Math.abs(es(D/2,0,1)*L/Math.sqrt(P));return b.create(j)});return n===1&&s===1?c.get(0,0):c}}class _u extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(o.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?f:C?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let c=0;c<r;c++)n+=e[c],s+=t[c];const a=n/r,o=s/r;let l=0;for(let c=0;c<r;c++){const f=e[c]-a,m=t[c]-o;l+=f*m}return b.create(l/r)}}class Au extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=+l.getValue(),d=+c.getValue();if(f<0||m<=0)return g.create(h.NUM);let C;return d?C=wh(f,m):C=Lh(f,m),b.create(C)}}class Eu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const C=1-va(f,m,d);return b.create(C)}}class Ru extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const C=Wo(1-f,m,d);return Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):b.create(C)}}class yu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variance:s,ns1:a}=this._getValues(e);if(r)return n;const{isError:o,errorObject:l,variance:c,ns1:f}=this._getValues(t);if(o)return l;let m=2*(1-va(s/c,a,f));return m>1&&(m=2-m),b.create(m)}_getValues(e){let t=0,r=0;const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;if(n===1&&s===1){const f=e.isArray()?e.get(0,0):e;return f.isError()?{isError:!0,errorObject:f,variance:t,ns1:r}:f.isNull()?{isError:!0,errorObject:g.create(h.VALUE),variance:t,ns1:r}:{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}}const a=[];let o=0;for(let f=0;f<n;f++)for(let m=0;m<s;m++){const d=e.isArray()?e.get(f,m):e;if(d.isError())return{isError:!0,errorObject:d,variance:t,ns1:r};if(d.isNull()||d.isBoolean())continue;const C=d.getValue();S.isRealNum(C)&&(a.push(+C),o+=+C)}if(a.length<=1)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r};const l=o/a.length;let c=0;for(let f=0;f<a.length;f++)c+=(a[f]-l)**2;return r=a.length-1,t=c/r,t===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}:{isError:!1,errorObject:null,variance:t,ns1:r}}}class bu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=o,d=+l.getValue(),C=+c.getValue(),_=+f.getValue(),E=+m.getValue();if(d<0||C<=0||_<=0)return g.create(h.NUM);let R;return E?R=Ph(d,C,_):R=jh(d,C,_),b.create(R)}}class Nu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=+l.getValue(),d=+c.getValue();if(f<0||f>1||m<=0||d<=0)return g.create(h.NUM);const C=Th(f,m,d);return Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):b.create(C)}}class pu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=+l.getValue(),d=+c.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const C=vh(f,m,d);return Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):b.create(C)}}class Vu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const c=a.convertToNumberObjectValue();if(c.isError())return c}const o=a.isArray()?a.getRowCount():1,l=a.isArray()?a.getColumnCount():1;for(let c=0;c<o;c++)for(let f=0;f<l;f++){const m=a.isArray()?a.get(c,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();S.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):tu(t,n)}}class Ou extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=o,d=+l.getValue(),C=+c.getValue(),_=+f.getValue(),E=+m.getValue();if(_<=0)return g.create(h.NUM);let R;return E?R=Xr(d,C,_):R=Ko(d,C,_),b.create(R)}}class Su extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=+l.getValue(),d=+c.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const C=es(f,m,d);return b.create(C)}}class Mu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0||a>=1)return g.create(h.NUM);const o=es(a,0,1);return b.create(o)}}class Du extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=tr(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,o=+a.getValue();return iu(e,o)}}class wu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:b.create(3);s.isNull()&&(s=b.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,o,t,g.create(h.NA)),c=O(a,o,s,g.create(h.NA)),f=l.mapValue((m,d,C)=>{const _=c.get(d,C);return m.isError()?m:_.isError()?_:this._handleSingleObject(n,m,_)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=B(t,r);if(n)return s;const[o,l]=a,c=+o.getValue(),f=Math.floor(+l.getValue()),m=e.length;if(m===0||c<e[0]||c>e[m-1])return g.create(h.NA);if(m===1)return c===e[0]?b.create(1):g.create(h.NA);let d=0,C=!1,_=0;for(;!C&&_<m;)c===e[_]?(d=_/(m-1),C=!0):c>e[_]&&_+1<m&&c<e[_+1]&&(d=(_+(c-e[_])/(e[_+1]-e[_]))/(m-1),C=!0),_++;return C?f<1?g.create(h.NUM):(d=Qe(d,f),b.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const l=o.getValue();S.isRealNum(l)&&n.push(+l)}return n.sort((s,a)=>s-a)}}class Lu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=Math.floor(+o.getValue()),m=+l.getValue(),d=+c.getValue();if(f<0||m<0)return g.create(h.NUM);let C;return d?C=Fh(f,m):C=Zo(f,m),b.create(C)}}class Pu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=tr(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,o=Math.floor(+a.getValue());return uu(e,o)}}class ju extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class Tu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class Uu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(l<=0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=Math.abs(ts(l/2,c));return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class xu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,array1Values:o,array2Values:l}=this._handleArray1AndArray2(e,t),c=this._getArrayValues(e),f=this._getArrayValues(t),m=Math.max(r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),d=Math.max(r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),C=O(m,d,r,g.create(h.NA)),_=O(m,d,n,g.create(h.NA)),E=C.mapValue((R,y,N)=>{const p=_.get(y,N);if(e.isError())return e;if(t.isError())return t;if(R.isError())return R;if(p.isError())return p;const{isError:M,errorObject:D,variants:L}=B(R,p);if(M)return D;const[P,j]=L,I=Math.floor(+P.getValue()),v=Math.floor(+j.getValue());return![1,2].includes(I)||![1,2,3].includes(v)?g.create(h.NUM):v===1&&s?a:v!==1&&c instanceof g?c:v!==1&&f instanceof g?f:this._handleSingleObject(v===1?o:c,v===1?l:f,I,v)});return m===1&&d===1?E.get(0,0):E}_handleSingleObject(e,t,r,n){if(e.length<2||t.length<2)return g.create(h.DIV_BY_ZERO);const{isError:s,errorObject:a,x:o,degFreedom:l}=this._getTDistParamByArrayValues(e,t,n);if(s)return a;let c=Kr(-o,l);return r===2&&(c*=2),Number.isNaN(c)||!Number.isFinite(c)?g.create(h.NUM):b.create(c)}_getArrayValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()){if(t*r===1)return g.create(h.VALUE);continue}o.isBoolean()||o.isString()||n.push(+o.getValue())}return n}_handleArray1AndArray2(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,array1Values:[],array2Values:[]};let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return{isError:!0,errorObject:l,array1Values:[],array2Values:[]};if((r*n===1||s*a===1)&&(o.isNull()||l.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),array1Values:[],array2Values:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),array1Values:[],array2Values:[]};const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?{isError:!0,errorObject:f,array1Values:[],array2Values:[]}:C||m.length<2?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),array1Values:[],array2Values:[]}:{isError:!1,errorObject:null,array1Values:m,array2Values:d}}_getTDistParamByArrayValues(e,t,r){return r===1?this._getTDistParamByType1(e,t):r===2?this._getTDistParamByType2(e,t):this._getTDistParamByType3(e,t)}_getTDistParamByType1(e,t){const r=e.length;let n=0,s=0,a=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m],a+=(e[m]-t[m])**2;const o=n-s,l=r*a-o**2,c=r-1;return l===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:c}:{isError:!1,errorObject:null,x:Math.abs(o)*Math.sqrt(c/l),degFreedom:c}}_getTDistParamByType2(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let E=0;E<r;E++)s+=e[E],a+=e[E]**2;let o=0,l=0;for(let E=0;E<n;E++)o+=t[E],l+=t[E]**2;const c=a-s**2/r,f=l-o**2/n,m=Math.sqrt(c+f);if(m===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const d=r-1+n-1,C=Math.sqrt(r*n*d/(r+n));return{isError:!1,errorObject:null,x:Math.abs(s/r-o/n)/m*C,degFreedom:d}}_getTDistParamByType3(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let _=0;_<r;_++)s+=e[_],a+=e[_]**2;let o=0,l=0;for(let _=0;_<n;_++)o+=t[_],l+=t[_]**2;const c=(a-s**2/r)/(r*(r-1)),f=(l-o**2/n)/(n*(n-1));if(c+f===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const m=c/(c+f),d=Math.abs(s/r-o/n)/Math.sqrt(c+f),C=1/(m**2/(r-1)+(1-m)**2/(n-1));return{isError:!1,errorObject:null,x:d,degFreedom:C}}}class vu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class Iu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}class Fu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=o,d=+l.getValue(),C=+c.getValue(),_=+f.getValue(),E=+m.getValue();if(d<0||C<=0||_<=0)return g.create(h.NUM);const R=Math.exp(-((d/_)**C));let y;return E?y=1-R:y=C/_**C*d**(C-1)*R,Number.isNaN(y)||!Number.isFinite(y)?g.create(h.NUM):b.create(y)}}class Bu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getArrayValues(e),s=Math.max(t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=O(s,a,t,g.create(h.NA)),l=r?O(s,a,r,g.create(h.NA)):void 0,c=o.mapValue((f,m,d)=>{if(n instanceof g)return n;if(f.isError())return f;const C=r?l.get(m,d):void 0;return C!=null&&C.isError()?C:n.length===0?g.create(h.NA):n.length===1?g.create(h.DIV_BY_ZERO):this._handleSingleObject(n,f,C)});return s===1&&a===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[o]=a,l=+o.getValue(),c=e.length;let f=0,m=0;for(let E=0;E<c;E++)f+=e[E],m+=e[E]**2;let d=0;if(r!==void 0){const{isError:E,errorObject:R,variants:y}=B(r);if(E)return R;const[N]=y;d=+N.getValue()}else{const E=f/c;d=Math.sqrt((m-2*E*f+c*E**2)/(c-1))}if(d<=0)return g.create(h.NUM);const C=(f/c-l)/(d/Math.sqrt(c)),_=1-Xr(C,0,1);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}_getArrayValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const l=o.getValue();S.isRealNum(l)&&t.push(+l)}return t}}class Yh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:b.create(0),o=s!=null?s:b.create(1);a.isNull()&&(a=b.create(0)),o.isNull()&&(o=b.create(1));const l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),C=O(l,c,a,g.create(h.NA)),_=O(l,c,o,g.create(h.NA)),E=f.mapValue((R,y,N)=>{const p=m.get(y,N),M=d.get(y,N),D=C.get(y,N),L=_.get(y,N);return this._handleSingleObject(R,p,M,D,L)});return l===1&&c===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:o,variants:l}=B(e,t,r,n,s);if(a)return o;const[c,f,m,d,C]=l,_=+c.getValue(),E=+f.getValue(),R=+m.getValue(),y=+d.getValue(),N=+C.getValue();if(E<=0||R<=0||_<y||_>N||y===N)return g.create(h.NUM);const p=$o((_-y)/(N-y),E,R);return b.create(p)}}var he=(i=>(i.BETADIST="BETADIST",i.BETAINV="BETAINV",i.BINOMDIST="BINOMDIST",i.CHIDIST="CHIDIST",i.CHIINV="CHIINV",i.CHITEST="CHITEST",i.CONFIDENCE="CONFIDENCE",i.COVAR="COVAR",i.CRITBINOM="CRITBINOM",i.EXPONDIST="EXPONDIST",i.FDIST="FDIST",i.FINV="FINV",i.FTEST="FTEST",i.GAMMADIST="GAMMADIST",i.GAMMAINV="GAMMAINV",i.HYPGEOMDIST="HYPGEOMDIST",i.LOGINV="LOGINV",i.LOGNORMDIST="LOGNORMDIST",i.MODE="MODE",i.NEGBINOMDIST="NEGBINOMDIST",i.NORMDIST="NORMDIST",i.NORMINV="NORMINV",i.NORMSDIST="NORMSDIST",i.NORMSINV="NORMSINV",i.PERCENTILE="PERCENTILE",i.PERCENTRANK="PERCENTRANK",i.POISSON="POISSON",i.QUARTILE="QUARTILE",i.RANK="RANK",i.STDEV="STDEV",i.STDEVP="STDEVP",i.TDIST="TDIST",i.TINV="TINV",i.TTEST="TTEST",i.VAR="VAR",i.VARP="VARP",i.WEIBULL="WEIBULL",i.ZTEST="ZTEST",i))(he||{});class Hh extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=o,d=Math.floor(+l.getValue()),C=Math.floor(+c.getValue()),_=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||d>C||d>_||d<C-E+_||C<=0||C>E||_<=0||_>E||E<=0)return g.create(h.NUM);let R=Fa(d,C,_,E);return Number.isNaN(R)&&(R=0),b.create(R)}}class Gh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=+l.getValue(),d=+c.getValue();if(f<=0||d<=0)return g.create(h.NUM);const C=Xo(f,m,d);return b.create(C)}}class Wh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=Math.floor(+o.getValue()),m=Math.floor(+l.getValue()),d=+c.getValue();if(f<0||m<1||d<=0||d>=1)return g.create(h.NUM);const C=Ba(f,m,d);return b.create(C)}}class Qh extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Xr(a,0,1);return b.create(o)}}class qh extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t);let l=r!=null?r:b.create(0);l.isReferenceObject()&&(l=l.toArrayValueObject());const c=Math.max(n.isArray()?n.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,n,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),C=m.map((_,E,R)=>{const y=d.get(E,R);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const N=+_.getValue(),p=+y.getValue();if(Number.isNaN(N)||Number.isNaN(p))return g.create(h.VALUE);const D=o.sort((L,P)=>p?L-P:P-L).indexOf(N);return D===-1?g.create(h.NA):b.create(D+1)});return c===1&&f===1?C.get(0,0):C}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const o=a;if(o.isError())return t=!0,r=o,!1;if(o.isNull()||o.isBoolean())return!0;const l=+o.getValue();if(Number.isNaN(l))return!0;n.push(l)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class Xh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||m<1||m>10**10||d<1||d>2)return g.create(h.NUM);let C=Kr(-f,m);return d===2&&(C*=2),Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):b.create(C)}}const ku=[[Yh,he.BETADIST],[cu,he.BETAINV],[fu,he.BINOMDIST],[hu,he.CHIDIST],[gu,he.CHIINV],[du,he.CHITEST],[Cu,he.CONFIDENCE],[_u,he.COVAR],[mu,he.CRITBINOM],[Au,he.EXPONDIST],[Eu,he.FDIST],[Ru,he.FINV],[yu,he.FTEST],[bu,he.GAMMADIST],[Nu,he.GAMMAINV],[Hh,he.HYPGEOMDIST],[Gh,he.LOGNORMDIST],[pu,he.LOGINV],[Vu,he.MODE],[Wh,he.NEGBINOMDIST],[Ou,he.NORMDIST],[Su,he.NORMINV],[Qh,he.NORMSDIST],[Mu,he.NORMSINV],[Du,he.PERCENTILE],[wu,he.PERCENTRANK],[Lu,he.POISSON],[Pu,he.QUARTILE],[qh,he.RANK],[Tu,he.STDEV],[ju,he.STDEVP],[Xh,he.TDIST],[Uu,he.TINV],[xu,he.TTEST],[Iu,he.VAR],[vu,he.VARP],[Fu,he.WEIBULL],[Bu,he.ZTEST]],$u=[];var Yu=(i=>(i.CUBEKPIMEMBER="CUBEKPIMEMBER",i.CUBEMEMBER="CUBEMEMBER",i.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",i.CUBERANKEDMEMBER="CUBERANKEDMEMBER",i.CUBESET="CUBESET",i.CUBESETCOUNT="CUBESETCOUNT",i.CUBEVALUE="CUBEVALUE",i))(Yu||{});class Hu extends V{isCustom(){return!0}}class Kh extends Hu{isAsync(){return!0}}function ze(i){const u=[];if(i.isError())return{isError:!0,errorObject:i,databaseValues:u};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),databaseValues:u};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}let o=`${a.getValue()}`;if(a.isBoolean()&&(o=o.toLocaleUpperCase()),a.isNumber()||S.isRealNum(o)){n.push(+o);continue}n.push(o)}u.push(n)}return{isError:!1,errorObject:null,databaseValues:u}}function Je(i,u){let e=-1;if(i.isError())return{isError:!0,errorObject:i,fieldIndex:e};const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;if(t>1||r>1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};const n=i.isArray()?i.get(0,0):i;let s=`${n.getValue()}`;if(n.isNull()?s=0:n.isBoolean()?s=n.getValue()?1:0:(n.isNumber()||S.isRealNum(s))&&(s=Math.floor(+s)),typeof s=="number"){if(s<1||s>u[0].length)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};e=s-1}else if(e=u[0].findIndex(a=>a===null?!1:`${a}`.toLocaleLowerCase()===s.toLocaleLowerCase()),e===-1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};return{isError:!1,errorObject:null,fieldIndex:e}}function et(i){const u=[];if(i.isError())return{isError:!0,errorObject:i,criteriaValues:u};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),criteriaValues:u};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}const o=`${a.getValue()}`;if(a.isBoolean()){n.push(a.getValue()?1:0);continue}if(a.isNumber()||S.isRealNum(o)){n.push(+o);continue}n.push(o)}u.push(n)}return{isError:!1,errorObject:null,criteriaValues:u}}function tt(i,u,e){const t=i.length,r=i[0].length,n={};let s=!1;for(let a=1;a<t;a++){let o=!0;for(let l=0;l<r;l++){const c=i[a][l];if(c===null)continue;let f=n[l];if(f===void 0){const m=i[0][l];f=u[0].findIndex(d=>d===null||m===null?!1:`${d}`.toLocaleLowerCase()===`${m}`.toLocaleLowerCase()),n[l]=f}if(f===-1&&(typeof c=="string"||c===0)){o=!1;break}else if(f>-1){const m=u[e][f];if(m===null){o=!1;break}const[d,C]=la(`${c}`);if(!ht.create(`${m}`).compare(C,d).getValue()){o=!1;break}}}if(o){s=!0;break}}return s}class Zh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let C=0,_=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(C+=R,_++)}return _===0?g.create(h.DIV_BY_ZERO):b.create(C/_)}}class zh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let C=0;for(let _=1;_<a.length;_++)typeof a[_][c]=="number"&&tt(d,a,_)&&C++;return b.create(C)}}class Jh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let C=0;for(let _=1;_<a.length;_++){const E=a[_][c];E!=null&&tt(d,a,_)&&C++}return b.create(C)}}class eg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let C=0,_=0;for(let E=1;E<a.length;E++){const R=a[E][c];R!=null&&tt(d,a,E)&&(C++,_=E)}return C===0?g.create(h.VALUE):C>1?g.create(h.NUM):e.get(_,c)}}class tg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let C=-1/0,_=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(C=Math.max(C,R),_++)}return _===0?b.create(0):b.create(C)}}class rg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let C=1/0,_=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(C=Math.min(C,R),_++)}return _===0?b.create(0):b.create(C)}}class ng extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let C=1,_=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(C*=R,_++)}return _===0?b.create(0):b.create(C)}}class sg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const C=[];let _=0,E=0;for(let p=1;p<a.length;p++){const M=a[p][c];typeof M=="number"&&tt(d,a,p)&&(C.push(M),_+=M,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const R=_/E;let y=0;for(let p=0;p<E;p++)y+=(C[p]-R)**2;const N=Math.sqrt(y/(E-1));return b.create(N)}}class ag extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const C=[];let _=0,E=0;for(let p=1;p<a.length;p++){const M=a[p][c];typeof M=="number"&&tt(d,a,p)&&(C.push(M),_+=M,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const R=_/E;let y=0;for(let p=0;p<E;p++)y+=(C[p]-R)**2;const N=Math.sqrt(y/E);return b.create(N)}}class ig extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let C=0;for(let _=1;_<a.length;_++){const E=a[_][c];typeof E=="number"&&tt(d,a,_)&&(C+=E)}return b.create(C)}}class og extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const C=[];let _=0,E=0;for(let p=1;p<a.length;p++){const M=a[p][c];typeof M=="number"&&tt(d,a,p)&&(C.push(M),_+=M,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const R=_/E;let y=0;for(let p=0;p<E;p++)y+=(C[p]-R)**2;const N=y/(E-1);return b.create(N)}}class ug extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:o,errorObject:l,fieldIndex:c}=Je(t,a);if(o)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const C=[];let _=0,E=0;for(let p=1;p<a.length;p++){const M=a[p][c];typeof M=="number"&&tt(d,a,p)&&(C.push(M),_+=M,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const R=_/E;let y=0;for(let p=0;p<E;p++)y+=(C[p]-R)**2;const N=y/E;return b.create(N)}}var He=(i=>(i.DAVERAGE="DAVERAGE",i.DCOUNT="DCOUNT",i.DCOUNTA="DCOUNTA",i.DGET="DGET",i.DMAX="DMAX",i.DMIN="DMIN",i.DPRODUCT="DPRODUCT",i.DSTDEV="DSTDEV",i.DSTDEVP="DSTDEVP",i.DSUM="DSUM",i.DVAR="DVAR",i.DVARP="DVARP",i))(He||{});const Gu=[[Zh,He.DAVERAGE],[zh,He.DCOUNT],[Jh,He.DCOUNTA],[eg,He.DGET],[tg,He.DMAX],[rg,He.DMIN],[ng,He.DPRODUCT],[sg,He.DSTDEV],[ag,He.DSTDEVP],[ig,He.DSUM],[og,He.DVAR],[ug,He.DVARP]];class lg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);if(f.isError())return f;if(C.isError())return C;if(_.isError())return _;const{isError:E,errorObject:R,variants:y}=B(f,C,_);if(E)return R;const[N,p,M]=y;let D=Math.floor(+N.getValue());const L=Math.floor(+p.getValue()),P=Math.floor(+M.getValue());if(D<0||D>9999)return g.create(h.NUM);D>=0&&D<1899&&(D+=1900);const j=new Date(Date.UTC(D,L-1,P)),I=Re(j);return I<0?g.create(h.NUM):b.create(I,_s)});return n===1&&s===1?c.get(0,0):c}}class cg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t,a=r;if(n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),a.isArray()&&(a=a.get(0,0)),n.isError())return n;if(s.isError())return s;if(a.isError())return a;const o=G(n);if(typeof o!="number")return o;const l=G(s);return typeof l!="number"?l:l<o||!a.isString()?g.create(h.NUM):this._getResultByUnit(o,l,a)}_getResultByUnit(e,t,r){const n=ae(e),s=n.getUTCFullYear(),a=n.getUTCMonth()+1,o=n.getUTCDate(),l=ae(t),c=l.getUTCFullYear(),f=l.getUTCMonth()+1,m=l.getUTCDate(),d=`${r.getValue()}`.toLocaleUpperCase();let C=0,_;switch(d){case"Y":C=c-s,(f<a||f===a&&m<o)&&(C-=1);break;case"M":C=(c-s)*12+f-a,m<o&&(C-=1);break;case"D":C=Math.floor(t)-Math.floor(e);break;case"MD":C=m-o,m<o&&(_=new Date(Date.UTC(c,f-1,0)),C+=Dr(_.getUTCFullYear(),_.getUTCMonth()));break;case"YM":C=f-a,(f<a||f===a&&m<o)&&(C+=12),m<o&&(C-=1);break;case"YD":_=new Date(Date.UTC(s,f-1,m)),(f<a||f===a&&m<o)&&(_=new Date(Date.UTC(s+1,f-1,m))),C=Math.floor(Re(_))-Math.floor(e);break;default:return g.create(h.NUM)}return b.create(C)}}class fg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`;let r=sn(t);if(r===null&&(r=an(t)),r){let{v:n,z:s}=r;if(s&&Rs(s))return n instanceof Date&&(n=Sr(n)),b.create(Math.trunc(+n))}}return g.create(h.VALUE)}}class mg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t;const r=e.getValue();if(e.isString()){if(!Es(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const s=+e.getValue();if(s<0)return g.create(h.NUM);if(s===0)return b.create(0);t=ae(s)}const n=t.getUTCDate();return b.create(n)}}class hg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),o=s.map((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const d=G(l);if(typeof d!="number")return d;const C=G(m);if(typeof C!="number")return C;const _=Math.floor(d)-Math.floor(C);return b.create(_)});return r===1&&n===1?o.get(0,0):o}}class gg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:F.create(!1);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=o.map((m,d,C)=>{const _=l.get(d,C);let E=c.get(d,C);if(m.isError())return m;const R=G(m);if(typeof R!="number")return R;if(_.isError())return _;const y=G(_);if(typeof y!="number")return y;if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;const N=+E.getValue(),{days:p}=Ee(R,y,N?4:0),M=y>=R?p:-p;return b.create(M)});return s===1&&a===1?f.get(0,0):f}}class dg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.map((o,l,c)=>{const f=a.get(l,c)||ce.create();if(o.isError())return o;if(f.isError())return f;if(o.isString()||o.isBoolean()||f.isString()||f.isBoolean())return g.create(h.VALUE);const m=+o.getValue();if(m<0)return g.create(h.NUM);const d=Math.floor(+f.getValue()),C=ae(m),_=C.getUTCFullYear(),E=C.getUTCMonth()+d,R=C.getUTCDate(),y=new Date(Date.UTC(_,E,R)),N=Re(y);return b.create(N,_s)})}}class Cg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;if(r.isArray()){const d=r.getRowCount(),C=r.getColumnCount();if(d>1||C>1)return g.create(h.VALUE);r=r.get(0,0)}if(n.isArray()){const d=n.getRowCount(),C=n.getColumnCount();if(d>1||C>1)return g.create(h.VALUE);n=n.get(0,0)}if(r.isError())return r;if(n.isError())return n;const s=G(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=ae(s),o=s>0?a.getUTCFullYear():1900,l=s>0?a.getUTCMonth():0,c=Math.floor(+n.getValue());if(Number.isNaN(c))return g.create(h.VALUE);const f=new Date(Date.UTC(o,l+c+1,0)),m=Re(f);return b.create(m)}}class _g extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){const r=t!=null?t:b.create(1),{isError:n,errorObject:s,timestampIsReferenceObject:a,timestampObject:o,unitObject:l}=this._checkVariants(e,r);if(n)return s;if(o.isNull()||o.isBoolean()||o.isString()||!a&&o.isNumber()&&o.getPattern()!=="")return g.create(h.VALUE);let c=+o.getValue();const{isError:f,errorObject:m,variants:d}=B(l);if(f)return m;const[C]=d,_=Math.floor(+C.getValue());if(c<0||_<1||_>3)return g.create(h.NUM);_===1&&(c=c*1e3),_===3&&(c=c/1e3);const E=new Date(Date.UTC(1970,0,1,0,0,0,0)+c);if(Number.isNaN(E.getTime())){const R=25569+c/864e5;return b.create(R)}else{const R=Sr(E);return b.create(R,"yyyy-MM-dd AM/PM hh:mm:ss")}}_checkVariants(e,t){const r=e.isReferenceObject(),n=t.isReferenceObject();let s=e;if(r&&(s=e.toArrayValueObject()),s.isArray()){const o=s.getRowCount(),l=s.getColumnCount();if(o>1||l>1)return{isError:!0,errorObject:g.create(h.VALUE)};s=s.get(0,0)}if(s.isError())return{isError:!0,errorObject:s};let a=t;if(n&&(a=t.toArrayValueObject()),a.isArray()){const o=a.getRowCount(),l=a.getColumnCount();if(o>1||l>1)return{isError:!0,errorObject:g.create(h.VALUE)};a=a.get(0,0)}return a.isError()?{isError:!0,errorObject:a}:{isError:!1,errorObject:null,timestampIsReferenceObject:r,timestampObject:s,unitIsReferenceObject:n,unitObject:a}}}class Ag extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;if(t===0)return b.create(0);const n=As(t).getUTCHours();return b.create(n)}}class Eg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;const r=ae(t),n=t>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=Re(s),o=kt(a),l;o<1?l=a+1:o<=4?l=a-(o-1):l=a+(11-o),t<l&&(s=new Date(Date.UTC(n-1,0,1)),a=Re(s),o=kt(a),o<1?l=a+1:o<=4?l=a-(o-1):l=a+(11-o));const c=Math.ceil((t-l+1)/7);return b.create(c)}}class Rg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;if(t===0)return b.create(0);const n=As(t).getUTCMinutes();return b.create(n)}}class yg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!Es(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+e.getValue();if(a<0)return g.create(h.NUM);if(a===0)return b.create(1);t=ae(a)}const n=t.getUTCMonth()+1;return b.create(n)}}class bg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const c=n.getRowCount(),f=n.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const c=s.getRowCount(),f=s.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=G(n);if(typeof a!="number")return a;const o=G(s);if(typeof o!="number")return o;if(r)return this._getResultByHolidays(a,o,r);const l=on(a,o);return b.create(l)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),o=r.getColumnCount();for(let l=0;l<a;l++)for(let c=0;c<o;c++){const f=r.get(l,c);if(f.isBoolean())return g.create(h.VALUE);const m=G(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=G(r);if(typeof a!="number")return a;n.push(a)}const s=on(e,t,1,n);return b.create(s)}}class Ng extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){let s=e,a=t;if(s.isArray()){const m=s.getRowCount(),d=s.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(a.isArray()){const m=a.getRowCount(),d=a.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isError())return a;let o=1;if(r){if(o=r.getValue(),r.isBoolean()&&(o=+o),r.isString()&&!Mr(o))return g.create(h.VALUE);if(!Mr(o))return g.create(h.NUM)}if(s.isBoolean()||a.isBoolean())return g.create(h.VALUE);const l=G(s);if(typeof l!="number")return l;const c=G(a);if(typeof c!="number")return c;if(n)return this._getResultByHolidays(l,c,o,n);const f=on(l,c,o);return b.create(f)}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const o=n.getRowCount(),l=n.getColumnCount();for(let c=0;c<o;c++)for(let f=0;f<l;f++){const m=n.get(c,f);if(m.isBoolean())return g.create(h.VALUE);const d=G(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const o=G(n);if(typeof o!="number")return o;s.push(o)}const a=on(e,t,r,s);return b.create(a)}}class pg extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=new Date,t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())),r=Sr(t);return b.create(r,Fl)}}class Vg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;if(t===0)return b.create(0);const n=As(t).getUTCSeconds();return b.create(n)}}class Og extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e),o=O(n,s,t),l=O(n,s,r);return a.map((c,f,m)=>this._calculateTime(c,o,l,f,m))}_calculateTime(e,t,r,n,s){let a=e,o=t.get(n,s)||ce.create(),l=r.get(n,s)||ce.create();if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(l.isString()||l.isBoolean())&&(l=l.convertToNumberObjectValue()),a.isError())return a;if(o.isError())return o;if(l.isError())return l;let c=Math.floor(+a.getValue()),f=Math.floor(+o.getValue()),m=Math.floor(+l.getValue());if(c<0||f<0||m<0||c>32767||f>32767||m>32767)return g.create(h.NUM);f+=Math.floor(m/60),m%=60,c+=Math.floor(f/60),f%=60,c%=24;const C=(c*3600+f*60+m)/86400;return b.create(C,Bl)}}class Sg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`,r=S.getNumfmtParseValueFilter(t);if(r){let{v:n,z:s}=r;if(s&&Rs(s))return n instanceof Date&&(n=Sr(n)),b.create(um(+n))}}return g.create(h.VALUE)}}class Mg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){const t=e.isReferenceObject();let r=e;if(t&&(r=e.toArrayValueObject()),r.isArray()){const s=r.getRowCount(),a=r.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError()||r.isNull()||r.isBoolean()||r.isString()||!t&&r.isNumber()&&r.getPattern()!=="")return r;const n=+r.getValue();return b.create(n,"yyyy-MM-dd hh:mm:ss AM/PM")}}class Dg extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=new Date,t=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())),r=Re(t);return b.create(r,_s)}}class wg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:[1,2,3,4,5,6,7],2:[7,1,2,3,4,5,6],3:[6,0,1,2,3,4,5],11:[7,1,2,3,4,5,6],12:[6,7,1,2,3,4,5],13:[5,6,7,1,2,3,4],14:[4,5,6,7,1,2,3],15:[3,4,5,6,7,1,2],16:[2,3,4,5,6,7,1],17:[1,2,3,4,5,6,7]})}calculate(e,t){const r=t!=null?t:b.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{const d=o.get(f,m);return this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(r.isError())return r;const n=G(e);if(typeof n!="number")return n;if(r.isString()&&(r=r.convertToNumberObjectValue(),r.isError()))return r;const s=Math.floor(+r.getValue());if(!this._returnTypeMap[s])return g.create(h.NUM);const a=kt(n),o=this._returnTypeMap[s][a];return b.create(o)}}class Lg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:0,2:1,11:1,12:2,13:3,14:4,15:5,16:6,17:0,21:4})}calculate(e,t){let r=e,n=t!=null?t:b.create(1);if(r.isArray()){const o=r.getRowCount(),l=r.getColumnCount();if(o>1||l>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isArray()){const o=n.getRowCount(),l=n.getColumnCount();if(o>1||l>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean())return g.create(h.VALUE);const s=G(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=Math.floor(+n.getValue());return Number.isNaN(a)?g.create(h.VALUE):a in this._returnTypeMap?this._getResult(s,a):g.create(h.NUM)}_getResult(e,t){const r=ae(e),n=e>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=Re(s),o=kt(a),l;if(t===21)o<1?l=a+1:o<=4?l=a-(o-1):l=a+(11-o),e<l&&(s=new Date(Date.UTC(n-1,0,1)),a=Re(s),o=kt(a),o<1?l=a+1:o<=4?l=a-(o-1):l=a+(11-o));else{const f=this._returnTypeMap[t];o<f?l=a-(o+7-f):l=a-(o-f)}const c=Math.ceil((e-l+1)/7);return b.create(c)}}class Pg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const c=n.getRowCount(),f=n.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const c=s.getRowCount(),f=s.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=G(n);if(typeof a!="number")return a;const o=+s.getValue();if(Number.isNaN(o))return g.create(h.VALUE);if(r)return this._getResultByHolidays(a,o,r);const l=un(a,o);return typeof l!="number"?l:b.create(l)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),o=r.getColumnCount();for(let l=0;l<a;l++)for(let c=0;c<o;c++){const f=r.get(l,c);if(f.isBoolean())return g.create(h.VALUE);const m=G(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=G(r);if(typeof a!="number")return a;n.push(a)}const s=un(e,t,1,n);return typeof s!="number"?s:b.create(s)}}class jg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){const s=r!=null?r:b.create(1),a=this._checkArrayError(e);if(a.isError())return a;const o=this._checkArrayError(t);if(o.isError())return o;if(a.isBoolean()||o.isBoolean())return g.create(h.VALUE);const l=G(e);if(typeof l!="number")return l;const c=+t.getValue();if(Number.isNaN(c))return g.create(h.VALUE);let f=s.getValue();if(s.isBoolean()&&(f=+f),s.isString()&&(!Mr(f)||f==="1111111"))return g.create(h.VALUE);if(!Mr(f))return g.create(h.NUM);if(n)return this._getResultByHolidays(l,c,f,n);const m=un(l,c,f);return typeof m!="number"?m:b.create(m)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError(),t}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const o=n.getRowCount(),l=n.getColumnCount();for(let c=0;c<o;c++)for(let f=0;f<l;f++){const m=n.get(c,f);if(m.isBoolean())return g.create(h.VALUE);const d=G(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const o=G(n);if(typeof o!="number")return o;s.push(o)}const a=un(e,t,r,s);return typeof a!="number"?a:b.create(a)}}class Tg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!Es(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+r;if(a<0)return g.create(h.NUM);if(a===0)return b.create(1900);t=ae(a)}const n=t.getUTCFullYear();return b.create(n)}}class Ug extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:b.create(0);const s=zt(e);if(s.isError())return s;const a=zt(t);if(a.isError())return a;if(n=zt(n),n.isError())return n;if(s.isBoolean()||a.isBoolean()||n.isBoolean())return g.create(h.VALUE);const o=G(s);if(typeof o!="number")return o;const l=G(a);if(typeof l!="number")return l;const c=Math.floor(+n.getValue());if(Number.isNaN(c))return g.create(h.VALUE);if(c<0||c>4)return g.create(h.NUM);const{days:f,yearDays:m}=Ee(o,l,c),d=f/m;return b.create(d)}}const Wu=[[lg,Ce.DATE],[cg,Ce.DATEDIF],[fg,Ce.DATEVALUE],[mg,Ce.DAY],[hg,Ce.DAYS],[gg,Ce.DAYS360],[dg,Ce.EDATE],[Cg,Ce.EOMONTH],[_g,Ce.EPOCHTODATE],[Ag,Ce.HOUR],[Eg,Ce.ISOWEEKNUM],[Rg,Ce.MINUTE],[yg,Ce.MONTH],[bg,Ce.NETWORKDAYS],[Ng,Ce.NETWORKDAYS_INTL],[pg,Ce.NOW],[Vg,Ce.SECOND],[Og,Ce.TIME],[Sg,Ce.TIMEVALUE],[Mg,Ce.TO_DATE],[Dg,Ce.TODAY],[wg,Ce.WEEKDAY],[Lg,Ce.WEEKNUM],[Pg,Ce.WORKDAY],[jg,Ce.WORKDAY_INTL],[Tg,Ce.YEAR],[Ug,Ce.YEARFRAC]];class xg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=Nr.besseli(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class vg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=Nr.besselj(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class Ig extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=Nr.besselk(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class Fg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=Nr.bessely(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class Bg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!pa(a))return g.create(h.NUM);let o;return a.length===10&&a.substring(0,1)==="1"?o=Number.parseInt(a.substring(1),2)-512:o=Number.parseInt(a,2),b.create(o)}}class kg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[C]=d;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=`${o.getValue()}`;if(!pa(l))return g.create(h.NUM);let c;if(l.length===10&&l.substring(0,1)==="1")c=(0xfffffffe00+Number.parseInt(l.substring(1),2)).toString(16);else if(c=Number.parseInt(l,2).toString(16),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c.toLocaleUpperCase())}}class $g extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[C]=d;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=`${o.getValue()}`;if(!pa(l))return g.create(h.NUM);let c;if(l.length===10&&l.substring(0,1)==="1")c=(1073741312+Number.parseInt(l.substring(1),2)).toString(8);else if(c=Number.parseInt(l,2).toString(8),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c)}}class Yg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+m.getValue(),_=+d.getValue();if(C<0||_<0||Math.floor(C)!==C||Math.floor(_)!==_||C>0xffffffffffff||_>0xffffffffffff)return g.create(h.NUM);const E=C&_;return b.create(E)});return r===1&&n===1?o.get(0,0):o}}class Hg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+m.getValue();let _=+d.getValue();if(C<0||Math.floor(C)!==C||C>0xffffffffffff||Math.abs(_)>53)return g.create(h.NUM);_=Math.trunc(_);const E=Number(_>=0?BigInt(C)<<BigInt(_):BigInt(C)>>BigInt(-_));return E>0xffffffffffff?g.create(h.NUM):b.create(E)});return r===1&&n===1?o.get(0,0):o}}class Gg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+m.getValue(),_=+d.getValue();if(C<0||_<0||Math.floor(C)!==C||Math.floor(_)!==_||C>0xffffffffffff||_>0xffffffffffff)return g.create(h.NUM);const E=Number(BigInt(C)|BigInt(_));return b.create(E)});return r===1&&n===1?o.get(0,0):o}}class Wg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+m.getValue();let _=+d.getValue();if(C<0||Math.floor(C)!==C||C>0xffffffffffff||Math.abs(_)>53)return g.create(h.NUM);_=Math.trunc(_);const E=Number(_>=0?BigInt(C)>>BigInt(_):BigInt(C)<<BigInt(-_));return E>0xffffffffffff?g.create(h.NUM):b.create(E)});return r===1&&n===1?o.get(0,0):o}}class Qg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+m.getValue(),_=+d.getValue();if(C<0||_<0||Math.floor(C)!==C||Math.floor(_)!==_||C>0xffffffffffff||_>0xffffffffffff)return g.create(h.NUM);const E=C^_;return b.create(E)});return r===1&&n===1?o.get(0,0):o}}U.prototype.cos=function(){const i=this.toNumber();return new U(Math.cos(i))};let ge=class me{constructor(u){A(this,"_inumber","");A(this,"_realNum",0);A(this,"_iNum",0);A(this,"_suffix","");A(this,"_isError",!1);if(`${u}`.trim()===""){this._isError=!0;return}this._inumber=u,this._getImReal(),this._getImAginary(),this._getImSuffix()}static getComplex(u,e,t){const r=new U(u).toSignificantDigits(15).toNumber(),n=new U(e).toSignificantDigits(15).toNumber(),s=t===""?"i":t;let a;if(r===0&&n===0)a=0;else if(r===0)a=n===1?s:`${n}${s}`;else if(n===0)a=r;else{const o=n>0?"+":"",l=n===1?s:`${n}${s}`;a=`${r}${o}${l}`}return a}static createByComplexStr(u,e,t){const r=me.getComplex(u,e,t);return new me(r)}_getImReal(){if(this._inumber===0||this._inumber==="0"){this._realNum=0;return}const u=`${this._inumber}`;if(["i","+i","1i","+1i","-i","-1i","j","+j","1j","+1j","-j","-1j"].indexOf(u)>=0){this._realNum=0;return}let e=u.indexOf("+"),t=u.indexOf("-");e===0&&(e=u.indexOf("+",1)),t===0&&(t=u.indexOf("-",1));const r=u.substring(u.length-1,u.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+u.substring(0,e))||Number.isNaN(+u.substring(e+1,u.length-1))?this._isError=!0:this._realNum=+u.substring(0,e):Number.isNaN(+u.substring(0,t))||Number.isNaN(+u.substring(t+1,u.length-1))?this._isError=!0:this._realNum=+u.substring(0,t)}else n?Number.isNaN(+u.substring(0,u.length-1))?this._isError=!0:this._realNum=0:Number.isNaN(+u)?this._isError=!0:this._realNum=+u}_getImAginary(){if(this._isError)return;if(this._inumber===0||this._inumber==="0"){this._iNum=0;return}let u=`${this._inumber}`;if(["i","j"].indexOf(u)>=0){this._iNum=1;return}u=u.replace("+i","+1i").replace("-i","-1i").replace("+j","+1j").replace("-j","-1j");let e=u.indexOf("+"),t=u.indexOf("-");e===0&&(e=u.indexOf("+",1)),t===0&&(t=u.indexOf("-",1));const r=u.substring(u.length-1,u.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+u.substring(0,e))||Number.isNaN(+u.substring(e+1,u.length-1))?this._isError=!0:this._iNum=+u.substring(e+1,u.length-1):Number.isNaN(+u.substring(0,t))||Number.isNaN(+u.substring(t+1,u.length-1))?this._isError=!0:this._iNum=-+u.substring(t+1,u.length-1)}else n?Number.isNaN(+u.substring(0,u.length-1))?this._isError=!0:this._iNum=+u.substring(0,u.length-1):Number.isNaN(+u)?this._isError=!0:this._iNum=0}_getImSuffix(){const u=`${this._inumber}`,e=u.substring(u.length-1);this._suffix=e==="i"||e==="j"?e:""}getRealNum(){return this._realNum}getINum(){return this._iNum}getSuffix(){return this._suffix}isError(){return this._isError}toString(){return me.getComplex(this._realNum,this._iNum,this._suffix)}isDifferentSuffixes(u){const e=u.getSuffix();return this._suffix===""||e===""?!1:this._suffix!==e}Abs(){return U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){const u=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2)));let e=U.acos(new U(this._realNum).div(u)).toSignificantDigits(16).toNumber();return this._iNum<0&&(e=-e),e}Conjugate(){return me.getComplex(this._realNum,-this._iNum,this._suffix)}Cos(){if(this._iNum){const u=U.cos(this._realNum).mul(U.cosh(this._iNum)).toNumber(),e=U.sin(this._realNum).mul(U.sinh(this._iNum)).negated().toNumber();return me.getComplex(u,e,this._suffix)}else{const u=U.cos(this._realNum).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Cosh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=U.cosh(this._realNum).mul(U.cos(this._iNum)).toNumber(),e=U.sinh(this._realNum).mul(U.sin(this._iNum)).toNumber();return me.getComplex(u,e,this._suffix)}else{const u=U.cosh(this._realNum).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Cot(){if(this._iNum){const u=U.cosh(this._iNum*2).sub(U.cos(this._realNum*2)),e=U.sin(this._realNum*2).div(u).toNumber(),t=U.sinh(this._iNum*2).div(u).negated().toNumber();return me.getComplex(e,t,this._suffix)}else{const u=new U(1).div(U.tan(this._realNum)).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Coth(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=U.cosh(this._realNum*2).sub(U.cos(this._iNum*2)),e=U.sinh(this._realNum*2).div(u).toNumber(),t=U.sin(this._iNum*2).div(u).negated().toNumber();return me.getComplex(e,t,this._suffix)}else{const u=new U(1).div(U.tanh(this._realNum)).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Csc(){if(this._iNum){const u=U.cosh(this._iNum*2).sub(U.cos(this._realNum*2)),e=U.sin(this._realNum).mul(U.cosh(this._iNum)).mul(2).div(u).toNumber(),t=U.cos(this._realNum).mul(U.sinh(this._iNum)).mul(-2).div(u).toNumber();return me.getComplex(e,t,this._suffix)}else{const u=new U(1).div(U.sin(this._realNum)).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Csch(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return me.getComplex(0,0,this._suffix);if(this._iNum){const u=U.cosh(this._realNum*2).sub(U.cos(this._iNum*2)),e=U.sinh(this._realNum).mul(U.cos(this._iNum)).mul(2).div(u).toNumber(),t=U.cosh(this._realNum).mul(U.sin(this._iNum)).mul(-2).div(u).toNumber();return me.getComplex(e,t,this._suffix)}else{const u=new U(1).div(U.sinh(this._realNum)).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Div(u){const e=new U(this._realNum),t=new U(this._iNum),r=new U(u.getRealNum()),n=new U(u.getINum()),s=r.mul(r).add(n.mul(n)),a=e.mul(r).add(t.mul(n)).div(s).toNumber(),o=t.mul(r).sub(e.mul(n)).div(s).toNumber(),l=this._suffix===""?u.getSuffix():this._suffix;return me.getComplex(a,o,l)}Exp(){if(!Number.isFinite(Math.exp(this._realNum)))return this._isError=!0,"";const u=U.exp(this._realNum).mul(U.cos(this._iNum)).toNumber(),e=U.exp(this._realNum).mul(U.sin(this._iNum)).toNumber();return me.getComplex(u,e,this._suffix)}Ln(){const u=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),e=U.ln(u).toNumber(),t=U.acos(new U(this._realNum).div(u)).toNumber();return me.getComplex(e,t,this._suffix)}Log(u){const e=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),t=U.ln(e);let r=U.acos(new U(this._realNum).div(e));this._iNum<0&&(r=r.negated());const n=U.ln(u),s=new U(0),a=n.mul(n).add(s.mul(s));if(a.eq(0))return this._isError=!0,"";const o=t.mul(n).add(r.mul(s)).div(a).toNumber(),l=r.mul(n).sub(t.mul(s)).div(a).toNumber();return me.getComplex(o,l,this._suffix)}Power(u){if(this._realNum===0&&this._iNum===0)return u>0?me.getComplex(this._realNum,this._iNum,this._suffix):(this._isError=!0,"");let e=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),t=U.acos(new U(this._realNum).div(e));this._iNum<0&&(t=t.negated()),e=U.pow(e,u),t=t.mul(u);const r=U.cos(t).mul(e).toNumber(),n=U.sin(t).mul(e).toNumber();return!Number.isFinite(r)||!Number.isFinite(n)?(this._isError=!0,""):me.getComplex(r,n,this._suffix)}Product(u){const e=new U(this._realNum),t=new U(this._iNum),r=new U(u.getRealNum()),n=new U(u.getINum()),s=e.mul(r).sub(t.mul(n)).toNumber(),a=e.mul(n).add(t.mul(r)).toNumber(),o=this._suffix===""?u.getSuffix():this._suffix;return me.getComplex(s,a,o)}Sec(){if(this._iNum){const u=U.cosh(this._iNum*2).add(U.cos(this._realNum*2)),e=U.cos(this._realNum).mul(U.cosh(this._iNum)).mul(2).div(u).toNumber(),t=U.sin(this._realNum).mul(U.sinh(this._iNum)).mul(2).div(u).toNumber();return me.getComplex(e,t,this._suffix)}else{const u=new U(1).div(U.cos(this._realNum)).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Sech(){if(!Number.isFinite(Math.sinh(this._realNum*2))||!Number.isFinite(Math.cosh(this._realNum*2)))return me.getComplex(0,0,this._suffix);if(this._iNum){const u=U.cosh(this._realNum*2).add(U.cos(this._iNum*2)),e=U.cosh(this._realNum).mul(U.cos(this._iNum)).mul(2).div(u).toNumber(),t=U.sinh(this._realNum).mul(U.sin(this._iNum)).mul(-2).div(u).toNumber();return me.getComplex(e,t,this._suffix)}else{const u=new U(1).div(U.cosh(this._realNum)).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Sin(){if(this._iNum){const u=U.sin(this._realNum).mul(U.cosh(this._iNum)).toNumber(),e=U.cos(this._realNum).mul(U.sinh(this._iNum)).toNumber();return me.getComplex(u,e,this._suffix)}else{const u=U.sin(this._realNum).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Sinh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=U.sinh(this._realNum).mul(U.cos(this._iNum)).toNumber(),e=U.cosh(this._realNum).mul(U.sin(this._iNum)).toNumber();return me.getComplex(u,e,this._suffix)}else{const u=U.sinh(this._realNum).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Sqrt(){const u=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),e=U.sqrt(u);let t=U.acos(new U(this._realNum).div(u));this._iNum<0&&(t=t.negated());const r=e.mul(U.cos(t.div(2).toNumber())).toNumber(),n=e.mul(U.sin(t.div(2))).toNumber();return me.getComplex(r,n,this._suffix)}Sub(u){const e=new U(this._realNum),t=new U(this._iNum),r=new U(u.getRealNum()),n=new U(u.getINum()),s=e.sub(r).toNumber(),a=t.sub(n).toNumber(),o=this._suffix===""?u.getSuffix():this._suffix;return me.getComplex(s,a,o)}Sum(u){const e=new U(this._realNum),t=new U(this._iNum),r=new U(u.getRealNum()),n=new U(u.getINum()),s=e.add(r).toNumber(),a=t.add(n).toNumber(),o=this._suffix===""?u.getSuffix():this._suffix;return me.getComplex(s,a,o)}Tan(){if(this._iNum){const u=U.cos(this._realNum*2).add(U.cosh(this._iNum*2)),e=U.sin(this._realNum*2).div(u).toNumber(),t=U.sinh(this._iNum*2).div(u).toNumber();return me.getComplex(e,t,this._suffix)}else{const u=U.tan(this._realNum).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}Tanh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=U.cosh(this._realNum*2).add(U.cos(this._iNum*2)),e=U.sinh(this._realNum*2).div(u).toNumber(),t=U.sin(this._iNum*2).div(u).toNumber();return me.getComplex(e,t,this._suffix)}else{const u=U.tanh(this._realNum).toNumber();return me.getComplex(u,this._iNum,this._suffix)}}};class qg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:x.create("i"),{isError:s,errorObject:a,variants:o}=q(e,t,n);if(s)return a;const[l,c,f]=o,m=+l.getValue(),d=+c.getValue(),C=`${f.getValue()}`;if(Number.isNaN(m)||Number.isNaN(d)||C!=="i"&&C!=="j")return g.create(h.VALUE);const _=ge.getComplex(m,d,C);return typeof _=="number"?b.create(_):x.create(_)}}class Xg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"_units",[["a.u. of action","?",null,"action",!1,!1,105457168181818e-48],["a.u. of charge","e",null,"electric_charge",!1,!1,160217653141414e-33],["a.u. of energy","Eh",null,"energy",!1,!1,435974417757576e-32],["a.u. of length","a?",null,"length",!1,!1,529177210818182e-25],["a.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["a.u. of time","?/Eh",null,"time",!1,!1,241888432650516e-31],["admiralty knot","admkn",null,"speed",!1,!0,.514773333],["ampere","A",null,"electric_current",!0,!1,1],["ampere per meter","A/m",null,"magnetic_field_intensity",!0,!1,1],["ångström","Å",["ang"],"length",!1,!0,1e-10],["are","ar",null,"area",!1,!0,100],["astronomical unit","ua",null,"length",!1,!1,149597870691667e-25],["bar","bar",null,"pressure",!1,!1,1e5],["barn","b",null,"area",!1,!1,1e-28],["becquerel","Bq",null,"radioactivity",!0,!1,1],["bit","bit",["b"],"information",!1,!0,1],["btu","BTU",["btu"],"energy",!1,!0,1055.05585262],["byte","byte",null,"information",!1,!0,8],["candela","cd",null,"luminous_intensity",!0,!1,1],["candela per square metre","cd/m?",null,"luminance",!0,!1,1],["centigrade","C",["cel"],"temperature",!0,!1,1],["cubic ångström","ang3",["ang^3"],"volume",!1,!0,1e-30],["cubic foot","ft3",["ft^3"],"volume",!1,!0,.028316846592],["cubic inch","in3",["in^3"],"volume",!1,!0,16387064e-12],["cubic light-year","ly3",["ly^3"],"volume",!1,!0,846786664623715e-61],["cubic metre","m3",["m^3"],"volume",!0,!0,1],["cubic mile","mi3",["mi^3"],"volume",!1,!0,416818182544058e-5],["cubic nautical mile","Nmi3",["Nmi^3"],"volume",!1,!0,6352182208],["cubic Pica","Pica3",["Picapt3","Pica^3","Picapt^3"],"volume",!1,!0,758660370370369e-22],["cubic yard","yd3",["yd^3"],"volume",!1,!0,.764554857984],["cup","cup",null,"volume",!1,!0,.0002365882365],["dalton","Da",["u"],"mass",!1,!1,166053886282828e-41],["day","d",["day"],"time",!1,!0,86400],["degree","°",null,"angle",!1,!1,.0174532925199433],["dyne","dyn",["dy"],"force",!1,!0,1e-5],["electronvolt","eV",["ev"],"energy",!1,!0,1.60217656514141],["ell","ell",null,"length",!1,!0,1.143],["erg","erg",["e"],"energy",!1,!0,1e-7],["fahrenheit","F",["fah"],"temperature",!0,!1,1],["fluid ounce","oz",null,"volume",!1,!0,295735295625e-16],["foot","ft",null,"length",!1,!0,.3048],["foot-pound","flb",null,"energy",!1,!0,1.3558179483314],["gal","Gal",null,"acceleration",!1,!1,.01],["gallon","gal",null,"volume",!1,!0,.003785411784],["gauss","G",["ga"],"magnetic_flux_density",!1,!0,1],["grain","grain",null,"mass",!1,!0,647989e-10],["gram","g",null,"mass",!1,!0,.001],["gray","Gy",null,"absorbed_dose",!0,!1,1],["gross registered ton","GRT",["regton"],"volume",!1,!0,2.8316846592],["hectare","ha",null,"area",!1,!0,1e4],["henry","H",null,"inductance",!0,!1,1],["hertz","Hz",null,"frequency",!0,!1,1],["horsepower","HP",["h"],"power",!1,!0,745.69987158227],["horsepower-hour","HPh",["hh","hph"],"energy",!1,!0,2684519538e-3],["hour","h",["hr"],"time",!1,!0,3600],["imperial gallon (U.K.)","uk_gal",null,"volume",!1,!0,.00454609],["imperial hundredweight","lcwt",["uk_cwt","hweight"],"mass",!1,!0,50.802345],["imperial quart (U.K)","uk_qt",null,"volume",!1,!0,.0011365225],["imperial ton","brton",["uk_ton","LTON"],"mass",!1,!0,1016.046909],["inch","in",null,"length",!1,!0,.0254],["international acre","uk_acre",null,"area",!1,!0,4046.8564224],["IT calorie","cal",null,"energy",!1,!0,4.1868],["joule","J",null,"energy",!0,!0,1],["katal","kat",null,"catalytic_activity",!0,!1,1],["kelvin","K",["kel"],"temperature",!0,!0,1],["kilogram","kg",null,"mass",!0,!0,1],["knot","kn",null,"speed",!1,!0,.514444444444444],["light-year","ly",null,"length",!1,!0,9460730472580800],["litre","L",["l","lt"],"volume",!1,!0,.001],["lumen","lm",null,"luminous_flux",!0,!1,1],["lux","lx",null,"illuminance",!0,!1,1],["maxwell","Mx",null,"magnetic_flux",!1,!1,1e-18],["measurement ton","MTON",null,"volume",!1,!0,1.13267386368],["meter per hour","m/h",["m/hr"],"speed",!1,!0,.00027777777777778],["meter per second","m/s",["m/sec"],"speed",!0,!0,1],["meter per second squared","m?s??",null,"acceleration",!0,!1,1],["parsec","pc",["parsec"],"length",!1,!0,0x6da012f958ee1c],["meter squared per second","m?/s",null,"kinematic_viscosity",!0,!1,1],["metre","m",null,"length",!0,!0,1],["miles per hour","mph",null,"speed",!1,!0,.44704],["millimetre of mercury","mmHg",null,"pressure",!1,!1,133.322],["minute","?",null,"angle",!1,!1,.000290888208665722],["minute","min",["mn"],"time",!1,!0,60],["modern teaspoon","tspm",null,"volume",!1,!0,5e-6],["mole","mol",null,"amount_of_substance",!0,!1,1],["morgen","Morgen",null,"area",!1,!0,2500],["n.u. of action","?",null,"action",!1,!1,105457168181818e-48],["n.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["n.u. of speed","c?",null,"speed",!1,!1,299792458],["n.u. of time","?/(me?c??)",null,"time",!1,!1,128808866778687e-35],["nautical mile","M",["Nmi"],"length",!1,!0,1852],["newton","N",null,"force",!0,!0,1],["œrsted","Oe ",null,"magnetic_field_intensity",!1,!1,79.5774715459477],["ohm","Ω",null,"electric_resistance",!0,!1,1],["ounce mass","ozm",null,"mass",!1,!0,.028349523125],["pascal","Pa",null,"pressure",!0,!1,1],["pascal second","Pa?s",null,"dynamic_viscosity",!0,!1,1],["pferdestärke","PS",null,"power",!1,!0,735.49875],["phot","ph",null,"illuminance",!1,!1,1e-4],["pica (1/6 inch)","pica",null,"length",!1,!0,.00035277777777778],["pica (1/72 inch)","Pica",["Picapt"],"length",!1,!0,.00423333333333333],["poise","P",null,"dynamic_viscosity",!1,!1,.1],["pond","pond",null,"force",!1,!0,.00980665],["pound force","lbf",null,"force",!1,!0,4.4482216152605],["pound mass","lbm",null,"mass",!1,!0,.45359237],["quart","qt",null,"volume",!1,!0,.000946352946],["radian","rad",null,"angle",!0,!1,1],["rankine","Rank",null,"temperature",!1,!0,1],["reaumur","Reau",null,"temperature",!1,!0,1],["second","?",null,"angle",!1,!1,484813681109536e-20],["second","s",["sec"],"time",!0,!0,1],["short hundredweight","cwt",["shweight"],"mass",!1,!0,45.359237],["siemens","S",null,"electrical_conductance",!0,!1,1],["sievert","Sv",null,"equivalent_dose",!0,!1,1],["slug","sg",null,"mass",!1,!0,14.59390294],["square ångström","ang2",["ang^2"],"area",!1,!0,1e-20],["square foot","ft2",["ft^2"],"area",!1,!0,.09290304],["square inch","in2",["in^2"],"area",!1,!0,64516e-8],["square light-year","ly2",["ly^2"],"area",!1,!0,895054210748189e17],["square meter","m?",null,"area",!0,!0,1],["square mile","mi2",["mi^2"],"area",!1,!0,2589988110336e-6],["square nautical mile","Nmi2",["Nmi^2"],"area",!1,!0,3429904],["square Pica","Pica2",["Picapt2","Pica^2","Picapt^2"],"area",!1,!0,1792111111111e-17],["square yard","yd2",["yd^2"],"area",!1,!0,.83612736],["statute mile","mi",null,"length",!1,!0,1609.344],["steradian","sr",null,"solid_angle",!0,!1,1],["stilb","sb",null,"luminance",!1,!1,1e-4],["stokes","St",null,"kinematic_viscosity",!1,!1,1e-4],["stone","stone",null,"mass",!1,!0,6.35029318],["tablespoon","tbs",null,"volume",!1,!0,147868e-10],["teaspoon","tsp",null,"volume",!1,!0,492892e-11],["tesla","T",null,"magnetic_flux_density",!0,!0,1],["thermodynamic calorie","c",null,"energy",!1,!0,4.184],["ton","ton",null,"mass",!1,!0,907.18474],["tonne","t",null,"mass",!1,!1,1e3],["U.K. pint","uk_pt",null,"volume",!1,!0,.00056826125],["U.S. bushel","bushel",null,"volume",!1,!0,.03523907],["U.S. oil barrel","barrel",null,"volume",!1,!0,.158987295],["U.S. pint","pt",["us_pt"],"volume",!1,!0,.000473176473],["U.S. survey mile","survey_mi",null,"length",!1,!0,1609.347219],["U.S. survey/statute acre","us_acre",null,"area",!1,!0,4046.87261],["volt","V",null,"voltage",!0,!1,1],["watt","W",null,"power",!0,!0,1],["watt-hour","Wh",["wh"],"energy",!1,!0,3600],["weber","Wb",null,"magnetic_flux",!0,!1,1],["yard","yd",null,"length",!1,!0,.9144],["year","yr",null,"time",!1,!0,31557600]]);A(this,"_binaryPrefixes",{Yi:["yobi",80,12089258196146292e8,"Yi","yotta"],Zi:["zebi",70,11805916207174113e5,"Zi","zetta"],Ei:["exbi",60,1152921504606847e3,"Ei","exa"],Pi:["pebi",50,0x4000000000000,"Pi","peta"],Ti:["tebi",40,1099511627776,"Ti","tera"],Gi:["gibi",30,1073741824,"Gi","giga"],Mi:["mebi",20,1048576,"Mi","mega"],ki:["kibi",10,1024,"ki","kilo"]});A(this,"_unitPrefixes",{Y:["yotta",1e24,"Y"],Z:["zetta",1e21,"Z"],E:["exa",1e18,"E"],P:["peta",1e15,"P"],T:["tera",1e12,"T"],G:["giga",1e9,"G"],M:["mega",1e6,"M"],k:["kilo",1e3,"k"],h:["hecto",100,"h"],e:["dekao",10,"e"],d:["deci",.1,"d"],c:["centi",.01,"c"],m:["milli",.001,"m"],u:["micro",1e-6,"u"],n:["nano",1e-9,"n"],p:["pico",1e-12,"p"],f:["femto",1e-15,"f"],a:["atto",1e-18,"a"],z:["zepto",1e-21,"z"],y:["yocto",1e-24,"y"]})}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=q(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=`${l.getValue()}`,d=`${c.getValue()}`;if(Number.isNaN(f))return g.create(h.VALUE);let C,_=1,E,R=1;const{_from:y,_to:N}=this._lookupFromAndToUnits(m,d);if(C=y,E=N,C===null){const{_from:M,_fromMultiplier:D}=this._lookupFromPrefix(m);C=M,_=D}if(E===null){const{_to:M,_toMultiplier:D}=this._lookupToPrefix(d);E=M,R=D}if(C===null||E===null||C[3]!==E[3])return g.create(h.NA);let p;return C[3]==="temperature"?(p=this._getTemperatureConversion(f,C[1],E[1]),p=+p.toFixed(2)):p=f*C[6]*_/(E[6]*R),b.create(p)}_lookupFromAndToUnits(e,t){let r=null,n=null,s;for(let a=0;a<this._units.length;a++)s=this._units[a][2]===null?[]:this._units[a][2],(this._units[a][1]===e||s.indexOf(e)>=0)&&(r=this._units[a]),(this._units[a][1]===t||s.indexOf(t)>=0)&&(n=this._units[a]);return{_from:r,_to:n}}_lookupFromPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(o=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):o&&(r=o[1],n=e.substring(o[2].length));for(let l=0;l<this._units.length;l++)s=this._units[l][2]===null?[]:this._units[l][2],(this._units[l][1]===n||s.indexOf(n)>=0)&&(t=this._units[l]);return{_from:t,_fromMultiplier:r}}_lookupToPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(o=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):o&&(r=o[1],n=e.substring(o[2].length));for(let l=0;l<this._units.length;l++)s=this._units[l][2]===null?[]:this._units[l][2],(this._units[l][1]===n||s.indexOf(n)>=0)&&(t=this._units[l]);return{_to:t,_toMultiplier:r}}_getTemperatureConversion(e,t,r){switch(t){case"C":return this._centigradeConversion(e,r);case"F":return this._fahrenheitConversion(e,r);case"K":return this._kelvinConversion(e,r);case"Rank":return this._rankineConversion(e,r);case"Reau":return this._reaumurConversion(e,r);default:return e}}_centigradeConversion(e,t){switch(t){case"F":return e*9/5+32;case"K":return e+273.15;case"Rank":return(e+273.15)*9/5;case"Reau":return e*4/5;default:return e}}_fahrenheitConversion(e,t){switch(t){case"C":return(e-32)*5/9;case"K":return(e-32)*5/9+273.15;case"Rank":return e+459.67;case"Reau":return(e-32)*4/9;default:return e}}_kelvinConversion(e,t){switch(t){case"C":return e-273.15;case"F":return(e-273.15)*9/5+32;case"Rank":return e*9/5;case"Reau":return(e-273.15)*4/5;default:return e}}_rankineConversion(e,t){switch(t){case"C":return(e-491.67)*5/9;case"F":return e-459.67;case"K":return e*5/9;case"Reau":return(e-491.67)*4/9;default:return e}}_reaumurConversion(e,t){switch(t){case"C":return e*5/4;case"F":return e*9/4+32;case"K":return e*5/4+273.15;case"Rank":return e*9/4+491.67;default:return e}}}class Kg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[C]=d;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=Math.trunc(+o.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${l}`)||l<-512||l>511)return g.create(h.NUM);let c;if(l<0){const f=(512+l).toString(2);c=`1${"0".repeat(9-f.length)}${f}`}else if(c=Number.parseInt(`${l}`,10).toString(2),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c)}}class Zg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[C]=d;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=Math.trunc(+o.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${l}`)||l<-549755813888||l>549755813887)return g.create(h.NUM);let c;if(l<0)c=(1099511627776+l).toString(16);else if(c=Number.parseInt(`${l}`,10).toString(16),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c.toLocaleUpperCase())}}class zg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[C]=d;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=Math.trunc(+o.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${l}`)||l<-536870912||l>536870911)return g.create(h.NUM);let c;if(l<0)c=(1073741824+l).toString(8);else if(c=Number.parseInt(`${l}`,10).toString(8),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c)}}class Jg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),{isError:n,errorObject:s,variants:a}=q(e,r);if(n)return s;const[o,l]=a,c=+o.getValue(),f=+l.getValue();if(Number.isNaN(c)||Number.isNaN(f))return g.create(h.VALUE);const m=c===f?1:0;return b.create(m)}}class ed extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r;if(t){const{isError:n,errorObject:s,variants:a}=q(e,t);if(n)return s;const[o,l]=a,c=+o.getValue(),f=+l.getValue();if(Number.isNaN(c)||Number.isNaN(f))return g.create(h.VALUE);r=Jt(f)-Jt(c)}else{const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=+o.getValue();if(Number.isNaN(l))return g.create(h.VALUE);r=Jt(l)}return b.create(r)}}class td extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const o=Jt(a);return b.create(o)}}class rd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const o=Sa(a);return b.create(o)}}class nd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const o=Sa(a);return b.create(o)}}class sd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);const r=t!=null?t:b.create(0),{isError:n,errorObject:s,variants:a}=q(e,r);if(n)return s;const[o,l]=a,c=+o.getValue(),f=+l.getValue();if(Number.isNaN(c)||Number.isNaN(f))return g.create(h.VALUE);const m=c>=f?1:0;return b.create(m)}}class ad extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:C,variants:_}=q(t);if(d)return C;const[E]=_;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=`${o.getValue()}`;if(!Oa(l))return g.create(h.NUM);const c=l.length===10&&l.substring(0,1).toLocaleUpperCase()==="F",f=c?Number.parseInt(l,16)-1099511627776:Number.parseInt(l,16);if(f<-512||f>511)return g.create(h.NUM);let m;if(c){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return x.create(m)}}class id extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!Oa(a))return g.create(h.NUM);let o=Number.parseInt(a,16);return o>=549755813888&&(o-=1099511627776),b.create(o)}}class od extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:C}=q(t);if(m)return d;const[_]=C;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=`${o.getValue()}`;if(!Oa(l))return g.create(h.NUM);const c=Number.parseInt(l,16);if(c>536870911&&c<0xffe0000000)return g.create(h.NUM);let f;if(c>=0xffe0000000)f=(c-0xffc0000000).toString(8);else if(f=c.toString(8),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return x.create(f)}}class ud extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Abs();return b.create(l)}}class ld extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.getINum();return b.create(l)}}class cd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);if(o.getRealNum()===0&&o.getINum()===0)return g.create(h.DIV_BY_ZERO);const l=o.Argument();return b.create(l)}}class fd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Conjugate();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class md extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Cos();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class hd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Cosh();return o.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class gd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const l=o.Cot();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class dd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const l=o.Coth();return o.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Cd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const l=o.Csc();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class _d extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const l=o.Csch();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Ad extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=`${a.getValue()}`,c=`${o.getValue()}`,f=new ge(l),m=new ge(c);if(f.isError()||m.isError()||f.isDifferentSuffixes(m)||m.getRealNum()===0&&m.getINum()===0)return g.create(h.NUM);const d=f.Div(m);return typeof d=="number"||S.isRealNum(d)?b.create(+d):x.create(d)}}class Ed extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Exp();return o.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Rd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const l=o.Ln();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class yd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e);if(r)return n;const[a]=s;let o=t!=null?t:b.create(10);if(o.isArray()){const R=o.getRowCount(),y=o.getColumnCount();if(R>1||y>1)return g.create(h.VALUE);o=o.get(0,0)}const{isError:l,errorObject:c,variants:f}=B(o);if(l)return c;const[m]=f,d=`${a.getValue()}`,C=+m.getValue(),_=new ge(d);if(_.isError()||_.getRealNum()===0&&_.getINum()===0||C<=0)return g.create(h.NUM);const E=_.Log(C);return _.isError()?g.create(h.NUM):typeof E=="number"||S.isRealNum(E)?b.create(+E):x.create(E)}}class bd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const l=o.Log(2);return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Nd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const l=o.Log(10);return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class pd extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=`${a.getValue()}`,c=new ge(l);if(c.isError())return g.create(h.NUM);const f=+o.getValue();if(Number.isNaN(f))return g.create(h.VALUE);const m=c.Power(f);return c.isError()?g.create(h.NUM):typeof m=="number"||S.isRealNum(m)?b.create(+m):x.create(m)}}class Vd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(o=>{if(t=this._handleSingleObject(o,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||S.isRealNum(t)?b.create(+t):x.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new ge(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new ge(t),a=new ge(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Product(a)}return r}}class Od extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.getRealNum();return b.create(l)}}class Sd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Sec();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Md extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Sech();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Dd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Sin();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class wd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Sinh();return o.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Ld extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);if(o.getRealNum()===0&&o.getINum()===0)return b.create(0);const l=o.Sqrt();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Pd extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=`${a.getValue()}`,c=`${o.getValue()}`,f=new ge(l),m=new ge(c);if(f.isError()||m.isError()||f.isDifferentSuffixes(m))return g.create(h.NUM);const d=f.Sub(m);return typeof d=="number"||S.isRealNum(d)?b.create(+d):x.create(d)}}class jd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(o=>{if(t=this._handleSingleObject(o,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||S.isRealNum(t)?b.create(+t):x.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new ge(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new ge(t),a=new ge(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Sum(a)}return r}}class Td extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Tan();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Ud extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new ge(a);if(o.isError())return g.create(h.NUM);const l=o.Tanh();return o.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class xd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:C,variants:_}=q(t);if(d)return C;const[E]=_;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=`${o.getValue()}`;if(!Va(l))return g.create(h.NUM);const c=l.length===10&&l.substring(0,1)==="7",f=c?Number.parseInt(l,8)-1073741824:Number.parseInt(l,8);if(f<-512||f>511)return g.create(h.NUM);let m;if(c){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return x.create(m)}}class vd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!Va(a))return g.create(h.NUM);let o=Number.parseInt(a,8);return o>=536870912&&(o-=1073741824),b.create(o)}}class Id extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:C}=q(t);if(m)return d;const[_]=C;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=`${o.getValue()}`;if(!Va(l))return g.create(h.NUM);const c=Number.parseInt(l,8);let f;if(c>=536870912)f=`ff${(c+3221225472).toString(16)}`;else if(f=c.toString(16),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return x.create(f.toLocaleUpperCase())}}const Qu=[[xg,X.BESSELI],[vg,X.BESSELJ],[Ig,X.BESSELK],[Fg,X.BESSELY],[Bg,X.BIN2DEC],[kg,X.BIN2HEX],[$g,X.BIN2OCT],[Yg,X.BITAND],[Hg,X.BITLSHIFT],[Gg,X.BITOR],[Wg,X.BITRSHIFT],[Qg,X.BITXOR],[qg,X.COMPLEX],[Xg,X.CONVERT],[Kg,X.DEC2BIN],[Zg,X.DEC2HEX],[zg,X.DEC2OCT],[Jg,X.DELTA],[ed,X.ERF],[td,X.ERF_PRECISE],[rd,X.ERFC],[nd,X.ERFC_PRECISE],[sd,X.GESTEP],[ad,X.HEX2BIN],[id,X.HEX2DEC],[od,X.HEX2OCT],[ud,X.IMABS],[ld,X.IMAGINARY],[cd,X.IMARGUMENT],[fd,X.IMCONJUGATE],[md,X.IMCOS],[hd,X.IMCOSH],[gd,X.IMCOT],[dd,X.IMCOTH],[Cd,X.IMCSC],[_d,X.IMCSCH],[Ad,X.IMDIV],[Ed,X.IMEXP],[Rd,X.IMLN],[yd,X.IMLOG],[Nd,X.IMLOG10],[bd,X.IMLOG2],[pd,X.IMPOWER],[Vd,X.IMPRODUCT],[Od,X.IMREAL],[Sd,X.IMSEC],[Md,X.IMSECH],[Dd,X.IMSIN],[wd,X.IMSINH],[Ld,X.IMSQRT],[Pd,X.IMSUB],[jd,X.IMSUM],[Td,X.IMTAN],[Ud,X.IMTANH],[xd,X.OCT2BIN],[vd,X.OCT2DEC],[Id,X.OCT2HEX]];function is(i,u,e,t){const r=vt(i,u,e),{days:n}=Ee(r,i,t);return n}function Xe(i,u,e,t){let r;if(t===1){const n=vt(i,u,e);let s=ae(n);s=lr(s,12/e);const a=Re(s);n<0&&e===1?r=365:r=a-n}else t===3?r=365/e:r=360/e;return r}function qu(i,u,e){const t=ae(i);let r=ae(u);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=lr(r,-12/e);return r=lr(r,12/e),Re(r)}function rr(i,u,e){let t=0;const r=ae(i);let n=ae(u);for(;n>r;)n=lr(n,-12/e),t++;return t}function vt(i,u,e){const t=ae(i);let r=ae(u);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=lr(r,-12/e);return Re(r)}function Xu(i,u,e,t,r,n){const s=is(i,u,r,n),a=Xe(i,u,r,n),o=rr(i,u,r),l=(a-s)/a-1,c=t/r+1,f=e*100/r;let m=0,d=0;for(let E=1;E<=o;E++){const R=E+l,y=f/c**R;m+=R*y,d+=y}const C=o+l,_=100/c**C;return m+=C*_,d+=_,m/d/r}function Zr(i,u,e,t,r){let n;if(i===0)n=(e+t)/u;else{const s=(1+i)**u;n=r===1?(t*i/(s-1)+e*i/(1-1/s))/(1+i):t*i/(s-1)+e*i/(1-1/s)}return-n}function nr(i,u,e,t,r){let n;if(i===0)n=t+e*u;else{if(i===-1&&u===0)return Number.NaN;const s=(1+i)**u;n=r===1?t*s+e*(1+i)*(s-1)/i:t*s+e*(s-1)/i}return-n}function Ku(i,u,e,t,r,n){const s=Zr(i,e,t,r,n);return(u===1?n===1?0:-t:n===1?nr(i,u-2,s,t,1)-s:nr(i,u-1,s,t,0))*i}function Zu(i,u){let e=0;for(let t=1;t<=u.length;t++)e+=u[t-1]/(1+i)**t;return e}function zu(i,u,e,t,r,n,s,a,o){const l=sr(e,t,o),c=Xe(i,t,a,o);return l<c?Fd(i,u,e,t,r,n,s,a,o,l,c):Bd(i,u,e,t,r,n,s,a,o,c)}function Fd(i,u,e,t,r,n,s,a,o,l,c){let f=0;const m=rr(i,u,a),d=sr(i,t,o);f+=s/(1+n/a)**(m-1+d/c),f+=100*r/a*l/c/(1+n/a)**(d/c);for(let _=2;_<=m;_++)f+=100*r/a/(1+n/a)**(_-1+d/c);const C=sr(e,i,o);return f-=100*r/a*C/c,f}function Bd(i,u,e,t,r,n,s,a,o,l){let c=0;const f=rr(t,u,a),m=kd(t,i,12/a);let d;if(o===2||o===3){const y=qu(i,t,a);d=sr(i,y,o)}else{const y=vt(i,t,a),{days:N}=Ee(y,i,o);d=l-N}c+=s/(1+n/a)**(f+m+d/l);const C=rr(e,t,a);let _=t,E=0,R=0;for(let y=C;y>=1;y--){const N=ar(_,-12/a,!1),p=o===1?sr(N,_,o):l,M=y>1?p:sr(e,_,o);E+=M/p;const D=e>N?e:N,L=i<_?i:_,P=sr(D,L,o);R+=P/p,_=N}c+=100*r/a*E/(1+n/a)**(m+d/l);for(let y=1;y<=f;y++)c+=100*r/a/(1+n/a)**(y+m+d/l);return c-=100*r/a*R,c}function sr(i,u,e){const{days:t}=Ee(i,u,e);return i<u?t:0}function Ju(i,u,e){const t=ae(i),r=t.getUTCFullYear(),n=t.getUTCMonth(),s=t.getUTCDate(),a=ur(r,n,s),o=ae(u),l=o.getUTCFullYear(),c=o.getUTCMonth(),f=o.getUTCDate(),m=ur(l,c,f);return!(s!==f&&!(a&&m)||Math.abs((l-r)*12+(c-n))%(12/e)!==0)}function Or(i,u,e){return vt(i,u,e)>=0}function ar(i,u,e){let t=ae(i);if(t=lr(t,u),e){const r=t.getUTCFullYear(),n=t.getUTCMonth(),s=Dr(r,n);t.setUTCDate(s)}return Re(t)}function kd(i,u,e,t){const r=ae(i),n=ae(u),s=r.getUTCFullYear(),a=r.getUTCMonth(),o=r.getUTCDate(),l=n.getUTCFullYear(),c=n.getUTCMonth(),f=n.getUTCDate(),m=ur(s,a,o),d=!m&&a!==1&&o>28&&o<Dr(s,a)?ur(l,c,f):m,C=ar(u,0,d);let _=1+ +(u<C),E=ar(C,e,d);for(;!(e>0?E>=u:E<=u);)E=ar(E,e,d),_++;return _}function ka(i,u){let n=1,s=0,a=i,o;for(;n>1e-7&&s<500;){const l=(u(a+1e-7)-u(a-1e-7))/2e-7;o=a-u(a)/l,s++,n=Math.abs(o-a),a=o}return Number.isNaN(a)||Math.abs(a)===1/0||s===500?$d(i,u):a}function $d(i,u){const r=Number.MAX_VALUE,n=-1,s=1.6;let a=i-.01<=n?n+1e-7:i-.01,o=i+.01>=r?r-1e-7:i+.01,l,c,f=0;if(i<=n||i>=r)return g.create(h.NUM);for(let E=0;E<60;E++){l=a<=n?n+1e-7:a,c=o>=r?r-1e-7:o;const R=u(l),y=u(c);if(R*y<=0)break;if(R*y>0)a=l+s*(l-c),o=c+s*(c-l);else return g.create(h.NUM);if(E===59)return g.create(h.NUM)}l=l,c=c;let m=u(l);const d=u(c);let C,_;if(Math.abs(m)<1e-7||Math.abs(d)<1e-7)return g.create(h.NUM);do _=l+(c-l)/2,C=u(_),m*C<0?c=_:l=_,m=u(l),f++;while(Math.abs(C)>1e-7&&f<60);return _}function os(i,u,e,t,r,n,s){const a=rr(i,u,n),o=Xe(i,u,n,s),l=is(i,u,n,s);if(a===1){const m=o-l,d=100*e/n+r,C=t/n*m/o+1,_=100*e/n*l/o;return d/C-_}const c=o-l;let f=r/(1+t/n)**(a-1+c/o);for(let m=1;m<=a;m++)f+=100*e/n/(1+t/n)**(m-1+c/o);return f-=100*e/n*l/o,f}function $a(i,u,e,t,r){let n=0,s=r/e;s>=1?(s=1,n=t===1?i:0):n=i*(1-s)**(t-1);const a=i*(1-s)**t;let o=0;return a<u?o=n-u:o=n-a,o<0&&(o=0),o}class Yd extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,o,l){const c=o!=null?o:b.create(0),f=l!=null?l:F.create(!0),{isError:m,errorObject:d,variants:C}=q(e,t,r,n,s,a,c);if(m)return d;const[_,E,R,y,N,p,M]=C,D=G(_);if(typeof D!="number")return D;const L=G(E);if(typeof L!="number")return L;const P=G(R);if(typeof P!="number")return P;const j=+y.getValue(),I=+N.getValue(),v=Math.floor(+p.getValue()),Y=Math.floor(+M.getValue()),Q=+f.getValue();return Number.isNaN(j)||Number.isNaN(I)||Number.isNaN(v)||Number.isNaN(Y)||Number.isNaN(Q)?g.create(h.VALUE):j<=0||I<=0||![1,2,4].includes(v)||Y<0||Y>4||Math.floor(D)>=Math.floor(P)?g.create(h.NUM):this._getResult(D,L,P,j,I,v,Y,Q)}_getResult(e,t,r,n,s,a,o,l){let c=vt(e,t,a);if(c<=0)return b.create(0);c=vt(r,t,a);const f=12/a,m=ae(t),d=m.getUTCFullYear(),C=m.getUTCMonth(),_=m.getUTCDate(),E=ur(d,C,_);let R=ar(t,-f,E);if(r>t&&l)for(R=t;R<r;)R=ar(R,f,E);let y=e>R?e:R,{days:N}=Ee(y,r,o);if(c>=e){const{days:j}=Ee(y,r,o?4:0);N=j}r<y&&(N=-N);let p=Xe(R,t,a,o),M=N/p,D=R,L=e;for(;D>e;){L=D,D=ar(D,-f,E),y=e>D?e:D;const{days:j}=Ee(y,L,o);if(o===0)L>=y||e<=D?N=j:N=-j,p=Xe(D,L,a,o);else if(N=L<y?-j:j,o===3)p=365/a;else{const{days:I}=Ee(D,L,o);p=L<D?-I:I}M+=e<=D?l?1:0:N/p}const P=s*n/a*M;return b.create(P)}}class Hd extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:b.create(0),{isError:o,errorObject:l,variants:c}=q(e,t,r,n,a);if(o)return l;const[f,m,d,C,_]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),N=+C.getValue(),p=Math.floor(+_.getValue());if(Number.isNaN(y)||Number.isNaN(N)||Number.isNaN(p))return g.create(h.VALUE);if(y<=0||N<=0||p<0||p>4||Math.floor(E)>Math.floor(R))return g.create(h.NUM);if(Math.floor(E)===Math.floor(R))return b.create(0);const{days:M,yearDays:D}=Ee(E,R,p),L=N*y*M/D;return b.create(L)}}class Gd extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,o){const l=o!=null?o:b.create(0),{isError:c,errorObject:f,variants:m}=q(e,t,r,n,s,a,l);if(c)return f;const[d,C,_,E,R,y,N]=m,p=G(C);if(typeof p!="number")return p;const M=G(_);if(typeof M!="number")return M;const D=+d.getValue(),L=+E.getValue();let P=+R.getValue();const j=+y.getValue(),I=Math.floor(+N.getValue());return Number.isNaN(D)||Number.isNaN(L)||Number.isNaN(P)||Number.isNaN(j)||Number.isNaN(I)?g.create(h.VALUE):D<=0||L<0||D<L||Math.floor(p)>Math.floor(M)||P<0||j<=0||![0,1,3,4].includes(I)?g.create(h.NUM):(P>1?P=Math.floor(P):P=Math.ceil(P),this._getResult(D,p,M,L,P,j,I))}_getResult(e,t,r,n,s,a,o){const l=e-n,c=e*a,{days:f,yearDays:m}=Ee(t,r,o),d=f/m,C=Math.ceil(l/c-d);if(C<0)return b.create(0);let _=c;return s===0?_=c*d:s===C?_=l-c*(d+s-1):s>C&&(_=0),b.create(_)}}class Wd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:o,variants:l}=q(e,t,r,s);if(a)return o;const[c,f,m,d]=l,C=G(c);if(typeof C!="number")return C;const _=G(f);if(typeof _!="number")return _;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(C)>=Math.floor(_))return g.create(h.NUM);const y=is(C,_,E,R);return b.create(y)}}class Qd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:o,variants:l}=q(e,t,r,s);if(a)return o;const[c,f,m,d]=l,C=G(c);if(typeof C!="number")return C;const _=G(f);if(typeof _!="number")return _;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(C)>=Math.floor(_))return g.create(h.NUM);const y=Xe(C,_,E,R);return b.create(y)}}class qd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:o,variants:l}=q(e,t,r,s);if(a)return o;const[c,f,m,d]=l,C=G(c);if(typeof C!="number")return C;const _=G(f);if(typeof _!="number")return _;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(C)>=Math.floor(_))return g.create(h.NUM);const y=ae(C),N=ae(_);for(N.setUTCFullYear(y.getUTCFullYear()),N<y&&N.setUTCFullYear(N.getUTCFullYear()+1);N>y;)N.setUTCMonth(N.getUTCMonth()-12/E);N.setUTCMonth(N.getUTCMonth()+12/E);const p=Re(N),{days:M}=Ee(C,p,R);return b.create(M)}}class Xd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:o,variants:l}=q(e,t,r,s);if(a)return o;const[c,f,m,d]=l,C=G(c);if(typeof C!="number")return C;const _=G(f);if(typeof _!="number")return _;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(C)>=Math.floor(_))return g.create(h.NUM);const y=qu(C,_,E);return b.create(y)}}class Kd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:o,variants:l}=q(e,t,r,s);if(a)return o;const[c,f,m,d]=l,C=G(c);if(typeof C!="number")return C;const _=G(f);if(typeof _!="number")return _;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(C)>=Math.floor(_)||vt(C,_,E)<0)return g.create(h.NUM);const N=rr(C,_,E);return b.create(N)}}class Zd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:o,variants:l}=q(e,t,r,s);if(a)return o;const[c,f,m,d]=l,C=G(c);if(typeof C!="number")return C;const _=G(f);if(typeof _!="number")return _;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(C)>=Math.floor(_))return g.create(h.NUM);let y=vt(C,_,E);return y<0&&(y=0),b.create(y)}}class zd extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:o,errorObject:l,variants:c}=q(e,t,r,n,s,a);if(o)return l;const[f,m,d,C,_,E]=c,R=+f.getValue(),y=+m.getValue(),N=+d.getValue(),p=+C.getValue(),M=+_.getValue(),D=+E.getValue();return Number.isNaN(R)||Number.isNaN(y)||Number.isNaN(N)||Number.isNaN(p)||Number.isNaN(M)||Number.isNaN(D)?g.create(h.VALUE):R<=0||y<=0||N<=0||p<1||M<1||p>M||p>y||M>y||![0,1].includes(D)?g.create(h.NUM):Math.trunc(p)!==p&&Math.trunc(M)!==M&&Math.trunc(p)===Math.trunc(M)?b.create(0):this._getResult(R,y,N,p,M,D)}_getResult(e,t,r,n,s,a){const o=Zr(e,t,r,0,a);let l=0,c=Math.ceil(n);c===1&&(a===0&&(l=-r),c++);let f=!1;for(let m=c;m<=s;m++){const d=a===1?nr(e,m-2,o,r,1):nr(e,m-1,o,r,0);if(d===0){f=!0;break}l+=a===1?d-o:d}return l*=e,(l<o*(s-n+1)||f)&&(l=o*(s-n+1)),b.create(l)}}class Jd extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:o,errorObject:l,variants:c}=q(e,t,r,n,s,a);if(o)return l;const[f,m,d,C,_,E]=c,R=+f.getValue(),y=+m.getValue(),N=+d.getValue(),p=+C.getValue(),M=+_.getValue(),D=+E.getValue();return Number.isNaN(R)||Number.isNaN(y)||Number.isNaN(N)||Number.isNaN(p)||Number.isNaN(M)||Number.isNaN(D)?g.create(h.VALUE):R<=0||y<=0||N<=0||p<1||M<1||p>M||![0,1].includes(D)?g.create(h.NUM):Math.trunc(p)!==p&&Math.trunc(M)!==M&&Math.trunc(p)===Math.trunc(M)?b.create(0):this._getResult(R,y,N,p,M,D)}_getResult(e,t,r,n,s,a){const o=Zr(e,t,r,0,a);let l=0,c=Math.ceil(n);c===1&&(l=a===0?o+r*e:o,c++);for(let f=c;f<=s;f++)l+=a===1?o-(nr(e,f-2,o,r,1)-o)*e:o-nr(e,f-1,o,r,0)*e;return b.create(l)}}class e1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(12);a.isNull()&&(a=b.create(12));const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=O(o,l,e,g.create(h.NA)),f=O(o,l,t,g.create(h.NA)),m=O(o,l,r,g.create(h.NA)),d=O(o,l,n,g.create(h.NA)),C=O(o,l,a,g.create(h.NA)),_=c.map((E,R,y)=>{const N=f.get(R,y),p=m.get(R,y),M=d.get(R,y),D=C.get(R,y),{isError:L,errorObject:P,variants:j}=B(E,N,p,M,D);if(L)return P;const[I,v,Y,Q,ne]=j,ee=+I.getValue(),W=+v.getValue(),fe=+Y.getValue();let Ae=+Q.getValue();const Ne=Math.floor(+ne.getValue());return ee<0||W<0||fe<=0||Ae<=0||Math.floor(Ae)>Math.floor(fe)||Ne<1||Ne>12?g.create(h.NUM):(Ae<1&&(Ae=1),Ae=Math.floor(Ae),this._getResult(ee,W,fe,Ae,Ne,R,y))});return o===1&&l===1?_.get(0,0):_}_getResult(e,t,r,n,s,a,o){const l=+(1-(t/e)**(1/r)).toFixed(3),c=e*l*s/12;let f=c,m=0;const d=n===r?r-1:n;for(let _=2;_<=d;_++)m=(e-f)*l,f+=m;let C;return n===1?C=c:n===r?C=(e-f)*l:C=m,Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):a===0&&o===0?b.create(C,We(this.getLocale())):b.create(C)}}class t1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(2);a.isNull()&&(a=b.create(2));const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=O(o,l,e,g.create(h.NA)),f=O(o,l,t,g.create(h.NA)),m=O(o,l,r,g.create(h.NA)),d=O(o,l,n,g.create(h.NA)),C=O(o,l,a,g.create(h.NA)),_=c.map((E,R,y)=>{const N=f.get(R,y),p=m.get(R,y),M=d.get(R,y),D=C.get(R,y),{isError:L,errorObject:P,variants:j}=B(E,N,p,M,D);if(L)return P;const[I,v,Y,Q,ne]=j,ee=+I.getValue(),W=+v.getValue(),fe=+Y.getValue(),Ae=+Q.getValue(),Ne=+ne.getValue();if(ee<0||W<0||fe<=0||Ae<=0||Ae>fe||Ne<=0)return g.create(h.NUM);const Ve=$a(ee,W,fe,Ae,Ne);return Number.isNaN(Ve)||!Number.isFinite(Ve)?g.create(h.NUM):R===0&&y===0?b.create(Ve,We(this.getLocale())):b.create(Ve)});return o===1&&l===1?_.get(0,0):_}}class r1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:b.create(0),{isError:o,errorObject:l,variants:c}=q(e,t,r,n,a);if(o)return l;const[f,m,d,C,_]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),N=+C.getValue(),p=Math.floor(+_.getValue());if(Number.isNaN(y)||Number.isNaN(N)||Number.isNaN(p))return g.create(h.VALUE);if(y<=0||N<=0||p<0||p>4||Math.floor(E)>=Math.floor(R))return g.create(h.NUM);const{days:M,yearDays:D}=Ee(E,R,p),L=(N-y)/N*(D/M);return b.create(L)}}class n1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=+a.getValue();let c=Math.floor(+o.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);if(c>=0&&c<1)return g.create(h.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let f=Number.parseInt(`${l}`,10);f+=l%1*10**Math.ceil(Math.log(c)/Math.LN10)/c;const m=10**(Math.ceil(Math.log(c)/Math.LN2)+1);return f=Math.round(f*m)/m,b.create(f)}}class s1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=+a.getValue();let c=Math.floor(+o.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);if(c>=0&&c<1)return g.create(h.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let f=Number.parseInt(`${l}`,10);return f+=l%1*10**-Math.ceil(Math.log(c)/Math.LN10)*c,b.create(f)}}class a1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:b.create(0);o.isNull()&&(o=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,o);if(l)return c;const[m,d,C,_,E,R]=f,y=G(m);if(typeof y!="number")return y;const N=G(d);if(typeof N!="number")return N;const p=+C.getValue(),M=+_.getValue(),D=Math.floor(+E.getValue()),L=Math.floor(+R.getValue());if(Number.isNaN(p)||Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);if(p<0||M<0||![1,2,4].includes(D)||L<0||L>4||Math.floor(y)>=Math.floor(N)||y<=0||N<=366)return g.create(h.NUM);const P=Xu(y,N,p,M,D,L);return b.create(P)}}class i1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=+a.getValue();let c=Math.floor(+o.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(l<=0||c<1)return g.create(h.NUM);c=Number.parseInt(`${c}`,10);const f=(1+l/c)**c-1;return b.create(f)}}class o1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),o=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),C=O(l,c,a,g.create(h.NA)),_=O(l,c,o,g.create(h.NA)),E=f.map((R,y,N)=>{const p=m.get(y,N),M=d.get(y,N),D=C.get(y,N),L=_.get(y,N),{isError:P,errorObject:j,variants:I}=B(R,p,M,D,L);if(P)return j;const[v,Y,Q,ne,ee]=I,W=+v.getValue(),fe=+Y.getValue(),Ae=+Q.getValue(),Ne=+ne.getValue(),Ve=+ee.getValue(),de=nr(W,fe,Ae,Ne,Ve?1:0);return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):y===0&&N===0?b.create(de,We(this.getLocale())):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class u1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e);if(r)return n;const[a]=s,o=+a.getValue();if(Number.isNaN(o))return g.create(h.VALUE);let l=o;if(t.isArray()){const c=t.getArrayValue().flat();for(let f=0;f<c.length;f++){const m=c[f];if(m.isBoolean())return g.create(h.VALUE);const d=+m.getValue();if(Number.isNaN(d))return g.create(h.VALUE);l*=1+d}}else{if(t.isBoolean())return g.create(h.VALUE);const c=+t.getValue();if(Number.isNaN(c))return g.create(h.VALUE);l*=1+c}return b.create(l)}}class l1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:b.create(0),{isError:o,errorObject:l,variants:c}=q(e,t,r,n,a);if(o)return l;const[f,m,d,C,_]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),N=+C.getValue(),p=Math.floor(+_.getValue());if(Number.isNaN(y)||Number.isNaN(N)||Number.isNaN(p))return g.create(h.VALUE);if(y<=0||N<=0||p<0||p>4||Math.floor(E)>=Math.floor(R))return g.create(h.NUM);const{days:M,yearDays:D}=Ee(E,R,p),L=(N-y)/y*(D/M);return b.create(L)}}class c1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const o=s!=null?s:b.create(0),l=a!=null?a:b.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),C=O(c,f,r,g.create(h.NA)),_=O(c,f,n,g.create(h.NA)),E=O(c,f,o,g.create(h.NA)),R=O(c,f,l,g.create(h.NA)),y=m.map((N,p,M)=>{const D=d.get(p,M),L=C.get(p,M),P=_.get(p,M),j=E.get(p,M),I=R.get(p,M),{isError:v,errorObject:Y,variants:Q}=B(N,D,L,P,j,I);if(v)return Y;const[ne,ee,W,fe,Ae,Ne]=Q,Ve=+ne.getValue(),de=+ee.getValue(),Be=+W.getValue(),Rt=+fe.getValue(),It=+Ae.getValue(),Ft=+Ne.getValue();if(de<1||Math.floor(de)>Math.ceil(Be))return g.create(h.NUM);const lt=Ku(Ve,de,Be,Rt,It,Ft?1:0);return Number.isNaN(lt)||!Number.isFinite(lt)?g.create(h.NUM):p===0&&M===0?b.create(lt,We(this.getLocale())):b.create(lt)});return c===1&&f===1?y.get(0,0):y}}class f1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:b.create(.1);return r.isNull()&&(r=b.create(.1)),r.isArray()?r.map((n,s,a)=>this._handleSingleObject(e,n,s,a)):this._handleSingleObject(e,r)}_handleSingleObject(e,t,r=0,n=0){if(e.isError())return e;if(t.isError())return t;if(e.isNull())return g.create(h.VALUE);if(!e.isArray())return g.create(h.NUM);const{_values:s,valuesHasError:a}=this._getValues(e);if(a)return g.create(h.VALUE);let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()))return o;const l=+o.getValue(),{positive:c,negative:f}=this._checkValues(s);if(!c||!f)return g.create(h.NUM);const m=ka(l,d=>Zu(d,s));return typeof m!="number"?m:r===0&&n===0?b.create(m,"0%"):b.create(m)}_getValues(e){const t=[];let r=!1;return e.iterator(n=>{const s=n;if(s.isError())return r=!0,!1;if(s.isNull()||s.isBoolean()||s.isString()&&s.getValue()==="")return!0;const a=+s.getValue();if(Number.isNaN(a))return!0;t.push(a)}),{_values:t,valuesHasError:r}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}}class m1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.map((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_),{isError:N,errorObject:p,variants:M}=B(d,E,R,y);if(N)return p;const[D,L,P,j]=M,I=+D.getValue(),v=+L.getValue(),Y=+P.getValue(),Q=+j.getValue();if(Y===0)return g.create(h.DIV_BY_ZERO);const ne=Q*I*(v/Y-1);return b.create(ne)});return s===1&&a===1?m.get(0,0):m}}class h1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:b.create(0);o.isNull()&&(o=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,o);if(l)return c;const[m,d,C,_,E,R]=f,y=G(m);if(typeof y!="number")return y;const N=G(d);if(typeof N!="number")return N;const p=+C.getValue(),M=+_.getValue(),D=Math.floor(+E.getValue()),L=Math.floor(+R.getValue());if(Number.isNaN(p)||Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);if(p<0||M<0||![1,2,4].includes(D)||L<0||L>4||Math.floor(y)>=Math.floor(N))return g.create(h.NUM);let P=Xu(y,N,p,M,D,L);return P/=1+M/D,b.create(P)}}class g1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{_values:n,numberValues:s,positive:a,negative:o}=this._getValues(e),l=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),f=O(l,c,t,g.create(h.NA)),m=O(l,c,r,g.create(h.NA)),d=f.map((C,_,E)=>{const R=m.get(_,E);if(e.isError())return e;if(R.isError())return R;if(n.isError())return n;if(!a||!o)return g.create(h.DIV_BY_ZERO);const y=+C.getValue(),N=+R.getValue();if(Number.isNaN(y)||Number.isNaN(N))return g.create(h.VALUE);if(N===-1)return g.create(h.DIV_BY_ZERO);const p=this._getResult(s,y,N);return _===0&&E===0?b.create(p,"0%"):b.create(p)});return l===1&&c===1?d.get(0,0):d}_getValues(e){let t=e,r=[],n=!1,s=!1;if(!e.isError())if(e.isNull())t=g.create(h.VALUE);else if(!e.isArray())t=g.create(h.DIV_BY_ZERO);else{const{numberValues:a,valuesHasError:o,errorObject:l,positive:c,negative:f}=this._checkValues(e);o&&(t=l),r=a,n=c,s=f}return{_values:t,numberValues:r,positive:n,negative:s}}_checkValues(e){const t=[];let r=!1,n=g.create(h.VALUE),s=!1,a=!1;return e.iterator(o=>{const l=o;if(l.isError())return r=!0,n=l,!1;if(l.isNull()||l.isBoolean()||l.isString()&&l.getValue()==="")return!0;const c=+l.getValue();if(Number.isNaN(c))return!0;c>0&&(s=!0),c<0&&(a=!0),t.push(c)}),{numberValues:t,valuesHasError:r,errorObject:n,positive:s,negative:a}}_getResult(e,t,r){const n=e.length,s=[],a=[];for(let d=0;d<n;d++)e[d]>0?a.push(e[d]):e[d]<0&&s.push(e[d]);const o=this._npv(r,e,"positive"),l=this._npv(t,e,"negative"),c=-o*(1+r)**n,f=l*(1+t);return(c/f)**(1/(n-1))-1}_npv(e,t,r){let n=0;for(let s=1;s<=t.length;s++){const a=t[s-1];(r==="positive"&&a>0||r==="negative"&&a<0)&&(n+=a/(1+e)**s)}return n}}class d1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=+a.getValue();let c=Math.floor(+o.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(l<=0||c<1)return g.create(h.NUM);c=Number.parseInt(`${c}`,10);const f=((l+1)**(1/c)-1)*c;return b.create(f)}}class C1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),o=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),C=O(l,c,a,g.create(h.NA)),_=O(l,c,o,g.create(h.NA)),E=f.map((R,y,N)=>{const p=m.get(y,N),M=d.get(y,N),D=C.get(y,N),L=_.get(y,N),{isError:P,errorObject:j,variants:I}=B(R,p,M,D,L);if(P)return j;const[v,Y,Q,ne,ee]=I,W=+v.getValue(),fe=+Y.getValue(),Ae=+Q.getValue(),Ne=+ne.getValue();let Ve=+ee.getValue();if(Ve=Ve?1:0,W===0&&fe===0)return g.create(h.DIV_BY_ZERO);let de;if(W===0)de=-(Ae+Ne)/fe;else{const Be=fe*(1+W*Ve)-Ne*W,Rt=Ae*W+fe*(1+W*Ve);de=Math.log(Be/Rt)/Math.log(1+W)}return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class _1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsLocale",!0)}calculate(e,...t){if(e.isError())return e;const{isError:r,errorObject:n,values:s}=this._getValues(t);return e.isArray()?e.map((a,o,l)=>this._handleSingleObject(a,r,n,s,o,l)):this._handleSingleObject(e,r,n,s)}_handleSingleObject(e,t,r,n,s=0,a=0){let o=e;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(t)return r;const l=+e.getValue(),c=Zu(l,n);return Number.isNaN(c)||Math.abs(c)===1/0?g.create(h.DIV_BY_ZERO):s===0&&a===0?b.create(c,We(this.getLocale())):b.create(c)}_getValues(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return{isError:!0,errorObject:n};if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(o=>{const l=o;if(l.isError())return s=!0,a=l,!1;if(l.isNull()||l.isBoolean()||l.isString()&&l.getValue()==="")return!0;const c=+l.getValue();if(Number.isNaN(c))return!0;t.push(c)}),s)return{isError:s,errorObject:a}}else{const s=+n.getValue();if(Number.isNaN(s))return{isError:!0,errorObject:g.create(h.VALUE)};t.push(s)}}return{isError:!1,values:t}}}class A1 extends V{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,o,l,c){let f=c!=null?c:b.create(0);f.isNull()&&(f=b.create(0));const{isError:m,errorObject:d,variants:C}=Fe(e,t,r,n,s,a,o,l,f);if(m)return d;const[_,E,R,y,N,p,M,D,L]=C,P=G(_);if(typeof P!="number")return P;const j=G(E);if(typeof j!="number")return j;const I=G(R);if(typeof I!="number")return I;const v=G(y);if(typeof v!="number")return v;const Y=+N.getValue(),Q=+p.getValue(),ne=+M.getValue(),ee=Math.floor(+D.getValue()),W=Math.floor(+L.getValue());if(Number.isNaN(Y)||Number.isNaN(Q)||Number.isNaN(ne)||Number.isNaN(ee)||Number.isNaN(W))return g.create(h.VALUE);if(Y<0||Q<0||ne<=0||![1,2,4].includes(ee)||W<0||W>4||!this._validDate(j,v,P,I,ee))return g.create(h.NUM);const fe=zu(P,j,I,v,Y,Q,ne,ee,W);return b.create(fe)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&Ju(e,t,s)&&Or(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}}class E1 extends V{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,o,l,c){let f=c!=null?c:b.create(0);f.isNull()&&(f=b.create(0));const{isError:m,errorObject:d,variants:C}=Fe(e,t,r,n,s,a,o,l,f);if(m)return d;const[_,E,R,y,N,p,M,D,L]=C,P=G(_);if(typeof P!="number")return P;const j=G(E);if(typeof j!="number")return j;const I=G(R);if(typeof I!="number")return I;const v=G(y);if(typeof v!="number")return v;const Y=+N.getValue(),Q=+p.getValue(),ne=+M.getValue(),ee=Math.floor(+D.getValue()),W=Math.floor(+L.getValue());return Number.isNaN(Y)||Number.isNaN(Q)||Number.isNaN(ne)||Number.isNaN(ee)||Number.isNaN(W)?g.create(h.VALUE):Y<0||Q<=0||ne<=0||![1,2,4].includes(ee)||W<0||W>4||!this._validDate(j,v,P,I,ee)?g.create(h.NUM):this._getResult(P,j,I,v,Y,Q,ne,ee,W)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&Ju(e,t,s)&&Or(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}_getResult(e,t,r,n,s,a,o,l,c){const{days:f}=Ee(e,t,c),m=(s*f*100-(a-100))/((a-100)*.25*(1+2*f)+f*100);function d(_){return a-zu(e,t,r,n,s,_,o,l,c)}const C=ka(m,_=>d(_));return typeof C!="number"?C:b.create(C)}}class R1 extends V{constructor(){super(...arguments);A(this,"minParams",7);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,o,l){let c=l!=null?l:b.create(0);c.isNull()&&(c=b.create(0));const{isError:f,errorObject:m,variants:d}=Fe(e,t,r,n,s,a,o,c);if(f)return m;const[C,_,E,R,y,N,p,M]=d,D=G(C);if(typeof D!="number")return D;const L=G(_);if(typeof L!="number")return L;const P=G(E);if(typeof P!="number")return P;const j=+R.getValue(),I=+y.getValue(),v=+N.getValue(),Y=Math.floor(+p.getValue()),Q=Math.floor(+M.getValue());if(Number.isNaN(j)||Number.isNaN(I)||Number.isNaN(v)||Number.isNaN(Y)||Number.isNaN(Q))return g.create(h.VALUE);if(j<0||I<0||v<=0||![1,2,4].includes(Y)||Q<0||Q>4||!this._validDate(L,D,P,Y))return g.create(h.NUM);const ne=this._getResult(D,L,P,j,I,v,Y,Q);return b.create(ne)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Or(r,e,n)}_getResult(e,t,r,n,s,a,o,l){const c=this._getCoupDate(t,r,o),f=this._getFrac(r,e,c,o,l),m=this._getFrac(r,t,c,o,l),d=this._getFrac(e,t,c,o,l);return(a*o+100*n*(m-f*(1+s*d/o)))/(s*d+o)}_getCoupDate(e,t,r){const n=ae(e),s=ae(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return Re(s)}_getFrac(e,t,r,n,s){const a=ae(e),o=ae(t),l=ae(r);for(l.setUTCFullYear(a.getUTCFullYear()),l<a&&l.setUTCFullYear(l.getUTCFullYear()+1);l>a;)l.setUTCMonth(l.getUTCMonth()-12/n);let c=Re(l);l.setUTCMonth(l.getUTCMonth()+12/n);let f=Re(l);if(f>=t){const{days:N}=Ee(e,t,s),p=Xe(c,f,n,s);return N/p}const{days:m}=Ee(e,f,s),d=Xe(c,f,n,s);let C=m/d;const _=ae(f),E=ae(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<o;)_.setUTCMonth(_.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),C+=1;c=Re(_),f=Re(E);const{days:R}=Ee(c,t,s),y=Xe(c,f,n,s);return C+=R/y,C}}class y1 extends V{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,o,l){let c=l!=null?l:b.create(0);c.isNull()&&(c=b.create(0));const{isError:f,errorObject:m,variants:d}=Fe(e,t,r,n,s,a,o,c);if(f)return m;const[C,_,E,R,y,N,p,M]=d,D=G(C);if(typeof D!="number")return D;const L=G(_);if(typeof L!="number")return L;const P=G(E);if(typeof P!="number")return P;const j=+R.getValue(),I=+y.getValue(),v=+N.getValue(),Y=Math.floor(+p.getValue()),Q=Math.floor(+M.getValue());if(Number.isNaN(j)||Number.isNaN(I)||Number.isNaN(v)||Number.isNaN(Y)||Number.isNaN(Q))return g.create(h.VALUE);if(j<0||I<=0||v<=0||![1,2,4].includes(Y)||Q<0||Q>4||!this._validDate(L,D,P,Y))return g.create(h.NUM);const ne=this._getResult(D,L,P,j,I,v,Y,Q);return b.create(ne)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Or(r,e,n)}_getResult(e,t,r,n,s,a,o,l){const c=this._getCoupDate(t,r,o),f=this._getFrac(r,e,c,o,l),m=this._getFrac(r,t,c,o,l),d=this._getFrac(e,t,c,o,l);return(o*(a-s)+100*n*(m-f))/(d*s+100*n*f*d/o)}_getCoupDate(e,t,r){const n=ae(e),s=ae(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return Re(s)}_getFrac(e,t,r,n,s){const a=ae(e),o=ae(t),l=ae(r);for(l.setUTCFullYear(a.getUTCFullYear()),l<a&&l.setUTCFullYear(l.getUTCFullYear()+1);l>a;)l.setUTCMonth(l.getUTCMonth()-12/n);let c=Re(l);l.setUTCMonth(l.getUTCMonth()+12/n);let f=Re(l);if(f>=t){const{days:N}=Ee(e,t,s),p=Xe(c,f,n,s);return N/p}const{days:m}=Ee(e,f,s),d=Xe(c,f,n,s);let C=m/d;const _=ae(f),E=ae(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<o;)_.setUTCMonth(_.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),C+=1;c=Re(_),f=Re(E);const{days:R}=Ee(c,t,s),y=Xe(c,f,n,s);return C+=R/y,C}}class b1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d),{isError:E,errorObject:R,variants:y}=B(f,C,_);if(E)return R;const[N,p,M]=y,D=+N.getValue(),L=+p.getValue(),P=+M.getValue();if(D<=-1)return g.create(h.NUM);const j=(Math.log(P)-Math.log(L))/Math.log(1+D);return Number.isNaN(j)||!Number.isFinite(j)?g.create(h.NUM):b.create(j)});return n===1&&s===1?c.get(0,0):c}}class N1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),o=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),C=O(l,c,a,g.create(h.NA)),_=O(l,c,o,g.create(h.NA)),E=f.map((R,y,N)=>{const p=m.get(y,N),M=d.get(y,N),D=C.get(y,N),L=_.get(y,N),{isError:P,errorObject:j,variants:I}=B(R,p,M,D,L);if(P)return j;const[v,Y,Q,ne,ee]=I,W=+v.getValue(),fe=+Y.getValue(),Ae=+Q.getValue(),Ne=+ne.getValue(),Ve=+ee.getValue();if(W<=-1)return g.create(h.NUM);const de=Zr(W,fe,Ae,Ne,Ve?1:0);return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):y===0&&N===0?b.create(de,We(this.getLocale())):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class p1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const o=s!=null?s:b.create(0),l=a!=null?a:b.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),C=O(c,f,r,g.create(h.NA)),_=O(c,f,n,g.create(h.NA)),E=O(c,f,o,g.create(h.NA)),R=O(c,f,l,g.create(h.NA)),y=m.map((N,p,M)=>{const D=d.get(p,M),L=C.get(p,M),P=_.get(p,M),j=E.get(p,M),I=R.get(p,M),{isError:v,errorObject:Y,variants:Q}=B(N,D,L,P,j,I);if(v)return Y;const[ne,ee,W,fe,Ae,Ne]=Q,Ve=+ne.getValue(),de=+ee.getValue(),Be=+W.getValue(),Rt=+fe.getValue(),It=+Ae.getValue(),Ft=+Ne.getValue();if(de<1||Math.floor(de)>Math.ceil(Be)||de-Be>=1)return g.create(h.NUM);const lt=Zr(Ve,Be,Rt,It,Ft?1:0)-Ku(Ve,de,Be,Rt,It,Ft?1:0);return Number.isNaN(lt)||!Number.isFinite(lt)?g.create(h.NUM):p===0&&M===0?b.create(lt,We(this.getLocale())):b.create(lt)});return c===1&&f===1?y.get(0,0):y}}class V1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,o){let l=o!=null?o:b.create(0);l.isNull()&&(l=b.create(0));const{isError:c,errorObject:f,variants:m}=Fe(e,t,r,n,s,a,l);if(c)return f;const[d,C,_,E,R,y,N]=m,p=G(d);if(typeof p!="number")return p;const M=G(C);if(typeof M!="number")return M;const D=+_.getValue(),L=+E.getValue(),P=+R.getValue(),j=Math.floor(+y.getValue()),I=Math.floor(+N.getValue());if(Number.isNaN(D)||Number.isNaN(L)||Number.isNaN(P)||Number.isNaN(j)||Number.isNaN(I))return g.create(h.VALUE);if(D<0||L<0||P<=0||![1,2,4].includes(j)||I<0||I>4||p>=M||!Or(p,M,j))return g.create(h.NUM);const v=os(p,M,D,L,P,j,I);return b.create(v)}}class O1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(0);a.isNull()&&(a=b.create(0));const{isError:o,errorObject:l,variants:c}=Fe(e,t,r,n,a);if(o)return l;const[f,m,d,C,_]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),N=+C.getValue(),p=Math.floor(+_.getValue());if(Number.isNaN(y)||Number.isNaN(N)||Number.isNaN(p))return g.create(h.VALUE);if(y<=0||N<=0||p<0||p>4||E>=R)return g.create(h.NUM);const{days:M,yearDays:D}=Ee(E,R,p),L=N-y*N*M/D;return b.create(L)}}class S1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:b.create(0);o.isNull()&&(o=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,o);if(l)return c;const[m,d,C,_,E,R]=f,y=G(m);if(typeof y!="number")return y;const N=G(d);if(typeof N!="number")return N;const p=G(C);if(typeof p!="number")return p;const M=+_.getValue(),D=+E.getValue(),L=Math.floor(+R.getValue());if(Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);const P=this._getDateCorrectOrder(N,y,p);if(M<0||D<0||L<0||L>4||!P)return g.create(h.NUM);const j=ri(y,L),{days:I}=Ee(y,N,L),{days:v}=Ee(p,N,L),{days:Y}=Ee(p,y,L),Q=(100+v/j*M*100)/(1+I/j*D)-Y/j*M*100;return b.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}class M1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),o=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),C=O(l,c,a,g.create(h.NA)),_=O(l,c,o,g.create(h.NA)),E=f.map((R,y,N)=>{const p=m.get(y,N),M=d.get(y,N),D=C.get(y,N),L=_.get(y,N),{isError:P,errorObject:j,variants:I}=B(R,p,M,D,L);if(P)return j;const[v,Y,Q,ne,ee]=I,W=+v.getValue(),fe=+Y.getValue(),Ae=+Q.getValue(),Ne=+ne.getValue();let Ve=+ee.getValue();Ve=Ve?1:0;const de=W===0?-Ae*fe-Ne:((1-(1+W)**fe)/W*Ae*(1+W*Ve)-Ne)/(1+W)**fe;return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):y===0&&N===0?b.create(de,We(this.getLocale())):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class D1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const o=n!=null?n:b.create(0),l=s!=null?s:b.create(0),c=a!=null?a:b.create(.1),f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),C=O(f,m,t,g.create(h.NA)),_=O(f,m,r,g.create(h.NA)),E=O(f,m,o,g.create(h.NA)),R=O(f,m,l,g.create(h.NA)),y=O(f,m,c,g.create(h.NA)),N=d.map((p,M,D)=>{const L=C.get(M,D),P=_.get(M,D),j=E.get(M,D),I=R.get(M,D),v=y.get(M,D),{isError:Y,errorObject:Q,variants:ne}=B(p,L,P,j,I,v);if(Y)return Q;const[ee,W,fe,Ae,Ne,Ve]=ne,de=+ee.getValue(),Be=+W.getValue(),Rt=+fe.getValue(),It=+Ae.getValue();let Ft=+Ne.getValue();const lt=+Ve.getValue();if(Ft=Ft?1:0,de<=0)return g.create(h.NUM);const BR=Be>=0&&Rt>=0&&It>=0,kR=Be<=0&&Rt<=0&&It<=0;return BR||kR?g.create(h.NUM):this._getResult(de,Be,Rt,It,Ft,lt,M,D)});return f===1&&m===1?N.get(0,0):N}_getResult(e,t,r,n,s,a,o,l){if(Math.abs(t)<1e-14)return this._computeSimpleGrowthRate(e,r,n,o,l);let m=a,d=Number.POSITIVE_INFINITY;for(let C=0;C<100;C++){if(m<=-1)return g.create(h.NUM);const{value:_,derivative:E}=this._evaluateRateFunction(m,e,t,r,n,s,1e-10),R=Math.abs(_);if(R<1e-10||Math.abs(E)<1e-14)break;const y=this._getAdaptiveDampedStep(_,E,R,d);m-=y,d=R}return!Number.isFinite(m)||m<=-1?g.create(h.NUM):b.create(m,o===0&&l===0?"0%":void 0)}_computeSimpleGrowthRate(e,t,r,n,s){if(Math.sign(t)===Math.sign(r))return g.create(h.NUM);const a=(r/-t)**(1/e)-1;return b.create(a,n===0&&s===0?"0%":void 0)}_evaluateRateFunction(e,t,r,n,s,a,o){let l,c,f;if(Math.abs(e)<o)l=n*(1+t*e)+r*(1+e*a)*t+s,c=n*t+r*a*t;else{f=(1+e)**t,l=n*f+r*(1/e+a)*(f-1)+s;const m=t*(1+e)**(t-1);c=n*m+r*(1/e+a)*m+r*(-1/(e*e))*(f-1)}return{value:l,derivative:c}}_getAdaptiveDampedStep(e,t,r,n){const s=e/t;return r>.001||r>=n*.9?Math.max(Math.min(s,5),-5):Math.max(Math.min(s,.5),-.5)}}class w1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(0);a.isNull()&&(a=b.create(0));const{isError:o,errorObject:l,variants:c}=Fe(e,t,r,n,a);if(o)return l;const[f,m,d,C,_]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),N=+C.getValue(),p=Math.floor(+_.getValue());if(Number.isNaN(y)||Number.isNaN(N)||Number.isNaN(p))return g.create(h.VALUE);if(y<=0||N<=0||p<0||p>4||E>=R)return g.create(h.NUM);const{days:M,yearDays:D}=Ee(E,R,p),L=y/(1-N*M/D);return L<0?g.create(h.NUM):b.create(L)}}class L1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d),{isError:E,errorObject:R,variants:y}=B(f,C,_);if(E)return R;const[N,p,M]=y,D=+N.getValue(),L=+p.getValue(),P=+M.getValue();if(D<=0)return g.create(h.NUM);if(L===0&&P===0)return b.create(0);const j=(P/L)**(1/D)-1;return Number.isNaN(j)||!Number.isFinite(j)||P/L<0?g.create(h.NUM):b.create(j)});return n===1&&s===1?c.get(0,0):c}}class P1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);if(C.isError())return C;if(_.isError())return _;const E=+f.getValue(),R=+C.getValue(),y=+_.getValue();if(Number.isNaN(E)||Number.isNaN(R)||Number.isNaN(y))return g.create(h.VALUE);if(y===0)return g.create(h.DIV_BY_ZERO);const N=(E-R)/y;return m===0&&d===0?b.create(N,We(this.getLocale())):b.create(N)});return n===1&&s===1?c.get(0,0):c}}class j1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4);A(this,"needsLocale",!0)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.map((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);if(E.isError())return E;if(R.isError())return R;if(y.isError())return y;const N=+d.getValue(),p=+E.getValue(),M=+R.getValue(),D=+y.getValue();if(Number.isNaN(N)||Number.isNaN(p)||Number.isNaN(M)||Number.isNaN(D))return g.create(h.VALUE);if(p<0||M<=0||D>M)return g.create(h.NUM);const L=(N-p)*(M-D+1)*2/(M*(M+1));return C===0&&_===0?b.create(L,We(this.getLocale())):b.create(L)});return s===1&&a===1?m.get(0,0):m}}class T1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Fe(e,t,r);if(n)return s;const[o,l,c]=a,f=G(o);if(typeof f!="number")return f;const m=G(l);if(typeof m!="number")return m;const d=+c.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const C=Math.floor(m)-Math.floor(f),E=ae(f).getUTCFullYear(),R=ln(E);if(C>R)return g.create(h.NUM);let y=365*d/(360-d*C);if(C>182){const N=100*(1-d*C/360),p=C/365;if(y=(-p+Math.sqrt(p*p-(p*2-1)*(1-100/N)))/(p-.5),Number.isNaN(y))return g.create(h.NUM)}return y<0?g.create(h.NUM):b.create(y)}}class U1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Fe(e,t,r);if(n)return s;const[o,l,c]=a,f=G(o);if(typeof f!="number")return f;const m=G(l);if(typeof m!="number")return m;const d=+c.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const C=Math.floor(m)-Math.floor(f),E=ae(f).getUTCFullYear(),R=ln(E);if(C>R)return g.create(h.NUM);const y=100*(1-d*C/360);return y<0?g.create(h.NUM):b.create(y,We(this.getLocale()))}}class x1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Fe(e,t,r);if(n)return s;const[o,l,c]=a,f=G(o);if(typeof f!="number")return f;const m=G(l);if(typeof m!="number")return m;const d=+c.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const C=Math.floor(m)-Math.floor(f),E=ae(f).getUTCFullYear(),R=ln(E);if(C>R)return g.create(h.NUM);const y=(100-d)/d*360/C;return b.create(y)}}class v1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",7);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a,o){let l=a!=null?a:b.create(2);l.isNull()&&(l=b.create(2));let c=o!=null?o:F.create(!1);c.isNull()&&(c=F.create(!1));const f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),C=O(f,m,t,g.create(h.NA)),_=O(f,m,r,g.create(h.NA)),E=O(f,m,n,g.create(h.NA)),R=O(f,m,s,g.create(h.NA)),y=O(f,m,l,g.create(h.NA)),N=O(f,m,c,g.create(h.NA));return this._getResultArray(d,C,_,E,R,y,N,f,m)}_getResultArray(e,t,r,n,s,a,o,l,c){const f=e.map((m,d,C)=>{const _=t.get(d,C),E=r.get(d,C),R=n.get(d,C),y=s.get(d,C),N=a.get(d,C),p=o.get(d,C),{isError:M,errorObject:D,variants:L}=B(m,_,E,R,y,N,p);if(M)return D;const[P,j,I,v,Y,Q,ne]=L,ee=+P.getValue(),W=+j.getValue(),fe=+I.getValue(),Ae=+v.getValue(),Ne=+Y.getValue(),Ve=+Q.getValue(),de=+ne.getValue();if(ee<0||W<0||fe<0||Ae<0||Ne<0||Ne>fe||Ae>Ne||Ve<0)return g.create(h.NUM);if(fe===0&&Ae===0&&Ne===0)return g.create(h.DIV_BY_ZERO);const Be=this._getResult(ee,W,fe,Ae,Ne,Ve,de);return d===0&&C===0?b.create(Be,We(this.getLocale())):b.create(Be)});return l===1&&c===1?f.get(0,0):f}_getResult(e,t,r,n,s,a,o){const l=Math.floor(n),c=Math.ceil(s);let f=0;if(e<t){if(n>=1||o)return f;const m=Math.abs(e-t);return f=m*(s-n)>m?m:m*(s-n),-f}if(o)for(let m=l+1;m<=c;m++){let d=$a(e,t,r,m,a);m===l+1?d*=Math.min(s,l+1)-n:m===c&&(d*=s+1-c),f+=d}else{const m=e-this._getVdb(e,t,r,r,n,a);f=this._getVdb(m,t,r,r-n,s-n,a)}return f}_getVdb(e,t,r,n,s,a){const o=Math.ceil(s);let l=0,c=e-t,f=0,m=0,d=!1;for(let C=1;C<=o;C++){if(d)m=f;else{const _=$a(e,t,r,C,a);f=c/(n-(C-1)),f>_?(m=f,d=!0):(m=_,c-=_)}C===o&&(m*=s+1-o),l+=m}return l}}class I1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:n,errorObejct:s,_values:a,_dates:o}=this._checkErrors(e,t);if(n)return s;let l=r!=null?r:b.create(.1);l.isNull()&&(l=b.create(.1));const{isError:c,errorObject:f,variants:m}=q(l);if(c)return f;const[d]=m,C=+d.getValue();if(Number.isNaN(C))return g.create(h.VALUE);const{positive:_,negative:E}=this._checkValues(a);if(!_||!E||(a==null?void 0:a.length)!==(o==null?void 0:o.length)||C<0)return g.create(h.NUM);const R=ka(C,y=>this._iterF(a,o,y));return typeof R!="number"?R:b.create(R)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:o,_dates:l}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:s,_dates:l}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const o=+a.getValue();if(Number.isNaN(o))return r=!0,n=g.create(h.VALUE),!1;t.push(o)}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_values:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!S.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{if(s!=null&&s.isError())return r=!0,n=s,!1;if(s!=null&&s.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const a=+s.getValue();if(Number.isNaN(a))return r=!0,n=g.create(h.VALUE),!1;if(a<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(a))}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_dates:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!S.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}_iterF(e,t,r){return e.reduce((n,s,a)=>n+s/(1+r)**((t[a]-t[0])/365),0)}}class F1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull()||r.isNull())return g.create(h.NA);const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[o]=a,l=+o.getValue();if(Number.isNaN(l))return g.create(h.VALUE);let{isError:c,errorObejct:f,_values:m,_dates:d}=this._checkErrors(t,r);if(c)return f;if(m=m,d=d,l<0||m.length!==d.length)return g.create(h.NUM);let C=0;const _=d[0];for(let E=0;E<d.length;E++){const R=d[E],y=m[E];C+=y/(1+l)**((R-_)/365)}return b.create(C)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:o,_dates:l}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:s,_dates:l}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean()||a.isString()&&a.getValue()==="")return r=!0,n=g.create(h.VALUE),!1;const o=+a.getValue();if(Number.isNaN(o))return r=!0,n=g.create(h.VALUE),!1;t.push(o)}),r?{isError:r,errorObejct:n}:{isError:r,_values:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!1,_values:[r]}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const o=+a.getValue();if(Number.isNaN(o))return r=!0,n=g.create(h.VALUE),!1;if(o<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(o))}),r?{isError:r,errorObejct:n}:{isError:r,_dates:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!1,_dates:[Math.floor(r)]}}}}class B1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,o){let l=o!=null?o:b.create(0);l.isNull()&&(l=b.create(0));const{isError:c,errorObject:f,variants:m}=Fe(e,t,r,n,s,a,l);if(c)return f;const[d,C,_,E,R,y,N]=m,p=G(d);if(typeof p!="number")return p;const M=G(C);if(typeof M!="number")return M;const D=+_.getValue(),L=+E.getValue(),P=+R.getValue(),j=Math.floor(+y.getValue()),I=Math.floor(+N.getValue());if(Number.isNaN(D)||Number.isNaN(L)||Number.isNaN(P)||Number.isNaN(j)||Number.isNaN(I))return g.create(h.VALUE);if(D<0||L<=0||P<=0||![1,2,4].includes(j)||I<0||I>4||p>=M||!Or(p,M,j))return g.create(h.NUM);const v=this._getResult(p,M,D,L,P,j,I);return b.create(v)}_getResult(e,t,r,n,s,a,o){if(rr(e,t,a)>1){let E=r||.01,R=os(e,t,r,E,s,a,o),y=R-n;for(let N=0;N<100&&Math.abs(y)>1e-7;N++)R=os(e,t,r,1.01*E,s,a,o),E+=-y/(R-n-y)*E*.01,y=os(e,t,r,E,s,a,o)-n;return E}const c=is(e,t,a,o),f=Xe(e,t,a,o),{days:m}=Ee(e,t,o),d=n/100+c/f*r/a;return(s/100+r/a-d)/d*a*f/m}}class k1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(0);a.isNull()&&(a=b.create(0));const{isError:o,errorObject:l,variants:c}=Fe(e,t,r,n,a);if(o)return l;const[f,m,d,C,_]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),N=+C.getValue(),p=Math.floor(+_.getValue());if(Number.isNaN(y)||Number.isNaN(N)||Number.isNaN(p))return g.create(h.VALUE);if(y<=0||N<=0||p<0||p>4||E>=R)return g.create(h.NUM);const{days:M,yearDays:D}=Ee(E,R,p),L=(N/y-1)/(M/D);return b.create(L)}}class $1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:b.create(0);o.isNull()&&(o=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,o);if(l)return c;const[m,d,C,_,E,R]=f,y=G(m);if(typeof y!="number")return y;const N=G(d);if(typeof N!="number")return N;const p=G(C);if(typeof p!="number")return p;const M=+_.getValue(),D=+E.getValue(),L=Math.floor(+R.getValue());if(Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);const P=this._getDateCorrectOrder(N,y,p);if(M<0||D<=0||L<0||L>4||!P)return g.create(h.NUM);const j=ri(y,L),{days:I}=Ee(y,N,L),{days:v}=Ee(p,N,L),{days:Y}=Ee(p,y,L),Q=((1+v/j*M)/(D/100+Y/j*M)-1)/(I/j);return b.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}const el=[[Yd,J.ACCRINT],[Hd,J.ACCRINTM],[Gd,J.AMORLINC],[Wd,J.COUPDAYBS],[Qd,J.COUPDAYS],[qd,J.COUPDAYSNC],[Xd,J.COUPNCD],[Kd,J.COUPNUM],[Zd,J.COUPPCD],[zd,J.CUMIPMT],[Jd,J.CUMPRINC],[e1,J.DB],[t1,J.DDB],[r1,J.DISC],[n1,J.DOLLARDE],[s1,J.DOLLARFR],[a1,J.DURATION],[i1,J.EFFECT],[o1,J.FV],[u1,J.FVSCHEDULE],[l1,J.INTRATE],[c1,J.IPMT],[f1,J.IRR],[m1,J.ISPMT],[h1,J.MDURATION],[g1,J.MIRR],[d1,J.NOMINAL],[C1,J.NPER],[_1,J.NPV],[A1,J.ODDFPRICE],[E1,J.ODDFYIELD],[R1,J.ODDLPRICE],[y1,J.ODDLYIELD],[b1,J.PDURATION],[N1,J.PMT],[p1,J.PPMT],[V1,J.PRICE],[O1,J.PRICEDISC],[S1,J.PRICEMAT],[M1,J.PV],[D1,J.RATE],[w1,J.RECEIVED],[L1,J.RRI],[P1,J.SLN],[j1,J.SYD],[T1,J.TBILLEQ],[U1,J.TBILLPRICE],[x1,J.TBILLYIELD],[v1,J.VDB],[I1,J.XIRR],[F1,J.XNPV],[B1,J.YIELD],[k1,J.YIELDDISC],[$1,J.YIELDMAT]];class Y1 extends V{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),r.isArray()){const n=r.getRowCount(),s=r.getColumnCount();if(n===1&&s===1){const a=r.get(0,0);return this._handleSingleObject(a,t)}return r.map(a=>a.isError()?a:this._handleSingleObject(a,t,!0))}return this._handleSingleObject(r,t)}_handleSingleObject(e,t,r=!1){let n=t;if(n.isError())return n;if(!n.isReferenceObject())return g.create(h.NA);const s=n.getCurrentActiveSheetData(),{columnData:a,defaultColumnWidth:o}=s;n=n.toArrayValueObject();const l=n.getCurrentRow(),c=n.getCurrentColumn();n=n.getFirstCell();const f=`${e.getValue()}`;let m;switch(f.toLocaleLowerCase()){case"address":return x.create(`$${S.Tools.chatAtABC(c)}$${l+1}`);case"col":return b.create(c+1);case"color":return b.create(0);case"contents":return n;case"filename":return g.create(h.VALUE);case"format":return x.create("G");case"parentheses":return b.create(0);case"prefix":return x.create("");case"protect":return b.create(1);case"row":return b.create(l+1);case"type":return m="v",n.isNull()&&(m="b"),n.isString()&&(m="l"),x.create(m);case"width":return this._getWidthResult(a,o,c,r);default:return g.create(h.VALUE)}}_getWidthResult(e,t,r,n){var o;let s=(o=e[r])==null?void 0:o.w;if(!s&&s!==0&&(s=t),n)return b.create(s);const a=[[s,s===t]];return Z.createByArray(a)}}class H1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"_errorTypeValueMap",new Map([[h.NULL,1],[h.DIV_BY_ZERO,2],[h.VALUE,3],[h.REF,4],[h.NAME,5],[h.NUM,6],[h.NA,7],[h.CONNECT,8],[h.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=e.getValue(),r=this._errorTypeValueMap.get(t);return r?b.create(r):g.create(h.NA)}}class G1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:F.create(!0),o=s!=null?s:F.create(!0),{isError:l,errorObject:c,variants:f}=qr(e,t,r,a,o);if(l)return c;const[m,d,C,_,E]=f;if(_.isString()||E.isString())return g.create(h.VALUE);if(d.compare(C,">").getValue()===!0)return g.create(h.NUM);const y=+_.getValue(),N=+E.getValue(),p=y?">=":">",M=N?"<=":"<";return m.compare(d,p).getValue()===!1||m.compare(C,M).getValue()===!1?F.create(!1):F.create(!0)}}class W1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNull()?F.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?F.create(!0):F.create(!1)):F.create(!1)}}class Q1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==""?F.create(Rs(t.getPattern())):t.isString()&&(sn(`${t.getValue()}`)||an(`${t.getValue()}`))?F.create(!0):F.create(!1)}}class q1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),o=t.getColumnCount();if(a>1||o>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return F.create(!1);const r=`${t.getValue()}`;if(r.length>254)return F.create(!1);const n=S.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})$`,"i");return F.create(s.test(r))}}class X1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?F.create(!1):e.isError()?F.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?F.create(!1):t.isError()?F.create(!0):F.create(!1)):F.create(!1)}}class K1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?F.create(!0):e.isArray()?e.mapValue(t=>t.isError()?F.create(!0):F.create(!1)):F.create(!1)}}class Z1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2===0;return F.create(n)}}class z1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){var o;if(e.isError())return e;if(!e.isReferenceObject())return g.create(h.NA);const t=(o=e.getCurrentActiveSheetData())==null?void 0:o.cellData.getMatrix(),{startRow:r,startColumn:n}=e.getRangePosition(),s=e.toArrayValueObject(),a=s.mapValue((l,c,f)=>{var d;const m=(d=t==null?void 0:t[r+c])==null?void 0:d[n+f];return m!=null&&m.f||m!=null&&m.si?F.create(!0):F.create(!1)});return s.getRowCount()===1&&s.getColumnCount()===1?a.get(0,0):a}}class J1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isBoolean()?F.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?F.create(!0):F.create(!1)):F.create(!1)}}class eC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?F.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?F.create(!0):F.create(!1)):F.create(!1)}}class tC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?F.create(!0):e.isArray()?e.mapValue(t=>t.isString()?F.create(!1):F.create(!0)):F.create(!1)}}class rC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNumber()?F.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?F.create(!0):F.create(!1)):F.create(!1)}}class nC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2!==0;return F.create(n)}}class sC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?F.create(!0):F.create(!1)}}class aC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isString()?F.create(!0):e.isArray()?e.mapValue(t=>t.isString()?F.create(!0):F.create(!1)):F.create(!1)}}class iC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),o=t.getColumnCount();if(a>1||o>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return F.create(!1);const r=`${t.getValue()}`.replace(/^\s+|\s+$/g,"");if(r.length>1e3)return F.create(!1);const n=S.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:(?:https?|s?ftp|ftps|nfs|ssh)://+[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`,"i");return F.create(s.test(r))}}class oC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return b.create(0);const r=+t.getValue();return b.create(r)}}class uC extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return g.create(h.NA)}}class lC extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsSheetsInfo",!0)}calculate(e){var o;if(e!=null&&e.isError())return e;const{sheetOrder:t,sheetNameMap:r}=this.getSheetsInfo();if(!e){const l=t.findIndex(c=>c===this.subUnitId);return b.create(l+1)}if(e.isReferenceObject()){const l=e.getForcedSheetId(),c=e.getDefaultSheetId(),f=t.findIndex(m=>l?m===l:m===c);return b.create(f+1)}if(e.isArray())return g.create(h.NA);const n=`${e.getValue()}`.toLocaleLowerCase(),s=(o=Object.entries(r).find(([l,c])=>c.toLocaleLowerCase()===n))==null?void 0:o[0];if(!s)return g.create(h.NA);const a=t.findIndex(l=>l===s);return b.create(a+1)}}class cC extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0);A(this,"needsSheetsInfo",!0)}calculate(){const{sheetOrder:e}=this.getSheetsInfo();return b.create(e.length)}}class fC extends V{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isReferenceObject()){const t=e.getRowCount(),r=e.getColumnCount();if(t===1&&r===1){const n=e.getFirstCell();if(n.isError())return b.create(16);if(n.isBoolean())return b.create(4);if(n.isString())return b.create(2);if(n.isNumber()||n.isNull())return b.create(1)}else return b.create(64)}else{if(e.isArray())return b.create(64);if(e.isError())return b.create(16);if(e.isBoolean())return b.create(4);if(e.isString())return b.create(2);if(e.isNumber()||e.isNull())return b.create(1)}return b.create(128)}}const tl=[[Y1,be.CELL],[H1,be.ERROR_TYPE],[G1,be.ISBETWEEN],[W1,be.ISBLANK],[Q1,be.ISDATE],[q1,be.ISEMAIL],[X1,be.ISERR],[K1,be.ISERROR],[Z1,be.ISEVEN],[z1,be.ISFORMULA],[J1,be.ISLOGICAL],[eC,be.ISNA],[tC,be.ISNONTEXT],[rC,be.ISNUMBER],[nC,be.ISODD],[sC,be.ISREF],[aC,be.ISTEXT],[iC,be.ISURL],[oC,be.N],[uC,be.NA],[lC,be.SHEET],[cC,be.SHEETS],[fC,be.TYPE]];class mC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t&&!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t&&!!s.getValue(),r=!1)}return r?g.create(h.VALUE):F.create(t)}}class hC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;r=O(a,o,r);const l=[[]];for(let c=0;c<o;c++){const f=[];for(let C=0;C<a;C++){const _=r.get(C,c);f.push([_])}let m=Z.create({calculateValueList:f,rowCount:a,columnCount:1,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:C,startColumn:_}=n.getRangePosition(),E={startRow:C,startColumn:_+c,endRow:C+a-1,endColumn:_+c};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const C=d.getRowCount(),_=d.getColumnCount();if(C>1||_>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=b.create(0)),l[0].push(d)}return o===1?l[0][0]:Z.create({calculateValueList:l,rowCount:1,columnCount:o,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class gC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;r=O(a,o,r);const l=[];for(let c=0;c<a;c++){const f=[[]];for(let C=0;C<o;C++){const _=r.get(c,C);f[0].push(_)}let m=Z.create({calculateValueList:f,rowCount:1,columnCount:o,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:C,startColumn:_}=n.getRangePosition(),E={startRow:C+c,startColumn:_,endRow:C+c,endColumn:_+o-1};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const C=d.getRowCount(),_=d.getColumnCount();if(C>1||_>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=b.create(0)),l.push([d])}return a===1?l[0][0]:Z.create({calculateValueList:l,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class dC extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return F.create(!1)}}class CC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r=F.create(!1)){let n=e;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();f===1&&m===1&&(n=e.get(0,0))}if(!n.isArray())return this._handleSingleObject(n,t,r);const s=Math.max(n.isArray()?n.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(n.isArray()?n.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=O(s,a,n,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA));return o.mapValue((f,m,d)=>{const C=l.get(m,d),_=c.get(m,d);return this._handleSingleObject(f,C,_)})}_handleSingleObject(e,t,r){return e.isError()?e:e.getValue()?t:r}}class _C extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(!e.isArray())return e.isError()?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((o,l,c)=>{o!=null&&o.isError()&&s.set(l,c,a.get(l,c))}),s}}class AC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==h.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===h.NA?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((o,l,c)=>{o!=null&&o.isError()&&o.getErrorType()===h.NA&&s.set(l,c,a.get(l,c))}),s}}class EC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(...e){if(e.length%2!==0)return g.create(h.NA);for(let a=0;a<e.length;a++)if(e[a].isError())return e[a];const t=Math.max(...e.map(a=>a.isArray()?a.getRowCount():1)),r=Math.max(...e.map(a=>a.isArray()?a.getColumnCount():1)),n=e.map(a=>O(t,r,a,g.create(h.NA))),s=n[0].map((a,o,l)=>{for(let c=0;c<n.length;c+=2){const f=n[c].get(o,l)||ce.create(),m=n[c+1].get(o,l)||ce.create();if(f.isNull())continue;if(f.isError())return f;const d=f.getValue();if(f.isString()){if(`${d}`.toLocaleUpperCase()==="TRUE")return m;if(`${d}`.toLocaleUpperCase()==="FALSE")continue;return g.create(h.VALUE)}if(+d)return m.isNull()?g.create(h.NA):m}return g.create(h.NA)});return t===1&&r===1?s.get(0,0):s}}class RC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class yC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class bC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(...e){const t=this.getIndexNumValue(e[0]);if(typeof t!="number")return t;const r=this.getIndexNumValue(e[1]);if(typeof r!="number")return r;if(!(e[2].isValueObject()&&e[2].isLambda()))return g.create(h.VALUE);const n=e[2],s=[];for(let a=0;a<t;a++){s[a]==null&&(s[a]=[]);for(let o=0;o<r;o++){let l=n.execute(b.create(a+1),b.create(o+1));l.isArray()&&(l=l.get(0,0)),s[a][o]=l}}return new go(s)}isAsync(){return!0}}let NC=class extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const t=[];let r=null,n=0,s=0;for(let o=0;o<e.length;o++){const l=e[o];let c=l;if(c.isReferenceObject()&&(c=l.toArrayValueObject()),c.isError())return c;if(o===e.length-1){if(!(l.isValueObject()&&l.isLambda()))return g.create(h.VALUE);r=l}else t.push(l),n=Math.max(n,c.isArray()?c.getRowCount():1),s=Math.max(s,c.isArray()?c.getColumnCount():1)}const a=this._getResultArray(t,r,n,s);return a instanceof g?a:n===1&&s===1?a[0][0]:Z.create({calculateValueList:a,rowCount:n,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArray(e,t,r,n){const s=[];for(let a=0;a<r;a++){const o=[];for(let l=0;l<n;l++){const c=[];let f=!1;for(let d=0;d<e.length;d++){let C=e[d],_=null;if(C.isReferenceObject()&&(_=C,C=C.toArrayValueObject()),!C.isArray())if(a===0&&l===0){c.push(_||C);continue}else{o.push(g.create(h.NA)),f=!0;break}let E=C.get(a,l);if(!E){o.push(g.create(h.NA)),f=!0;break}if(_){const{startRow:R,startColumn:y}=_.getRangePosition(),N={startRow:R+a,startColumn:y+l,endRow:R+a,endColumn:y+l};E=this.createReferenceObject(_,N)}c.push(E)}if(f||c.length===0)continue;let m=t.execute(...c);if(m.isArray()){const d=m.getRowCount(),C=m.getColumnCount();if(d>1||C>1)return g.create(h.CALC);m=m.get(0,0)}m.isNull()&&(m=b.create(0)),o.push(m)}s.push(o)}return s}};class pC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=+e.getValue();return Number.isNaN(t)?g.create(h.VALUE):F.create(!t)}}class VC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t||!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t||!!s.getValue(),r=!1)}return r?new g(h.VALUE):new F(t)}}class OC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n,s;e.isReferenceObject()?(n=e.toArrayValueObject(),s=e):(n=e,s=null);let a,o;return t.isReferenceObject()?(a=t.toArrayValueObject(),o=t):(a=t,o=null),n.isArray()?n.mapValue(l=>this._handleSingleValueObject(l,a,r,s,o)):this._handleSingleValueObject(n,a,r,s,o)}_handleSingleValueObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);const a=r,o=t.isArray()?t.getRowCount():1,l=t.isArray()?t.getColumnCount():1;let c=e;n&&(c=n);for(let f=0;f<o;f++)for(let m=0;m<l;m++){let d=t.isArray()?t.get(f,m):t;if(d.isError())return d;if(s){const{startRow:_,startColumn:E}=s.getRangePosition(),R={startRow:_+f,startColumn:E+m,endRow:_+f,endColumn:E+m};d=this.createReferenceObject(s,R)}let C=a.execute(c,d);if(C.isError())return C;C.isNull()&&(C=b.create(0)),c=C}return c.isReferenceObject()?c.toArrayValueObject():c}}class SC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e,s=null;e.isReferenceObject()&&(n=e.toArrayValueObject(),s=e),n=n;let a=t,o=null;if(t.isReferenceObject()&&(a=t.toArrayValueObject(),o=t),a=a,n.isError())return n;if(a.isError())return a;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);if(n.isArray()){const l=n.getRowCount(),c=n.getColumnCount();if(l>1||c>1)return g.create(h.CALC);n=n.get(0,0)}return this._getResult(n,a,r,s,o)}_getResult(e,t,r,n,s){const a=[],o=t.isArray()?t.getRowCount():1,l=t.isArray()?t.getColumnCount():1;let c=e;n&&(c=n);for(let f=0;f<o;f++){const m=[];for(let d=0;d<l;d++){if(c.isError()){m.push(c);continue}let C=t.isArray()?t.get(f,d):t;if(C.isError()){c=C,m.push(C);continue}if(s){const{startRow:E,startColumn:R}=s.getRangePosition(),y={startRow:E+f,startColumn:R+d,endRow:E+f,endColumn:R+d};C=this.createReferenceObject(s,y)}let _=r.execute(c,C);if(_.isArray()){const E=_.getRowCount(),R=_.getColumnCount();if(E>1||R>1)return g.create(h.CALC);_=_.get(0,0)}_.isNull()&&(_=b.create(0)),c=_,m.push(_)}a.push(m)}return o===1&&l===1?a[0][0]:Z.create({calculateValueList:a,rowCount:o,columnCount:l,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class MC extends V{constructor(){super(...arguments);A(this,"minParams",3)}calculate(e,...t){if(e.isError())return e;const r=t.length%2!==0,n=r?t[t.length-1]:ce.create();return!e.isArray()&&!t.some(s=>s.isArray())?this._handleNonArrayInputs(e,t,n,r):this._handleArrayInputs(e,t,n,r)}_handleNonArrayInputs(e,t,r,n){for(let s=0;s<t.length-(n?1:0);s+=2){const a=t[s],o=t[s+1];if(!a.isNull()){if(a.isError())return a;if(`${e.getValue()}`.toLocaleLowerCase()===`${a.getValue()}`.toLocaleLowerCase())return o.isNull()?g.create(h.NA):o}}return r.isNull()?g.create(h.NA):r}_handleArrayInputs(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,...t.map(f=>f.isArray()?f.getRowCount():1),r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,...t.map(f=>f.isArray()?f.getColumnCount():1),r.isArray()?r.getColumnCount():1),o=O(s,a,e),l=t.map(f=>O(s,a,f,g.create(h.NA))),c=O(s,a,r,g.create(h.NA));return o.map((f,m,d)=>{for(let _=0;_<l.length-(n?1:0);_+=2){const E=l[_].get(m,d)||ce.create(),R=l[_+1].get(m,d)||ce.create();if(!E.isNull()){if(E.isError()||f.isError())return E.isError()?E:f;if(`${f.getValue()}`.toLocaleLowerCase()===`${E.getValue()}`.toLocaleLowerCase())return R.isNull()?g.create(h.NA):R}}const C=c.get(m,d)||ce.create();return C.isNull()?g.create(h.NA):C})}}class DC extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return F.create(!0)}}class wC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(a.getValue()&&t++,r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(s.getValue()&&t++,r=!1)}return r?g.create(h.VALUE):F.create(t%2===1)}}const rl=[[mC,_e.AND],[hC,_e.BYCOL],[gC,_e.BYROW],[dC,_e.FALSE],[CC,_e.IF],[_C,_e.IFERROR],[AC,_e.IFNA],[EC,_e.IFS],[RC,_e.LAMBDA],[yC,_e.LET],[bC,_e.MAKEARRAY],[NC,_e.MAP],[pC,_e.NOT],[VC,_e.OR],[OC,_e.REDUCE],[SC,_e.SCAN],[MC,_e.SWITCH],[DC,_e.TRUE],[wC,_e.XOR]];class LC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",5)}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=r!=null?r:b.create(1),o=n!=null?n:F.create(!0),l=s!=null?s:x.create(""),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),C=O(c,f,a,g.create(h.NA)),_=O(c,f,o,g.create(h.NA)),E=O(c,f,l,g.create(h.NA));return m.map((R,y,N)=>{const p=d.get(y,N)||g.create(h.NA),M=C.get(y,N)||g.create(h.NA),D=_.get(y,N)||g.create(h.NA),L=E.get(y,N)||g.create(h.NA);return R.isError()?R:p.isError()?p:M.isError()?M:D.isError()?D:L.isError()?L:this._calculateSingleCell(R,p,M,D,L)})}_calculateSingleCell(e,t,r,n,s){const a=Number.parseInt(`${Number(e.getValue())-1}`),o=Number.parseInt(`${Number(t.getValue())-1}`),l=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(a)||Number.isNaN(o)||Number.isNaN(l)||l<1||l>4)return g.create(h.VALUE);const c=PC(l),f=this.getZeroOrOneByOneDefault(n),m=`${s.getValue()}`,d=ji(m),C={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:c,endAbsoluteRefType:c},_=n&&!f?gh(C):pt(C);return x.create(d!==""?`${d}!${_}`:_)}}function PC(i){switch(i){case 1:return S.AbsoluteRefType.ALL;case 2:return S.AbsoluteRefType.ROW;case 3:return S.AbsoluteRefType.COLUMN;case 4:return S.AbsoluteRefType.NONE;default:return S.AbsoluteRefType.ALL}}class jC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?b.create(1):g.create(h.VALUE)}}class TC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),!r.isArray()){const l=r.convertToNumberObjectValue();return l.isError()?l:t[Math.trunc(+l.getValue())-1]||g.create(h.VALUE)}let n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;t.forEach((l,c)=>{if(l.isArray()){const f=l;n=Math.max(n,f.getRowCount()),s=Math.max(s,f.getColumnCount())}else n=Math.max(n,1),s=Math.max(s,1)});const a=O(n,s,r,g.create(h.NA)),o=t.map(l=>{let c=l;return c.isReferenceObject()&&(c=c.toArrayValueObject()),O(n,s,c,g.create(h.NA))});return a.map((l,c,f)=>{if(l.isError())return l;const m=l.convertToNumberObjectValue();if(m.isError())return m;const d=o[Math.trunc(+m.getValue())-1];let C=(d==null?void 0:d.get(c,f))||g.create(h.VALUE);return C!=null&&C.isNull()&&(C=b.create(0)),C})}}class UC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<t.length;a++){let o=t[a];if(o.isArray()){const f=o.getRowCount(),m=o.getColumnCount();if(f>1||m>1)return g.create(h.VALUE);o=o.get(0,0)}if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;const l=Math.trunc(+o.getValue());if(l===0||Math.abs(l)>n)return g.create(h.VALUE);let c=e;n>1&&(l<0?c=e.slice(void 0,[l+n,l+1+n]):c=e.slice(void 0,[l-1,l]));for(let f=0;f<r;f++)s[f]||(s[f]=[]),e.isArray()?s[f].push(c.get(f,0)):s[f].push(e)}return Z.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class xC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=[];for(let s=0;s<t.length;s++){let a=t[s];if(a.isArray()){const c=a.getRowCount(),f=a.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const o=Math.trunc(+a.getValue());if(o===0||Math.abs(o)>r)return g.create(h.VALUE);let l=e;r>1&&(o<0?l=e.slice([o+r,o+1+r]):l=e.slice([o-1,o])),e.isArray()?n.push(l.getArrayValue()[0]):n.push([e])}return Z.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class vC extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return b.create(this.column+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentColumn(),r=e.getColumnCount(),n=[];for(let a=0;a<r;a++)n.push(b.create(t+a+1));const s={calculateValueList:[n],rowCount:1,columnCount:r,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Z.create(s)}}class IC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return b.create(1);if(!e.isArray())return g.create(h.NA);const t=e.getColumnCount();return b.create(t)}}class FC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(0),s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),c=O(o,l,t,g.create(h.NA)),f=O(o,l,n,g.create(h.NA));if(o>1||l>1)return c.mapValue((y,N,p)=>{const M=f.get(N,p);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:D,errorObject:L}=this._checkRowsColumns(y,M,s,a);return D?L:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const m=t.isArray()?t.get(0,0):t,d=n.isArray()?n.get(0,0):n,{isError:C,errorObject:_,rowsValue:E,columnsValue:R}=this._checkRowsColumns(m,d,s,a);return C?_:this._getResultArray(e,E,R,s,a)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)>=r||Math.abs(a)>=n?{isError:!0,errorObject:g.create(h.CALC)}:{isError:!1,rowsValue:s,columnsValue:a}}_getResultArray(e,t,r,n,s){const a=t>=0?[t,n]:[0,n+t],o=r>=0?[r,s]:[0,s+r];let l;return t===0&&r===0?l=e:t===0?l=e.slice(void 0,o):r===0?l=e.slice(a,void 0):l=e.slice(a,o),l=l.map(c=>c.isNull()?b.create(0):c),n-t===1&&s-r===1?l.get(0,0):l}}class BC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1;let o=t,l=r!=null?r:b.create(a);const c=n!=null?n:g.create(h.NA);t.isNull()&&(o=b.create(s)),l.isNull()&&(l=b.create(a));const f=Math.max(o.isArray()?o.getRowCount():1,l.isArray()?l.getRowCount():1),m=Math.max(o.isArray()?o.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=O(f,m,o,g.create(h.NA)),C=O(f,m,l,g.create(h.NA));if(f>1||m>1)return d.mapValue((D,L,P)=>{const j=C.get(L,P);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:I,errorObject:v}=this._checkRowsColumnsPadWith(D,j,c,s,a);return I?v:e.isArray()?e.get(0,0):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const _=o.isArray()?o.get(0,0):o,E=l.isArray()?l.get(0,0):l,{isError:R,errorObject:y,rowsValue:N,columnsValue:p,padWithObject:M}=this._checkRowsColumnsPadWith(_,E,c,s,a);return R?y:this._getResultArray(e,N,p,M,s,a)}_checkRowsColumnsPadWith(e,t,r,n,s){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const a=Math.trunc(+e.getValue()),o=Math.trunc(+t.getValue());if(Number.isNaN(a)||Number.isNaN(o))return{isError:!0,errorObject:g.create(h.VALUE)};if(Math.abs(a)<n||Math.abs(o)<s)return{isError:!0,errorObject:g.create(h.VALUE)};let l=r;if(r.isArray()){const c=r.getRowCount(),f=r.getColumnCount();if(c>1||f>1)return{isError:!0,errorObject:g.create(h.VALUE)};l=r.get(0,0)}return{isError:!1,rowsValue:a,columnsValue:o,padWithObject:l}}_getResultArray(e,t,r,n,s,a){let o=[];e.isArray()?o=e.map(f=>f.isNull()?b.create(0):f).getArrayValue():o=[[e]];const l=Math.max(0,t-s),c=Math.max(0,r-a);for(let f=0;f<l;f++)o.push(new Array(a).fill(n));for(let f=0;f<c;f++)o.forEach(m=>{m.push(n)});return t===1&&r===1?o[0][0]:Z.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class kC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:g.create(h.CALC);if(e.isError())return e;if(t.isError())return t;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t.isArray()?t.getRowCount():1,l=t.isArray()?t.getColumnCount():1;return o>1&&l>1||o===1&&l!==a||l===1&&o!==s?g.create(h.VALUE):s===1&&a===1?this._getResultArrayByR1C1(e,t,n):o===1?l!==a?g.create(h.VALUE):this._getResultArrayByR1(s,a,e,t,n):l===1?o!==s?g.create(h.VALUE):this._getResultArrayByC1(s,a,e,t,n):n}_getResultArrayByR1C1(e,t,r){let n=e,s=t;return n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),s.isString()&&(s=s.convertToNumberObjectValue()),s.isError()?s:+s.getValue()?n:r}_getResultArrayByR1(e,t,r,n,s){const a=[];for(let o=0;o<t;o++){let l=n.get(0,o);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(+l.getValue())for(let f=0;f<e;f++){a[f]||(a[f]=[]);const m=r.get(f,o);a[f].push(m)}}return a.length===0?s:Z.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArrayByC1(e,t,r,n,s){const a=[];for(let o=0;o<e;o++){let l=n.get(o,0);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(!+l.getValue())continue;const f=[];for(let m=0;m<t;m++){const d=r.get(o,m);f.push(d)}a.push(f)}return a.length===0?s:Z.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class $C extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsFormulaDataModel",!0)}calculate(e){var f,m;if(!e.isReferenceObject())return g.create(h.NA);const t=e.getUnitId(),r=e.getSheetId(),s=(m=(f=e.getUnitData()[t])==null?void 0:f[r])==null?void 0:m.cellData,{startRow:a,startColumn:o}=e.getRangePosition(),c=e.toArrayValueObject().mapValue((d,C,_)=>{const E=s.getValue(a+C,o+_);if(E!=null&&E.f||E!=null&&E.si){const R=this._formulaDataModel.getFormulaStringByCell(a+C,o+_,r,t);return x.create(R)}return g.create(h.NA)});return c.getRowCount()===1&&c.getColumnCount()===1?c.get(0,0):c}}class YC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray()||r.isError()||n!=null&&n.isError())return g.create(h.NA);const s=this.getZeroOrOneByOneDefault(n);if(s==null)return g.create(h.VALUE);const a=this.getIndexNumValue(r);if(a instanceof g)return a;const o=t.slice([0,1]),l=t.slice([a-1,a]);return o==null||l==null?g.create(h.REF):e.isArray()?e.map(c=>this._handleSingleObject(c,o,l,s)):this._handleSingleObject(e,o,l,s)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class HC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getRowCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let l=0;l<t;l++){r[l]||(r[l]=[]);for(let c=0;c<o;c++){let f=s;s.isArray()&&(f=s.get(l,c)),l>a-1||!f?r[l].push(g.create(h.NA)):r[l].push(f)}}}return Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class GC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=e;if(e.isArray()&&(r=e.get(0,0)),r.isError())return r;let n=t;if(t!=null&&t.isArray()&&(n=t.get(0,0)),n!=null&&n.isError())return n;let s=`${r.getValue()}`;r.isNull()&&(s="");let a=s;return n&&(a=`${n.getValue()}`,n.isNull()?a="0":n.isBoolean()&&(a=a.toLocaleUpperCase())),x.create(a,{isHyperlink:!0,hyperlinkUrl:s})}}class WC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1,s!=null&&s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1,s!=null&&s.isArray()?s.getColumnCount():1),l=O(a,o,e,g.create(h.NA)),c=t?O(a,o,t,g.create(h.NA)):void 0,f=r?O(a,o,r,g.create(h.NA)):void 0,m=n?O(a,o,n,g.create(h.NA)):void 0,d=s?O(a,o,s,g.create(h.NA)):void 0,C=l.mapValue((_,E,R)=>{if(_.isError())return _;const y=c?c.get(E,R):void 0;if(y!=null&&y.isError())return y;const N=f?f.get(E,R):void 0;if(N!=null&&N.isError())return N;const p=m?m.get(E,R):void 0;if(p!=null&&p.isError())return p;const M=d?d.get(E,R):void 0;return M!=null&&M.isError()?M:this._handleSingleObject(_,y,N,p,M)});return a===1&&o===1?C.get(0,0):C}_handleSingleObject(e,t,r,n,s){if(!e.isString())return g.create(h.VALUE);const a=e.getValue();let o="";t&&(t.isBoolean()?o=t.getValue()?"TRUE":"FALSE":t.isNull()||(o=`${t.getValue()}`));let l=r!=null?r:b.create(0);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const c=Math.abs(Math.trunc(+l.getValue()));if(c<0||c>3||[0,1,2].includes(c)&&(n||s))return g.create(h.VALUE);let f=n!=null?n:b.create(0);if(f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=Math.ceil(+f.getValue());let d=s!=null?s:b.create(0);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=Math.ceil(+d.getValue());return c===3&&m<1&&C<1?g.create(h.VALUE):x.create("",{isImage:!0,imageInfo:{source:a,altText:o,sizing:c,height:m,width:C}})}}class QC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4);A(this,"needsReferenceObject",!0)}calculate(e,t,r,n){if(e.isError())return e;const s=this._getReferenceCounts(e);let a=t;t.isReferenceObject()&&(a=t.toArrayValueObject());let o=r;o!=null&&o.isReferenceObject()&&(o=r.toArrayValueObject());let l=n!=null?n:b.create(1);l.isReferenceObject()&&(l=n.toArrayValueObject());const c=Math.max(a.isArray()?a.getRowCount():1,o!=null&&o.isArray()?o.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(a.isArray()?a.getColumnCount():1,o!=null&&o.isArray()?o.getColumnCount():1,l.isArray()?l.getColumnCount():1);if(c===1&&f===1)return this._handleSingleObject(e,a.isArray()?a.get(0,0):a,o?o.isArray()?o.get(0,0):o:void 0,l.isArray()?l.get(0,0):l,s);{const m=O(c,f,a,g.create(h.NA)),d=o?O(c,f,o,g.create(h.NA)):[],C=O(c,f,l,g.create(h.NA));return m.mapValue((_,E,R)=>{const y=o?d.get(E,R):void 0,N=C.get(E,R),p=this._handleSingleObject(e,_,y,N,s);return p.isReferenceObject()?p.getCellByPosition():p})}}_handleSingleObject(e,t,r,n,s){let a,o,l;if(r){const{isError:_,errorObject:E,variants:R}=B(t,r,n);if(_)return E;a=R[0],o=R[1],l=R[2]}else{const{isError:_,errorObject:E,variants:R}=B(t,n);if(_)return E;a=R[0],l=R[1]}const c=Math.floor(+l.getValue());if(c<0)return g.create(h.VALUE);if(c>s.length)return g.create(h.REF);const f=s[c-1];let m=0,d=0;if(f.rowCount===1&&!r?d=Math.floor(+a.getValue()):(m=Math.floor(+a.getValue()),r&&(d=Math.floor(+o.getValue()))),m<0||d<0)return g.create(h.VALUE);if(m>f.rowCount||d>f.columnCount)return g.create(h.REF);let C=e;return c>1&&(C=e.getCubeValues()[c-1]),C.isReferenceObject()?this._calculateReferenceObject(C,m,d):this._calculateArrayObject(C,m,d)}_getReferenceCounts(e){let t=[{rowCount:1,columnCount:1}];return e.isReferenceObject()?t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]:e.isCube()?t=e.getCubeValues().map(r=>({rowCount:r.getRowCount(),columnCount:r.getColumnCount()})):e.isArray()&&(t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]),t}_calculateReferenceObject(e,t,r){const{startRow:n,endRow:s,startColumn:a,endColumn:o}=e.getRangePosition();let l=0,c=0,f=0,m=0;if(t===0?(l=n,c=s):l=c=n+t-1,r===0?(f=a,m=o):f=m=a+r-1,l>s||f>o)return g.create(h.REF);const d={startRow:l,startColumn:f,endRow:c,endColumn:m};return this.createReferenceObject(e,d)}_calculateArrayObject(e,t,r){return!e.isArray()||t===0&&r===0?e:t===0?e.slice(void 0,[r-1,r]):r===0?e.slice([t-1,t],void 0):e.get(t-1,r-1)}}class qC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;let r=this.getZeroOrOneByOneDefault(t);r==null&&(r=1);let n=e;if(e.isArray()){const s=e.getRowCount(),a=e.getColumnCount();if(s>1||a>1)return e.map(()=>g.create(h.VALUE));n=e.getFirstCell()}return this._handleSingleObject(n,r)}_handleSingleObject(e,t){const r=`${e.getValue()}`;if(r.trim()==="")return g.create(h.REF);const n=this._convertToDefinedName(r);if(t===0){const f=vo(n),{range:m,sheetName:d,unitId:C}=f,_=new $r(m);return _.setForcedUnitIdDirect(C),_.setForcedSheetName(d),this._setDefault(_)}if(Pr(n))return this._setDefault(new ia(n));if(yi(n))return this._setDefault(new ua(n));if(bi(n))return this._setDefault(new oa(n));const s=Ht(n),{range:a,sheetName:o,unitId:l}=s;if(Number.isNaN(a.startRow)||a.endRow+1>S.MAX_ROW_COUNT||Number.isNaN(a.startColumn)||a.endColumn+1>S.MAX_COLUMN_COUNT)return g.create(h.REF);const c=new $r(a);return c.setForcedUnitIdDirect(l),c.setForcedSheetName(o),this._setDefault(c)}_setDefault(e){return this.unitId==null||this.subUnitId==null?g.create(h.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){const t=this.getDefinedName(e);if(t==null)return e;const r=t.formulaOrRefString;return r==null?e:r.startsWith(se.EQUALS)?r.slice(1):r}}class XC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?g.create(h.REF):t.isArray()?r!=null&&r.isError()?r:t.getColumnCount()===1||t.getRowCount()===1?r!=null&&!r.isArray()?g.create(h.REF):this._handleVector(e,t,r):this._handleArray(e,t):g.create(h.VALUE)}_handleVector(e,t,r){let n=r;if(n==null)n=t;else if(n.getRowCount()!==t.getRowCount()||n.getColumnCount()!==t.getColumnCount())return g.create(h.REF);return e.isArray()?e.map(s=>this.binarySearch(s,t,n)):this.binarySearch(e,t,n)}_handleArray(e,t){const r=t.getRowCount(),n=t.getColumnCount();let s,a;return n>r?(s=t.slice([0,1]),a=t.slice([r-1,r])):(s=t.slice(void 0,[0,1]),a=t.slice(void 0,[n-1,n])),s==null||a==null?g.create(h.VALUE):e.isArray()?e.map(o=>this.binarySearch(o,s,a)):this.binarySearch(e,s,a)}}class KC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray())return g.create(h.VALUE);const n=t.getRowCount(),s=t.getColumnCount();if(n!==1&&s!==1||r!=null&&r.isError())return g.create(h.NA);const a=this.getMatchTypeValue(r);return a==null?g.create(h.VALUE):e.isArray()?e.map(o=>this._handleSingleObject(o,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,r){const n=e.isNull()?b.create(0):e,s=this._getSearchModeValue(r),a=t.orderSearch(n,s);if(a==null)return g.create(h.NA);if(a instanceof g)return a;const o=t.getRowCount()===1?a.column+1:a.row+1;return b.create(o)}_getSearchModeValue(e){switch(e){case 1:return Le.MIN;case 0:return Le.NORMAL;case-1:return Le.MAX}}}class ZC extends Qt{constructor(e,t=[]){super(e);A(this,"_areas",[]);this._areas=t}dispose(){this._areas.forEach(e=>{e.forEach(t=>t.dispose())}),this._areas=[],super.dispose()}getAreas(){return this._areas}setAreas(e){this._areas=e}addArea(e){Array.isArray(e)?this._areas.push(e):this._areas.push([e])}_flatAreas(){return this._areas.flat()}isMultiArea(){return!0}isRange(){return!1}isCell(){return!1}isRow(){return!1}isColumn(){return!1}getRowCount(){let e=0;for(const t of this._flatAreas())t.isError()||(e+=t.getRowCount());return e}getColumnCount(){let e=0;for(const t of this._flatAreas())t.isError()||(e+=t.getColumnCount());return e}isExceedRange(){return this._flatAreas().some(e=>e.isError()?!1:e.isExceedRange())}setRefOffset(e=0,t=0){super.setRefOffset(e,t),this._flatAreas().forEach(r=>{r.isError()||r.setRefOffset(e,t)})}_getReferenceArea(){return this._flatAreas().find(r=>!r.isError())}getUnitId(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getUnitId())!=null?t:super.getUnitId()}getSheetId(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getSheetId())!=null?t:super.getSheetId()}getActiveSheetRowCount(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getActiveSheetRowCount())!=null?t:0}getActiveSheetColumnCount(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getActiveSheetColumnCount())!=null?t:0}iterator(e){for(const t of this._areas){let r=!1;for(const n of t){if(n.isError())continue;let s=!1;if(n.iterator((a,o,l)=>{const c=e(a,o,l);return c===!1?(s=!0,r=!0,!1):c}),s)break}if(r)return}}getFirstCell(){const e=this._getReferenceArea();return e?e.getFirstCell():super.getFirstCell()}toArrayValueObject(){var n,s;const e=this._areas.length;if(e===0)return at([],0,0);const t=(s=(n=this._areas[0])==null?void 0:n.length)!=null?s:0,r=[];for(let a=0;a<e;a++){const o=this._areas[a];if(o){r[a]=r[a]||[];for(let l=0;l<t;l++){const c=o[l];if(!c)continue;if(c.isError()){r[a][l]=c;continue}let f=null;c.iterator(m=>(f=m!=null?m:null,!1)),f!=null&&(r[a][l]=f),r[a][l]=ce.create()}}}return at(r,e,t)}getRangePosition(){const e=this._flatAreas();if(!e.length)return super.getRangePosition();let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const a of e){if(a.isError())continue;const{startRow:o,startColumn:l,endRow:c,endColumn:f}=a.getRangePosition();!Number.isFinite(o)||!Number.isFinite(l)||!Number.isFinite(c)||!Number.isFinite(f)||(o<t&&(t=o),l<r&&(r=l),c>n&&(n=c),f>s&&(s=s<f?f:s))}return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(s)?super.getRangePosition():{startRow:t,startColumn:r,endRow:n,endColumn:s}}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}getRangeData(){const e=this._flatAreas();if(!e.length)return super.getRangeData();let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const a of e){if(a.isError())continue;const{startRow:o,startColumn:l,endRow:c,endColumn:f}=a.getRangeData();!Number.isFinite(o)||!Number.isFinite(l)||!Number.isFinite(c)||!Number.isFinite(f)||(o<t&&(t=o),l<r&&(r=l),c>n&&(n=c),f>s&&(s=f))}return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(s)?super.getRangeData():{startRow:t,startColumn:r,endRow:n,endColumn:s}}}class zC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;if(!e.isReferenceObject())return g.create(h.VALUE);const a=e.getRowCount(),o=e.getColumnCount();let l=t;l.isReferenceObject()&&(l=l.toArrayValueObject());let c=r;c.isReferenceObject()&&(c=c.toArrayValueObject());let f=n!=null?n:b.create(a);f.isReferenceObject()&&(f=f.toArrayValueObject()),f.isNull()&&(f=b.create(a));let m=s!=null?s:b.create(o);m.isReferenceObject()&&(m=m.toArrayValueObject()),m.isNull()&&(m=b.create(o));const d=Math.max(l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1),C=Math.max(l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1);if(l=l,c=c,f=f,m=m,d===1&&C===1)return l=l.isArray()?l.get(0,0):l,c=c.isArray()?c.get(0,0):c,f=f.isArray()?f.get(0,0):f,m=m.isArray()?m.get(0,0):m,this._handleSingleObject(e,l,c,f,m);const _=O(d,C,l,g.create(h.NA)),E=O(d,C,c,g.create(h.NA)),R=O(d,C,f,g.create(h.NA)),y=O(d,C,m,g.create(h.NA)),N=[];return _.iterator((p,M,D)=>{const L=E.get(M,D),P=R.get(M,D),j=y.get(M,D);if(N[M]=N[M]||[],p==null){N[M][D]=g.create(h.NA);return}if(p.isError()){N[M][D]=p;return}if(L.isError()){N[M][D]=L;return}if(P.isError()){N[M][D]=P;return}if(j.isError()){N[M][D]=j;return}const I=this._handleSingleObject(e,p,L,P,j);N[M][D]=I}),new ZC("",N)}_handleSingleObject(e,t,r,n,s){const{startRow:a,startColumn:o}=e.getRangePosition();let l=t;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let c=r;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const f=+l.getValue(),m=+c.getValue();if(typeof f!="number"||typeof m!="number")return g.create(h.VALUE);const d=a+f,C=o+m;if(d<0||C<0||d>=S.MAX_ROW_COUNT||C>=S.MAX_COLUMN_COUNT)return g.create(h.REF);const _=this.getIndexNumValue(n),E=this.getIndexNumValue(s);if(typeof _!="number"||typeof E!="number")return g.create(h.VALUE);if(_===0||E===0)return g.create(h.REF);const R=_>0?d+_-1:d+_+1,y=E>0?C+E-1:C+E+1;if(R<0||y<0||R>=S.MAX_ROW_COUNT||y>=S.MAX_COLUMN_COUNT)return g.create(h.REF);const N=d<R?d:R,p=C<y?C:y,M=d>R?d:R,D=C>y?C:y,L={startRow:N,startColumn:p,endRow:M,endColumn:D};return this.createReferenceObject(e,L)}}class JC extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return b.create(this.row+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentRow(),r=e.getRowCount(),n=[];for(let a=0;a<r;a++)n.push([b.create(t+a+1)]);const s={calculateValueList:n,rowCount:r,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Z.create(s)}}class e0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return b.create(1);if(!e.isArray())return g.create(h.NA);const t=e.getRowCount();return b.create(t)}}class t0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){let s=t!=null?t:b.create(1);const a=r!=null?r:b.create(1),o=n!=null?n:F.create(!1);if(s.isNull()&&(s=b.create(1)),o.isArray()){const l=o.getRowCount(),c=o.getColumnCount();if(l===1&&c===1){const f=o.get(0,0);return this._handleSingleObject(e,s,a,f)}return o.map(f=>{const m=this._handleSingleObject(e,s,a,f);return m.isArray()?m.get(0,0):m})}return this._handleSingleObject(e,s,a,o)}_handleSingleObject(e,t,r,n){if(e.isError())return e;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=this._checkArrayError(t);if(o.isError())return o;const l=Math.floor(+o.getValue());if(l<1)return g.create(h.VALUE);const c=this._checkArrayError(r);if(c.isError())return c;const f=Math.floor(+c.getValue());if(f!==-1&&f!==1)return g.create(h.VALUE);let m=n;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(!e.isArray()||s===1&&a===1)return e;const d=+m.getValue();return this._getResult(e,l,f,d,s,a)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isString()&&(t=t.convertToNumberObjectValue()),t}_getResult(e,t,r,n,s,a){if(n){if(t>s)return g.create(h.VALUE);const o=e.transpose().getArrayValue();return o.sort(this._sort(t-1,r)),Z.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}).transpose()}else{if(t>a)return g.create(h.VALUE);const o=e.getArrayValue();return o.sort(this._sort(t-1,r)),Z.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}_sort(e,t=1){const r=Sn();return t===1?this._sortAsc(e,r):this._sortDesc(e,r)}_sortAsc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return 1;if(a.isError())return-1;const o=s.getValue(),l=a.getValue();return s.isBoolean()&&o===!0?1:a.isBoolean()&&l===!0?-1:s.isBoolean()&&o===!1?1:a.isBoolean()&&l===!1?-1:s.isNumber()&&a.isNumber()?+o-+l:t(o,l)}}_sortDesc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return-1;if(a.isError())return 1;const o=s.getValue(),l=a.getValue();return s.isBoolean()&&o===!0?-1:a.isBoolean()&&l===!0?1:s.isBoolean()&&o===!1?-1:a.isBoolean()&&l===!1?1:s.isNumber()&&a.isNumber()?+l-+o:t(l,o)}}}class r0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){t.length===1&&t.push(b.create(1));const r=this._getVariantsError(e,...t),{maxRowLength:n,maxColumnLength:s}=Am(t);if(r.isError()){const l=O(n,s,r);return n===1&&s===1?l.get(0,0):l}const a=t.map((l,c)=>c%2===0?l:O(n,s,l,g.create(h.NA))),o=this._getResultArray(e,a,n,s);return n===1&&s===1?o[0][0]:Z.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getVariantsError(e,...t){if(e.isError())return e;for(let o=0;o<t.length;o++){const l=t[o];if(l.isError())return l}if(t.length<2||t.length%2!==0)return g.create(h.VALUE);const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t[0].isArray()?t[0].getRowCount():1,a=t[0].isArray()?t[0].getColumnCount():1;if((s>1||a>1)&&(s>1&&a>1||s===1&&a!==n||a===1&&s!==r))return g.create(h.VALUE);for(let o=2;o<t.length;o++){if(o%2===1)continue;const l=t[o].isArray()?t[o].getRowCount():1,c=t[o].isArray()?t[o].getColumnCount():1;if(l!==s||c!==a)return g.create(h.VALUE)}return F.create(!0)}_getResultArray(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t[0].isArray()?t[0].getRowCount():1,l=t[0].isArray()?t[0].getColumnCount():1,c=[];for(let f=0;f<r;f++){c[f]=[];for(let m=0;m<n;m++){const{isError:d,errorObject:C,byArrays:_,sortOrders:E}=this._getByArraysAndSortOrders(t,f,m,l);if(d){c[f].push(C);continue}if(!e.isArray()||s===1&&a===1){c[f].push(e);continue}let R=e.getArrayValue();o===1&&l===1||(o===1?(R=R.concat(_),R=this._transposeArray(R),R.sort(this._sort(s,E)),R=this._transposeArray(R).slice(0,s)):l===1&&(R=this._transposeArray(R),R=R.concat(_),R=this._transposeArray(R),R.sort(this._sort(a,E)),R=R.map(N=>N.slice(0,a))));const y=Z.create({calculateValueList:R,rowCount:R.length,columnCount:R[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column});if(r>1||n>1){c[f].push(y.get(0,0));continue}c[f].push(y)}}return c}_getByArraysAndSortOrders(e,t,r,n){const s=[],a=[];let o=!1,l=null;for(let c=0;c<e.length;c++){if(c%2===1)continue;const f=e[c];let m=e[c+1].get(t,r);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError()){o=!0,l=m;break}const d=Math.floor(+m.getValue());if(d!==-1&&d!==1){o=!0,l=g.create(h.VALUE);break}if(a.push(d),f.isArray()){let C=f.getArrayValue();n===1&&(C=this._transposeArray(C)),s.push(C[0])}else s.push([f])}return{isError:o,errorObject:l,byArrays:s,sortOrders:a}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_sort(e,t){const r=Sn();return(n,s)=>{let a=n[e],o=s[e],l=this._compare(a,o,t[0],r);if(l===0&&t.length>1){for(let c=1;c<t.length;c++)if(a=n[e+c],o=s[e+c],l=this._compare(a,o,t[c],r),l!==0)return l}return l}}_compare(e,t,r,n){return r===1?this._asc(e,t,n):this._desc(e,t,n)}_asc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return 1;if(t.isError())return-1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?1:t.isBoolean()&&s===!0?-1:e.isBoolean()&&n===!1?1:t.isBoolean()&&s===!1?-1:e.isNumber()&&t.isNumber()?+n-+s:r(n,s)}_desc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return-1;if(t.isError())return 1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?-1:t.isBoolean()&&s===!0?1:e.isBoolean()&&n===!1?-1:t.isBoolean()&&s===!1?1:e.isNumber()&&t.isNumber()?+s-+n:r(s,n)}}class n0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=t,o=r!=null?r:b.create(s);t.isNull()&&(a=b.create(n)),o.isNull()&&(o=b.create(s));const l=Math.max(a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(l,c,a,g.create(h.NA)),m=O(l,c,o,g.create(h.NA));if(l>1||c>1)return f.mapValue((N,p,M)=>{const D=m.get(p,M);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:L,errorObject:P}=this._checkRowsColumns(N,D,n,s);return L?P:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const d=a.isArray()?a.get(0,0):a,C=o.isArray()?o.get(0,0):o,{isError:_,errorObject:E,rowsValue:R,columnsValue:y}=this._checkRowsColumns(d,C,n,s);return _?E:this._getResultArray(e,R,y,n,s)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)===0||Math.abs(a)===0?{isError:!0,errorObject:g.create(h.CALC)}:(s>r&&(s=r),a>n&&(a=n),{isError:!1,rowsValue:s,columnsValue:a})}_getResultArray(e,t,r,n,s){if(!e.isArray())return e;const a=t>=0?[0,t]:[n+t,n],o=r>=0?[0,r]:[s+r,s];let l;return t===n&&r===s?l=e:t===n?l=e.slice(void 0,o):r===s?l=e.slice(a,void 0):l=e.slice(a,o),l=l.map(c=>c.isNull()?b.create(0):c),t===1&&r===1?l.get(0,0):l}}class s0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(0),s=r!=null?r:F.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,o,n,g.create(h.NA)),c=O(a,o,s,g.create(h.NA)),f=l.mapValue((m,d,C)=>{const _=c.get(d,C);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(m.isError())return m;if(_.isError())return _;const E=Math.trunc(+m.getValue()),R=+_.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(R))return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return R?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||o>1||y.length===1?y[0]:Z.create({calculateValueList:y.map(N=>[N]),rowCount:y.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<s;o++)for(let l=0;l<n;l++){const c=r.get(l,o);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<n;o++)for(let l=0;l<s;l++){const c=r.get(o,l);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class a0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(0),s=r!=null?r:F.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,o,n,g.create(h.NA)),c=O(a,o,s,g.create(h.NA)),f=l.mapValue((m,d,C)=>{const _=c.get(d,C);if(e.isError())return e;if(m.isError())return m;if(_.isError())return _;const E=Math.trunc(+m.getValue()),R=+_.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(R)||e.isNull())return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return R?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||o>1||y.length===1?y[0]:Z.create({calculateValueList:[y],rowCount:1,columnCount:y.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<s;o++)for(let l=0;l<n;l++){const c=r.get(l,o);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<n;o++)for(let l=0;l<s;l++){const c=r.get(o,l);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class i0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t===1&&r===1?e.get(0,0):e.transpose()}return e}}class o0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:F.create(!1),s=r!=null?r:F.create(!1),a=e.isArray()?e.getRowCount():1,o=e.isArray()?e.getColumnCount():1,l=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),c=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),f=O(l,c,n,g.create(h.NA)),m=O(l,c,s,g.create(h.NA)),d=f.map((C,_,E)=>{let R=C,y=m.get(_,E);if(e.isError())return e;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const N=+R.getValue(),p=+y.getValue();let M;return!N&&a===1||N&&o===1?M=e:M=this._getResult(e,N,p),(l>1||c>1)&&(M!=null&&M.isArray())?M.get(0,0):M});return l===1&&c===1?d.get(0,0):d}_getResult(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=e.getArrayValue(),o=n,l=s;t&&(a=this._transposeArray(a),o=s,l=n);const c=this._getRepeatRows(a,o,l);if(c.length>0){const f=[];c.forEach(m=>{m.forEach((d,C)=>{(C!==0||r)&&f.push(d)})}),a=a.filter((m,d)=>!f.includes(d))}return a.length===0?g.create(h.CALC):(t&&(a=this._transposeArray(a)),Z.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}))}_getRepeatRows(e,t,r){let n=[];for(let s=0;s<r;s++)if(s===0){const a=new Array(t).fill(null).map((o,l)=>({r:l,valueObject:e[l][s]}));n=this._getRepeatRowsByObjects(a)}else{if(n.length===0)break;let a=[];n.forEach(o=>{const l=o.map(f=>({r:f,valueObject:e[f][s]})),c=this._getRepeatRowsByObjects(l);a=a.concat(c)}),n=a}return n}_getRepeatRowsByObjects(e){const t=new Map;return e.forEach(r=>{const n=r.r,s=r.valueObject;let a=s.getValue();if(s.isNull()?a=null:s.isString()&&S.isRealNum(a)&&(a=+a),!t.has(a))t.set(a,[n]);else{const o=t.get(a);o.push(n),t.set(a,o)}}),Array.from(t.values()).filter(r=>r.length>1)}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}}class u0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return g.create(h.VALUE);if(r.isError())return r;if(n!=null&&n.isError())return n;const s=n!=null?n:F.create(!0);return Co(e)&&Co(s)&&r.isArray()?this._handleArrayColIndexNum(e,t,r,s):this._handleNonArrayColIndexNum(e,t,r,s)}_handleArrayColIndexNum(e,t,r,n){const s=e.isArray()?e.getFirstCell():e,a=this.getZeroOrOneByOneDefault(n);if(a==null)return g.create(h.VALUE);let o;const l=[];return r.iterator((c,f,m)=>{if(c==null)return o=g.create(h.VALUE),!1;const d=this._handleTableArray(s,t,c,a);if(d.isError())return o=d,!1;l[f]===void 0&&(l[f]=[]),l[f][m]=d}),o||at(l,l.length,l[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e),l=O(s,a,n);return o.map((c,f,m)=>{if(c.isError())return c;const d=l.get(f,m);if(d==null)return g.create(h.VALUE);if(d.isError())return d;const C=this.getZeroOrOneByOneDefault(d);return C==null?g.create(h.VALUE):this._handleTableArray(c,t,r,C)})}_handleTableArray(e,t,r,n){let s=this.getIndexNumValue(r);if(s instanceof g)return s;if(s=Math.floor(s),s<1)return g.create(h.VALUE);const a=t.slice(void 0,[0,1]);if(a==null)return g.create(h.VALUE);const o=t.slice(void 0,[s-1,s]);return o==null?g.create(h.REF):this._handleSingleObject(e,a,o,n)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class l0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getColumnCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++){const c=[];for(let f=0;f<t;f++){let m=s;s.isArray()&&(m=s.get(l,f)),f>o-1||!m?c.push(g.create(h.NA)):c.push(m)}r.push(c)}}return Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class c0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),c=O(o,l,t,g.create(h.NA)),f=O(o,l,n,g.create(h.NA)),m=c.mapValue((d,C,_)=>{const E=f.get(C,_);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const R=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(R))return g.create(h.VALUE);if(R<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],N=this._getWrapArray(y,R,E);return o>1||l>1||N.length===1&&N[0].length===1?N[0][0]:Z.create({calculateValueList:N,rowCount:N.length,columnCount:N[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&l===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let o=0;o<n;o++)for(let l=0;l<s;l++){a[l]||(a[l]=[]);const c=o*s+l;c<e.length?a[l].push(e[c].isNull()?b.create(0):e[c]):a[l].push(r)}return a}}class f0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),c=O(o,l,t,g.create(h.NA)),f=O(o,l,n,g.create(h.NA)),m=c.mapValue((d,C,_)=>{const E=f.get(C,_);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const R=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(R))return g.create(h.VALUE);if(R<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],N=this._getWrapArray(y,R,E);return o>1||l>1||N.length===1&&N[0].length===1?N[0][0]:Z.create({calculateValueList:N,rowCount:N.length,columnCount:N[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&l===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let o=0;o<n;o++){const l=[];for(let c=0;c<s;c++){const f=o*s+c;f<e.length?l.push(e[f].isNull()?b.create(0):e[f]):l.push(r)}a.push(l)}return a}}class m0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=n!=null?n:g.create(h.NA);n!=null&&n.isNull()&&(o=g.create(h.NA));let l=s!=null?s:b.create(0);s!=null&&s.isNull()&&(l=b.create(0));let c=a!=null?a:b.create(1);if(a!=null&&a.isNull()&&(c=b.create(1)),e.isError())return e;const f=t.isArray()?t.getRowCount():1,m=t.isArray()?t.getColumnCount():1,d=r.isArray()?r.getRowCount():1,C=r.isArray()?r.getColumnCount():1;if(f!==1&&m!==1||f===1&&m>1&&m!==C||m===1&&f>1&&f!==d)return g.create(h.VALUE);if(l.isError())return l;if(c.isError())return c;const _=this.getIndexNumValue(l);if(_ instanceof g)return _;const E=this.getIndexNumValue(c);return E instanceof g?E:this._getResult(e,ca(t),ca(r),o,_,E,f,m,d,C)}_getResult(e,t,r,n,s,a,o,l,c,f){const m=e.isArray()?e.getRowCount():1,d=e.isArray()?e.getColumnCount():1;if(m>1||d>1){let R;return o===1?R=r.slice([0,1]):R=r.slice(void 0,[0,1]),R==null?g.create(h.NA):e.map(y=>{const N=this._checkErrorCombination(s,a);if(N)return N;const p=this._handleSingleObject(y,t,R,s,a);return p.isError()?n:p})}const C=e.isArray()?e.get(0,0):e;if(l===f&&o===c){const R=this._checkErrorCombination(s,a);if(R)return R;const y=this._handleSingleObject(C,t,r,s,a);return y.isError()?n:y}let _=0;l===f&&(_=1);const E=this._handleExpandObject(C,t,r,s,a,_);return E==null?g.create(h.NA):E}_handleExpandObject(e,t,r,n,s,a=0){if((s===2||s===-2)&&n!==2){const o=Ks(s),l=Xs(n);return this.binarySearchExpand(e,t,r,a,o,l)}return n===2?this.fuzzySearchExpand(e,t,r,s!==-1,a):n===-1||n===1?this.orderSearchExpand(e,t,r,n===1?Le.MAX:Le.MIN,s===-1,a):this.equalSearchExpand(e,t,r,s!==-1,a)}_handleSingleObject(e,t,r,n,s){if((s===2||s===-2)&&n!==2){const a=Ks(s),o=Xs(n);return this.binarySearch(e,t,r,a,o)}return n===2?this.fuzzySearch(e,t,r,s!==-1):n===-1||n===1?this.orderSearch(e,t,r,n===1?Le.MAX:Le.MIN,s===-1):this.equalSearch(e,t,r,s!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?g.create(h.VALUE):null}}class h0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){let s=b.create(0);r&&!r.isNull()&&(s=r);let a=b.create(1);n&&!n.isNull()&&(a=n);const o=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=O(o,l,e,g.create(h.NA)),f=O(o,l,s,g.create(h.NA)),m=O(o,l,a,g.create(h.NA)),d=c.mapValue((C,_,E)=>{if(C.isError())return C;const R=f.get(_,E),y=m.get(_,E);return R.isError()?R:y.isError()?y:this._handleSingleObject(C,t,R,y)});return o===1&&l===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(s!==1&&a!==1)return g.create(h.VALUE);let o=r;if((r.isString()||r.isBoolean()||r.isNull())&&(o=r.convertToNumberObjectValue()),o.isError())return o;let l=n;if((n.isString()||n.isBoolean()||n.isNull())&&(l=n.convertToNumberObjectValue()),l.isError())return l;const c=o.getValue(),f=l.getValue();return![-1,0,1,2].includes(c)||![-1,1,2].includes(f)?g.create(h.VALUE):this._getResult(e,t,c,f)}_getResult(e,t,r,n){const s=ca(t);let a;if((n===2||n===-2)&&r!==2){const o=Ks(n),l=Xs(r);a=s.binarySearch(e,o,l)}else if(r===2){const o=s.compare(e,H.EQUALS);let l;if(n!==-1?l=o.getFirstTruePosition():l=o.getLastTruePosition(),l==null)return g.create(h.NA);a=s.getRowCount()===1?l.column:l.row}else if(r===-1||r===1){const o=s.orderSearch(e,r===1?Le.MAX:Le.MIN,n===-1);if(o==null)return g.create(h.NA);if(o instanceof g)return o;a=s.getRowCount()===1?o.column:o.row}else{const o=s.isEqual(e);let l;if(n!==-1?l=o.getFirstTruePosition():l=o.getLastTruePosition(),l==null)return g.create(h.NA);a=s.getRowCount()===1?l.column:l.row}return a==null?g.create(h.NA):b.create(a+1)}}const nl=[[LC,re.ADDRESS],[jC,re.AREAS],[TC,re.CHOOSE],[UC,re.CHOOSECOLS],[xC,re.CHOOSEROWS],[vC,re.COLUMN],[IC,re.COLUMNS],[FC,re.DROP],[BC,re.EXPAND],[kC,re.FILTER],[$C,re.FORMULATEXT],[YC,re.HLOOKUP],[HC,re.HSTACK],[GC,re.HYPERLINK],[WC,re.IMAGE],[QC,re.INDEX],[qC,re.INDIRECT],[XC,re.LOOKUP],[KC,re.MATCH],[zC,re.OFFSET],[JC,re.ROW],[e0,re.ROWS],[t0,re.SORT],[r0,re.SORTBY],[n0,re.TAKE],[s0,re.TOCOL],[a0,re.TOROW],[i0,re.TRANSPOSE],[o0,re.UNIQUE],[u0,re.VLOOKUP],[l0,re.VSTACK],[c0,re.WRAPCOLS],[f0,re.WRAPROWS],[m0,re.XLOOKUP],[h0,re.XMATCH]];class g0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}}class d0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}}class C0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}}class _0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:sl(r)):sl(t)}}function sl(i){let u=i.getValue();if(i.isBoolean()&&(u=u?1:0),!Number.isFinite(u))return g.create(h.VALUE);u=Number(u);let e=Math.atan(1/u);return u<0&&(e+=Math.PI),Number.isNaN(e)?g.create(h.VALUE):b.create(e)}class A0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:al(r)):al(t)}}function al(i){let u=i.getValue();if(i.isBoolean()&&(u=u?1:0),!Number.isFinite(u))return g.create(h.VALUE);if(u=Number(u),Math.abs(u)<=1)return g.create(h.NUM);const e=1/2*Math.log((u+1)/(u-1));return Number.isNaN(e)?g.create(h.VALUE):b.create(e)}const E0={1:Se.AVERAGE,2:Se.COUNT,3:Se.COUNTA,4:Se.MAX,5:Se.MIN,6:Se.PRODUCT,7:Se.STDEV_S,8:Se.STDEV_P,9:Se.SUM,10:Se.VAR_S,11:Se.VAR_P,12:Se.MEDIAN,13:Se.MODE_SNGL};class R0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0);A(this,"needsFilteredOutRows",!0);A(this,"needsFormulaDataModel",!0)}calculate(e,t,...r){const{isError:n,multiAreaRefs:s,normalRefs:a}=zo(r);let o;e.isReferenceObject()?o=e.toArrayValueObject():o=e;let l;t.isReferenceObject()?l=t.toArrayValueObject():l=t;const c=Math.max(o.isArray()?o.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(o.isArray()?o.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,o,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),C=m.mapValue((_,E,R)=>{if(_.isError())return _;const y=d.get(E,R);return y.isError()?y:s.length>0?g.create(h.VALUE):this._handleSingleObject(_,y,r,n,a)});return C.getRowCount()===1&&C.getColumnCount()===1?C.get(0,0):C}_handleSingleObject(e,t,r,n,s){let a=e;if(e.isString()&&(a=e.convertToNumberObjectValue()),a.isError())return a;const o=Math.floor(+a.getValue());if(o<1||o>19||o>=1&&o<=13&&n||o>=14&&o<=19&&r.length!==2)return g.create(h.VALUE);let l=t;if(t.isString()&&(l=t.convertToNumberObjectValue()),l.isError())return l;const c=Math.floor(+l.getValue());if(c<0||c>7)return g.create(h.VALUE);const f=this._getAggregateOptions(c);return o>=14&&o<=19?this._handleLargeSmallPercentileQuartile(o,f,r[0],r[1]):ru({type:E0[o],...f,formulaDataModel:this._formulaDataModel},s)}_getAggregateOptions(e){switch(e){case 1:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!0};case 2:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!0};case 3:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!0};case 4:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!1};case 5:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!1};case 6:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!1};case 7:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!1};default:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!0}}}_handleLargeSmallPercentileQuartile(e,t,r,n){let s;if(n.isReferenceObject()?s=n.toArrayValueObject():s=n,s.isError())return s;if(s.isArray()){const l=s.getRowCount(),c=s.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);s=s.get(0,0)}const a=tr(r,t,this._formulaDataModel);if(!Array.isArray(a))return a;const o=+s.getValue();switch(e){case 14:return su(a,o);case 15:return au(a,o);case 16:return iu(a,o);case 17:return uu(a,o);case 18:return ou(a,o);case 19:return lu(a,o);default:return g.create(h.VALUE)}}}class y0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return b.create(0);if(e.isBoolean()||e.isNumber())return g.create(h.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return g.create(h.VALUE);const r=t.startsWith("-");r&&(t=t.slice(1));let n=0;for(let s=0;s<t.length;s++){const a=Zn.get(t[s])||0,o=Zn.get(t[s+1])||0,l=Zn.get(t[s+2])||0,c=Zn.get(t[s+3])||0;if(!a||l>=o&&l>a||a===o&&a===l&&a===c||a===o/2)return g.create(h.VALUE);a<o?n-=a:n+=a}return b.create(r?-n:n)}}class b0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}}class N0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}}class p0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}}class V0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:n.atan2(r))}}class O0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}}class S0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(0);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=o.map((m,d,C)=>{const _=l.get(d,C),E=c.get(d,C);return this._handleSingleObject(m,_,E)});return f.getRowCount()===1&&f.getColumnCount()===1?f.getArrayValue()[0][0]:f}_handleSingleObject(e,t,r){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let s=t;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let a=r;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const o=Math.floor(+n.getValue()),l=Math.floor(+s.getValue()),c=Math.floor(+a.getValue());if(o<0||o>=2**53||l<2||l>36||c<0)return g.create(h.NUM);let f=o.toString(l);return f.length<c&&(f=new Array(c-f.length+1).join("0")+f),x.create(f.toLocaleUpperCase())}}class M0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((l,c,f)=>{let m=l,d=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+m.getValue(),_=+d.getValue();if(C>0&&_<0)return g.create(h.NUM);if(C===0||_===0)return b.create(0);const E=$e(C/_,0)*_;return b.create(E)});return o.getRowCount()===1&&o.getColumnCount()===1?o.getArrayValue()[0][0]:o}}class D0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(1),s=r!=null?r:b.create(0);if(e.isError())return e;if(n.isError())return n;if(s.isError())return s;const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,o,e,g.create(h.NA)),c=O(a,o,n,g.create(h.NA)),f=O(a,o,s,g.create(h.NA)),m=l.map((d,C,_)=>{let E=d,R=c.get(C,_),y=f.get(C,_);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const N=+E.getValue(),p=+R.getValue(),M=+y.getValue();return N===0||p===0?b.create(0):this._getResult(N,p,M)});return a===1&&o===1?m.get(0,0):m}_getResult(e,t,r){let n;return e<0&&r!==0?n=(t<0?$e(Math.abs(e)/Math.abs(t),0):-$e(Math.abs(e)/t,0))*t:n=(t<0?-$e(e/Math.abs(t),0):$e(e/t,0))*t,b.create(n)}}class w0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=o.get(f,m),C=c;if(C.isString()&&(C=C.convertToNumberObjectValue()),C.isError())return C;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+C.getValue(),E=+d.getValue();if(_===0||E===0)return b.create(0);const R=(E<0?-$e(_/Math.abs(E),0):$e(_/E,0))*E;return b.create(R)});return n===1&&s===1?l.get(0,0):l}}class L0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{let m=l,d=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const C=Math.floor(+m.getValue()),_=Math.floor(+d.getValue());if(C<0||_<0||C<_)return g.create(h.NUM);const E=er(C,_);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):b.create(E)});return r===1&&n===1?o.get(0,0):o}}class P0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{let m=l,d=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const C=Math.floor(+m.getValue()),_=Math.floor(+d.getValue());if(C<0||_<0||C===0&&C<_)return g.create(h.NUM);const E=er(C+_-1,C-1);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):b.create(E)});return r===1&&n===1?o.get(0,0):o}}class j0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}}class T0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}}class U0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.tan().getReciprocal()}}class x0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:+t.getValue()===0?g.create(h.DIV_BY_ZERO):t.tanh().getReciprocal()}}class v0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.sin().getReciprocal()}}class I0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return r===0?g.create(h.DIV_BY_ZERO):!Number.isNaN(r)&&!Number.isFinite(Math.sinh(r))?b.create(0):t.sinh().getReciprocal()}}class F0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((l,c,f)=>{if(l.isError())return l;let m=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const d=`${l.getValue()}`,C=Math.floor(+m.getValue());if(S.isRealNum(d)&&(+d<0||+d>=2**53||!Number.isInteger(+d))||d.toLocaleLowerCase()==="true"||d.toLocaleLowerCase()==="false"||C<2||C>36)return g.create(h.NUM);if(d.replace(/\s/g,"")==="")return b.create(0);if(!this._isValidCharForRadix(d,C))return g.create(h.NUM);const _=Number.parseInt(d,C);return Number.isNaN(_)?g.create(h.NUM):b.create(_)});return r===1&&n===1?o.get(0,0):o}_isValidCharForRadix(e,t){for(const r of e){const n=r.toUpperCase().charCodeAt(0);if(t<=10&&!(n>=48&&n<48+t)||t>10&&!(n>=48&&n<58||n>=65&&n<65+t-10))return!1}return!0}}class B0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(180/Math.PI);return Number.isNaN(n)?g.create(h.VALUE):b.create(n)}}class k0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=(r<0?-$e(Math.abs(r)/2,0):$e(r/2,0))*2;return Number.isNaN(n)?g.create(h.VALUE):n===0?b.create(0):b.create(n)}}class $0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}}class Y0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=pr(r);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):b.create(n)}}class H0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()){const r=e.getRowCount(),n=e.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=e.get(0,0)}return this._handleSingleObject(t)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=pr(r,2);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):b.create(n)}}class G0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((l,c,f)=>{let m=a.get(c,f),d=l;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const C=+d.getValue(),_=+m.getValue();if(C>0&&_<0)return g.create(h.NUM);if(C===0)return b.create(0);if(_===0)return g.create(h.DIV_BY_ZERO);const E=Qe(C/_,0)*_;return b.create(E)});return r===1&&n===1?o.get(0,0):o}}class W0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(1),s=r!=null?r:b.create(0),a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,o,e,g.create(h.NA)),c=O(a,o,n,g.create(h.NA)),f=O(a,o,s,g.create(h.NA)),m=l.map((d,C,_)=>{let E=d,R=c.get(C,_),y=f.get(C,_);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const N=+E.getValue(),p=+R.getValue(),M=+y.getValue();if(N===0||p===0)return b.create(0);let D;return N<0&&M!==0?D=(p<0?Qe(Math.abs(N)/Math.abs(p),0):-Qe(Math.abs(N)/p,0))*p:D=(p<0?-Qe(N/Math.abs(p),0):Qe(N/p,0))*p,b.create(D)});return a===1&&o===1?m.get(0,0):m}}class Q0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=o.get(f,m),C=c;if(C.isString()&&(C=C.convertToNumberObjectValue()),C.isError())return C;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+C.getValue(),E=+d.getValue();if(_===0||E===0)return b.create(0);const R=(E<0?-Qe(_/Math.abs(E),0):Qe(_/E,0))*E;return b.create(R)});return n===1&&s===1?l.get(0,0):l}}class q0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(!n.isNull())if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(o=>{if(o!=null&&o.isNull())return!0;const{isError:l,errorObject:c,number:f}=this._handleSingleObject(o);if(l)return s=!0,a=c,!1;t=Ma(t,f)}),s)return a}else{const{isError:s,errorObject:a,number:o}=this._handleSingleObject(n);if(s)return a;t=Ma(t,o)}}return b.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0||r>=2**53?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class X0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());return b.create(r)}}class K0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=!0;for(let n=0;n<e.length;n++){const s=e[n];if(!s.isNull())if(s.isArray()){let a=!1,o=g.create(h.VALUE);if(s.iterator(l=>{if(l!=null&&l.isNull())return!0;const{isError:c,errorObject:f,number:m}=this._handleSingleObject(l);if(c)return a=!0,o=f,!1;t=Fo(t,m),r=!1}),a)return o}else{const{isError:a,errorObject:o,number:l}=this._handleSingleObject(s);if(a)return o;t=Fo(t,l),r=!1}}return r?b.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?g.create(h.VALUE):b.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class Z0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}}class z0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(10);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=o.get(f,m),C=c;if(C.isString()&&(C=C.convertToNumberObjectValue()),C.isError())return C;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+C.getValue(),E=+d.getValue();if(_<=0||E<=0)return g.create(h.NUM);const R=Math.log(E);if(R===0)return g.create(h.DIV_BY_ZERO);const y=Math.log(_)/R;return b.create(y)});return n===1&&s===1?l.get(0,0):l}}class J0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}}class e_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const o=[];for(let l=0;l<r;l++){let c=e.isArray()?e.get(a,l):e;if(c.isError())return c;if(c.isNull()||c.isBoolean())return g.create(h.VALUE);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const f=+c.getValue();o.push(f)}n.push(o)}if(t!==r)return g.create(h.VALUE);const s=Da(n);return b.create(s)}}class t_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const o=[];for(let l=0;l<r;l++){let c=e.isArray()?e.get(a,l):e;if(c.isError())return c;if(c.isNull()||c.isBoolean())return g.create(h.VALUE);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const f=+c.getValue();o.push(f)}n.push(o)}if(t!==r)return g.create(h.VALUE);const s=Ah(n);return s===null?g.create(h.NUM):Z.createByArray(s)}}class r_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(n!==s)return g.create(h.VALUE);const o=this._getMatrix(e,r,n),l=this._getMatrix(t,s,a);if(o instanceof g)return o;if(l instanceof g)return l;const c=Vr(o,l);return Z.createByArray(c)}_getMatrix(e,t,r){const n=[];for(let s=0;s<t;s++){const a=[];for(let o=0;o<r;o++){let l=e.isArray()?e.get(s,o):e;if(l.isError())return l;if(l.isNull()||l.isBoolean())return g.create(h.VALUE);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const c=+l.getValue();a.push(c)}n.push(a)}return n}}class n_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.mod(n)}}class s_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const l=n.getRowCount(),c=n.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(a===0)return b.create(0);if(s>0&&a<0||s<0&&a>0)return g.create(h.NUM);const o=xt(s/a,0)*a;return b.create(o)}}class a_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=1;for(let s=0;s<e.length;s++){const a=e[s];if(!a.isNull())if(a.isArray()){let o=!1,l=g.create(h.VALUE);if(a.iterator(c=>{if(c!=null&&c.isNull())return!0;const{isError:f,errorObject:m,number:d}=this._handleSingleObject(c);if(f)return o=!0,l=m,!1;if(t+=d,t>170)return o=!0,l=g.create(h.NUM),!1;r*=pr(d)}),o)return l}else{const{isError:o,errorObject:l,number:c}=this._handleSingleObject(a);if(o)return l;if(t+=c,t>170)return g.create(h.NUM);r*=pr(c)}}const n=pr(t)/r;return b.create(n)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class i_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount(),n=e.mapValue(s=>{const a=this._handleSingleObject(s);return a.isError()?a:t>1||r>1?a.get(0,0):a});return t===1&&r===1?n.get(0,0):n}return this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());if(r<=0)return g.create(h.VALUE);const n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<r;a++)n[s][a]=s===a?1:0}return Z.createByArray(n)}}class o_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);let n=r<0?-$e(Math.abs(r),0):$e(r,0);return Number.isNaN(n)?g.create(h.VALUE):(Math.abs(n)%2===0&&(r<0?n--:n++),b.create(n))}}class u_ extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return b.create(Math.PI)}}class l_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.pow(n)}}class c_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(1),r=!0;for(let n=0;n<e.length;n++){let s=e[n];if(s.isError())return s;if(s.isArray()){let a=!1,o=null;if(s.iterator(l=>{if(l!=null&&l.isError())return a=!0,o=l,!1;if(!l||l.isNull()||l.isString()||l.isBoolean())return!0;t=t.multiply(l),r=!1}),a)return o}else{if(s.isNull())continue;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;t=t.multiply(s),r=!1}if(t.isError())return t}return r?b.create(0):t}}class f_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=+o.getValue();if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c===0)return g.create(h.DIV_BY_ZERO);const f=Math.trunc(l/c);return b.create(f)}}class m_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(Math.PI/180);return Number.isNaN(n)?g.create(h.VALUE):b.create(n)}}class h_ extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return b.create(Math.random())}}class g_ extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",5);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n,s){if(e!=null&&e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=e!=null?e:b.create(1),o=t!=null?t:b.create(1),l=r!=null?r:b.create(0),c=n!=null?n:b.create(1),f=s!=null?s:b.create(0);return this._calculateResult(a,o,l,c,f)}_calculateResult(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(a===1&&o===1)return this._calculateSingleCell(e,t,r,n,s);const l=O(a,o,e,g.create(h.NA)),c=O(a,o,t,g.create(h.NA)),f=O(a,o,r,g.create(h.NA)),m=O(a,o,n,g.create(h.NA)),d=O(a,o,s,g.create(h.NA));return l.map((C,_,E)=>{const R=c.get(_,E),y=f.get(_,E),N=m.get(_,E),p=d.get(_,E),M=this._handleError(C,R,y,N,p);if(M.errorObject)return M.errorObject;let{minValue:D,maxValue:L,wholeNumberValue:P}=M,j;return P?(D=Math.ceil(D),L=Math.floor(L),j=Math.floor(Math.random()*(L-D+1))+D):j=Math.random()*(L-D)+D,j<D||j>L?g.create(h.VALUE):b.create(j)})}_calculateSingleCell(e,t,r,n,s){let a=e;a.isArray()&&(a=a.get(0,0));let o=t;o.isArray()&&(o=o.get(0,0));let l=r;l.isArray()&&(l=l.get(0,0));let c=n;c.isArray()&&(c=c.get(0,0));let f=s;f.isArray()&&(f=f.get(0,0));const m=this._handleError(a,o,l,c,f);if(m.errorObject)return m.errorObject;let{rowsValue:d,columnsValue:C,minValue:_,maxValue:E,wholeNumberValue:R}=m;if(R&&(_=Math.ceil(_),E=Math.floor(E),_>E))return g.create(h.VALUE);const y=[];for(let N=0;N<d;N++){const p=[];for(let M=0;M<C;M++)R?p.push(Math.floor(Math.random()*(E-_+1))+_):p.push(Math.random()*(E-_)+_);y.push(p)}return d===1&&C===1?b.create(y[0][0]):Z.createByArray(y)}_handleError(e,t,r,n,s){let a=e;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return{errorObject:a};let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return{errorObject:o};let l=r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return{errorObject:l};let c=n;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return{errorObject:c};let f=s;return f.isString()&&(f=f.convertToNumberObjectValue()),f.isError()?{errorObject:f}:this._getValue(a,o,l,c,f)}_getValue(e,t,r,n,s){const a=Math.floor(+e.getValue()),o=Math.floor(+t.getValue());if(a===0||o===0)return{errorObject:g.create(h.CALC)};const l=this._rowCount-this.row,c=this._columnCount-this.column;if(a<0||o<0||a*o>10**7)return{errorObject:g.create(h.VALUE)};if(a>l||o>c)return{errorObject:g.create(h.REF)};const f=+r.getValue(),m=+n.getValue(),d=+s.getValue();return f>m?{errorObject:g.create(h.VALUE)}:d&&(!Number.isInteger(f)||!Number.isInteger(m))?{errorObject:g.create(h.VALUE)}:{rowsValue:a,columnsValue:o,minValue:f,maxValue:m,wholeNumberValue:d}}}class d_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const l=n.getRowCount(),c=n.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);let s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(s>a)return g.create(h.NUM);s=Math.ceil(s),a=Math.floor(a);const o=Math.floor(Math.random()*(a-s+1))+s;return b.create(o)}}class C_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=o.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e);if(r)return n;const[a]=s;let o=Math.floor(+a.getValue()),l=t;if(l.isString()&&(l=l.convertToNumberObjectValue(),l.isError()))return l;let c=Math.floor(+l.getValue());if(l.isBoolean()&&(c=l.getValue()?0:4),o<0||o>3999||c<0||c>4)return g.create(h.VALUE);const f=Oh[c];let m=f.length-1,d="";for(;o>0;){m=this._binarySearch(o,0,m,f);const C=f[m];o-=C,d+=Vh.get(C)}return x.create(d)}_binarySearch(e,t,r,n){let s=t,a=r;for(;a-s>1;){const o=Math.floor((s+a)/2),l=n[o];if(l===e)return o;l>e?a=o:s=o}return s!==a&&n[a]<=e?a:s}}class __ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.round(n)}}class A_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const{isError:d,errorObject:C,variants:_}=B(l,m);if(d)return C;const[E,R]=_,y=+E.getValue(),N=Math.trunc(+R.getValue()),p=this._roundBank(y,N);return b.create(p)});return r===1&&n===1?o.get(0,0):o}_roundBank(e,t){if(t>16)return e;if(t<-16)return 0;const r=1e-8,n=10**t,s=+(e*n).toFixed(8),a=Math.floor(s),o=s-a;let l=Math.round(s);return o>.5-r&&o<.5+r&&(l=a%2===0?a:a+1),t?l/n:l}}class E_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.floor(n)}}class R_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.ceil(n)}}class y_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):t.cos().getReciprocal()}}class b_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Number.isFinite(Math.cosh(r))?Math.abs(r)>=2**27?g.create(h.NUM):t.cosh().getReciprocal():b.create(0)}}class N_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n){let s=e,a=t!=null?t:b.create(1),o=r!=null?r:b.create(1),l=n!=null?n:b.create(1);s.isNull()&&(s=b.create(1)),a.isNull()&&(a=b.create(1)),o.isNull()&&(o=b.create(1)),l.isNull()&&(l=b.create(1));const c=Math.max(s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,s,g.create(h.NA)),d=O(c,f,a,g.create(h.NA)),C=O(c,f,o,g.create(h.NA)),_=O(c,f,l,g.create(h.NA)),E=m.mapValue((R,y,N)=>{const p=d.get(y,N),M=C.get(y,N),D=_.get(y,N);return R.isError()?R:p.isError()?p:M.isError()?M:D.isError()?D:this._getResult(R,p,M,D,c,f)});return c===1&&f===1?E.get(0,0):E}_getResult(e,t,r,n,s,a){const{isError:o,errorObject:l,variants:c}=B(e,t,r,n);if(o)return l;const[f,m,d,C]=c,_=Math.floor(+f.getValue()),E=Math.floor(+m.getValue()),R=+d.getValue(),y=+C.getValue();if(_<0||E<0||_*E>10**7)return g.create(h.VALUE);if(_===0||E===0)return g.create(h.CALC);const N=this._rowCount-this.row,p=this._columnCount-this.column;if(_>N||E>p)return g.create(h.REF);const M=[];for(let D=0;D<_;D++){M[D]=[];for(let L=0;L<E;L++)M[D][L]=R+(D*E+L)*y}return s>1||a>1?b.create(M[0][0]):Z.createByArray(M)}}class p_ extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isNull()||t.isNull()||r.isNull()||n.isNull())return g.create(h.NA);const{isError:s,errorObject:a,variants:o}=q(e,t,r);if(s)return a;const{isError:l,errorObject:c,variants:f}=B(...o);if(l)return c;const[m,d,C]=f,_=+m.getValue(),E=+d.getValue(),R=+C.getValue(),y=[];if(n.isArray()){let p=!1,M=g.create(h.VALUE);if(n.iterator(D=>{const{isError:L,errorObject:P,coefficientsObject:j}=this._handleSingleObject(D);if(L)return p=!0,M=P,!1;const I=+j.getValue();y.push(I)}),p)return M}else{const{isError:p,errorObject:M,coefficientsObject:D}=this._handleSingleObject(n);if(p)return M;const L=+D.getValue();y.push(L)}let N=0;for(let p=0;p<y.length;p++)N+=y[p]*_**(E+p*R);return Number.isNaN(N)||!Number.isFinite(N)?g.create(h.NUM):b.create(N)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),coefficientsObject:null};let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?{isError:!0,errorObject:t,coefficientsObject:null}:{isError:!1,errorObject:null,coefficientsObject:t}}}class V_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();return a>0?b.create(1):a<0?b.create(-1):b.create(0)}}class O_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}}class S_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}}class M_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}}class D_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(r<0)return g.create(h.NUM);const n=Math.sqrt(r*Math.PI);return b.create(n)}}const w_={1:Se.AVERAGE,2:Se.COUNT,3:Se.COUNTA,4:Se.MAX,5:Se.MIN,6:Se.PRODUCT,7:Se.STDEV,8:Se.STDEVP,9:Se.SUM,10:Se.VAR,11:Se.VARP};class L_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0);A(this,"needsFilteredOutRows",!0);A(this,"needsFormulaDataModel",!0)}calculate(e,...t){let r;e.isReferenceObject()?r=e.toArrayValueObject():r=e;const{isError:n,multiAreaRefs:s,normalRefs:a}=zo(t);if(!n&&s.length>0)return this._handleMultiAreaRefs(r,s,t);if(r.isArray()){const o=r.mapValue(l=>this._handleSingleObject(l,{isError:n,refs:a}));return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}return this._handleSingleObject(r,{isError:n,refs:a})}_handleSingleObject(e,t){const{isError:r=!1,refs:n}=t;let s=e;if(e.isString()&&(s=e.convertToNumberObjectValue()),s.isError())return s;if(r)return g.create(h.VALUE);let a=Math.floor(+s.getValue());if(a<1||a>11&&a<101||a>111)return g.create(h.VALUE);let o=!1;return a>=101&&(a-=100,o=!0),ru({type:w_[a],ignoreRowHidden:o,ignoreErrorValues:!1,ignoreNested:!0,formulaDataModel:this._formulaDataModel},n)}_handleMultiAreaRefs(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1,{multiAreaInfoMap:a,maxAreasLen:o}=this._getMultiAreaInfo(t),l=Math.max(n,o),c=[];for(let f=0;f<l;f++){const m=f<n?f:n-1,d=[];for(let C=0;C<s;C++){if(n>1&&f>=n){d.push(g.create(h.NA));continue}const _=e.isArray()?e.get(m,C):e,E=[];for(let y=0;y<r.length;y++){const N=r[y],p=a.get(N);if(p){const M=f<p.rowAreas.length?f:p.rowAreas.length-1,D=p.rowAreas[M];if(D.isError()){d.push(D);break}E.push(D);continue}E.push(N)}const R=this._handleSingleObject(_,{isError:!1,refs:E});d.push(R)}c.push(d)}return c.length===1?c[0][0]:at(c,c.length,s)}_getMultiAreaInfo(e){const t=new Map;let r=1;return e.forEach(n=>{const s=n.getAreas().map(a=>{if(!a||a.length===0)return n;const o=a.find(l=>!l.isError());return o!=null?o:a[0]});t.set(n,{ref:n,rowAreas:s}),r=Math.max(r,s.length||1)}),{multiAreaInfoMap:t,maxAreasLen:r}}}class P_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()||(n.isArray()&&(n=n.sum()),n.isError()))return n;if(t=t.plus(n),t.isError())return t}return t}}class j_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=Fn(n,t);s=Bn(s,n,t);const a=n.getRowCount(),o=n.getColumnCount();let l=n;if(r){l=r.toArrayValueObject();const c=l.getRowCount(),f=l.getColumnCount();if(a!==c||o!==f){const m=r.getRangeData();m.endRow=m.startRow+a-1,m.endColumn=m.startColumn+o-1,r.setRangeData(m),l=r.toArrayValueObject()}}return l.pick(s).sum()}}class T_ extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:l,variants:c}=Yr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Hr(c,{formulaName:"SUMIFS",maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:l});return f.length===1&&f[0].length===1?f[0][0]:Z.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class U_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=this._initArray1(e);if(t.length===0)return r.sum();const n=r.getRowCount(),s=r.getColumnCount(),a=this._getResultArrayByArray1(n,s,r);if(a instanceof g)return a;const o=a,l=this._validateVariants(t,n,s);return l||this._sumProduct(o,t,n,s)}_validateVariants(e,t,r){for(const n of e){if(n.isError())return n;if(n.isArray()){const s=n,a=s.getRowCount(),o=s.getColumnCount();if(a!==t&&o!==r)return g.create(h.VALUE)}}return null}_sumProduct(e,t,r,n){let s=0;for(let a=0;a<r;a++)for(let o=0;o<n;o++){let l=e[a][o];for(let c=0;c<t.length;c++){const f=t[c],m=this._getVariantCell(f,a,o);if(!m)return g.create(h.VALUE);if(m.isError())return m;m.isNumber()?l*=m.getValue():l=0}s+=l}return b.create(s)}_getVariantCell(e,t,r){if(!e.isArray())return e;const s=e.get(t,r);return s!=null?s:null}_initArray1(e){let t=e;return t.isArray()||(t=Z.create({calculateValueList:[[t]],rowCount:1,columnCount:1,unitId:"",sheetId:"",row:0,column:0})),t}_getResultArrayByArray1(e,t,r){const n=[];for(let s=0;s<e;s++){const a=[];for(let o=0;o<t;o++){const l=r.get(s,o);if(l.isError())return l;l.isNumber()?a.push(l.getValue()):a.push(0)}n.push(a)}return n}}class x_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);const r=b.create(2);for(let n=0;n<e.length;n++){let s=e[n];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()?s.iterator(a=>{if(a==null||a.isString()||a.isBoolean()||a.isNull())return!0;if(a.isError())return t=a,!1;t=t.plus(a.pow(r))}):t=t.plus(s.pow(r)),t.isError())return t}return t}}class v_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,l=a*o;if(s!==l)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const c=e.flatten(),f=t.flatten();let m=ce.create();const d=[],C=[];let _=0;return c.iterator((E,R,y)=>{const N=f.get(R,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(N==null||N.isString()||N.isBoolean()||N.isNull())return!0;if(N!=null&&N.isError())return m=N,!1;const p=+E.getValue(),M=+N.getValue();d.push(p),C.push(M),_+=p**2-M**2}),m.isError()?m:d.length===0||C.length===0?g.create(h.DIV_BY_ZERO):b.create(_)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!S.isRealNum(s)||r.isBoolean()||n.isString()&&!S.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const o=s**2-a**2;return b.create(o)}}class I_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,l=a*o;if(s!==l)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const c=e.flatten(),f=t.flatten();let m=ce.create();const d=[],C=[];let _=0;return c.iterator((E,R,y)=>{const N=f.get(R,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(N==null||N.isString()||N.isBoolean()||N.isNull())return!0;if(N!=null&&N.isError())return m=N,!1;const p=+E.getValue(),M=+N.getValue();d.push(p),C.push(M),_+=p**2+M**2}),m.isError()?m:d.length===0||C.length===0?g.create(h.DIV_BY_ZERO):b.create(_)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!S.isRealNum(s)||r.isBoolean()||n.isString()&&!S.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const o=s**2+a**2;return b.create(o)}}class F_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,l=a*o;if(s!==l)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const c=e.flatten(),f=t.flatten();let m=ce.create();const d=[],C=[];let _=0;return c.iterator((E,R,y)=>{const N=f.get(R,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(N==null||N.isString()||N.isBoolean()||N.isNull())return!0;if(N!=null&&N.isError())return m=N,!1;const p=+E.getValue(),M=+N.getValue();d.push(p),C.push(M),_+=(p-M)**2}),m.isError()?m:d.length===0||C.length===0?g.create(h.DIV_BY_ZERO):b.create(_)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!S.isRealNum(s)||r.isBoolean()||n.isString()&&!S.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const o=(s-a)**2;return b.create(o)}}class B_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}}class k_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}}class $_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=o.get(f,m),C=c;if(C.isString()&&(C=C.convertToNumberObjectValue()),C.isError())return C;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+C.getValue(),E=+d.getValue(),R=10**Math.trunc(E),y=xn(_,R),N=Math.trunc(Ar(_,R)+y)/R;return b.create(N)});return n===1&&s===1?l.get(0,0):l}}const il=[[g0,$.ABS],[d0,$.ACOS],[C0,$.ACOSH],[_0,$.ACOT],[A0,$.ACOTH],[R0,$.AGGREGATE],[y0,$.ARABIC],[b0,$.ASIN],[N0,$.ASINH],[p0,$.ATAN],[V0,$.ATAN2],[O0,$.ATANH],[S0,$.BASE],[M0,$.CEILING],[D0,$.CEILING_MATH],[w0,$.CEILING_PRECISE],[L0,$.COMBIN],[P0,$.COMBINA],[j0,$.COS],[T0,$.COSH],[U0,$.COT],[x0,$.COTH],[v0,$.CSC],[I0,$.CSCH],[F0,$.DECIMAL],[B0,$.DEGREES],[k0,$.EVEN],[$0,$.EXP],[Y0,$.FACT],[H0,$.FACTDOUBLE],[G0,$.FLOOR],[W0,$.FLOOR_MATH],[Q0,$.FLOOR_PRECISE],[q0,$.GCD],[X0,$.INT],[K0,$.LCM],[Z0,$.LN],[z0,$.LOG],[J0,$.LOG10],[e_,$.MDETERM],[t_,$.MINVERSE],[r_,$.MMULT],[n_,$.MOD],[s_,$.MROUND],[a_,$.MULTINOMIAL],[i_,$.MUNIT],[o_,$.ODD],[u_,$.PI],[l_,$.POWER],[c_,$.PRODUCT],[f_,$.QUOTIENT],[m_,$.RADIANS],[h_,$.RAND],[g_,$.RANDARRAY],[d_,$.RANDBETWEEN],[C_,$.ROMAN],[__,$.ROUND],[A_,$.ROUNDBANK],[E_,$.ROUNDDOWN],[R_,$.ROUNDUP],[y_,$.SEC],[b_,$.SECH],[p_,$.SERIESSUM],[N_,$.SEQUENCE],[V_,$.SIGN],[O_,$.SIN],[S_,$.SINH],[M_,$.SQRT],[D_,$.SQRTPI],[L_,$.SUBTOTAL],[P_,$.SUM],[j_,$.SUMIF],[T_,$.SUMIFS],[U_,$.SUMPRODUCT],[x_,$.SUMSQ],[v_,$.SUMX2MY2],[I_,$.SUMX2PY2],[F_,$.SUMXMY2],[B_,$.TAN],[k_,$.TANH],[$_,$.TRUNC]];class Y_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"_compareType",H.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class Ya extends bt{constructor(e){super("");A(this,"_values",[]);this._values=e}static create(e){return new Ya(e)}isCube(){return!0}dispose(){this._values.forEach(e=>{e.dispose()}),this._values=[]}getCubeValues(){return this._values}getCubeCount(){return this._values.length}sum(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=b.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=b.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isGreaterThan(r)&&(e=r)}),e}count(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class H_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return n;if(!n.isArray())return g.create(h.VALUE);t.push(n)}return Ya.create(t)}}class G_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?g.create(h.DIV_BY_ZERO):e.divided(t)}}class W_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class Q_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class q_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const ol=[[Y_,Ie.COMPARE],[G_,Ie.DIVIDED],[W_,Ie.MINUS],[Q_,Ie.MULTIPLY],[q_,Ie.PLUS],[H_,Ie.CUBE]],X_=new Set([$.ACOT,$.ACOTH,$.ARABIC,$.BASE,$.CEILING_MATH,$.CEILING_PRECISE,$.COMBINA,$.COT,$.COTH,$.CSC,$.CSCH,$.DECIMAL,$.FLOOR_MATH,$.FLOOR_PRECISE,$.MUNIT,$.RANDARRAY,$.SEC,$.SECH,$.SEQUENCE,re.CHOOSECOLS,re.CHOOSEROWS,re.DROP,re.EXPAND,re.FILTER,re.FORMULATEXT,re.HSTACK,re.SORT,re.SORTBY,re.TAKE,re.TOCOL,re.TOROW,re.UNIQUE,re.VSTACK,re.WRAPCOLS,re.WRAPROWS,re.XLOOKUP,re.XMATCH,X.BITAND,X.BITLSHIFT,X.BITOR,X.BITRSHIFT,X.BITXOR,X.ERF_PRECISE,X.ERFC_PRECISE,X.IMCOSH,X.IMCOT,X.IMCSC,X.IMCSCH,X.IMSEC,X.IMSECH,X.IMSINH,X.IMTAN,be.ISFORMULA,be.SHEET,be.SHEETS,_e.IFNA,_e.IFS,_e.SWITCH,_e.XOR,T.BETA_DIST,T.BETA_INV,T.BINOM_DIST,T.BINOM_DIST_RANGE,T.BINOM_INV,T.CHISQ_DIST,T.CHISQ_DIST_RT,T.CHISQ_INV,T.CHISQ_INV_RT,T.CHISQ_TEST,T.CONFIDENCE_NORM,T.CONFIDENCE_T,T.COVARIANCE_P,T.COVARIANCE_S,T.EXPON_DIST,T.F_DIST,T.F_DIST_RT,T.F_INV,T.F_INV_RT,T.F_TEST,T.FORECAST_LINEAR,T.GAMMA,T.GAMMA_DIST,T.GAMMA_INV,T.GAMMALN_PRECISE,T.GAUSS,T.HYPGEOM_DIST,T.LOGNORM_DIST,T.LOGNORM_INV,T.MAXIFS,T.MINIFS,T.MODE_MULT,T.MODE_SNGL,T.NEGBINOM_DIST,T.NORM_DIST,T.NORM_INV,T.NORM_S_DIST,T.NORM_S_INV,T.PERCENTILE_EXC,T.PERCENTILE_INC,T.PERCENTRANK_EXC,T.PERCENTRANK_INC,T.PERMUTATIONA,T.PHI,T.POISSON_DIST,T.QUARTILE_EXC,T.QUARTILE_INC,T.RANK_AVG,T.RANK_EQ,T.SKEW_P,T.STDEV_P,T.STDEV_S,T.T_DIST,T.T_DIST_2T,T.T_DIST_RT,T.T_INV,T.T_INV_2T,T.T_TEST,T.VAR_P,T.VAR_S,T.WEIBULL_DIST,T.Z_TEST,z.ARRAYTOTEXT,Wr.ENCODEURL,z.NUMBERVALUE,z.TEXTAFTER,z.TEXTBEFORE,z.TEXTJOIN,z.TEXTSPLIT,z.UNICHAR,z.UNICODE,z.VALUETOTEXT,Ce.DAYS,Ce.ISOWEEKNUM,J.PDURATION,J.RRI,_e.BYCOL,_e.BYROW,_e.MAKEARRAY,_e.MAP,_e.REDUCE,_e.SCAN]);class K_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0),r=b.create(0);for(let a=0;a<e.length;a++){let o=e[a];if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(o.isArray()){if(o=Z_(o),o.isError())return o;if(e[a]=o,t=t.plus(o.sum()),t.isError())return t;r=r.plus(o.count())}else o.isNull()||(t=t.plus(o),r=r.plus(b.create(1)))}if(r.getValue()===0)return g.create(h.NUM);const n=t.divided(r);if(n.isError())return n;let s=b.create(0);for(let a=0;a<e.length;a++){let o=e[a];if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(o.isArray()){if(s=s.plus(o.minus(n).abs().sum()),s.isError())return s}else o.isNull()||(s=s.plus(o.minus(n).abs()))}return s.divided(r)}}function Z_(i){const u=[];u[0]=[];let e=null;return i.iterator((t,r,n)=>{if(t!=null&&t.isError())return e=t,!1;t!=null&&t.isNumber()&&u[0].push(t)}),e||at(u,1,u[0].length)}class z_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0),r=b.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(t=t.plus(s.sum()),t.isError())return t;r=r.plus(s.count())}else s.isNull()||(t=t.plus(s),r=r.plus(b.create(1)))}return t.divided(r)}}class J_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",254)}calculate(...e){let t=!1,r;e.length%2!==0&&(t=!0,r=g.create(h.NA));const n=[],s=[];for(let a=0;a<e.length;a+=2){const o=e[a],l=o.isArray()?o.getRowCount():1,c=o.isArray()?o.getColumnCount():1;for(let C=0;C<l;C++)for(let _=0;_<c;_++){const E=o.isArray()?o.get(C,_):o;if(E.isError())return E;if(t)continue;const R=E.isNull()?"":E.getValue();n.push(R)}if(a+1>=e.length)continue;const f=e[a+1],m=f.isArray()?f.getRowCount():1,d=f.isArray()?f.getColumnCount():1;(m!==l||d!==c)&&(t=!0,r=g.create(h.VALUE));for(let C=0;C<m;C++)for(let _=0;_<d;_++){const E=f.isArray()?f.get(C,_):f;if(E.isError())return E;if(t)continue;const R=E.isNull()?"":E.getValue();s.push(R)}}return t?r:this._getResult(n,s)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let o=0;o<r;o++){const l=e[o],c=t[o];if(!(typeof l!="number"&&typeof c!="number")){if(typeof l!="number"||typeof c!="number"||c<0)return g.create(h.VALUE);n+=l*c,s+=c}}if(s===0)return g.create(h.DIV_BY_ZERO);const a=n/s;return b.create(a)}}class eA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0),r=b.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a==null||a.isNull())return!0;let o=a;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()&&(o=b.create(0))),o.isBoolean()&&(o=o.convertToNumberObjectValue()),o.isError())return t=o,!1;t=t.plus(o),r=r.plus(b.create(1))}),t.isError())return t}else s.isNull()||(t=t.plus(s),r=r.plus(b.create(1)))}return t.divided(r)}}class tA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=Fn(n,t);s=Bn(s,n,t);const a=n.getRowCount(),o=n.getColumnCount();let l=n;if(r){l=r.toArrayValueObject();const d=l.getRowCount(),C=l.getColumnCount();if(a!==d||o!==C){const _=r.getRangeData();_.endRow=_.startRow+a-1,_.endColumn=_.startColumn+o-1,r.setRangeData(_),l=r.toArrayValueObject()}}const c=l.pick(s),f=c.sum(),m=c.count();return f.divided(m)}}class rA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:l,variants:c}=Yr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Hr(c,{formulaName:"AVERAGEIFS",maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:l});return f.length===1&&f[0].length===1?f[0][0]:Z.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class nA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=s!=null?s:b.create(0),l=a!=null?a:b.create(1);o.isNull()&&(o=b.create(0)),l.isNull()&&(l=b.create(1));const c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),C=O(c,f,r,g.create(h.NA)),_=O(c,f,n,g.create(h.NA)),E=O(c,f,o,g.create(h.NA)),R=O(c,f,l,g.create(h.NA)),y=m.mapValue((N,p,M)=>{const D=d.get(p,M),L=C.get(p,M),P=_.get(p,M),j=E.get(p,M),I=R.get(p,M);return this._handleSingleObject(N,D,L,P,j,I)});return c===1&&f===1?y.get(0,0):y}_handleSingleObject(e,t,r,n,s,a){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;if(a.isError())return a;const{isError:o,errorObject:l,variants:c}=B(e,t,r,n,s,a);if(o)return l;const[f,m,d,C,_,E]=c,R=+f.getValue(),y=+m.getValue(),N=+d.getValue(),p=+C.getValue(),M=+_.getValue(),D=+E.getValue();if(y<=0||N<=0||R<M||R>D||M===D)return g.create(h.NUM);let L;return p?L=$o((R-M)/(D-M),y,N):L=Sh((R-M)/(D-M),y,N)/(D-M),b.create(L)}}class sA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){let s=n!=null?n:r;s.isNull()&&(s=r);const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,o,e,g.create(h.NA)),c=O(a,o,t,g.create(h.NA)),f=O(a,o,r,g.create(h.NA)),m=O(a,o,s,g.create(h.NA)),d=l.mapValue((C,_,E)=>{const R=c.get(_,E),y=f.get(_,E),N=m.get(_,E);return C.isError()?C:R.isError()?R:y.isError()?y:N.isError()?N:this._handleSingleObject(C,R,y,N)});return a===1&&o===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=o,d=Math.floor(+l.getValue()),C=+c.getValue(),_=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||C<0||C>1||_<0||_>d||E<0||E<_||E>d)return g.create(h.NUM);let R=0;for(let y=_;y<=E;y++)R+=Ua(y,d,C);return b.create(R)}}class aA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=Math.floor(+l.getValue()),d=+c.getValue();if(f<0||m<1||m>10**10)return g.create(h.NUM);let C;return d?C=xa(f,m):C=Mh(f,m),b.create(C)}}class iA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(l<0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=Go(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class oA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);if(f.isError())return f;if(C.isError())return C;if(_.isError())return _;const{isError:E,errorObject:R,variants:y}=B(f,C,_);if(E)return R;const[N,p,M]=y,D=+N.getValue(),L=+p.getValue(),P=Math.floor(+M.getValue());if(D<=0||D>=1||L<=0||P<1)return g.create(h.NUM);if(P===1)return g.create(h.DIV_BY_ZERO);const j=Math.abs(ts(D/2,P-1)*L/Math.sqrt(P));return b.create(j)});return n===1&&s===1?c.get(0,0):c}}class uA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return o.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?f:C?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++){const C=e[d]-a,_=t[d]-o;l+=C*_,c+=C**2,f+=_**2}const m=Math.sqrt(c*f);return m===0?g.create(h.DIV_BY_ZERO):b.create(l/m)}}class lA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let r=0;r<e.length;r++){const n=e[r];n.isError()||(n.isArray()?t=t.plus(n.count()):n.isString()?n.convertToNumberObjectValue().isError()||(t=t.plus(b.create(1))):n.isNull()||(t=t.plus(b.create(1))))}return t}}class cA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isError()){t=t.plus(b.create(1));continue}n.isArray()?(n=n.countA(),t=t.plus(n)):n.isNull()||(t=t.plus(b.create(1)))}return t}}class fA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.getValue()===""||e.isNull()?b.create(1):e.isArray()?e.countBlank():b.create(0)}}class mA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){if(!e.isReferenceObject())return g.create(h.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=e.toArrayValueObject();let n=Fn(r,t);n=Bn(n,r,t);const s=r.pick(n);return this._countA(s)}_countA(e){let t=b.create(0);return e.iterator(r=>{if(r==null)return!0;t=t.plusBy(1)}),t}}class hA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const{isError:t,errorObject:r,rangeIsDifferentSize:n,criteriaMaxRowLength:s,criteriaMaxColumnLength:a,variants:o}=Yr(e);if(t)return r;if(n)return s===1&&a===1?g.create(h.VALUE):O(s,a,g.create(h.VALUE));const l=Hr(o,{formulaName:"COUNTIFS",maxRowLength:s,maxColumnLength:a,isNumberSensitive:!0});return l.length===1&&l[0].length===1?l[0][0]:Z.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class gA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(o.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?f:C?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length<=1)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let c=0;c<r;c++)n+=e[c],s+=t[c];const a=n/r,o=s/r;let l=0;for(let c=0;c<r;c++){const f=e[c]-a,m=t[c]-o;l+=f*m}return b.create(l/(r-1))}}class dA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0,n=!0;for(let o=0;o<e.length;o++){const l=e[o];if(l.isArray()){let c=!1,f=g.create(h.VALUE);if(l.iterator(m=>{const d=this._handleSingleObject(m);if(d.isError())return c=!0,f=d,!1;if(d.isNull())return!0;const C=d.getValue();t.push(C),r+=C,n=!1}),c)return f}else{const c=this._handleSingleObject(l);if(c.isError())return c;if(c.isNull())continue;const f=c.getValue();t.push(f),r+=f,n=!1}}if(n)return g.create(h.NUM);const s=r/t.length;let a=0;for(let o=0;o<t.length;o++)a+=(t[o]-s)**2;return b.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return ce.create();const t=e.getValue();return S.isRealNum(t)?b.create(+t):ce.create()}}class CA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=o,d=+l.getValue(),C=Math.floor(+c.getValue()),_=Math.floor(+f.getValue()),E=+m.getValue();if(d<0||C<1||C>10**10||_<1||_>10**10)return g.create(h.NUM);let R;return E?R=va(d,C,_):R=Dh(d,C,_),Number.isNaN(R)||!Number.isFinite(R)?g.create(h.NUM):b.create(R)}}class _A extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const C=Wo(f,m,d);return Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):b.create(C)}}class AA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=s.getValue();if(a<=-1||a>=1)return g.create(h.NUM);const o=Math.log((1+a)/(1-a))/2;return b.create(o)}}class EA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Math.exp(2*a)-1,l=Math.exp(2*a)+1;return!Number.isFinite(o)&&o>0&&!Number.isFinite(l)&&l>0?b.create(1):b.create(o/l)}}class ul extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;let l=t;t.isArray()&&n===1&&s===1&&(l=t.get(0,0));let c=r;return r.isArray()&&a===1&&o===1&&(c=r.get(0,0)),e.isArray()?e.mapValue(f=>this._handleSingleObject(f,l,c,n,s,a,o)):this._handleSingleObject(e,l,c,n,s,a,o)}_handleSingleObject(e,t,r,n,s,a,o){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let l=e;if(e.isString()&&(l=e.convertToNumberObjectValue()),l.isError())return l;const c=+l.getValue();if((n*s===1||a*o===1)&&(t.isNull()||r.isNull()))return g.create(h.VALUE);if(n*s!==a*o)return g.create(h.NA);const{isError:f,errorObject:m,array1Values:d,array2Values:C,noCalculate:_}=Ze(t,r,n*s,s,o);if(f)return m;if(_)return g.create(h.DIV_BY_ZERO);const E=Qo(c,d,C);return Number.isFinite(E)?b.create(E):g.create(h.DIV_BY_ZERO)}}class RA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,values:s}=this._getValues(e);if(r)return n;if(e.isNull()||t.isNull())return g.create(h.VALUE);let{values:a}=this._getValues(t,!0);a.length===0&&(a=[0]);const o=this._getNewBinsArrayValues(a),l=new Array(o.length).fill(0);for(let c=0;c<s.length;c++){const f=s[c],m=o.findIndex(d=>f>d.start&&f<=d.end);l[m]++}return Z.createByArray(l.map(c=>[c]))}_getValues(e,t=!1){const r=[],n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;for(let a=0;a<n;a++)for(let o=0;o<s;o++){const l=e.isArray()?e.get(a,o):e;if(l.isError()){if(!t)return{isError:!0,errorObject:l,values:r};continue}if(l.isNull()||l.isBoolean())continue;const c=l.getValue();S.isRealNum(c)&&r.push(+c)}return{isError:!1,errorObject:null,values:r}}_getNewBinsArrayValues(e){const t=e.map((n,s)=>({value:n,index:s})).sort((n,s)=>n.value-s.value),r=[];for(let n=0;n<t.length;n++){const s=t[n].index;if(n===0){r[s]={start:-1/0,end:t[n].value};continue}r[s]={start:t[n-1].value,end:t[n].value}}return r.push({start:t[t.length-1].value,end:1/0}),r}}class yA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();if(a===0||a<0&&a%1===0)return g.create(h.NUM);const o=Jn(a);return Number.isNaN(o)||!Number.isFinite(o)?g.create(h.NUM):b.create(o)}}class ll extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0)return g.create(h.NUM);const o=ut(a);return Math.abs(o)<1e-15?b.create(0):b.create(o)}}class bA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Xr(a,0,1)-.5;return b.create(o)}}class NA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=0,n=!1;for(let a=0;a<e.length;a++){const o=e[a];if(o.isArray()){let l=!1,c=g.create(h.VALUE);if(o.iterator(f=>{if(f!=null&&f.isError())return l=!0,c=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!S.isRealNum(m))return!0;+m<=0&&(n=!0),t*=+m,r++}),l)return c}else{if(o.isError())return o;if(o.isString()){const c=o.convertToNumberObjectValue();if(c.isError())return c}if(o.isNull()||o.isBoolean())continue;const l=o.getValue();if(!S.isRealNum(l))continue;+l<=0&&(n=!0),t*=+l,r++}}if(r===0||n)return g.create(h.NUM);const s=t**(1/r);return b.create(s)}}class pA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=rs(e,t,r);if(s)return a;const o=Et(e);if(o instanceof g)return o;const l=this._getKnownXsValues(o,t);if(l instanceof g)return l;const c=this._getNewXsValues(l,r);if(c instanceof g)return c;let f=n!=null?n:F.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(o,l,c,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=as(e,t,r,n,!0);if(a instanceof g)return a;const{coefficients:o,newX:l}=a,c=o[0].length,f=o[0][c-1];let m=[];for(let d=0;d<l.length;d++){m[d]=[];let C=f;for(let _=c-2;_>=0;_--)C*=o[0][c-2-_]**l[d][_];m[d].push(C)}return s&&(m=At(m)),Z.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:l}=ss(a,s,n,!0),c=r.map(f=>f.map(m=>l*o**m));return Z.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?ns(e.length,e[0].length):Et(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Et(t)}}class VA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0,n=!1;for(let a=0;a<e.length;a++){const o=e[a];if(o.isArray()){let l=!1,c=g.create(h.VALUE);if(o.iterator(f=>{if(f!=null&&f.isError())return l=!0,c=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!S.isRealNum(m))return!0;+m<=0&&(n=!0),t+=1/+m,r++}),l)return c}else{if(o.isError())return o;if(o.isString()){const c=o.convertToNumberObjectValue();if(c.isError())return c}if(o.isNull()||o.isBoolean())continue;const l=o.getValue();if(!S.isRealNum(l))continue;+l<=0&&(n=!0),t+=1/+l,r++}}if(r===0)return g.create(h.NA);if(n)return g.create(h.NUM);const s=r/t;return b.create(s)}}class OA extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,o,e,g.create(h.NA)),c=O(a,o,t,g.create(h.NA)),f=O(a,o,r,g.create(h.NA)),m=O(a,o,n,g.create(h.NA)),d=O(a,o,s,g.create(h.NA)),C=l.mapValue((_,E,R)=>{const y=c.get(E,R),N=f.get(E,R),p=m.get(E,R),M=d.get(E,R);return _.isError()?_:y.isError()?y:N.isError()?N:p.isError()?p:M.isError()?M:this._handleSingleObject(_,y,N,p,M)});return a===1&&o===1?C.get(0,0):C}_handleSingleObject(e,t,r,n,s){const{isError:a,errorObject:o,variants:l}=B(e,t,r,n,s);if(a)return o;const[c,f,m,d,C]=l,_=Math.floor(+c.getValue()),E=Math.floor(+f.getValue()),R=Math.floor(+m.getValue()),y=Math.floor(+d.getValue()),N=+C.getValue();if(_<0||_>E||_>R||_<E-y+R||E<=0||E>y||R<=0||R>y||y<=0)return g.create(h.NUM);let p;return N?p=Uh(_,E,R,y):p=Fa(_,E,R,y),Number.isNaN(p)&&(p=0),b.create(p)}}class SA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return o.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?f:C?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=Qo(0,e,t);return Number.isFinite(r)?b.create(r):g.create(h.DIV_BY_ZERO)}}class MA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const l=s.convertToNumberObjectValue();if(l.isError())return l}const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++)for(let c=0;c<o;c++){const f=s.isArray()?s.get(l,c):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();S.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=3?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let c=0;c<r;c++)s+=(e[c]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let o=0;for(let c=0;c<r;c++)o+=((e[c]-n)/a)**4;const l=r*(r+1)/((r-1)*(r-2)*(r-3))*o-3*(r-1)**2/((r-2)*(r-3));return b.create(l)}}class DA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=tr(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,o=+a.getValue();return su(e,o)}}class wA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=rs(e,t);if(s)return a;const o=Et(e);if(o instanceof g)return o;const l=this._getKnownXsValues(o,t);if(l instanceof g)return l;let c=r!=null?r:F.create(!0);c.isArray()&&(c=c.get(0,0));let f=n!=null?n:F.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:C}=B(c,f);if(m)return d;const[_,E]=C;return this._getResult(o,l,+_.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=as(e,t,t,r,!1);if(s instanceof g)return s;const{coefficients:a,X:o,XTXInverse:l}=s;let c=[];if(n){const f=e.flat(),m=f.length,d=r?f.reduce((v,Y)=>v+Y,0)/m:0,C=l.length,_=m-C,E=a[0].length,R=new Array(E-2).fill(h.NA),y=a[0][E-1],N=[];for(let v=0;v<o.length;v++){let Y=y;for(let Q=E-2;Q>=0;Q--)Y+=a[0][E-2-Q]*o[v][Q];N.push(Y)}let p=0,M=0;for(let v=0;v<m;v++)p+=(f[v]-d)**2,M+=(f[v]-N[v])**2;const D=p-M,L=p===0?0:D/p,P=[];for(let v=C-1;v>=0;v--){const Y=_>0?Math.sqrt(M/_*l[v][v]):0;P.push(Y)}if(r){const v=P.shift();P.push(v)}else P.push(h.NA);const j=_>0?Math.sqrt(M/_):0,I=_>0?D/(E-1)/(M/_):h.NUM;c=[a[0],[...P],[L,j,...R],[I,_,...R],[D,M,...R]]}else c=[a[0]];return Z.createByArray(c)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:l}=ss(a,s,r,!1);if(Number.isNaN(o))return g.create(h.NA);let c=[];if(n){const f=s.length;let m=0,d=0,C=f-1;if(r){let P=0,j=0;for(let I=0;I<f;I++)P+=s[I],j+=a[I];m=P/f,d=j/f,C=f-2}let _=0,E=0,R=0;for(let P=0;P<f;P++)_+=(s[P]-m)**2,E+=(s[P]-(o*a[P]+l))**2,R+=(a[P]-d)**2;const y=_-E,N=y===_?1:y/_;let p=0,M=0,D=0;C>0&&(R>0&&(p=Math.sqrt(E/C/R),M=Math.sqrt(E/C*(1/f+d**2/R))),D=Math.sqrt(E/C));const L=C>0?y/1/(E/C):h.NUM;r||(M=h.NA),c=[[o,l],[p,M],[N,D],[L,C],[y,E]]}else c=[[o,l]];return Z.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?ns(e.length,e[0].length):Et(t)}}class LA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=rs(e,t);if(s)return a;const o=Et(e);if(o instanceof g)return o;const l=this._getKnownXsValues(o,t);if(l instanceof g)return l;let c=r!=null?r:F.create(!0);c.isArray()&&(c=c.get(0,0));let f=n!=null?n:F.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:C}=B(c,f);if(m)return d;const[_,E]=C;return this._getResult(o,l,+_.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=as(e,t,t,r,!0);if(s instanceof g)return s;const{coefficients:a,Y:o,X:l,XTXInverse:c}=s;let f=[];if(n){const m=o.flat(),d=m.length,C=r?m.reduce((Y,Q)=>Y+Q,0)/d:0,_=c.length,E=d-_,R=a[0].length,y=new Array(R-2).fill(h.NA),N=a[0][R-1],p=[];for(let Y=0;Y<l.length;Y++){let Q=N;for(let ne=R-2;ne>=0;ne--)Q*=a[0][R-2-ne]**l[Y][ne];p.push(Math.log(Q))}let M=0,D=0;for(let Y=0;Y<d;Y++)M+=(m[Y]-C)**2,!(!r&&!Number.isFinite(p[Y]))&&(D+=(m[Y]-p[Y])**2);Number.isFinite(D)||(D=0);const L=M-D,P=M===0?0:L/M,j=[];for(let Y=_-1;Y>=0;Y--){const Q=E>0?Math.sqrt(D/E*c[Y][Y]):0;j.push(Q)}if(r){const Y=j.shift();j.push(Y)}else j.push(h.NA);const I=E>0?Math.sqrt(D/E):0,v=E>0?L/(R-1)/(D/E):h.NUM;f=[a[0],[...j],[P,I,...y],[v,E,...y],[L,D,...y]]}else f=[a[0]];return Z.createByArray(f)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:l,Y:c}=ss(a,s,r,!0);if(Number.isNaN(o))return g.create(h.NA);let f=[];if(n){const m=c.length;let d=0,C=0,_=m-1;if(r){let j=0,I=0;for(let v=0;v<m;v++)j+=c[v],I+=a[v];d=j/m,C=I/m,_=m-2}let E=0,R=0,y=0;for(let j=0;j<m;j++)E+=(c[j]-d)**2,R+=(c[j]-Math.log(l*o**a[j]))**2,y+=(a[j]-C)**2;const N=E-R,p=E===0?0:N/E;let M=0,D=0,L=0,P=0;_>0&&(y>0&&(M=Math.sqrt(R/_/y),D=Math.sqrt(R/_*(1/m+C**2/y))),L=Math.sqrt(R/_),P=N/1/(R/_)),r||(D=h.NA),f=[[o,l],[M,D],[p,L],[P,_],[N,R]]}else f=[[o,l]];return Z.createByArray(f)}_getKnownXsValues(e,t){return!t||t.isNull()?ns(e.length,e[0].length):Et(t)}}class PA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=o,d=+l.getValue(),C=+c.getValue(),_=+f.getValue(),E=+m.getValue();if(d<=0||_<=0)return g.create(h.NUM);let R;return E?R=Xo(d,C,_):R=xh(d,C,_),b.create(R)}}class jA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getRangeValues(e);if(r instanceof g)return r;const n=zt(t);if(n.isError())return n;const{isError:s,errorObject:a,variants:o}=B(n);if(s)return a;const[l]=o,c=+l.getValue();if(c<=0||c>=1)return g.create(h.NUM);if(r.length<2)return g.create(h.DIV_BY_ZERO);const f=1-c,m=r.length,d=r.reduce((R,y)=>R+y,0)/m,C=r.reduce((R,y)=>R+(y-d)**2,0)/(m-1),_=Math.sqrt(C);if(_<=0)return g.create(h.NUM);const E=Math.abs(ts(f/2,m-1)*_/Math.sqrt(m));return b.create(E)}_getRangeValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;o.isNull()||o.isBoolean()||o.isString()||t.push(+o.getValue())}return t}}class TA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.max()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class UA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=b.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class xA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:l,variants:c}=Yr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Hr(c,{formulaName:"MAXIFS",maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:l});return f.length===1&&f[0].length===1?f[0][0]:Z.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class vA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(o=>{if(o!=null&&o.isError())return s=!0,a=o,!1;if(o!=null&&o.isNull()||o!=null&&o.isBoolean())return!0;const l=o.getValue();if(!S.isRealNum(l))return!0;t.push(+l)}),s)return a}else{if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;if(n.isString()){const a=n.convertToNumberObjectValue();if(a.isError())return a}const s=n.getValue();if(!S.isRealNum(s))continue;t.push(+s)}}return t.length===0?g.create(h.NUM):nu(t)}}class IA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.min()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class FA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=b.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class BA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:l,variants:c}=Yr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Hr(c,{formulaName:"MINIFS",maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:l});return f.length===1&&f[0].length===1?f[0][0]:Z.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class kA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const c=a.convertToNumberObjectValue();if(c.isError())return c}const o=a.isArray()?a.getRowCount():1,l=a.isArray()?a.getColumnCount():1;for(let c=0;c<o;c++)for(let f=0;f<l;f++){const m=a.isArray()?a.get(c,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();S.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):this._getResult(t,n)}_getResult(e,t){const r=Object.entries(e).filter(([n,{count:s}])=>s===t).sort((n,s)=>n[1].order-s[1].order).map(([n])=>+n);return r.length===1?b.create(r[0]):Z.createByArray(r.map(n=>[n]))}}class $A extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=o,d=Math.floor(+l.getValue()),C=Math.floor(+c.getValue()),_=+f.getValue(),E=+m.getValue();if(d<0||C<1||_<=0||_>=1)return g.create(h.NUM);let R;return E?R=Ih(d,C,_):R=Ba(d,C,_),b.create(R)}}class YA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=+o.getValue();let f;return c?f=Xr(l,0,1):f=Ko(l,0,1),b.create(f)}}class HA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return o.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?f:C?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++)l+=(e[d]-a)*(t[d]-o),c+=(e[d]-a)**2,f+=(t[d]-o)**2;if(c===0||f===0)return g.create(h.DIV_BY_ZERO);const m=l/Math.sqrt(c*f);return b.create(m)}}class GA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=tr(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,o=+a.getValue();return ou(e,o)}}class WA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:b.create(3);s.isNull()&&(s=b.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,o,t,g.create(h.NA)),c=O(a,o,s,g.create(h.NA)),f=l.mapValue((m,d,C)=>{const _=c.get(d,C);return m.isError()?m:_.isError()?_:this._handleSingleObject(n,m,_)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=B(t,r);if(n)return s;const[o,l]=a,c=+o.getValue(),f=Math.floor(+l.getValue()),m=e.length;if(m===0||c<e[0]||c>e[m-1])return g.create(h.NA);if(m===1)return c===e[0]?b.create(1):g.create(h.NA);let d=0,C=!1,_=0;for(;!C&&_<m;)c===e[_]?(d=(_+1)/(m+1),C=!0):c>e[_]&&_+1<m&&c<e[_+1]&&(d=(_+1+(c-e[_])/(e[_+1]-e[_]))/(m+1),C=!0),_++;return C?f<1?g.create(h.NUM):(d=Qe(d,f),b.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const l=o.getValue();S.isRealNum(l)&&n.push(+l)}return n.sort((s,a)=>s-a)}}class QA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const{isError:d,errorObject:C,variants:_}=B(l,m);if(d)return C;const[E,R]=_,y=Math.floor(+E.getValue()),N=Math.floor(+R.getValue());if(y<0||y>=2147483647||N<0||y<N)return g.create(h.NUM);let p=1;for(let M=y-N+1;M<=y;M++)p*=M;return Number.isFinite(p)?b.create(p):g.create(h.NUM)});return r===1&&n===1?o.get(0,0):o}}class qA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const{isError:d,errorObject:C,variants:_}=B(l,m);if(d)return C;const[E,R]=_,y=Math.floor(+E.getValue()),N=Math.floor(+R.getValue());if(y<0||y>=2147483647||N<0)return g.create(h.NUM);if(y===0)return N===0?b.create(1):b.create(0);const p=y**N;return Number.isFinite(p)?b.create(p):g.create(h.NUM)});return r===1&&n===1?o.get(0,0):o}}class XA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return b.create(o)}}class KA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,xRangeValues:o,probRangeValues:l}=this._handleXRangeAndProbRange(e,t);let c=n!=null?n:r;n!=null&&n.isNull()&&(c=r);const f=Math.max(r.isArray()?r.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(r.isArray()?r.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,r,g.create(h.NA)),C=O(f,m,c,g.create(h.NA)),_=d.mapValue((E,R,y)=>{const N=C.get(R,y);return e.isError()?e:t.isError()?t:E.isError()?E:N.isError()?N:s?a:this._handleSingleObject(o,l,E,N)});return f===1&&m===1?_.get(0,0):_}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(r,n);if(s)return a;const[l,c]=o,f=+l.getValue(),m=+c.getValue();if(t.reduce((C,_)=>C+_,0)!==1)return g.create(h.NUM);let d=0;for(let C=0;C<e.length;C++)e[C]>=f&&e[C]<=m&&(d+=t[C]);return b.create(d)}_handleXRangeAndProbRange(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,xRangeValues:[],probRangeValues:[]};let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return{isError:!0,errorObject:l,xRangeValues:[],probRangeValues:[]};if((r*n===1||s*a===1)&&(o.isNull()||l.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),xRangeValues:[],probRangeValues:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),xRangeValues:[],probRangeValues:[]};const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?{isError:!0,errorObject:f,xRangeValues:[],probRangeValues:[]}:C?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:m,probRangeValues:d}}}class ZA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=tr(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,o=Math.floor(+a.getValue());return lu(e,o)}}class zA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t);let l=r!=null?r:b.create(0);l.isReferenceObject()&&(l=l.toArrayValueObject());const c=Math.max(n.isArray()?n.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,n,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),C=m.map((_,E,R)=>{const y=d.get(E,R);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const N=+_.getValue(),p=+y.getValue();return Number.isNaN(N)||Number.isNaN(p)?g.create(h.VALUE):this._getResult(N,p,o)});return c===1&&f===1?C.get(0,0):C}_getResult(e,t,r){const n=r.sort((l,c)=>t?l-c:c-l);let s=n.indexOf(e);const a=[];for(;s>=0;){const l=s+1;a.push(l),s=n.indexOf(e,l)}if(a.length===0)return g.create(h.NA);const o=a.reduce((l,c)=>l+c,0)/a.length;return b.create(o)}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const o=a;if(o.isError())return t=!0,r=o,!1;if(o.isNull()||o.isBoolean())return!0;const l=+o.getValue();if(Number.isNaN(l))return!0;n.push(l)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class JA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t);let l=r!=null?r:b.create(0);l.isReferenceObject()&&(l=l.toArrayValueObject());const c=Math.max(n.isArray()?n.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,n,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),C=m.map((_,E,R)=>{const y=d.get(E,R);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const N=+_.getValue(),p=+y.getValue();if(Number.isNaN(N)||Number.isNaN(p))return g.create(h.VALUE);const D=o.sort((L,P)=>p?L-P:P-L).indexOf(N);return D===-1?g.create(h.NA):b.create(D+1)});return c===1&&f===1?C.get(0,0):C}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const o=a;if(o.isError())return t=!0,r=o,!1;if(o.isNull()||o.isBoolean())return!0;const l=+o.getValue();if(Number.isNaN(l))return!0;n.push(l)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class eE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(o.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?f:C?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++)l+=(e[d]-a)*(t[d]-o),c+=(e[d]-a)**2,f+=(t[d]-o)**2;if(c===0||f===0)return g.create(h.DIV_BY_ZERO);const m=(l/Math.sqrt(c*f))**2;return b.create(m)}}class tE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const l=s.convertToNumberObjectValue();if(l.isError())return l}const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++)for(let c=0;c<o;c++){const f=s.isArray()?s.get(l,c):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();S.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let c=0;c<r;c++)s+=(e[c]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let o=0;for(let c=0;c<r;c++)o+=((e[c]-n)/a)**3;const l=r/((r-1)*(r-2))*o;return b.create(l)}}class rE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const l=s.convertToNumberObjectValue();if(l.isError())return l}const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++)for(let c=0;c<o;c++){const f=s.isArray()?s.get(l,c):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();S.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let c=0;c<r;c++)s+=(e[c]-n)**2;const a=Math.sqrt(s/r);if(a===0)return g.create(h.DIV_BY_ZERO);let o=0;for(let c=0;c<r;c++)o+=((e[c]-n)/a)**3;const l=o/r;return b.create(l)}}class nE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return o.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?f:C?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m];const a=n/r,o=s/r;let l=0,c=0;for(let m=0;m<r;m++)l+=(e[m]-a)*(t[m]-o),c+=(t[m]-o)**2;if(c===0)return g.create(h.DIV_BY_ZERO);const f=l/c;return b.create(f)}}class sE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=tr(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,o=+a.getValue();return au(e,o)}}class aE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=+l.getValue(),d=+c.getValue();if(d<=0)return g.create(h.NUM);const C=(f-m)/d;return b.create(C)}}class iE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class oE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class uE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(o.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:C}=Ze(e,t,r*n,n,a);return c?f:C?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;if(r<=2)return g.create(h.DIV_BY_ZERO);let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++)l+=(e[d]-a)*(t[d]-o),c+=(e[d]-a)**2,f+=(t[d]-o)**2;if(f===0)return g.create(h.DIV_BY_ZERO);const m=Math.sqrt((c-l**2/f)/(r-2));return Number.isNaN(m)||!Number.isFinite(m)?g.create(h.NUM):b.create(m)}}class lE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a,f=+o.getValue(),m=Math.floor(+l.getValue()),d=+c.getValue();if(m<1)return g.create(h.NUM);let C;return d?C=Kr(f,m):C=Bh(f,m),Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):b.create(C)}}class cE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(l<0||c<1||c>10**10)return g.create(h.NUM);const f=Kr(-l,c)*2;return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class fE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(c<1||c>10**10)return g.create(h.NUM);const f=Kr(-l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class mE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,o]=s,l=+a.getValue(),c=Math.floor(+o.getValue());if(l<=0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=ts(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class hE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=rs(e,t,r);if(s)return a;const o=Et(e);if(o instanceof g)return o;const l=this._getKnownXsValues(o,t);if(l instanceof g)return l;const c=this._getNewXsValues(l,r);if(c instanceof g)return c;let f=n!=null?n:F.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(o,l,c,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=as(e,t,r,n,!1);if(a instanceof g)return a;const{coefficients:o,newX:l}=a,c=o[0].length,f=o[0][c-1];let m=[];for(let d=0;d<l.length;d++){m[d]=[];let C=f;for(let _=c-2;_>=0;_--)C+=o[0][c-2-_]*l[d][_];m[d].push(C)}return s&&(m=At(m)),Z.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:l}=ss(a,s,n,!1);if(Number.isNaN(o))return g.create(h.NA);const c=r.map(f=>f.map(m=>o*m+l));return Z.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?ns(e.length,e[0].length):Et(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Et(t)}}class gE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,o=+a.getValue();if(o<0||o>=1)return g.create(h.NUM);const l=Qe(e.length*o/2,0)*2,c=e.slice(l/2,e.length-l/2),f=c.reduce((m,d)=>m+d,0)/c.length;return b.create(f)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const l=o.getValue();S.isRealNum(l)&&n.push(+l)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class dE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class CE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}const cl=[[K_,T.AVEDEV],[z_,T.AVERAGE],[J_,T.AVERAGE_WEIGHTED],[eA,T.AVERAGEA],[tA,T.AVERAGEIF],[rA,T.AVERAGEIFS],[nA,T.BETA_DIST],[cu,T.BETA_INV],[fu,T.BINOM_DIST],[sA,T.BINOM_DIST_RANGE],[mu,T.BINOM_INV],[aA,T.CHISQ_DIST],[hu,T.CHISQ_DIST_RT],[iA,T.CHISQ_INV],[gu,T.CHISQ_INV_RT],[du,T.CHISQ_TEST],[Cu,T.CONFIDENCE_NORM],[oA,T.CONFIDENCE_T],[uA,T.CORREL],[lA,T.COUNT],[cA,T.COUNTA],[fA,T.COUNTBLANK],[mA,T.COUNTIF],[hA,T.COUNTIFS],[_u,T.COVARIANCE_P],[gA,T.COVARIANCE_S],[dA,T.DEVSQ],[Au,T.EXPON_DIST],[CA,T.F_DIST],[Eu,T.F_DIST_RT],[_A,T.F_INV],[Ru,T.F_INV_RT],[yu,T.F_TEST],[AA,T.FISHER],[EA,T.FISHERINV],[ul,T.FORECAST],[ul,T.FORECAST_LINEAR],[RA,T.FREQUENCY],[yA,T.GAMMA],[bu,T.GAMMA_DIST],[Nu,T.GAMMA_INV],[ll,T.GAMMALN],[ll,T.GAMMALN_PRECISE],[bA,T.GAUSS],[NA,T.GEOMEAN],[pA,T.GROWTH],[VA,T.HARMEAN],[OA,T.HYPGEOM_DIST],[SA,T.INTERCEPT],[MA,T.KURT],[DA,T.LARGE],[wA,T.LINEST],[LA,T.LOGEST],[PA,T.LOGNORM_DIST],[pu,T.LOGNORM_INV],[jA,T.MARGINOFERROR],[TA,T.MAX],[UA,T.MAXA],[xA,T.MAXIFS],[vA,T.MEDIAN],[IA,T.MIN],[FA,T.MINA],[BA,T.MINIFS],[kA,T.MODE_MULT],[Vu,T.MODE_SNGL],[$A,T.NEGBINOM_DIST],[Ou,T.NORM_DIST],[Su,T.NORM_INV],[YA,T.NORM_S_DIST],[Mu,T.NORM_S_INV],[HA,T.PEARSON],[GA,T.PERCENTILE_EXC],[Du,T.PERCENTILE_INC],[WA,T.PERCENTRANK_EXC],[wu,T.PERCENTRANK_INC],[QA,T.PERMUT],[qA,T.PERMUTATIONA],[XA,T.PHI],[Lu,T.POISSON_DIST],[KA,T.PROB],[ZA,T.QUARTILE_EXC],[Pu,T.QUARTILE_INC],[zA,T.RANK_AVG],[JA,T.RANK_EQ],[eE,T.RSQ],[tE,T.SKEW],[rE,T.SKEW_P],[nE,T.SLOPE],[sE,T.SMALL],[aE,T.STANDARDIZE],[ju,T.STDEV_P],[Tu,T.STDEV_S],[iE,T.STDEVA],[oE,T.STDEVPA],[uE,T.STEYX],[lE,T.T_DIST],[cE,T.T_DIST_2T],[fE,T.T_DIST_RT],[mE,T.T_INV],[Uu,T.T_INV_2T],[xu,T.T_TEST],[hE,T.TREND],[gE,T.TRIMMEAN],[vu,T.VAR_P],[Iu,T.VAR_S],[dE,T.VARA],[CE,T.VARPA],[Fu,T.WEIBULL_DIST],[Bu,T.Z_TEST]];class _E extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:b.create(0);if(t!=null&&t.isNull()&&(r=b.create(0)),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=this._checkArray(e);if(r.isError())return r;const{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[o]=a,l=+o.getValue(),c=e.isArray()?e.getRowCount():1,f=e.isArray()?e.getColumnCount():1;let m="";for(let d=0;d<c;d++)for(let C=0;C<f;C++){const _=e.isArray()?e.get(d,C):e;let E=`${_.getValue()}`;_.isNull()&&(E=""),_.isBoolean()&&(E=E.toLocaleUpperCase()),_.isString()&&l?m+=`"${E}"`:m+=E,d===c-1&&C===f-1||(l?C===f-1?m+=";":m+=",":m+=", ")}return l&&(m=`{${m}}`),m.length>32767?g.create(h.CALC):x.create(m)}_checkArray(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t>1||r>1?e:e.get(0,0)}return e}}class AE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const t=e.getValue().toLocaleString();let r="";for(let n=0;n<t.length;n++){let s=t.charCodeAt(n);s===12288?s=32:s>=65281&&s<=65374&&(s-=65248),r+=String.fromCharCode(s)}return x.create(r)}}class EE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Math.abs(Number.parseInt(a.toString(),10)),l=Number.parseFloat((Math.abs(a)-o).toFixed(2));let c="";return o===0?l!==0?c=`${a<0?"ลบ":""}${this._convertNumberToThaiText(l*100)}สตางค์`:c="ศูนย์บาทถ้วน":l===0?c=`${a<0?"ลบ":""}${this._convertNumberToThaiText(o)}บาทถ้วน`:c=`${a<0?"ลบ":""}${this._convertNumberToThaiText(o)}บาท${this._convertNumberToThaiText(l*100)}สตางค์`,x.create(c)}_convertNumberToThaiText(e){const t=["ล้าน","สิบ","ร้อย","พัน","หมื่น","แสน",""],r=["ศูนย์","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า"],n=["ลบ","บาท","ถ้วน","สตางค์","ยี่","เอ็ด",","," ","฿"],s=e.toString(),a=s.length;let o="";for(let l=a;l>0;l--){const c=Number.parseInt(s.charAt(a-l),10);let f=r[c];const m=l>1?(l-1)%6:6;if(m===1&&c===2&&(f=n[4]),c===1)switch(m){case 0:case 6:o+=l<a?n[5]:f;break;case 1:break;default:o+=f;break}else if(c===0){m===0&&(o+=t[m]);continue}else o+=f;o+=t[m]}return o}}const RE=Object.values(S.DataStreamTreeTokenType).filter(i=>[S.DataStreamTreeTokenType.TABLE_START,S.DataStreamTreeTokenType.TABLE_ROW_START,S.DataStreamTreeTokenType.TABLE_CELL_START,S.DataStreamTreeTokenType.TABLE_CELL_END,S.DataStreamTreeTokenType.TABLE_ROW_END,S.DataStreamTreeTokenType.TABLE_END,S.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class yE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<=0)return g.create(h.VALUE);let o=String.fromCharCode(a);return RE.some(l=>l===o)&&(o=""),x.create(o)}}class bE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isBoolean()||e.isNumber())return e;if(e.isNull())return x.create("");const r=`${e.getValue()}`.replace(/[\0-\x1F]/g,"");return x.create(r)}}class NE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t==="")return g.create(h.VALUE);const r=t.charCodeAt(0);return b.create(r)}}class pE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="",r=null;for(const n of e)if(n.isArray()){if(n.iterator(s=>{if(s==null||s.isNull())return!0;if(s.isError())return r=s,!1;s.isBoolean()?t+=`${s.getValue()}`.toLocaleUpperCase():(s.isString()||s.isNumber())&&(t+=s.getValue())}),r)return r}else!n.isError()&&!n.isNull()&&(t+=n.getValue());return x.create(t)}}class VE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(s=>{if(s.isArray()){const a=s;t=Math.max(t,a.getRowCount()),r=Math.max(r,a.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let n=null;for(const s of e)n=O(t,r,s,g.create(h.NA)).mapValue((o,l,c)=>{const f=n&&n.get(l,c);if(f!=null&&f.isError())return f;if(o.isError())return o;let m=f==null?void 0:f.getValue(),d=o==null?void 0:o.getValue();f!=null&&f.isBoolean()&&(m=`${m}`.toLocaleUpperCase()),o!=null&&o.isBoolean()&&(d=`${d}`.toLocaleUpperCase());const C=f!=null&&f.isNull()?"":m!=null?m:"",_=o!=null&&o.isNull()?"":d!=null?d:"";return x.create(`${C}${_}`)});return n||g.create(h.VALUE)}}class OE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");let t=`${e.getValue()}`;e.isBoolean()&&(t=t.toLocaleUpperCase());let r="";for(let n=0;n<t.length;n++){const s=t.charCodeAt(n);s>=33&&s<=126?r+=String.fromCharCode(s+65248):s===32?r+=" ":r+=t.charAt(n)}return x.create(r)}}class SE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsLocale",!0)}calculate(e,t){let r=t!=null?t:b.create(2);r.isNull()&&(r=b.create(2));const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=o.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,o]=s;let l=+a.getValue(),c=Math.trunc(+o.getValue());if(c>127)return g.create(h.VALUE);c<0&&(`${l}`.length<Math.abs(c)?l=0:l=l<0?-xt(Math.abs(l),c):xt(l,c),c=0);const f=ef(this.getLocale(),l,c);return x.create(f)}}class ME extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,ce.create()),a=O(r,n,t,ce.create()),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){if(e.isNull()||t.isNull()){const a=e.isNull()&&t.isNull();return F.create(a)}let r=`${e.getValue()}`;e.isBoolean()&&(r=r.toLocaleUpperCase());let n=`${t.getValue()}`;t.isBoolean()&&(n=n.toLocaleUpperCase());const s=r===n;return F.create(s)}}const Ha=(i,u)=>S.numfmt.format(i,u,{throws:!1}),we=i=>{let u=`${i.getValue()}`;return i.isNull()&&(u=""),i.isBoolean()&&(u=u.toLocaleUpperCase()),i.isNumber()&&(i.getPattern()!==""?u=Ha(i.getPattern(),+i.getValue()):u=`${vn(+i.getValue())}`),u};class DE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,C)=>{const _=l.get(d,C),E=c.get(d,C);return m.isError()?m:_.isError()?_:E.isError()?E:this._handleSingleObject(m,_,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e),s=we(t),{isError:a,errorObject:o,variants:l}=B(r);if(a)return o;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):b.create(m+1)}}function Ga(i){let u=0;for(let e=0;e<i.length;e++)u+=zr(i,e);return u}function zr(i,u,e="ltr"){return wE(i,u,e)>255?2:1}function fl(i){return i>=55296&&i<=56319}function ml(i){return i>=56320&&i<=57343}function hl(i,u){const e=(i&1023)<<10,t=u&1023;return e+t+65536}function wE(i,u,e="ltr"){const t=i.charCodeAt(u);if(e==="ltr"&&fl(t)&&u+1<i.length){const r=i.charCodeAt(u+1);if(ml(r))return hl(t,r)}if(e==="rtl"&&ml(t)&&u-1>=0){const r=i.charCodeAt(u-1);if(fl(r))return hl(r,t)}return t}class LE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,C)=>{const _=l.get(d,C),E=c.get(d,C);return m.isError()?m:_.isError()?_:E.isError()?E:this._handleSingleObject(m,_,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e),s=we(t),{isError:a,errorObject:o,variants:l}=B(r);if(a)return o;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Ga(s.substring(0,m))+1;return b.create(d)}}class PE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){let n=t!=null?t:b.create(2);n.isNull()&&(n=b.create(2));let s=r!=null?r:F.create(!1);s.isNull()&&(s=F.create(!1));const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,o,e,g.create(h.NA)),c=O(a,o,n,g.create(h.NA)),f=O(a,o,s,g.create(h.NA)),m=l.mapValue((d,C,_)=>{const E=c.get(C,_),R=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:this._handleSingleObject(d,E,R)});return a===1&&o===1?m.get(0,0):m}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[o,l,c]=a;let f=+o.getValue(),m=Math.trunc(+l.getValue());const d=+c.getValue();if(m>127)return g.create(h.VALUE);m<0&&(`${f}`.length<Math.abs(m)?f=0:f=f<0?-xt(Math.abs(f),m):xt(f,m),m=0);let C=d?"###0":"#,##0";m>0&&(C+=`.${"0".repeat(m)}`);const _=Ha(C,f);return x.create(_)}}class jE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=o.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[o]=a,l=Math.floor(+o.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");if(l>=r.length)return x.create(r);const c=r.substring(0,l);return x.create(c)}}class TE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,ce.create()),o=O(n,s,r,ce.create()),l=a.mapValue((c,f,m)=>{const d=o.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[o]=a,l=Math.floor(+o.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");let c=0,f=0,m="";for(;f<l&&c<r.length;)f+=zr(r,c),m+=r.charAt(c),c++;return x.create(m)}}class UE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=we(e);return b.create(t.length)}}class xE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=we(e),r=Ga(t);return b.create(r)}}class vE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");const t=`${e.getValue()}`.toLocaleLowerCase();return x.create(t)}}class IE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const n=we(e),{isError:s,errorObject:a,variants:o}=B(t,r);if(s)return a;const[l,c]=o,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return x.create("");const d=n.substring(f-1,f-1+m);return x.create(d)}}class FE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const C=o.get(m,d),_=l.get(m,d);return f.isError()?f:C.isError()?C:_.isError()?_:this._handleSingleObject(f,C,_)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){let n=we(e);const{isError:s,errorObject:a,variants:o}=B(t,r);if(s)return a;const[l,c]=o,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return x.create("");n=n.substring(f-1);let d=0,C=0,_="";for(;C<m&&d<n.length;)C+=zr(n,d),_+=n.charAt(d),d++;return x.create(_)}}const Jr=["〇","一","二","三","四","五","六","七","八","九"],us=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],BE=["","十","百","千"],kE=["","拾","佰","仟"],$E=["","万","亿","兆"];class YE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const r=e.convertToNumberObjectValue();if(r.isError())return r;const n=t.convertToNumberObjectValue();if(n.isError())return n;let s=r.getValue();const a=Math.trunc(n.getValue());if(s<0||![1,2,3].includes(a))return g.create(h.NUM);s=Math.round(s);const o=s.toString(),l=o.length;let c="",f=!1;for(let m=0;m<l;m++){const d=Number(o[m]);if(l===1&&d===0){c+=a===2?us[0]:Jr[0];break}if(a===3){c+=Jr[d];continue}const C=l-m-1,_=C%4,E=Math.trunc(C/4);if(l>=17&&E>2){if(c+=a===1?Jr[d]:us[d],E>3)continue}else d===0?f=_!==0:(f&&(c+=a===1?Jr[0]:us[0],f=!1),c+=a===1?Jr[d]+BE[_]:us[d]+kE[_]);_===0&&E>0&&o.slice(Math.max(0,m-3),m+1)!=="0000"&&(c+=$E[E])}return x.create(c)}}class HE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,r){const n=t!=null?t:x.create("."),s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),c=r?O(s,a,r,g.create(h.NA)):void 0,f=o.mapValue((m,d,C)=>{const _=l.get(d,C),E=r?c.get(d,C):void 0;return m.isError()?m:_.isError()?_:E!=null&&E.isError()?E:_.isNull()||E!=null&&E.isNull()?g.create(h.VALUE):m.isNull()?b.create(0):this._handleSingleObject(m,_,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){let n=`${e.getValue()}`;n=n.replace(/\s+/g,"");let s=`${t.getValue()}`;t.isBoolean()&&(s=s.toLocaleUpperCase()),s=s.charAt(0);let a;if(r&&(a=`${r.getValue()}`,r.isBoolean()&&(a=a.toLocaleUpperCase()),a=a.charAt(0),s===a))return g.create(h.VALUE);if(n.trim()==="")return b.create(0);if(!n.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return g.create(h.VALUE);const o=n.split(s);if(o.length>2)return g.create(h.VALUE);let l=o[0].replace(/,/g,"");r&&(l=l.split(a).join(""));let c=0;if(o.length===1){s===","&&(l=l.replace(/\./g,""));let f=0;for(;l.endsWith("%");)l=l.slice(0,-1),f++;f>0?c=+l/100**f:c=+l}else{if(!S.isRealNum(l))return g.create(h.VALUE);let f=o[1],m=0;for(;f.endsWith("%");)f=f.slice(0,-1),m++;const d=`${l}.${f}`;if(!S.isRealNum(d))return g.create(h.VALUE);m>0?c=+d/100**m:c=+d}return Number.isNaN(c)?g.create(h.VALUE):b.create(c)}}class GE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const r=e.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g,n=>n.toLocaleUpperCase());return x.create(r)}}const gl=()=>[{type:4,from:48,to:57}],dl=()=>[{type:7,value:95},{type:4,from:97,to:122},{type:4,from:65,to:90},{type:4,from:48,to:57}],Cl=()=>[{type:7,value:9},{type:7,value:10},{type:7,value:11},{type:7,value:12},{type:7,value:13},{type:7,value:32},{type:7,value:160},{type:7,value:5760},{type:4,from:8192,to:8202},{type:7,value:8232},{type:7,value:8233},{type:7,value:8239},{type:7,value:8287},{type:7,value:12288},{type:7,value:65279}],_l=()=>({type:3,set:dl(),not:!1}),Al=()=>({type:3,set:dl(),not:!0}),El=()=>({type:3,set:gl(),not:!1}),Rl=()=>({type:3,set:gl(),not:!0}),yl=()=>({type:3,set:Cl(),not:!1}),bl=()=>({type:3,set:Cl(),not:!0}),WE=()=>({type:3,set:[{type:7,value:10},{type:7,value:13},{type:7,value:8232},{type:7,value:8233}],not:!0});function QE(i){const u={type:0,stack:[]};let e=u,t=u.stack;const r=[],n=[];let s=0;const a=f=>{throw new SyntaxError(`Invalid regular expression: /${i}/: Nothing to repeat at column ${f-1}`)},o=XE(i);let l=0,c;for(;l<o.length;)switch(c=o[l++],c){case"\\":if(l===o.length)throw new SyntaxError(`Invalid regular expression: /${i}/: \\ at end of pattern`);switch(c=o[l++],c){case"b":t.push({type:2,value:"b"});break;case"B":t.push({type:2,value:"B"});break;case"w":t.push(_l());break;case"W":t.push(Al());break;case"d":t.push(El());break;case"D":t.push(Rl());break;case"s":t.push(yl());break;case"S":t.push(bl());break;default:if(/\d/.test(c)){for(;/\d/.test(o[l])&&l<o.length;)c+=o[l++];const f=Number.parseInt(c,10);t.push({type:6,value:f}),n.push({reference:{type:6,value:f},stack:t,index:t.length-1})}else t.push({type:7,value:c.charCodeAt(0)})}break;case"^":t.push({type:2,value:"^"});break;case"$":t.push({type:2,value:"$"});break;case"[":{const f=o[l]==="^";f&&l++;const m=qE(o.slice(l),i);l+=m[1],t.push({type:3,set:m[0],not:f});break}case".":t.push(WE());break;case"(":{const f={type:1,stack:[],remember:!0};if(o[l]==="?"){const m=o[l+1];if(l+=2,m==="=")f.followedBy=!0;else if(m==="!")f.notFollowedBy=!0;else if(m!==":")throw new SyntaxError(`Invalid regular expression: /${i}/: Invalid group, character '${m}' after '?' at column ${l-1}`);f.remember=!1}else s+=1;t.push(f),r.push(e),e=f,t=f.stack;break}case")":if(r.length===0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unmatched ) at column ${l-1}`);e=r.pop(),t=e.options?e.options[e.options.length-1]:e.stack;break;case"|":{e.options||(e.options=[e.stack],delete e.stack);const f=[];e.options.push(f),t=f;break}case"{":{const f=/^(\d+)(,(\d+)?)?\}/.exec(o.slice(l));if(f){t.length===0&&a(l);const m=Number.parseInt(f[1],10),d=f[2]?f[3]?Number.parseInt(f[3],10):1/0:m;l+=f[0].length,t.push({type:5,min:m,max:d,value:t.pop()})}else t.push({type:7,value:123});break}case"?":t.length===0&&a(l),t.push({type:5,min:0,max:1,value:t.pop()});break;case"+":t.length===0&&a(l),t.push({type:5,min:1,max:1/0,value:t.pop()});break;case"*":t.length===0&&a(l),t.push({type:5,min:0,max:1/0,value:t.pop()});break;default:t.push({type:7,value:c.charCodeAt(0)})}if(r.length>0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unterminated group`);return KE(n,s),u}function qE(i,u){let e;const t=[],r=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(e=r.exec(i))!==null;){let n=null;const[,s,a,o,l,c,f,m,d,C,_]=e;if(s||a||o||l||c||f?n=(()=>{let E={type:3,set:[],not:!1};return s?E=_l():a?E=El():o?E=yl():l?E=Al():c?E=Rl():f&&(E=bl()),E})():m&&_?n={type:4,from:(d||C).charCodeAt(0),to:_.charCodeAt(_.length-1)}:e[16]&&(n={type:7,value:e[16].charCodeAt(0)}),!n)return[t,r.lastIndex];t.push(n)}throw new SyntaxError(`Invalid regular expression: /${u}/: Unterminated character class`)}function XE(i){return i.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(u,e,t,r,n,s,a)=>{if(t)return u;let o;e?o=8:r?o=Number.parseInt(r,16):n?o=Number.parseInt(n,16):s?o="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(s):o={0:0,t:9,n:10,v:11,f:12,r:13}[a];const l=String.fromCharCode(o);return/[[\]{}^$.|?*+()]/.test(l)?`\\${l}`:l})}function KE(i,u){for(const e of i.reverse()){const t=e.reference.value;if(u<t){e.reference.type=7;const r=t.toString();if(e.reference.value=Number.parseInt(r,8),!/^[0-7]+$/.test(r)){let n=0;for(;r[n]!=="8"&&r[n]!=="9"&&n<r.length;)n+=1;if(n===0?(e.reference.value=r.charCodeAt(0),n+=1):e.reference.value=Number.parseInt(r.slice(0,n),8),r.length>n){const s=e.stack.splice(e.index+1);for(const a of r.slice(n))e.stack.push({type:7,value:a.charCodeAt(0)});e.stack.push(...s)}}}}}function Wa(i,u){if(!ZE(i))return{isError:!0,regExp:null};try{const e=new RegExp(i,u?"ug":"u");return zE(e)?{isError:!1,regExp:e}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function ZE(i){return!(/\(\?<=.*?\)/g.test(i)&&!/\[.*?(\?<=.*?)\]/g.test(i)||/\(\?<!.*?\)/g.test(i)&&!/\[.*?(\?<!.*?)\]/g.test(i))}function zE(i,u){let t;Object.prototype.toString.call(i)==="[object RegExp]"?t=i.source:i&&typeof i!="string"&&(t=`${i}`);let r;try{r=QE(t)}catch{return!1}let n=0;const s=(a,o)=>{let l=o;if(a.type===5){if(o>0&&(a.min===0||a.max===1/0)||JE(a)&&(n++,n>25))return!1;l=o+1}if(a.options){for(const f of a.options)if(!s({stack:f},l))return!1}const c=a.stack||a.value&&a.value.stack;if(!c)return!0;for(const f of c)if(!s(f,l))return!1;return!0};return s(r,0)}function JE(i){const u=i.stack||i.value&&i.value.stack;return u?Nl(u):!1}function Nl(i){for(const u of i){if(u.options&&u.options.length>0)return!0;const e=u.stack||u.value&&u.value.stack;if(e&&Nl(e))return!0}return!1}class eR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=qr(e,t);if(r)return n;const[a,o]=s;let l=a.getValue();a.isNull()&&(l=""),a.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;let c=o.getValue();o.isNull()&&(c=""),o.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;const{isError:f,regExp:m}=Wa(c,!1);if(f)return g.create(h.REF);const d=l.match(m);if(d===null)return g.create(h.NA);if(d.length>1){const C=d.slice(1).map(_=>x.create(_));return C.length>1?Z.create({calculateValueList:[C],rowCount:1,columnCount:C.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):C[0]}return x.create(d[0])}}class tR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=qr(e,t);if(r)return n;const[a,o]=s;let l=a.getValue();a.isNull()&&(l=""),a.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;let c=o.getValue();o.isNull()&&(c=""),o.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;const{isError:f,regExp:m}=Wa(c,!1);return f?g.create(h.REF):l.match(m)===null?F.create(!1):F.create(!0)}}class rR extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=qr(e,t,r);if(n)return s;const[o,l,c]=a;let f=o.getValue();o.isNull()&&(f=""),o.isBoolean()&&(f=f?"TRUE":"FALSE"),f=`${f}`;let m=l.getValue();l.isNull()&&(m=""),l.isBoolean()&&(m=m?"TRUE":"FALSE"),m=`${m}`;let d=c.getValue();c.isNull()&&(d=""),c.isBoolean()&&(d=d?"TRUE":"FALSE"),d=`${d}`;const{isError:C,regExp:_}=Wa(m,!0);if(C)return g.create(h.REF);const E=f.replace(_,d);return x.create(E)}}class nR extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(t,r);if(s)return a;const[l,c]=o,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);const d=we(e),C=we(n),_=d.substring(0,f-1)+C+d.substring(f-1+m);return x.create(_)}}class sR extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_),y=f.get(C,_);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=B(t,r);if(s)return a;const[l,c]=o,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);let d=we(e);const C=we(n);let _=d.substring(0,f-1);d=d.substring(f-1);let E=0,R=0;for(;R<m&&E<d.length;)R+=zr(d,E),E++;return _+=C+d.substring(E),x.create(_)}}class aR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((l,c,f)=>{let m=a.get(c,f);if(l.isError())return l;let d=l.getValue();if(l.isNull()&&(d=""),l.isBoolean()&&(d=d?"TRUE":"FALSE"),d+="",m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const C=32767,_=Math.floor(+m.getValue());if(_<0||_>C/d.length)return g.create(h.VALUE);const E=d.repeat(_);return x.create(E)});return r===1&&n===1?o.get(0,0):o}}class iR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=o.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[o]=a,l=Math.floor(+o.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");if(l>=r.length)return x.create(r);const c=r.substring(r.length-l);return x.create(c)}}class oR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=o.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[o]=a,l=Math.floor(+o.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");let c=r.length-1,f=0,m="";for(;f<l&&c>=0;)f+=zr(r,c,"rtl"),m=r.charAt(c)+m,c--;return x.create(m)}}class uR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,C)=>{const _=l.get(d,C),E=c.get(d,C);return m.isError()?m:_.isError()?_:E.isError()?E:this._handleSingleObject(m,_,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e).toLocaleUpperCase(),s=we(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:l}=B(r);if(a)return o;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):b.create(m+1)}}class lR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,C)=>{const _=l.get(d,C),E=c.get(d,C);return m.isError()?m:_.isError()?_:E.isError()?E:this._handleSingleObject(m,_,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e).toLocaleUpperCase(),s=we(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:l}=B(r);if(a)return o;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Ga(s.substring(0,m))+1;return b.create(d)}}class cR extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=n?O(s,a,n,g.create(h.NA)):void 0,m=o.mapValue((d,C,_)=>{const E=l.get(C,_),R=c.get(C,_);let y=n?f.get(C,_):void 0;return d.isError()?d:E.isError()?E:R.isError()?R:y!=null&&y.isError()?y:y!=null&&y.isNull()||y!=null&&y.isBoolean()?g.create(h.VALUE):(y!=null&&y.isString()&&(y=y.convertToNumberObjectValue()),y!=null&&y.isError()?y:this._handleSingleObject(d,E,R,y))});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const s=this._getObjectString(e),a=this._getObjectString(t),o=this._getObjectString(r),l=n?Math.floor(+n.getValue()):void 0;if(n&&l<=0)return g.create(h.VALUE);if(a==="")return x.create(s);let c="",f=0;for(let m=0;m<s.length;m++){const d=s.substr(m,a.length);if(d===a||d.length===a.length&&d.trim()===a.trim()){if(f++,f===l){c=s.substr(0,m)+o+s.substr(m+a.length);break}l===void 0&&(c+=o),m+=a.length-1}else l===void 0&&(c+=s[m])}return l&&f<l&&(c=s),x.create(c)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}}class fR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){let t=e;return e.isReferenceObject()&&(t=e.toArrayValueObject().get(0,0)),t.isArray()?t.mapValue(r=>this._handleSingleObject(r)):this._handleSingleObject(t)}_handleSingleObject(e){return e.isError()?e:e.isNull()||e.isBoolean()||e.isNumber()?x.create(""):e}}class mR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),o=s.map((l,c,f)=>{if(l.isError())return l;let m=a.get(c,f)||x.create(" ");if(m.isError())return m;if(m.isBoolean())return g.create(h.VALUE);if(l.isBoolean())return l;let d=l.getValue();if(l.isNull()&&(d=0),l.isString())if(S.isRealNum(d))d=Number(d);else{const E=S.getNumfmtParseValueFilter(`${d}`);E&&E.v!=null&&typeof E.v=="number"&&(d=E.v)}m.isNull()&&(m=x.create(" "));const C=`${m.getValue()}`,_=Ha(C,d);return x.create(C===" "?_.trimEnd():_)});return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}}class hR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=!1,l=r!=null?r:b.create(1);l.isNull()&&(o=!0,l=b.create(1));const c=!n,f=n!=null?n:b.create(0),m=s!=null?s:b.create(0),d=a!=null?a:g.create(h.NA),C=Math.max(e.isArray()?e.getRowCount():1,l.isArray()?l.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),_=Math.max(e.isArray()?e.getColumnCount():1,l.isArray()?l.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(C,_,e,g.create(h.NA)),R=O(C,_,l,g.create(h.NA)),y=O(C,_,f,g.create(h.NA)),N=O(C,_,m,g.create(h.NA)),p=O(C,_,d,g.create(h.NA)),M=this._getResultArray(E,t,R,y,N,p,o,c);return C===1&&_===1?M.get(0,0):M}_getResultArray(e,t,r,n,s,a,o,l){return e.map((f,m,d)=>{const C=r.get(m,d),_=n.get(m,d),E=s.get(m,d),R=a.get(m,d),y=this._checkVariantsError(f,C,_,E);if(y.isError())return y;const N=this._getStringValue(f),p=this._getDelimiterValue(t);if(p instanceof g)return p;const M=this._getVariantsNumberFloorValue(C,_,E);if(M instanceof g)return M;const[D,L,P]=M;return D===0||L<0||L>1||P<0||P>1?g.create(h.VALUE):p.includes("")?D>0?x.create(N):x.create(""):!o&&Math.abs(D)>N.length?g.create(h.VALUE):p.every(j=>j.length>N.length)?g.create(h.NA):this._getResult(N,p,D,L,P,R,l)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return F.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,o){let l=n?e.toLocaleLowerCase():e;const c=n?t.map(_=>_.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let _=0;_<Math.abs(r);_++)if(r<0){const E=c.map(R=>({index:l.lastIndexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>y.index-R.index)[0];if(!E)break;f=E.index,l=l.substr(0,E.index),d=E.length,m++}else{const E=c.map(R=>({index:l.indexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>R.index-y.index)[0];if(!E)break;f+=E.index+d,l=l.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&o)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?x.create(""):x.create(e):a;const C=e.substr(f+d);return x.create(C)}}class gR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=!1,l=r!=null?r:b.create(1);l.isNull()&&(o=!0,l=b.create(1));const c=!n,f=n!=null?n:b.create(0),m=s!=null?s:b.create(0),d=a!=null?a:g.create(h.NA),C=Math.max(e.isArray()?e.getRowCount():1,l.isArray()?l.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),_=Math.max(e.isArray()?e.getColumnCount():1,l.isArray()?l.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(C,_,e,g.create(h.NA)),R=O(C,_,l,g.create(h.NA)),y=O(C,_,f,g.create(h.NA)),N=O(C,_,m,g.create(h.NA)),p=O(C,_,d,g.create(h.NA)),M=this._getResultArray(E,t,R,y,N,p,o,c);return C===1&&_===1?M.get(0,0):M}_getResultArray(e,t,r,n,s,a,o,l){return e.map((f,m,d)=>{const C=r.get(m,d),_=n.get(m,d),E=s.get(m,d),R=a.get(m,d),y=this._checkVariantsError(f,C,_,E);if(y.isError())return y;const N=this._getStringValue(f),p=this._getDelimiterValue(t);if(p instanceof g)return p;const M=this._getVariantsNumberFloorValue(C,_,E);if(M instanceof g)return M;const[D,L,P]=M;return D===0||L<0||L>1||P<0||P>1?g.create(h.VALUE):p.includes("")?D>0?x.create(""):x.create(N):!o&&Math.abs(D)>N.length?g.create(h.VALUE):p.every(j=>j.length>N.length)?g.create(h.NA):this._getResult(N,p,D,L,P,R,l)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return F.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,o){let l=n?e.toLocaleLowerCase():e;const c=n?t.map(_=>_.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let _=0;_<Math.abs(r);_++)if(r<0){const E=c.map(R=>({index:l.lastIndexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>y.index-R.index)[0];if(!E)break;f=E.index,l=l.substr(0,E.index),m++}else{const E=c.map(R=>({index:l.indexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>R.index-y.index)[0];if(!E)break;f+=E.index+d,l=l.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&o)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?x.create(e):x.create(""):a;const C=e.substr(0,f);return x.create(C)}}class dR extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(e,t,...r){const n=this._getDelimiterValues(e),s=this._getTextValues(r);if(t.isArray()){const o=t.mapValue(l=>this._handleSingleObject(n,l,s));return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}const a=t;if(a.isString()){const o=`${a.getValue()}`.toLocaleUpperCase();if(o==="TRUE")return this._handleSingleObject(n,F.create(!0),s);if(o==="FALSE")return this._handleSingleObject(n,F.create(!1),s)}return this._handleSingleObject(n,t,s)}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;if(r instanceof g)return r;const[o]=a,l=+o.getValue();let c=r;l&&(c=r.filter(m=>m!==null&&m!==""));let f="";for(let m=0;m<c.length;m++)c[m]!==null&&(f+=c[m]),m<c.length-1&&(f+=e[m%e.length]);return x.create(f)}_getDelimiterValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;let l=`${o.getValue()}`;o.isNull()&&(l=""),o.isBoolean()&&(l=l.toLocaleUpperCase()),t.push(l)}return t}_getTextValues(e){const t=[];for(const r of e){const n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;for(let a=0;a<n;a++)for(let o=0;o<s;o++){const l=r.isArray()?r.get(a,o):r;if(l.isError())return l;if(l.isNull()){t.push(null);continue}let c=`${l.getValue()}`;l.isBoolean()&&(c=c.toLocaleUpperCase()),t.push(c)}}return t}}class CR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=r!=null?r:x.create("\\s");const l=n!=null?n:b.create(0),c=s!=null?s:b.create(0),f=a!=null?a:x.create(h.NA),{_variant:m,values:d}=this._getStringValues(t),{_variant:C,values:_}=this._getStringValues(o,!1);o=C;const E=Math.max(e.isArray()?e.getRowCount():1,l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1),R=Math.max(e.isArray()?e.getColumnCount():1,l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1),y=O(E,R,e,g.create(h.NA)),N=O(E,R,l,g.create(h.NA)),p=O(E,R,c,g.create(h.NA)),M=this._getResultArray(y,m,o,N,p,f,d,_);return E===1&&R===1?M.get(0,0):M.map(D=>D.get(0,0))}_getStringValues(e,t=!0){let r=e;const n=[];if(r.isArray())r.iterator(s=>{if(s!=null&&s.isError())return r=s,!1;if(s!=null&&s.isNull()&&t)return r=g.create(h.VALUE),!1;const a=this._getRegExpStringValue(s);if(a==="")return r=g.create(h.VALUE),!1;n.push(a)});else{r.isNull()&&t&&(r=g.create(h.VALUE));const s=this._getRegExpStringValue(r);s===""&&(r=g.create(h.VALUE)),n.push(s)}return{_variant:r,values:n}}_getResultArray(e,t,r,n,s,a,o,l){return e.map((f,m,d)=>{let C=n.get(m,d),_=s.get(m,d);const E=this._checkVariantsError(f,t,r,C,_);if(E.isError())return E;if(f.isNull())return g.create(h.VALUE);let R=a;if(R.isArray()){const D=R.getRowCount(),L=R.getColumnCount();if(D>1||L>1)return g.create(h.VALUE);R=R.get(0,0)}let y=`${f.getValue()}`;if(f.isBoolean()&&(y=y.toLocaleUpperCase()),C.isString()&&(C=C.convertToNumberObjectValue(),C.isError()))return C;const N=Math.floor(+C.getValue());if(_.isString()&&(_=_.convertToNumberObjectValue(),_.isError()))return _;const p=Math.floor(+_.getValue());if(p<0||p>1)return g.create(h.VALUE);let M=`${R.getValue()}`;return R.isBoolean()&&(M=M.toLocaleUpperCase()),this._getResult(y,o,l,N,p,M)})}_getResult(e,t,r,n,s,a){const o=new RegExp(r.join("|"),`g${s?"i":""}`),l=new RegExp(t.join("|"),`g${s?"i":""}`),c=e.split(o);let f=1,m=c.map(d=>{let C=d.split(l);return n&&(C=C.filter(_=>_!=="")),f=Math.max(f,C.length),C});return m=m.map(d=>{let C=d;return C.length<f&&(C=C.concat(new Array(f-C.length).fill(a))),C}),Z.createByArray(m)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return F.create(!0)}_getRegExpStringValue(e){let t=e.getValue();return e.isNull()&&(t="\\s"),e.isBoolean()&&(t=t?"TRUE":"FALSE"),t+="",this._escapeRegExp(t)}_escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}class _R extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g," "),x.create(t)}}const AR=Object.values(S.DataStreamTreeTokenType).filter(i=>[S.DataStreamTreeTokenType.TABLE_START,S.DataStreamTreeTokenType.TABLE_ROW_START,S.DataStreamTreeTokenType.TABLE_CELL_START,S.DataStreamTreeTokenType.TABLE_CELL_END,S.DataStreamTreeTokenType.TABLE_ROW_END,S.DataStreamTreeTokenType.TABLE_END,S.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class ER extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<1||a>1114111)return g.create(h.VALUE);if(a===1114111||a===1114110)return g.create(h.NA);let o=String.fromCharCode(a);return AR.some(l=>l===o)&&(o=""),x.create(o)}}class RR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());const r=t.charCodeAt(0);return b.create(r)}}class yR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");const t=`${e.getValue()}`.toLocaleUpperCase();return x.create(t)}}class bR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const r=+t.getValue();return b.create(r)}}class NR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=o.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,o=Math.floor(+a.getValue());if(o<0||o>1)return g.create(h.VALUE);if(e.isNull())return x.create("");if(e.isBoolean())return e;if(e.isNumber())return b.create(e.getValue());const l=o?`"${e.getValue()}"`:`${e.getValue()}`;return x.create(l)}}const pl=[[AE,z.ASC],[_E,z.ARRAYTOTEXT],[EE,z.BAHTTEXT],[yE,z.CHAR],[bE,z.CLEAN],[NE,z.CODE],[pE,z.CONCAT],[VE,z.CONCATENATE],[OE,z.DBCS],[SE,z.DOLLAR],[ME,z.EXACT],[DE,z.FIND],[LE,z.FINDB],[PE,z.FIXED],[jE,z.LEFT],[TE,z.LEFTB],[UE,z.LEN],[xE,z.LENB],[vE,z.LOWER],[IE,z.MID],[FE,z.MIDB],[YE,z.NUMBERSTRING],[HE,z.NUMBERVALUE],[eR,z.REGEXEXTRACT],[tR,z.REGEXMATCH],[rR,z.REGEXREPLACE],[GE,z.PROPER],[nR,z.REPLACE],[sR,z.REPLACEB],[aR,z.REPT],[iR,z.RIGHT],[oR,z.RIGHTB],[uR,z.SEARCH],[lR,z.SEARCHB],[cR,z.SUBSTITUTE],[fR,z.T],[mR,z.TEXT],[hR,z.TEXTAFTER],[gR,z.TEXTBEFORE],[dR,z.TEXTJOIN],[CR,z.TEXTSPLIT],[_R,z.TRIM],[ER,z.UNICHAR],[RR,z.UNICODE],[yR,z.UPPER],[bR,z.VALUE],[NR,z.VALUETOTEXT]],Vl=[];var Ol=(i=>i)(Ol||{});function Sl(i){return i.map(u=>u.map(e=>typeof e=="number"?vn(e):e))}function pR(i,u=!1){if(i.isReferenceObject()){const e=i.toArrayValueObject().toValue();return u?Sl(e):e}else if(i.isArray()){const e=i.toValue();return u?Sl(e):e}else if(i.isNumber()){const e=i.getValue();return u?vn(e):e}return i.getValue()}class VR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=we(e),r=encodeURIComponent(t).replace(/[!~'()*]/g,n=>`%${n.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return x.create(r)}}const Ml=[[VR,Wr.ENCODEURL]],Dl={name:"@univerjs/engine-formula",version:"0.17.0"};class Qa extends S.Disposable{constructor(){super(...arguments);A(this,"_allSubjects",[]);A(this,"_computingStatus$",new Oe.BehaviorSubject(!0));A(this,"computingStatus$",this._computingStatus$.pipe(Oe.distinctUntilChanged()));A(this,"_computingSubscription")}get computingStatus(){return this._computingStatus$.getValue()}dispose(){var e;super.dispose(),(e=this._computingSubscription)==null||e.unsubscribe(),this._computingStatus$.next(!0),this._computingStatus$.complete(),this._allSubjects.forEach(t=>{t.complete()})}pushComputingStatusSubject(e){return this._allSubjects.push(e),this._updateComputingObservable(),{dispose:()=>{const t=this._allSubjects.indexOf(e);t!==-1&&this._allSubjects.splice(t,1),this._updateComputingObservable()}}}_updateComputingObservable(){var e;if((e=this._computingSubscription)==null||e.unsubscribe(),this._allSubjects.length===0){this._computingStatus$.next(!0);return}this._computingSubscription=Oe.combineLatest(this._allSubjects).pipe(Oe.map(t=>t.every(r=>r))).subscribe(t=>this._computingStatus$.next(t))}}var OR=Object.getOwnPropertyDescriptor,SR=(i,u,e,t)=>{for(var r=t>1?void 0:t?OR(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},wl=(i,u)=>(e,t)=>u(e,t,i);let qa=class extends S.Disposable{constructor(u,e){super();A(this,"_computingCompleted$",new Oe.Observable(u=>{this._commandService.onCommandExecuted(e=>{if(e.id!==vr.id)return;const t=e.params;if(t.stageInfo)return u.next(t.stageInfo.stage===qe.IDLE||t.stageInfo.stage===qe.CALCULATION_COMPLETED)})}).pipe(Oe.distinctUntilChanged(),Oe.shareReplay()));this._commandService=u,this._globalComputingSrv=e;const t=new S.DisposableCollection,r=new Oe.BehaviorSubject(!0);t.add(this._globalComputingSrv.pushComputingStatusSubject(r)),t.add(this._computingCompleted$.subscribe(n=>r.next(n))),t.add(()=>r.complete()),this.disposeWithMe(t)}};qa=SR([wl(0,S.ICommandService),wl(1,S.Inject(Qa))],qa);var MR=Object.getOwnPropertyDescriptor,DR=(i,u,e,t)=>{for(var r=t>1?void 0:t?MR(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ls=(i,u)=>(e,t)=>u(e,t,i);let cs=class extends S.Disposable{constructor(i,u,e,t){super(),this._commandService=i,this._functionService=u,this._configService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[vs,gn,Is,Os,xi,Ss,Ms,js,Ts,Ds,vr,bn,Us,xs,ws,Nn,Ls,Ps,Vs,Ui,Rn,yn,Ir,Fr,Ii,Fi,Bi,Si].forEach(i=>{var u;this._commandService.registerCommand(i),(u=this._dataSyncPrimaryController)==null||u.registerSyncingMutations(i)})}_registerFunctions(){var e;const i=this._configService.getConfig(pn),u=[...Io,...ku,...$u,...Gu,...Wu,...Qu,...el,...tl,...rl,...nl,...il,...ol,...cl,...pl,...Vl,...Ml].concat((e=i==null?void 0:i.function)!=null?e:[]).map(t=>{const r=t[0],n=t[1];return new r(n)});this._functionService.registerExecutors(...u)}};cs=DR([ls(0,S.ICommandService),ls(1,St),ls(2,S.IConfigService),ls(3,S.Optional(Ul.DataSyncPrimaryController))],cs);var wR=Object.getOwnPropertyDescriptor,LR=(i,u,e,t)=>{for(var r=t>1?void 0:t?wR(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},fs=(i,u)=>(e,t)=>u(e,t,i);let ms=class extends S.Disposable{constructor(i,u,e){super(),this._commandService=i,this._dependencyManagerService=u,this._featureCalculationManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(i=>{const{unitId:u,subUnitId:e,featureIds:t}=i;this._dependencyManagerService.removeFeatureFormulaDependency(u,e,t)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===yn.id){const u=i.params;if(u==null)return;const{featureIds:e,unitId:t,subUnitId:r}=u;this._dependencyManagerService.removeFeatureFormulaDependency(t,r,e)}else if(i.id===Rn.id){const u=i.params;if(u==null)return;const{featureId:e,calculationParam:t}=u,{unitId:r,subUnitId:n}=t;this._dependencyManagerService.removeFeatureFormulaDependency(r,n,[e])}else if(i.id===Fr.id){const u=i.params;if(u==null)return;this._dependencyManagerService.removeOtherFormulaDependency(u.unitId,u.subUnitId,u.formulaIdList)}else if(i.id===Ir.id){const u=i.params;if(u==null)return;const e=u.formulaMap,t=[];Object.keys(e).forEach(r=>{t.push(r)}),this._dependencyManagerService.removeOtherFormulaDependency(u.unitId,u.subUnitId,t)}else if(i.id===vs.id){const u=i.params.formulaData;Object.keys(u).forEach(e=>{const t=u[e];if(t!==void 0){if(t===null){this._dependencyManagerService.clearFormulaDependency(e);return}Object.keys(t).forEach(r=>{const n=t[r];if(n!==void 0){if(n===null)return this._dependencyManagerService.clearFormulaDependency(e,r),!0;new S.ObjectMatrix(n).forValue((s,a)=>{this._dependencyManagerService.removeFormulaDependency(e,r,s,a)})}})}})}else i.id===Vs.id&&this._handleSetDefinedName(i)}))}_handleSetDefinedName(i){const u=i.params;if(u==null)return;const{unitId:e,name:t}=u;this._dependencyManagerService.removeFormulaDependencyByDefinedName(e,t)}};ms=LR([fs(0,S.ICommandService),fs(1,br),fs(1,Qr),fs(2,br)],ms);var PR=Object.getOwnPropertyDescriptor,jR=(i,u,e,t)=>{for(var r=t>1?void 0:t?PR(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ll=(i,u)=>(e,t)=>u(e,t,i);let hs=class extends S.Disposable{constructor(i,u){super(),this._commandService=i,this._featureCalculationManagerService=u,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===Rn.id){const u=i.params;if(u==null)return;const{featureId:e,calculationParam:t}=u,{unitId:r,subUnitId:n}=t;this._featureCalculationManagerService.register(r,n,e,t)}else if(i.id===yn.id){const u=i.params;if(u==null)return;const{featureIds:e,unitId:t,subUnitId:r}=u;this._featureCalculationManagerService.remove(t,r,e)}}))}};hs=jR([Ll(0,S.ICommandService),Ll(1,br)],hs);var TR=Object.getOwnPropertyDescriptor,UR=(i,u,e,t)=>{for(var r=t>1?void 0:t?TR(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Xa=(i,u)=>(e,t)=>u(e,t,i);let gs=class extends S.Disposable{constructor(i,u,e){super(),this._commandService=i,this._otherFormulaManagerService=u,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===Ir.id){const u=i.params;if(u==null)return;const e={[u.unitId]:{[u.subUnitId]:u.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(i.id===Fr.id){const u=i.params;if(u==null)return;const e={};u.formulaIdList.forEach(r=>e[r]=!0);const t={[u.unitId]:{[u.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};gs=UR([Xa(0,S.ICommandService),Xa(1,Hn),Xa(2,Qr)],gs);class Pl extends S.Disposable{constructor(){super(...arguments);A(this,"_dirtyConversionMap",new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}}const Ka=S.createIdentifier("univer.formula.active-dirty-manager.service");var ir=(i=>(i[i.NOT_REGISTER=1]="NOT_REGISTER",i[i.SUCCESS=2]="SUCCESS",i[i.WAIT=3]="WAIT",i[i.ERROR=4]="ERROR",i))(ir||{}),xR=Object.getOwnPropertyDescriptor,vR=(i,u,e,t)=>{for(var r=t>1?void 0:t?xR(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Za=(i,u)=>(e,t)=>u(e,t,i),jl=(i=>(i.DEFAULT="default",i.DATA_VALIDATION="dv",i.DATA_VALIDATION_CUSTOM="dv-custom",i.CONDITIONAL_FORMATTING="cf",i.DOC="doc",i.SLIDE="slide",i))(jl||{});w.RegisterOtherFormulaService=class extends S.Disposable{constructor(e,t,r){super();A(this,"_formulaCacheMap",new Map);A(this,"_formulaChangeWithRange$",new Oe.Subject);A(this,"formulaChangeWithRange$",this._formulaChangeWithRange$.asObservable());A(this,"_formulaResult$",new Oe.Subject);A(this,"formulaResult$",this._formulaResult$.asObservable());A(this,"calculateStarted$",new Oe.BehaviorSubject(!1));this._commandService=e,this._activeDirtyManagerService=t,this._lifecycleService=r,this._initFormulaRegister(),this._initFormulaCalculationResultChange()}dispose(){super.dispose(),this._formulaChangeWithRange$.complete(),this._formulaResult$.complete(),this.calculateStarted$.complete()}_ensureCacheMap(e,t){let r=this._formulaCacheMap.get(e);r||(r=new Map,this._formulaCacheMap.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}_createFormulaId(e,t,r,n){return`formula.${e}_${t}_${r}_${n}_${S.generateRandomId(8)}`}_initFormulaRegister(){this._activeDirtyManagerService.register(Tr.id,{commandId:Tr.id,getDirtyData(t){return{dirtyUnitOtherFormulaMap:t.params}}});const e=t=>{const{unitId:r,subUnitId:n,formulaText:s,formulaId:a,ranges:o}=t;if(!this._ensureCacheMap(r,n).has(a))return;const c={unitId:r,subUnitId:n,formulaMap:{[a]:{f:s,ranges:o}}};this._commandService.executeCommand(Ir.id,c,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(Tr.id,{[r]:{[n]:{[a]:!0}}},{onlyLocal:!0})})};this.disposeWithMe(this._formulaChangeWithRange$.pipe(Oe.bufferWhen(()=>this.calculateStarted$.pipe(Oe.filter(t=>t)))).subscribe(t=>t.forEach(e))),this.disposeWithMe(this._formulaChangeWithRange$.pipe(Oe.filter(()=>this.calculateStarted$.getValue())).subscribe(e))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===bn.id){const t=e.params,{unitOtherData:r}=t,n={};for(const s in r){const a=r[s],o={};n[s]=o;for(const l in a){const c=this._ensureCacheMap(s,l),f=a[l],m=[];o[l]=m;for(const d in f){const C=f[d];if(c.has(d)){const _=c.get(d);if(!_)continue;_.result||(_.result={});const E=new S.ObjectMatrix(C),R=new S.ObjectMatrix(_.result);E.forValue((y,N,p)=>{R.setValue(y,N,p)}),_.status=ir.SUCCESS,_.callbacks.forEach(y=>{y(C)}),_.callbacks.clear(),m.push(_)}}}}this._formulaResult$.next(n)}}))}registerFormulaWithRange(e,t,r,n=[{startRow:0,endRow:0,startColumn:0,endColumn:0}],s,a="default",o=""){const l=this._createFormulaId(e,t,a,o);return this._ensureCacheMap(e,t).set(l,{result:void 0,status:ir.WAIT,formulaId:l,callbacks:new Set,extra:s}),this._formulaChangeWithRange$.next({unitId:e,subUnitId:t,formulaText:r,formulaId:l,ranges:n}),l}deleteFormula(e,t,r){const n={unitId:e,subUnitId:t,formulaIdList:r};this._commandService.executeCommand(Fr.id,n,{onlyLocal:!0});const s=this._ensureCacheMap(e,t);r.forEach(a=>s.delete(a))}getFormulaValue(e,t,r){const n=this._ensureCacheMap(e,t),s=n.get(r);return s?s.status===ir.SUCCESS||s.status===ir.ERROR?Promise.resolve(s):new Promise(a=>{s.callbacks.add(()=>{a(n.get(r))})}):Promise.resolve(null)}getFormulaValueSync(e,t,r){return this._ensureCacheMap(e,t).get(r)}markFormulaDirty(e,t,r){const n=this.getFormulaValueSync(e,t,r);n&&(n.status=ir.WAIT,this._commandService.executeCommand(Tr.id,{[e]:{[t]:{[r]:!0}}},{onlyLocal:!0}))}},w.RegisterOtherFormulaService=vR([Za(0,S.ICommandService),Za(1,Ka),Za(2,S.Inject(S.LifecycleService))],w.RegisterOtherFormulaService);var IR=Object.getOwnPropertyDescriptor,FR=(i,u,e,t)=>{for(var r=t>1?void 0:t?IR(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Tl=(i,u)=>(e,t)=>u(e,t,i);w.UniverFormulaEnginePlugin=(en=class extends S.Plugin{constructor(u=$i,e,t){super(),this._config=u,this._injector=e,this._configService=t;const{...r}=S.merge({},$i,this._config);this._configService.setConfig(pn,r)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var u;S.touchDependencies(this._injector,[[cs]]),(u=this._config)!=null&&u.notExecuteFormula||S.touchDependencies(this._injector,[[gs],[hs],[ms],[w.CalculateController]])}onRendered(){var u;(u=this._config)!=null&&u.notExecuteFormula||S.touchDependencies(this._injector,[[Qn],[Wn]])}_initialize(){const u=!this._config.notExecuteFormula,e=[[St,{useClass:Eo}],[Yt,{useClass:w.DefinedNamesService}],[Ka,{useClass:Pl}],[w.RegisterOtherFormulaService],[fa,{useClass:w.HyperlinkEngineFormulaService}],[Ws,{useClass:Gi}],[gr,{useClass:vi}],[Qa],[w.FormulaDataModel],[cs],[qa]];u&&e.push([Hn,{useClass:Po}],[it,{useClass:w.FormulaRuntimeService}],[Vt,{useClass:w.FormulaCurrentConfigService}],[br,{useClass:Lo}],[w.CalculateController],[gs],[ms],[hs],[w.Interpreter],[w.AstTreeBuilder],[w.Lexer],[ha],[w.FunctionNodeFactory],[w.LambdaNodeFactory],[_a],[w.OperatorNodeFactory],[w.PrefixNodeFactory],[w.ReferenceNodeFactory],[w.SuffixNodeFactory],[w.UnionNodeFactory],[Ea]),e.forEach(t=>this._injector.add(t))}_initializeWithOverride(){var u;this._injector.add([dr,{useClass:dr}]),(u=this._config)!=null&&u.notExecuteFormula||[[Qn,{useClass:w.CalculateFormulaService}],[Qr,{useClass:wo}],[Wn,{useClass:w.FormulaDependencyGenerator}]].forEach(t=>this._injector.add(t))}},A(en,"pluginName","UNIVER_ENGINE_FORMULA_PLUGIN"),A(en,"packageName",Dl.name),A(en,"version",Dl.version),en),w.UniverFormulaEnginePlugin=FR([Tl(1,S.Inject(S.Injector)),Tl(2,S.IConfigService)],w.UniverFormulaEnginePlugin),w.ActiveDirtyManagerService=Pl,w.ArrayValueObject=Z,w.AstRootNodeFactory=ha,w.AsyncArrayObject=go,w.AsyncCustomFunction=Kh,w.AsyncObject=ho,w.BaseFunction=V,w.BaseReferenceObject=Qt,w.BaseValueObject=bt,w.BooleanValue=Mt,w.BooleanValueObject=F,w.CustomFunction=Hu,w.DEFAULT_INTERVAL_COUNT=To,w.DEFAULT_TOKEN_LAMBDA_FUNCTION_NAME=mr,w.DEFAULT_TOKEN_LET_FUNCTION_NAME=Oi,w.DEFAULT_TOKEN_TYPE_LAMBDA_PARAMETER=$t,w.DEFAULT_TOKEN_TYPE_PARAMETER=nt,w.DEFAULT_TOKEN_TYPE_ROOT=Nt,w.DependencyManagerBaseService=Do,w.DependencyManagerService=wo,w.ENGINE_FORMULA_CYCLE_REFERENCE_COUNT=jc,w.ENGINE_FORMULA_PLUGIN_CONFIG_KEY=pn,w.ENGINE_FORMULA_RETURN_DEPENDENCY_TREE=Tc,w.ERROR_TYPE_SET=wt,w.ErrorType=h,w.ErrorValueObject=g,w.FUNCTION_NAMES_ARRAY=Xn,w.FUNCTION_NAMES_COMPATIBILITY=he,w.FUNCTION_NAMES_CUBE=Yu,w.FUNCTION_NAMES_DATABASE=He,w.FUNCTION_NAMES_DATE=Ce,w.FUNCTION_NAMES_ENGINEERING=X,w.FUNCTION_NAMES_FINANCIAL=J,w.FUNCTION_NAMES_INFORMATION=be,w.FUNCTION_NAMES_LOGICAL=_e,w.FUNCTION_NAMES_LOOKUP=re,w.FUNCTION_NAMES_MATH=$,w.FUNCTION_NAMES_STATISTICAL=T,w.FUNCTION_NAMES_TEXT=z,w.FUNCTION_NAMES_UNIVER=Ol,w.FUNCTION_NAMES_WEB=Wr,w.FeatureCalculationManagerService=Lo,w.FormulaDependencyTree=Gn,w.FormulaDependencyTreeModel=ya,w.FormulaDependencyTreeType=Xt,w.FormulaDependencyTreeVirtual=Ra,w.FormulaExecuteStageType=qe,w.FormulaExecutedStateType=Rr,w.FormulaResultStatus=ir,w.FunctionService=Eo,w.FunctionType=si,w.GlobalComputingStatusService=Qa,w.IActiveDirtyManagerService=Ka,w.ICalculateFormulaService=Qn,w.IDefinedNamesService=Yt,w.IDependencyManagerService=Qr,w.IFeatureCalculationManagerService=br,w.IFormulaCurrentConfigService=Vt,w.IFormulaDependencyGenerator=Wn,w.IFormulaRuntimeService=it,w.IFunctionService=St,w.IHyperlinkEngineFormulaService=fa,w.IOtherFormulaManagerService=Hn,w.ISheetRowFilteredService=Ws,w.ISuperTableService=gr,w.LambdaParameterNodeFactory=_a,w.LambdaValueObjectObject=$n,w.LexerNode=oe,w.LexerTreeBuilder=dr,w.NEW_EXCEL_FUNCTIONS=X_,w.NullValueObject=ce,w.NumberValueObject=b,w.OPERATOR_TOKEN_SET=ct,w.OtherFormulaBizType=jl,w.OtherFormulaManagerService=Po,w.OtherFormulaMarkDirty=Tr,w.RangeReferenceObject=$r,w.RegisterFunctionMutation=Si,w.RemoveDefinedNameMutation=Ui,w.RemoveFeatureCalculationMutation=yn,w.RemoveOtherFormulaMutation=Fr,w.RemoveSuperTableMutation=Fi,w.SUFFIX_TOKEN_SET=nn,w.SetArrayFormulaDataMutation=gn,w.SetCellFormulaDependencyCalculationMutation=Ls,w.SetCellFormulaDependencyCalculationResultMutation=Ps,w.SetDefinedNameMutation=Vs,w.SetDefinedNameMutationFactory=Pc,w.SetFeatureCalculationMutation=Rn,w.SetFormulaCalculationNotificationMutation=vr,w.SetFormulaCalculationResultMutation=bn,w.SetFormulaCalculationStartMutation=Os,w.SetFormulaCalculationStopMutation=Ds,w.SetFormulaDataMutation=vs,w.SetFormulaDependencyCalculationMutation=ws,w.SetFormulaDependencyCalculationResultMutation=Nn,w.SetFormulaStringBatchCalculationMutation=Ss,w.SetFormulaStringBatchCalculationResultMutation=Ms,w.SetImageFormulaDataMutation=Is,w.SetOtherFormulaMutation=Ir,w.SetQueryFormulaDependencyAllMutation=Us,w.SetQueryFormulaDependencyAllResultMutation=xs,w.SetQueryFormulaDependencyMutation=js,w.SetQueryFormulaDependencyResultMutation=Ts,w.SetSuperTableMutation=Ii,w.SetSuperTableOptionMutation=Bi,w.SetTriggerFormulaCalculationStartMutation=xi,w.SheetRowFilteredService=Gi,w.StringValueObject=x,w.SuperTableService=vi,w.ValueNodeFactory=Ea,w.ValueObjectFactory=ht,w.compareToken=H,w.convertUnitDataToRuntime=Ns,w.deserializeRangeForR1C1=vo,w.deserializeRangeWithSheet=hr,w.deserializeRangeWithSheetWithCache=Ht,w.excelDateSerial=Re,w.extractFormulaError=Qc,w.functionArray=Io,w.functionCompatibility=ku,w.functionCube=$u,w.functionDatabase=Gu,w.functionDate=Wu,w.functionEngineering=Qu,w.functionFinancial=el,w.functionInformation=tl,w.functionLogical=rl,w.functionLookup=nl,w.functionMath=il,w.functionMeta=ol,w.functionStatistical=cl,w.functionText=pl,w.functionUniver=Vl,w.functionWeb=Ml,w.generateAstNode=ga,w.generateExecuteAstNodeData=Ca,w.generateRandomDependencyTreeId=Kt,w.generateStringWithSequence=Bs,w.getAbsoluteRefTypeWitString=Nc,w.getAbsoluteRefTypeWithSingleString=Ur,w.getObjectValue=pR,w.getRangeWithRefsString=Vc,w.handleNumfmtInCell=Kc,w.handleRefStringInfo=_n,w.includeFormulaLexerToken=ii,w.initSheetFormulaData=Ys,w.isFormulaLexerToken=wr,w.isInDirtyRange=ni,w.isReferenceString=bs,w.isReferenceStringWithEffectiveColumn=xr,w.isReferenceStrings=Pi,w.matchRefDrawToken=Xl,w.matchToken=K,w.needsQuoting=An,w.normalizeSheetName=ql,w.operatorToken=se,w.prefixToken=De,w.quoteSheetName=En,w.sequenceNodeType=xe,w.serializeRange=pt,w.serializeRangeToRefString=dn,w.serializeRangeWithSheet=Di,w.serializeRangeWithSpreadsheet=wi,w.singleReferenceToGrid=Cn,w.splitTableStructuredRef=Ti,w.strip=sa,w.stripErrorMargin=vn,w.unquoteSheetName=ps,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`rxjs`),require(`@univerjs/rpc`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`rxjs`,`@univerjs/rpc`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverEngineFormula={},e.UniverCore,e.rxjs,e.UniverRpc))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let i=function(e){return e.FALSE=`FALSE`,e.TRUE=`TRUE`,e}({}),a=function(e){return e[e.SUCCESS=0]=`SUCCESS`,e[e.ERROR=1]=`ERROR`,e}({}),o=function(e){return e.ALL=`#All`,e.DATA=`#Data`,e.HEADERS=`#Headers`,e.TOTALS=`#Totals`,e.THIS_ROW=`#This Row`,e}({}),s=function(e){return e[e.FRONT=0]=`FRONT`,e[e.BACK=1]=`BACK`,e}({});function c(e){"@babel/helpers - typeof";return c=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},c(e)}function l(e,t){if(c(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(c(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function u(e){var t=l(e,`string`);return c(t)==`symbol`?t:t+``}function d(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f=class{constructor(e){d(this,`_cache`,void 0),this._cache=new t.LRUMap(e)}set(e,t){let n=this._hash(e);this._cache.set(n,t)}get(e){let t=this._hash(e);return this._cache.get(t)}clear(){this._cache.clear()}delete(e){this._cache.delete(this._hash(e))}forEach(e,t){this._cache.forEach(e,t)}_hash(e){return e.length<=64?e:(0,t.hashAlgorithm)(e).toString()}};let p=function(e){return e.DIV_BY_ZERO=`#DIV/0!`,e.NAME=`#NAME?`,e.VALUE=`#VALUE!`,e.NUM=`#NUM!`,e.NA=`#N/A`,e.CYCLE=`#CYCLE!`,e.REF=`#REF!`,e.SPILL=`#SPILL!`,e.CALC=`#CALC!`,e.ERROR=`#ERROR!`,e.CONNECT=`#GETTING_DATA`,e.NULL=`#NULL!`,e}({}),m=new Set(Object.values(p)),h=[...new Set(Object.values(p).map(e=>e.length))];var g=class{constructor(){d(this,`pattern`,``)}dispose(){}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}};let _=function(e){return e.PLUS=`+`,e.MINUS=`-`,e.MULTIPLY=`*`,e.DIVIDED=`/`,e.CONCATENATE=`&`,e.POWER=`^`,e.EQUALS=`=`,e.NOT_EQUAL=`<>`,e.GREATER_THAN=`>`,e.GREATER_THAN_OR_EQUAL=`>=`,e.LESS_THAN=`<`,e.LESS_THAN_OR_EQUAL=`<=`,e}({}),v=function(e){return e.EQUALS=`=`,e.NOT_EQUAL=`<>`,e.GREATER_THAN=`>`,e.GREATER_THAN_OR_EQUAL=`>=`,e.LESS_THAN=`<`,e.LESS_THAN_OR_EQUAL=`<=`,e}({}),y=new Map([[_.NOT_EQUAL,4],[_.LESS_THAN,4],[_.GREATER_THAN_OR_EQUAL,4],[_.EQUALS,4],[_.GREATER_THAN,4],[_.LESS_THAN_OR_EQUAL,4],[_.CONCATENATE,3],[_.PLUS,2],[_.MINUS,2],[_.DIVIDED,1],[_.MULTIPLY,1],[_.POWER,0]]),b=new Set(y.keys()),x=new Set([_.EQUALS,_.NOT_EQUAL,_.GREATER_THAN,_.GREATER_THAN_OR_EQUAL,_.LESS_THAN,_.LESS_THAN_OR_EQUAL]),S=function(e){return e.OPEN_BRACKET=`(`,e.CLOSE_BRACKET=`)`,e.COMMA=`,`,e.SINGLE_QUOTATION=`'`,e.DOUBLE_QUOTATION=`"`,e.OPEN_BRACES=`{`,e.CLOSE_BRACES=`}`,e.COLON=`:`,e.OPEN_SQUARE_BRACKET=`[`,e.CLOSE_SQUARE_BRACKET=`]`,e}({}),C=function(e){return e.PERCENTAGE=`%`,e.POUND=`#`,e}({}),w=new Set([C.PERCENTAGE,C.POUND]),T=function(e){return e.AT=`@`,e.MINUS=`-`,e.PLUS=`+`,e}({});var ee=class extends g{constructor(e){super(),this._rawValue=e,d(this,`_customData`,void 0)}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:``,unitId:``}}getValue(){return 0}getArrayValue(){return[]}setValue(e){}setArrayValue(e){}withCustomData(e){return this._customData=e,this}getCustomData(){return this._customData}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isDateFormat(){return!1}isError(){return!1}isNull(){return!1}isHyperlink(){return!1}isImage(){return!1}sum(){return E.create(p.VALUE)}max(){return E.create(p.VALUE)}min(){return E.create(p.VALUE)}count(){return E.create(p.VALUE)}countA(){return E.create(p.VALUE)}countBlank(){return E.create(p.VALUE)}getNegative(){return E.create(p.VALUE)}getReciprocal(){return E.create(p.VALUE)}plus(e){return E.create(p.VALUE)}minus(e){return E.create(p.VALUE)}multiply(e){return E.create(p.VALUE)}divided(e){return E.create(p.VALUE)}mod(e){return E.create(p.VALUE)}map(e){return E.create(p.NAME)}mapValue(e){return E.create(p.NAME)}compare(e,t,n=!1){return E.create(p.NAME)}isEqual(e){return this.compare(e,v.EQUALS)}isNotEqual(e){return this.compare(e,v.NOT_EQUAL)}isGreaterThanOrEqual(e){return this.compare(e,v.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(e){return this.compare(e,v.LESS_THAN_OR_EQUAL)}isLessThan(e){return this.compare(e,v.LESS_THAN)}isGreaterThan(e){return this.compare(e,v.GREATER_THAN)}concatenateFront(e){return E.create(p.NAME)}concatenateBack(e){return E.create(p.NAME)}plusBy(e){return E.create(p.VALUE)}minusBy(e){return E.create(p.VALUE)}multiplyBy(e){return E.create(p.VALUE)}dividedBy(e){return E.create(p.VALUE)}modInverse(e){return E.create(p.VALUE)}compareBy(e,t,n=!1){return E.create(p.NAME)}concatenate(e,t=s.FRONT){let n=this.getValue().toString();if(typeof e==`string`)t===s.FRONT?n=e+n:n+=e;else if(typeof e==`number`)t===s.FRONT?n=e.toString()+n:n+=e.toString();else if(typeof e==`boolean`){let r=e?`TRUE`:`FALSE`;t===s.FRONT?n=r+n:n+=r}return n}pow(e){return E.create(p.VALUE)}powInverse(e){return E.create(p.VALUE)}sqrt(){return E.create(p.VALUE)}cbrt(){return E.create(p.VALUE)}cos(){return E.create(p.VALUE)}cosh(){return E.create(p.VALUE)}acos(){return E.create(p.VALUE)}acosh(){return E.create(p.VALUE)}sin(){return E.create(p.VALUE)}sinh(){return E.create(p.VALUE)}asin(){return E.create(p.VALUE)}asinh(){return E.create(p.VALUE)}tan(){return E.create(p.VALUE)}tanh(){return E.create(p.VALUE)}atan(){return E.create(p.VALUE)}atan2(e){return E.create(p.VALUE)}atan2Inverse(e){return E.create(p.VALUE)}atanh(){return E.create(p.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return E.create(p.VALUE)}log10(){return E.create(p.VALUE)}exp(){return E.create(p.VALUE)}abs(){return E.create(p.VALUE)}round(e){return E.create(p.VALUE)}roundInverse(e){return E.create(p.VALUE)}floor(e){return E.create(p.VALUE)}floorInverse(e){return E.create(p.VALUE)}ceil(e){return E.create(p.VALUE)}ceilInverse(e){return E.create(p.VALUE)}convertToNumberObjectValue(){return E.create(p.VALUE)}convertToBooleanObjectValue(){return E.create(p.VALUE)}};let te=new f(1e3);var E=class e extends ee{static create(t,n=``){let r=`${t}-${n}`,i=te.get(r);if(i)return i;let a=new e(t,n);return te.set(r,a),a}constructor(e,t=``){super(e),this._errorType=e,this._errorContent=t}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(e){return e.getErrorType()===this.getErrorType()}isError(){return!0}};let ne=`yyyy/mm/dd;@`,re=1440*60*1e3;function D(e){let t=Date.UTC(1900,0,1),n=Date.UTC(1900,1,28),r=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),i=(r-t)/re;return r>n&&(i+=1),Math.floor(i)+1}function ie(e){let t=Date.UTC(1900,0,1,0,0,0),n=Date.UTC(1900,1,28,0,0,0),r=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),i=(r-t)/re;return r>n&&(i+=1),i+1}function O(e){let t=Date.UTC(1900,0,1),n=Date.UTC(1900,1,28),r=Math.floor(e)-1;return r>(n-t)/re&&--r,new Date(t+r*re)}function ae(e){let t=Date.UTC(1900,0,1,0,0,0),n=Date.UTC(1900,1,28,0,0,0),r=e-1;return r>(n-t)/re&&--r,r<0&&(r=e),new Date(t+r*re)}function oe(e){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(e))return!1;let t=e.replace(/-/g,`/`).replace(/T.+/,``),n=new Date(`${t}`);if(Number.isNaN(n.getTime()))return!1;let r=`${n.getFullYear()}-${(n.getMonth()+1).toString().padStart(2,`0`)}-${n.getDate().toString().padStart(2,`0`)}`;return e.replace(/\//g,`-`).split(`-`).map(e=>e.padStart(2,`0`)).join(`-`)===r}function se(e){return t.numfmt.parseDate(e)}function ce(e){return t.numfmt.parseTime(e)}function le(e){return t.numfmt.getFormatInfo(e).isDate}let ue={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 de(e){return!!(typeof e==`string`&&/^[0|1]{7}/.test(e)||ue[Number(e)])}function fe(e){if(!de(e))return[];if(typeof e==`string`&&/^[0|1]{7}/.test(e)){let t=[];for(let n=1;n<=e.length;n++)`${e[n-1]}`==`1`&&(n===e.length?t.push(0):t.push(n));return t}return ue[Number(e)]||[]}function pe(e,t,n=1,r){let i=fe(n),a=Math.floor(e),o=Math.floor(t),s=o>a?a:o,c=0,l=Math.abs(Math.floor(t)-Math.floor(e))+1;for(let e=0;e<l;e++){let t=s+e;if(r&&r.length>0&&r.some(e=>Math.floor(e)===t))continue;let n=he(t);i.includes(n)||c++}return o>=a?c:-c}function me(e,t,n=1,r){let i=fe(n),a=Math.floor(e),o=a,s=Math.abs(t);for(let e=1;e<=s;e++){let n=t<0?a-e:a+e;if(n<0)return E.create(p.NUM);if(r&&r.length>0&&r.some(e=>Math.floor(e)===n)){s++;continue}let c=he(n);if(i.includes(c)){s++;continue}o=n}return o}function k(e){if(e.isError())return e;let n=e.getValue();if(e.isString()){let e;if(se(`${n}`))e=se(`${n}`).v;else if(ce(`${n}`))e=ce(`${n}`).v;else if((0,t.isRealNum)(n))e=+n;else return E.create(p.VALUE);return e instanceof Date&&(e=ie(e)),+e<0||+e>2958465?E.create(p.NUM):+e}else{let t=+e.getValue();return t<0||t>2958465?E.create(p.NUM):t}}function he(e){let t=Math.floor(e)===60,n=O(e),r=Date.UTC(1900,1,28),i=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());return!t&&i<=r&&(n=new Date(i-re)),n.getUTCDay()}function ge(e,t,n){switch(n){case 0:return _e(e,t);case 1:return ve(e,t);case 2:return{days:Math.abs(t-e),yearDays:360};case 3:return{days:Math.abs(t-e),yearDays:365};case 4:return ye(e,t);default:return{days:Math.abs(t-e),yearDays:365}}}function _e(e,t){let n=O(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=O(t),s=t>0?o.getUTCFullYear():1900,c=t>0?o.getUTCMonth()+1:1,l=t>0?o.getUTCDate():0;i===2?O(e+1).getUTCMonth()+1===3&&(a=30):a===31&&(a=30),l===31&&(a<30?(o=O(t+1),s=o.getUTCFullYear(),c=o.getUTCMonth()+1,l=o.getUTCDate()):l=30);let u=(s-r)*360,d=t>=e?30-a:-a,f=t>=e?l:l-30,p=(t>=e?c-i-1:c-i+1)*30;return{days:Math.abs(u+d+f+p),yearDays:360}}function ve(e,t){let n=O(e),r=e>0?n.getUTCFullYear():1900,i=O(t),a=t>0?i.getUTCFullYear():1900,o=Math.abs(t-e),s=Math.abs(a-r)+1,c,l;if(a<r){let e=new Date(Date.UTC(a,0,1)),t=new Date(Date.UTC(r,11,31));c=D(e),l=D(t),a===1900&&(c+=1)}else{let e=new Date(Date.UTC(r,0,1)),t=new Date(Date.UTC(a,11,31));c=D(e),l=D(t),r===1900&&(c+=1)}return{days:o,yearDays:(l-c+1)/s}}function ye(e,t){let n=O(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=O(t),s=t>0?o.getUTCFullYear():1900,c=t>0?o.getUTCMonth()+1:1,l=t>0?o.getUTCDate():0;a===31&&(a=30),l===31&&(l=30);let u=(s-r)*360,d=t>=e?30-a:-a,f=t>=e?l:l-30,p=(t>=e?c-i-1:c-i+1)*30;return{days:Math.abs(u+d+f+p),yearDays:360}}function be(e){return e%4==0&&e%100!=0||e%400==0}function xe(e){return e%4==0&&e%100!=0||e%400==0||e===1900}let Se=[31,29,31,30,31,30,31,31,30,31,30,31],Ce=[31,28,31,30,31,30,31,31,30,31,30,31];function we(e,t){return be(e)?Se[t]:Ce[t]}function Te(e){return xe(e)?366:365}function Ee(e,t){switch(t){case 0:case 2:case 4:return 360;case 1:return Te(O(e).getUTCFullYear());case 3:return 365;default:return-1}}function De(e,t,n){return we(e,t)===n}function Oe(e,t){let n=e.getUTCFullYear(),r=e.getUTCMonth(),i=e.getUTCDate();return De(n,r,i)?(e.setUTCDate(1),e.setUTCMonth(e.getUTCMonth()+t),n=e.getUTCFullYear(),r=e.getUTCMonth(),e.setUTCDate(we(n,r))):e.setUTCMonth(e.getUTCMonth()+t),e}function ke(e,t,n,r,i){for(let a=0,o=e.length;a<o;a++){let o=e[a];if(t!==o.unitId||n!==o.sheetId)continue;let{startRow:s,startColumn:c,endRow:l,endColumn:u}=o.range;if(r>=s&&r<=l&&i>=c&&i<=u)return!0}return!1}let Ae=function(e){return e[e.Financial=0]=`Financial`,e[e.Date=1]=`Date`,e[e.Math=2]=`Math`,e[e.Statistical=3]=`Statistical`,e[e.Lookup=4]=`Lookup`,e[e.Database=5]=`Database`,e[e.Text=6]=`Text`,e[e.Logical=7]=`Logical`,e[e.Information=8]=`Information`,e[e.Engineering=9]=`Engineering`,e[e.Cube=10]=`Cube`,e[e.Compatibility=11]=`Compatibility`,e[e.Web=12]=`Web`,e[e.Array=13]=`Array`,e[e.Univer=14]=`Univer`,e[e.User=15]=`User`,e[e.DefinedName=16]=`DefinedName`,e[e.Table=17]=`Table`,e}({}),je=[...Object.values(v),...Object.values(_),...Object.values(S),...Object.values(C),...Object.values(T)];function Me(e){return je.includes(e)}function Ne(e){for(let t of je)if(e.indexOf(t)>-1)return!0;return!1}function Pe(e){return e[0]===`'`&&e[e.length-1]===`'`?e.substring(1,e.length-1):e}function Fe(e){return Me(e)&&e!==S.CLOSE_BRACES&&e!==S.CLOSE_BRACKET&&e!==S.SINGLE_QUOTATION&&e!==S.DOUBLE_QUOTATION||e===` `}let Ie=new Set([_.PLUS,_.MINUS,_.MULTIPLY,_.DIVIDED,_.CONCATENATE,_.POWER,_.EQUALS,_.NOT_EQUAL,_.GREATER_THAN,_.GREATER_THAN_OR_EQUAL,_.LESS_THAN,_.LESS_THAN_OR_EQUAL,S.OPEN_BRACKET,S.COMMA,S.COLON,S.OPEN_BRACES,S.OPEN_SQUARE_BRACKET]);function Le(e){return Ie.has(e)}let Re=new Set([_.PLUS,_.MINUS,_.MULTIPLY,_.DIVIDED,_.CONCATENATE,_.POWER,_.EQUALS,_.NOT_EQUAL,_.GREATER_THAN,_.GREATER_THAN_OR_EQUAL,_.LESS_THAN,_.LESS_THAN_OR_EQUAL,S.OPEN_BRACKET,S.COMMA,S.COLON,S.OPEN_BRACES,S.OPEN_SQUARE_BRACKET,C.PERCENTAGE,C.POUND]);function ze(e){return Re.has(e)}let Be=`\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]`,Ve=new RegExp(Be),He=`\\s*?:\\s*?`,Ue=`[A-Za-z]+`,We=`[1-9][0-9]*`,Ge=`'?(${Be})?(((?![\\[\\]\\/?*\\\\]).)*!)?'?`,Ke=`\\\$?${Ue}\\\$?${We}`,qe=`^(${T.AT})?${Ge}${Ke}${He}${Ke}$`,Je=new RegExp(qe),Ye=`^${Ge}\\s*?${Ke}(${C.POUND})?$`,Xe=new RegExp(Ye),Ze=`^${Ge}\\\$?${We}${He}\\\$?${We}$`,Qe=new RegExp(Ze),$e=`^${Ge}\\\$?${Ue}${He}\\\$?${Ue}$`,et=new RegExp($e),tt=`^${Ge}\\s*?\\\$?${We}$`,nt=new RegExp(tt),rt=`^${Ge}\\s*?\\\$?${Ue}$`,it=new RegExp(rt),at=`((?![~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()【】\\[\\]\\/\\\\]).)+`,ot=`\\[#.+\\]\\s*?,\\s*?`,st=`\\[((?<!#).)*\\]`,ct=`${st}${He}${st}`,lt=`^(${Be})?${at}$`,ut=`^(${Be})?${at}(${st}|\\[${ot}${st}\\])+$`,dt=`^(${Be})?${at}(\\[${ct}\\])?$|^${at}(\\[${ot}${ct}\\])?$`,ft=`^(${Be})?${at}\\[\\s*#([^\\]]+)\\s*\\]$`,pt=new RegExp(lt),mt=new RegExp(ut),ht=new RegExp(dt),gt=new RegExp(ft),_t=RegExp(`{.*?}`,`g`);function vt(e){return Xe.lastIndex=0,Xe.test(e)}function yt(e){return Je.lastIndex=0,Je.test(e)}function bt(e){return Qe.lastIndex=0,Qe.test(e)}function xt(e){return et.lastIndex=0,et.test(e)}function St(e){return nt.lastIndex=0,nt.test(e)}function Ct(e){return it.lastIndex=0,it.test(e)}function wt(e){return pt.lastIndex=0,pt.test(e)}function Tt(e){return mt.lastIndex=0,mt.test(e)}function Et(e){return ht.lastIndex=0,ht.test(e)}function Dt(e){return gt.lastIndex=0,gt.test(e)}function Ot(e){return _t.lastIndex=0,_t.test(e)}function kt(e){return vt(e)||yt(e)||bt(e)||xt(e)}function At(e){let n={};return Object.keys(e).forEach(r=>{let i=e[r];if(i==null)return!0;n[r]==null&&(n[r]={}),Object.keys(i).forEach(e=>{let a=i[e];n[r][e]=new t.ObjectMatrix(a)})}),n}function jt(e){let t={};for(let n in e){let r=e[n];if(r!=null){t[n]==null&&(t[n]={});for(let e in r){let i=r[e],a={};i.forValue((e,t,n)=>{a[e]===void 0&&(a[e]={}),a[e][t]=n}),t[n][e]=a}}}return t}let Mt=`LO_1`,Nt=`LAMBDA`,Pt=new Set([`RAND`,`RANDBETWEEN`,`NOW`,`TODAY`]),Ft={type:t.CommandType.MUTATION,id:`sheet.mutation.data-validation-formula-mark-dirty`,handler(){return!0}},It={id:`formula.mutation.register-function`,type:t.CommandType.MUTATION,handler:()=>!0},Lt={id:`formula.mutation.set-array-formula-data`,type:t.CommandType.MUTATION,handler:(e,t)=>!0},Rt=/[^0-9]/g,zt=/[^A-Za-z]/g;function Bt(e){let n=e[0]===`$`,r=e.substring(1),i=r.indexOf(`$`)>-1;return t.Tools.isStringNumber(r)&&n&&!i&&(n=!1,i=!0),n&&i?t.AbsoluteRefType.ALL:n?t.AbsoluteRefType.COLUMN:i?t.AbsoluteRefType.ROW:t.AbsoluteRefType.NONE}function Vt(e){let t=e.split(`!`);t.length>1&&(e=t[t.length-1]);let n=e.split(`:`);return n.length>1?{startAbsoluteRefType:Bt(n[0]),endAbsoluteRefType:Bt(n[1])}:{startAbsoluteRefType:Bt(n[0])}}function Ht(e=t.AbsoluteRefType.NONE){let n=``,r=``;return e===t.AbsoluteRefType.ROW?n=`$`:e===t.AbsoluteRefType.COLUMN?r=`$`:e===t.AbsoluteRefType.ALL&&(n=`$`,r=`$`),{rowAbsoluteString:n,columnAbsoluteString:r}}function Ut(e){let{startColumn:n,startRow:r,endColumn:i,endRow:a,startAbsoluteRefType:o,endAbsoluteRefType:s,rangeType:c=t.RANGE_TYPE.NORMAL}=e,l=Ht(o),u=Ht(s);if(c===t.RANGE_TYPE.ROW||c===t.RANGE_TYPE.ALL)return`${`${l.rowAbsoluteString}${r+1}`}:${`${u.rowAbsoluteString}${a+1}`}`;if(c===t.RANGE_TYPE.COLUMN)return`${`${l.columnAbsoluteString}${t.Tools.chatAtABC(n)}`}:${`${u.columnAbsoluteString}${t.Tools.chatAtABC(i)}`}`;let d=`${l.columnAbsoluteString}${t.Tools.chatAtABC(n)}${l.rowAbsoluteString}${r+1}`,f=`${u.columnAbsoluteString}${t.Tools.chatAtABC(i)}${u.rowAbsoluteString}${a+1}`;return d===f?d:`${d}:${f}`}function Wt(e,t){return`${nn(e)}!${Ut(t)}`}function Gt(e,t,n){return tn(e)||tn(t)?`'[${rn(e)}]${rn(t)}'!${Ut(n)}`:`[${e}]${t}!${Ut(n)}`}function Kt(e){let{unitId:t,sheetName:n,range:r}=e;return t!=null&&t.length>0&&n!=null&&n.length>0?Gt(t,n,r):n!=null&&n.length>0?Wt(n,r):Ut(r)}function qt(e){return{row:Number.parseInt(e.replace(Rt,``))-1,column:t.Tools.ABCatNum(e.replace(zt,``)),absoluteRefType:Bt(e)}}function Jt(e){let t=Ve.exec(e),n=``;t!=null&&(n=t[0].trim(),n=an(n.slice(1,n.length-1)),e=e.replace(Ve,``));let r=e.indexOf(`!`),i=``,a=``;return r>-1?(i=e.substring(0,r),i[0]===`'`&&i[i.length-1]===`'`&&(i=i.substring(1,i.length-1)),i=an(i),a=e.substring(r+1)):a=e,{refBody:a,sheetName:i,unitId:n}}function Yt(e){let{refBody:n,sheetName:r,unitId:i}=Jt(e),a=n.indexOf(`:`);if(a===-1){let e=qt(n),t=e.row,a=e.column,o=e.absoluteRefType;return{unitId:i,sheetName:r,range:{startRow:t,startColumn:a,endRow:t,endColumn:a,startAbsoluteRefType:o,endAbsoluteRefType:o}}}let o=n.substring(0,a),s=n.substring(a+1),c=qt(o),l=qt(s),u=c.row>l.row?l.row:c.row,d=c.column>l.column?l.column:c.column,f=c.row>l.row?c.row:l.row,p=c.column>l.column?c.column:l.column,m=t.RANGE_TYPE.NORMAL;return Number.isNaN(u)&&Number.isNaN(f)?m=t.RANGE_TYPE.COLUMN:Number.isNaN(d)&&Number.isNaN(p)&&(m=t.RANGE_TYPE.ROW),{unitId:i,sheetName:r,range:{startRow:u,startColumn:d,endRow:f,endColumn:p,startAbsoluteRefType:c.absoluteRefType,endAbsoluteRefType:l.absoluteRefType,rangeType:m}}}let Xt=[`LOG10`];function Zt(e){let n=Qt(e);if(!kt(n)||Xt.includes(n.toUpperCase().trim()))return!1;let{range:r}=Yt(n);return!(r.endColumn>=t.MAX_COLUMN_COUNT)}function Qt(e){let t=[],n=!1;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(i===` `&&!n)t.push(i);else if(!n&&(i===T.AT||i===T.MINUS||i===T.PLUS))continue;else t.push(i),n=!0}return t.join(``)}function $t(e,t){let n=(e==null?void 0:e.split(`,`))||[];return e===``||n.length===0||!en(e)?[]:n.map(e=>{let n=Yt(e);return{unitId:n.unitId,sheetId:t(n.sheetName),range:n.range,sheetName:n.sheetName}})}function en(e){return((e==null?void 0:e.split(`,`))||[]).every(e=>Zt(e.trim()))}function tn(e){return e.length===0?!1:!!(Ne(e)||on(e)||sn(e)||cn(e)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(e))}function nn(e){return tn(e)?`'${rn(e)}'`:e}function rn(e){return e.replace(/'/g,`''`)}function an(e){return e.replace(/''/g,`'`)}function on(e){let n=/^([A-Z]+)([1-9][0-9]*)$/.exec(e);if(!n)return!1;let[,r,i]=n,a=Number(i);if(a<1||a>t.MAX_ROW_COUNT)return!1;let o=(0,t.columnLabelToNumber)(r);return!(o<1||o>t.MAX_COLUMN_COUNT)}function sn(e){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(e)}function cn(e){return!/^\p{Letter}/u.test(e.charAt(0))}function ln(e){let t=e.indexOf(`[`);return t===-1?{tableName:e,struct:``}:{tableName:e.slice(0,t),columnStruct:e.slice(t)}}function A(e,t){return function(n,r){t(n,r,e)}}function un(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let dn=class extends t.Disposable{constructor(e){super(),this._univerInstanceService=e,d(this,`_definedNameMap`,{}),d(this,`_nameCacheMap`,{}),d(this,`_update$`,new n.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 n.Subject),d(this,`currentRange$`,this._currentRange$.asObservable()),d(this,`_focusRange$`,new n.Subject),d(this,`focusRange$`,this._focusRange$.asObservable())}dispose(){super.dispose(),this._definedNameMap={},this._nameCacheMap={},this._update$.complete(),this._currentRange$.complete(),this._focusRange$.complete()}getWorksheetByRef(e,t){var n;let{sheetName:r}=Jt(t);return(n=this._univerInstanceService.getUnit(e))==null?void 0:n.getSheetBySheetName(r)}focusRange(e,t){let n=this.getValueById(e,t);n!==void 0&&this._focusRange$.next({...n,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return Ut(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._updateCache(e),this._update()}registerDefinedName(e,t){this._definedNameMap[e]===void 0&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._updateCache(e),this._update()}removeDefinedName(e,t){var n;(n=this._definedNameMap[e])==null||delete n[t],this._updateCache(e),this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._updateCache(e),this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){let n=this._nameCacheMap[e];if(n)return n[t.toLowerCase()]||null;let r=this._definedNameMap[e];if(r===void 0)return null;let i=null;for(let e of Object.values(r))if(e.name===t){i=e;break}return i&&(this._nameCacheMap[e]=this._nameCacheMap[e]||{},this._nameCacheMap[e][t.toLowerCase()]=i),i}getValueById(e,t){var n;return(n=this._definedNameMap[e])==null?void 0:n[t]}hasDefinedName(e){return this._definedNameMap[e]===void 0?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}getAllDefinedNames(){return this._definedNameMap}getDefinedNameByRefString(e,t){if(this._definedNameMap[e]){for(let[n,r]of Object.entries(this._definedNameMap[e]))if(r.formulaOrRefString===t)return r}}_update(){this._update$.next(null)}_updateCache(e){let t=this._definedNameMap[e];if(t===void 0){delete this._nameCacheMap[e];return}this._nameCacheMap[e]={};for(let n of Object.values(t))this._nameCacheMap[e][n.name.toLowerCase()]=n}};dn=un([A(0,t.IUniverInstanceService)],dn);let fn=(0,t.createIdentifier)(`univer.formula.defined-names.service`),pn=(e,t)=>{let{unitId:n,id:r}=t;return{...e.get(fn).getValueById(n,r),unitId:n}},mn={id:`formula.mutation.set-defined-name`,type:t.CommandType.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(fn),{id:r,unitId:i,name:a,formulaOrRefString:o,comment:s,hidden:c,localSheetId:l,formulaOrRefStringWithPrefix:u}=t;return n.registerDefinedName(i,{id:r,name:a.trim(),formulaOrRefString:o.trim(),comment:s==null?void 0:s.trim(),hidden:c,localSheetId:l,formulaOrRefStringWithPrefix:u}),!0}},hn={id:`formula.mutation.remove-defined-name`,type:t.CommandType.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(fn),{unitId:r,id:i}=t;return n.removeDefinedName(r,i),!0}},gn={id:`formula.mutation.set-feature-calculation`,type:t.CommandType.MUTATION,handler:()=>!0},_n={id:`formula.mutation.remove-feature-calculation`,type:t.CommandType.MUTATION,handler:()=>!0},vn={id:`formula.mutation.set-formula-calculation-start`,type:t.CommandType.MUTATION,handler:()=>!0},yn={id:`formula.mutation.set-trigger-formula-calculation-start`,type:t.CommandType.MUTATION,handler:()=>!0},bn={id:`formula.mutation.set-formula-string-batch-calculation`,type:t.CommandType.MUTATION,handler:()=>!0},xn={id:`formula.mutation.set-formula-string-batch-calculation-result`,type:t.CommandType.MUTATION,handler:()=>!0},Sn={id:`formula.mutation.set-formula-calculation-stop`,type:t.CommandType.MUTATION,handler:()=>!0},Cn={id:`formula.mutation.set-formula-calculation-notification`,type:t.CommandType.MUTATION,handler:()=>!0},wn={id:`formula.mutation.set-formula-calculation-result`,type:t.CommandType.MUTATION,handler:()=>!0},Tn={id:`formula.mutation.set-formula-dependency-calculation`,type:t.CommandType.MUTATION,handler:()=>!0},En={id:`formula.mutation.set-formula-dependency-calculation-result`,type:t.CommandType.MUTATION,handler:()=>!0},Dn={id:`formula.mutation.set-cell-formula-dependency-calculation`,type:t.CommandType.MUTATION,handler:()=>!0},On={id:`formula.mutation.set-cell-formula-dependency-calculation-result`,type:t.CommandType.MUTATION,handler:()=>!0},kn={id:`formula.mutation.set-query-formula-dependency`,type:t.CommandType.MUTATION,handler:()=>!0},An={id:`formula.mutation.set-query-formula-dependency-result`,type:t.CommandType.MUTATION,handler:()=>!0},jn={id:`formula.mutation.set-query-formula-dependency-all`,type:t.CommandType.MUTATION,handler:()=>!0},Mn={id:`formula.mutation.set-query-formula-dependency-all-result`,type:t.CommandType.MUTATION,handler:()=>!0},Nn={id:`formula.mutation.set-formula-data`,type:t.CommandType.MUTATION,handler:(e,t)=>!0},Pn={id:`formula.mutation.set-image-formula-data`,type:t.CommandType.MUTATION,handler:(e,t)=>!0},Fn={id:`formula.mutation.set-other-formula`,type:t.CommandType.MUTATION,handler:()=>!0},In={id:`formula.mutation.remove-other-formula`,type:t.CommandType.MUTATION,handler:()=>!0};var Ln=class extends t.Disposable{constructor(){super(),d(this,`_tableMap`,new Map),d(this,`_tableOptionMap`,new Map),d(this,`_update$`,new n.Subject),d(this,`update$`,this._update$.asObservable()),this.registerTableOptionMap(o.ALL,o.ALL),this.registerTableOptionMap(o.DATA,o.DATA),this.registerTableOptionMap(o.HEADERS,o.HEADERS),this.registerTableOptionMap(o.TOTALS,o.TOTALS),this.registerTableOptionMap(o.THIS_ROW,o.THIS_ROW)}dispose(){super.dispose(),this._update$.complete(),this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var n;(n=this._tableMap.get(e))==null||n.delete(t),this._update()}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,n){var r;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(r=this._tableMap.get(e))==null||r.set(t,n),this._update()}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}getTable(e,t){var n;return(n=this._tableMap.get(e))==null?void 0:n.get(t)}hasTable(e,t){let n=this._tableMap.get(e);return n?n.keys().some(e=>e.toLowerCase()===t.toLowerCase()):!1}_update(){this._update$.next(null)}};let Rn=(0,t.createIdentifier)(`univer.formula.super-table.service`),zn={id:`formula.mutation.set-super-table`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r,reference:i}=t;return e.get(Rn).registerTable(n,r,i),!0}},Bn={id:`formula.mutation.remove-super-table`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r}=t;return e.get(Rn).remove(n,r),!0}},Vn={id:`formula.mutation.set-super-table-option`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{tableOption:n,tableOptionType:r}=t;return e.get(Rn).registerTableOptionMap(n,r),!0}},Hn=`engine-formula.config`;Symbol(Hn);let Un={},Wn=new f(1e5);function Gn(e){let t=Wn.get(e);if(t)return t;let n=Yt(e);return Wn.set(e,n),Yt(e)}function Kn(){Wn.clear()}let qn=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.NUMBER=1]=`NUMBER`,e[e.STRING=2]=`STRING`,e[e.FUNCTION=3]=`FUNCTION`,e[e.REFERENCE=4]=`REFERENCE`,e[e.ARRAY=5]=`ARRAY`,e[e.DEFINED_NAME=6]=`DEFINED_NAME`,e[e.TABLE=7]=`TABLE`,e}({});function Jn(e){let t=``;for(let n of e)typeof n==`string`?t+=n:t+=n.token;return t}var j=class e{constructor(){d(this,`_parent`,void 0),d(this,`_token`,`R_1`),d(this,`_children`,[]),d(this,`_lambdaId`,void 0),d(this,`_functionDefinitionPrivacyVar`,void 0),d(this,`_lambdaParameter`,``),d(this,`_startIndex`,-1),d(this,`_endIndex`,-1),d(this,`_definedNames`,[])}dispose(){var e;this._children.forEach(e=>{typeof e!=`string`&&e.dispose()}),(e=this._functionDefinitionPrivacyVar)==null||e.clear(),this._functionDefinitionPrivacyVar=null,this._children=[],this._parent=null,this._definedNames=[]}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(e){this._lambdaId=e}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(e){this._functionDefinitionPrivacyVar=e}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(e){this._lambdaParameter=e}getParent(){return this._parent}setParent(e){this._parent=e}getChildren(){return this._children}setChildren(e){this._children=e}addChildren(e){this._children.push(e)}addChildrenFirst(e){this._children.unshift(e)}getToken(){return this._token}setToken(e){this._token=e}setIndex(e,t){this._startIndex=e,this._endIndex=t}setDefinedNames(e){this._definedNames=e}hasDefinedNames(){return this._definedNames.length>0}replaceChild(e,t){let n=this._getIndexInParent(e);n!=null&&(this.getChildren().splice(n,1,t),t.setParent(this))}changeToParent(e){let t=this.getParent();t&&t.removeChild(this),this.setParent(e),e.getChildren().push(this)}removeChild(e){let t=this._getIndexInParent(e);t!=null&&this.getChildren().splice(t,1)}serialize(){let t=this.getToken(),n=this.getChildren(),r=[],i=n.length;for(let t=0;t<i;t++){let i=n[t];i instanceof e?r.push(i.serialize()):r.push(i)}return{token:t,st:this._startIndex,ed:this._endIndex,children:r}}_getIndexInParent(e){let t=this.getChildren(),n=t.length;for(let r=0;r<n;r++)if(t[r]===e)return r}},Yn=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.FUNCTION=1]=`FUNCTION`,e[e.LAMBDA=2]=`LAMBDA`,e}(Yn||{});let Xn=2e3,Zn=new f(Xn),Qn=new f(Xn);var $n=class extends t.Disposable{constructor(...e){super(...e),d(this,`_currentLexerNode`,new j),d(this,`_upLevel`,0),d(this,`_segment`,``),d(this,`_bracketState`,[]),d(this,`_openBracketNormalIndexStack`,[]),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,`_formulaErrorCount`,0),d(this,`_tableBracketState`,!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),Zn.clear(),Qn.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){let n=this._getCurrentParamIndex(e,t);if(n==null||n===p.VALUE)return;let r=n[0];if(typeof r==`string`)return;let i=r.getParent(),a=r;for(;i;){let e=i.getToken();if(e!==`P_1`&&!Me(e)&&i.getStartIndex()!==-1)return{functionName:e,paramIndex:i.getChildren().indexOf(a)};a=i,i=i.getParent()}}checkIfAddBracket(e){let t=0,n=e.length-1,r=e[n];for(;(r===S.CLOSE_BRACKET||r===` `)&&n>=0;)r===S.CLOSE_BRACKET&&t++,r=e[--n];let i=this._getCurrentParamIndex(e,e.length-2);if(i==null||i===p.VALUE)return 0;let a=i[0];if(typeof a==`string`)return 0;let o=a.getParent(),s=0;for(i[1]===S.OPEN_BRACKET&&s++;o;){let e=o.getToken();e!==`P_1`&&e!==S.COLON&&o.getStartIndex()!==-1&&e.toUpperCase()!==`LAMBDA`&&(t===0?s+=1:t--),o=o.getParent()}return s}sequenceNodesBuilder(e){let t=Qn.get(e);if(t)return[...t];let n=this._getSequenceArray(e);if(n.length===0)return;let r=this.getSequenceNode(n);return Qn.set(e,[...r]),r}convertRefersToAbsolute(e,t,n,r=``){let i=this.sequenceNodesBuilder(e);if(i==null)return e;let a=``;e.substring(0,1)===_.EQUALS&&(a=_.EQUALS);for(let e=0,a=i.length;e<a;e++){let o=i[e];if(typeof o!=`string`&&o.nodeType===qn.REFERENCE){let{token:s,endIndex:c}=o,l=Gn(s);if(l==null)continue;let{range:u,sheetName:d,unitId:f}=l,p=Kt({range:{...u,startAbsoluteRefType:t,endAbsoluteRefType:n},unitId:f,sheetName:d||r}),m=p.length-s.length;i[e]={...o,token:p,endIndex:c+m};for(let t=e+1;t<a;t++){let e=i[t];typeof e!=`string`&&(e.startIndex+=m,e.endIndex+=m)}}}return`${a}${Jn(i)}`}moveFormulaRefOffset(e,n,r,i=!1){let a=this.sequenceNodesBuilder(e);if(a==null)return e;let o=[];for(let e=0,s=a.length;e<s;e++){let s=a[e];if(typeof s==`string`||s.nodeType!==qn.REFERENCE){o.push(s);continue}let{token:c}=s,l=Gn(c),{sheetName:u,unitId:d}=l,f=l.range;if(!i&&f.startAbsoluteRefType===t.AbsoluteRefType.ALL&&f.endAbsoluteRefType===t.AbsoluteRefType.ALL){o.push(s);continue}else f=(0,t.moveRangeByOffset)(f,n,r,i);let m=``;m=(0,t.isValidRange)(f)?Kt({range:f,unitId:d,sheetName:u}):p.REF,o.push({...s,token:m})}return`=${Jn(o)}`}_formulaSpellCheck(){if(this._currentLexerNode.getChildren().length===0)return!0;let e=this._currentLexerNode.getChildren()[0];return e instanceof j?!0:!!(this._passArrayOperator(e)||b.has(e)||w.has(e)||e===T.AT||e===S.COMMA||e===S.COLON||e===S.OPEN_BRACKET)}_passArrayOperator(e){if(e.length===0||!(e[0]===`{`&&e[e.length-1]===`}`))return!1;let t=this._currentLexerNode.getChildren(),n=t[t.length-1];return n instanceof j?!1:!!b.has(n)}getSequenceNode(e){let n=[],r=!1;for(let i=0,a=e.length;i<a;i++){let o=e[i],s=e[i-1],{segment:c,currentString:l}=o;if(l===S.DOUBLE_QUOTATION&&(r=!0),(c!==``||i===0)&&i!==a-1){n.push(l);continue}let u=(s==null?void 0:s.segment)||``,d=i-u.length,f=i-1,p=i-1;if(i===a-1&&this._isLastMergeString(l)&&(u+=l,f+=1),u===``||y.has(u)){n.push(l);continue}let m=u.trim(),h=Qt(m);r===!0&&m[m.length-1]===S.DOUBLE_QUOTATION&&m[0]!==S.OPEN_BRACES?(r=!1,this._processPushSequenceNode(n,qn.STRING,u,d,f,p)):vt(h)&&Zt(h)?this._processPushSequenceNode(n,qn.REFERENCE,u,d,f,p):t.Tools.isStringNumber(m)?this._processPushSequenceNode(n,qn.NUMBER,u,d,f,p):m.length>0&&this._processPushSequenceNode(n,qn.FUNCTION,u,d,f,p),(i!==a-1||!this._isLastMergeString(l))&&n.push(l)}return this._mergeSequenceNodeReference(n)}_processPushSequenceNode(e,t,n,r,i,a){this._pushSequenceNode(e,{nodeType:t,token:n,startIndex:r,endIndex:i},a)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===S.DOUBLE_QUOTATION||t.Tools.isStringNumber(e)||!Me(e)}_mergeSequenceNodeReference(e){let t=[],n=e.length,r=0;for(;r<n;){let n=e[r];if(typeof n==`string`){let i=e[r-1];if(n.trim()===S.CLOSE_BRACES&&i!=null&&typeof i!=`string`&&i.nodeType===qn.FUNCTION&&i.token.trim().substring(0,1)===S.OPEN_BRACES){i.nodeType=qn.ARRAY,i.token+=n,i.endIndex+=n.length,r++;continue}t.push(n)}else{let i=e[r+1],a=e[r+2];i===S.COLON&&typeof n!=`string`&&a!=null&&typeof a!=`string`&&Zt((n.token+i+a.token).trim())&&(n.nodeType=qn.REFERENCE,n.token+=i+a.token,n.endIndex=a.endIndex,r+=2),t.push(n)}r++}return this._minusSplitSequenceNode(t)}_minusSplitSequenceNode(e){let t=[];for(let n of e){if(typeof n!=`string`){let e=n.token.match(/^(\s*([-@+]\s*)+)(.*)$/);if(e){let r=e[1],i=e[3];if(Zt(i.trim())){let e=r.length,a=n.startIndex,o=n.startIndex+e-1,s={nodeType:qn.NORMAL,token:r,startIndex:a,endIndex:o},c={nodeType:qn.REFERENCE,token:i,startIndex:o+1,endIndex:n.endIndex};t.push(s),t.push(c);continue}}}t.push(n)}return t}_pushSequenceNode(e,t,n){let r=n-t.startIndex+1;e.splice(e.length-r,r,t)}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,n){if(t===!0){var r;let t=Zn.get(e),i=n&&((r=this._simpleCheckDefinedName)==null?void 0:r.call(this,e,n));if(t&&!i)return t}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(`R_1`);let i=[],a=this._nodeMaker(e,i);if(a===p.VALUE||i.length===0)return a;let o=!1,s=``,c=[];if(n){let{hasDefinedName:e,sequenceString:t,definedNames:r}=this._handleDefinedName(i,n);o=e,s=t,c=r}if(o&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(`R_1`),a=this._nodeMaker(`=${s}`),a===p.VALUE))return a;let l=this._getTopNode(this._currentLexerNode);if(l&&(this._currentLexerNode=l),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return p.VALUE;Zn.set(e,this._currentLexerNode)}return o&&this._currentLexerNode.setDefinedNames(c),this._currentLexerNode}_handleDefinedName(e,t){let{unitId:n,getValueByName:r,getSheetName:i}=t;if(n==null)return{sequenceString:``,hasDefinedName:!1,definedNames:[]};let a=this.getSequenceNode(e),o=``,s=!1,c=[];for(let e=0,i=a.length;e<i;e++){let i=a[e];if(typeof i==`string`){o+=i;continue}let{nodeType:l,token:u}=i,d=u;if(l===qn.REFERENCE||l===qn.FUNCTION){l===qn.FUNCTION&&(d=this._getHasSheetNameDefinedName(u,n,t));let e=r(n,d);if(e){let n=e.formulaOrRefString,r=this._handleNestedDefinedName(n,t);if(typeof r!=`object`||!r)o+=r||p.NAME,s=!0,c.push(d);else if(typeof r==`object`){let{sequenceString:e,definedNames:t}=r;o+=e,t.forEach(e=>{c.push(e)}),s=!0}}else this._checkDefinedNameDirty(d,t)?(o+=p.NAME,s=!0,c.push(d)):o+=d}else o+=d}return{sequenceString:o,hasDefinedName:s,definedNames:c}}_getHasSheetNameDefinedName(e,t,n){if(!e.includes(`!`))return e;let r=e.split(`!`);if(r.length!==2)return e;let i=r[0],a=r[1].trim(),o=n.getValueByName(t,a);if(!o)return e;let s=o.localSheetId;if(s!==void 0){if(s===`AllDefaultWorkbook`||i===n.getSheetName(t,s))return a}else return a;return e}_handleNestedDefinedName(e,t){let n=[],r=this._nodeMaker(e,n);return r===p.VALUE||n.length===0?r:this._handleDefinedName(n,t)}_simpleCheckDefinedName(e,t){let{getDirtyDefinedNameMap:n,unitId:r}=t,i=n(),a=r;if(a!=null&&i[a]!=null){let t=Object.keys(i[a]);for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e.indexOf(r)>-1)return!0}}return!1}_checkDefinedNameDirty(e,t){let{getDirtyDefinedNameMap:n,unitId:r}=t,i=n(),a=r;if(a!=null&&i[a]!=null){let t=Object.keys(i[a]);for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return!0}return!1}_suffixExpressionHandler(e){let t=e.getChildren();if(!t)return!1;let n=t.length,r=[],i=[],a=!0;for(let e=0;e<n;e++){let n=t[e];if(n instanceof j)a=this._suffixExpressionHandler(n),r.push(n);else{let a=n.trim();if(a===``)continue;if(b.has(a)){if(a===_.PLUS&&this._deletePlusForPreNode(t[e-1]))continue;if(a!==_.PLUS&&a!==_.MINUS&&this._deletePlusForPreNode(t[e-1]))return!1;for(;i.length>0;){var o;let e=(o=i[i.length-1])==null?void 0:o.trim();if(!e||e===S.OPEN_BRACKET)break;let t=y.get(e),n=y.get(a);if(t===void 0||n===void 0)break;if(n>=t)r.push(i.pop());else break}i.push(n)}else if(a===S.OPEN_BRACKET)i.push(n);else if(a===S.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(r,i,t,e);else{if(this._checkCloseBracket(t[e-1]))return!1;r.push(n)}}}return a?this._processSuffixExpressionRemain(r,i,e):!1}_processSuffixExpressionRemain(e,t,n){let r=e[e.length-1];for(;t.length>0;){let n=t.pop();if(!(r instanceof j)&&(n===S.OPEN_BRACKET||n===S.CLOSE_BRACKET))return!1;e.push(n)}return n.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,n,r){if(this._checkOpenBracket(n[r-1])||this._checkOperator(n[r-1]))return!1;for(;t.length>0;){var i;let n=(i=t[t.length-1])==null?void 0:i.trim();if(!n)break;if(n===S.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===S.CLOSE_BRACKET||e instanceof j}_checkOpenBracket(e){return e===S.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof j?!1:b.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof j)){let t=e.trim();if(b.has(t)||t===S.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new j}_resetSegment(){this._segment=``}_openBracket(e=Yn.NORMAL){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openBracketNormalIndex(){this._openBracketNormalIndexStack.push(this._currentLexerNode.getChildren().length-1)}_getNodesByCurrentBracketNormalIndex(){let e=this._openBracketNormalIndexStack.pop();if(e===void 0)return[];let t=this._currentLexerNode.getChildren();return t.length===0?[]:t.splice(e)}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){--this._squareBracketState}_getCurrentBracket(){let e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){let t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){--this._bracesState}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){--this._singleQuotationState}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){--this._doubleQuotationState}_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}_formalErrorOccurred(){this._formulaErrorCount+=1}_hasFormalError(){return this._formulaErrorCount>0}_getLastChildCurrentLexerNode(){let e=this._currentLexerNode.getChildren();if(e&&e.length>0){let t=e[e.length-1];if(t instanceof j)return t}return!1}_getLastChildCurrent(){let e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){let e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var e;let t=(e=this._currentLexerNode)==null?void 0:e.getParent(),n=!1;if(t&&t.getToken()===`L_1`){var r;if(!(t==null||(r=t.getParent())==null)&&r.getParent()){var i;let e=(i=this._currentLexerNode.getParent())==null||(i=i.getParent())==null?void 0:i.getParent();e&&(this._currentLexerNode=e),n=!0}}else if(t!=null&&t.getParent()){var a;let e=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent();e&&(this._currentLexerNode=e),n=!0}for(let e=0;e<this._upLevel;e++){var o;let e=(o=this._currentLexerNode)==null?void 0:o.getParent();e&&(this._currentLexerNode=e),n=!!this._currentLexerNode}return n}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){let n=e;if(n!==``){let e=this._currentLexerNode.getChildren();if(!(n instanceof j)&&this.isColonOpen()){let e=new j;e.setToken(n),e.setParent(this._currentLexerNode),n=e}t?e.unshift(n):e.push(n)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,n=!1){let r=new j;r.setToken(e),r.setIndex(t-e.length,t-1),this._setCurrentLexerNode(r,n)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_formulaErrorLastTokenCheck(e,t){let n=this._findPreviousToken(e,t)||``,r=e.length-1===t;if(!r&&this._isOperatorToken(n)||r&&Le(n))return!0;if(w.has(n)){let n=this._findSecondLastNonSpaceToken(e,t);if(n==null||ze(n))return!0}return!1}_findPreviousToken(e,t){let n=t;for(;n>=0;){let t=e[n];if(t!==` `)return t;n--}}_findSecondLastNonSpaceToken(e,t){let n=t,r=0;for(;n>=0;){let t=e[n];if(t!==` `&&(r++,r===2))return t;n--}return null}_findNextToken(e,t){let n=t;for(;n>=0;){let t=e[n];if(t!==` `)return t;n++}}_unexpectedEndingTokenExcludeOperator(e){return e===S.OPEN_BRACKET||e===S.COMMA||e===_.EQUALS||e===``}_unexpectedEndingToken(e){return!!(this._isOperatorToken(e)||this._unexpectedEndingTokenExcludeOperator(e))}_isOperatorToken(e){return!!b.has(e)}_getSequenceArray(e){let t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new j,this._upLevel=0,this._segment=``,this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1,this._formulaErrorCount=0}_checkErrorState(){return!!(this._bracketState.length>0||this._bracesState>0||this._singleQuotationState>0||this._doubleQuotationState>0||this._hasFormalError())}_checkSimilarErrorToken(e,t,n){let r=t;if(e!==C.POUND)return!0;let i=n[++r];for(;i===` `;)i=n[++r];return!!Me(i)}_checkIfErrorObject(e,t){return!!this._findErrorObject(e,t)}_findErrorObject(e,t){for(let n=0;n<h.length;n++){let r=h[n],i=t.slice(e,e+r).join(``).toUpperCase();if(m.has(i))return i}}_nodeMaker(e,t,n){let r=e.replace(/\r\n$|\r|\n/g,` `);r.substring(0,1)===_.EQUALS&&(r=r.substring(1));let i=r.split(``),a=i.length;this._resetTemp(),this._formulaErrorLastTokenCheck(i,a-1)&&this._formalErrorOccurred();let o=0;for(;o<a;){let e=i[o];if(n===o)return[this._currentLexerNode,e];if(e===C.POUND&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()&&this._checkIfErrorObject(o,i)){let e=this._findErrorObject(o,i);if(e==null)return p.VALUE;this._pushNodeToChildren(e);for(let n=0;n<e.length;n++){let e=i[o];this._pushSegment(e),this._addSequenceArray(t,e,o),o++}this._resetSegment();continue}else if(e===S.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,o),this._resetSegment()),this._openBracket(Yn.FUNCTION),this._closeLambda();let n=i[o+1];if(n&&n===S.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return p.VALUE;this._addSequenceArray(t,e,o),o++,this._addSequenceArray(t,n,o),o++,this._closeBracket();continue}else n&&this._newAndPushCurrentLexerNode(`P_1`,o)}else this._pushNodeToChildren(e),this._openBracket(Yn.NORMAL),this._openBracketNormalIndex(),this._resetSegment();else if(e===S.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred(),this._pushNodeToChildren(this._segment),this._resetSegment();let t=this._getCurrentBracket();if(t===Yn.NORMAL)this._pushNodeToChildren(e);else if(t===Yn.FUNCTION){let e=i[o+1];if(e&&e===S.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return p.VALUE;this._newAndPushCurrentLexerNode(`L_1`,o,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&o!==a-1)return p.VALUE}else return p.VALUE;this._closeBracket()}else if(e===S.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){if(this._pushSegment(e),this._openBraces(),!this._formulaSpellCheck())return p.VALUE}else if(e===S.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(e),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(e===S.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(e),this._openSquareBracket();else if(e===S.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(e),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(e);else if(e===S.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{let e=i[o+1];e&&e===S.DOUBLE_QUOTATION?o++:this._closeDoubleQuotation()}this._pushSegment(e)}else if(e===S.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation(),this._segmentCount()===0&&this._resetSegment();else{let n=i[o+1];if(n&&n===S.SINGLE_QUOTATION){this._pushSegment(e),this._addSequenceArray(t,e,o),o++,this._pushSegment(n),this._addSequenceArray(t,n,o),o++;continue}else this._closeSingleQuotation()}this._pushSegment(e)}else if(e===S.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred();let e=this._getCurrentBracket();if(e===Yn.FUNCTION||e==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&o!==a-1&&e!=null)return p.VALUE;this._newAndPushCurrentLexerNode(`P_1`,o)}else{let e=new j;e.setToken(`CUBE`);let t=new j;t.setToken(`P_1`),t.changeToParent(e);let n=this._currentLexerNode.getParent();if(n&&n.getToken()===S.COLON){let r=n.getParent();if(!r)return p.VALUE;n.changeToParent(t),r.setChildren([]),e.changeToParent(r)}else return p.VALUE;this._changeCurrentBracket(Yn.FUNCTION),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=e,this._newAndPushCurrentLexerNode(`P_1`,o)}}else if(e===S.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){let t=new j;t.setToken(e);let n=new j;n.setToken(`P_1`),n.setParent(t);let r=new j;r.setToken(`P_1`),r.setParent(t),t.getChildren().push(n,r);let i=t,a=0;if(this._segmentCount()>0){let e,r,s=0,c=this._segment.trim(),l=c[0],u=c[1];if(l===T.MINUS&&(e=new j,e.setToken(T.MINUS),e.setIndex(o-this._segment.length,o-this._segment.length),s++),l===T.AT||u===T.AT){r=new j,r.setToken(T.AT);let t=o-this._segment.length+s;r.setIndex(t,t),e&&(e.addChildren(r),r.setParent(e)),s++}if(s>0&&(this._segment=c.slice(s)),a=s,r)if(r.addChildren(t),t.setParent(r),r.getParent()){let e=r.getParent();e&&(i=e)}else i=r;else e&&(i=e,e.addChildren(t),t.setParent(e));let d=new j;d.setToken(this._segment),d.setParent(n),d.setIndex(o-this._segment.length,o-1),n.getChildren().push(d),this._resetSegment()}else{let e=this._getLastChildCurrentLexerNode();e&&e.changeToParent(n)}this._setCurrentLexerNode(i),this._currentLexerNode=r,this._openColon(a)}else if(w.has(e)&&this._checkSimilarErrorToken(e,o,i)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){this._pushNodeToChildren(this._segment);let t=new j;t.setToken(e),t.setIndex(o-1,o-1);let n=this._getLastChildCurrent();if(n instanceof j)n.changeToParent(t);else if(n===S.CLOSE_BRACKET){let e=this._getNodesByCurrentBracketNormalIndex();t.getChildren().push(...e)}else n!==!1&&(t.getChildren().push(n),this._removeLastChild());this._pushNodeToChildren(t),t.setParent(this._currentLexerNode),this._resetSegment()}else if(b.has(e)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){let n=this._segment.trim();if(e===_.MINUS&&n===``){let n=this._findPreviousToken(i,o-1)||``,r=this._findNextToken(i,o+1)||``;if(this._unexpectedEndingTokenExcludeOperator(n)&&this._isOperatorToken(r)){this._pushNodeToChildren(`0`),this._pushNodeToChildren(_.MINUS),this._addSequenceArray(t,e,o),this._resetSegment(),o++;continue}else if(this._unexpectedEndingToken(n))if(r===_.PLUS){this._pushSegment(_.MINUS),this._addSequenceArray(t,e,o),this._addSequenceArray(t,_.PLUS,o+1),o+=2;continue}else{this._pushSegment(_.MINUS),this._addSequenceArray(t,e,o),o++;continue}}else if(this._segment.length>0&&this._isScientificNotation(i,o,e)){this._pushSegment(e),this._addSequenceArray(t,e,o),o++;continue}else this._segment.length>0&&n===``?n=this._segment:(this._pushNodeToChildren(this._segment),n=``);if(e===_.LESS_THAN||e===_.GREATER_THAN){let r=i[o+1];if(r&&b.has(e+r)){this._pushNodeToChildren(n+e+r),this._resetSegment(),this._addSequenceArray(t,e,o),o++,this._addSequenceArray(t,r,o),o++;continue}else this._pushNodeToChildren(n+e)}else this._pushNodeToChildren(n+e);this._resetSegment()}else (this._segment!==``||e!==` `)&&this._pushSegment(e);this._addSequenceArray(t,e,o),o++}if(this._pushNodeToChildren(this._segment),this._checkErrorState())return p.VALUE}_isScientificNotation(e,t,n){let r=e[t-2];if(r&&Number.isNaN(Number(r))||!(n===_.MINUS||n===_.PLUS))return!1;let i=e[t+1];if(i&&Number.isNaN(Number(i)))return!1;let a=e[t-1];return a&&a.toUpperCase()===`E`}_addSequenceArray(e,t,n){e==null||e.push({segment:this._segment,currentString:t,cur:n,currentLexerNode:this._currentLexerNode})}getNewFormulaWithPrefix(e,t){return null}getFormulaExprTree(e,t,n,r,i){return null}};function er(e,n,r,i,a,o,s){let c=(s==null?void 0:s.f)||``,l=(s==null?void 0:s.si)||``,u=(0,t.isFormulaString)(c),d=(0,t.isFormulaId)(l),f=e.getValue(a,o),p=(f==null?void 0:f.f)||``,m=(f==null?void 0:f.si)||``,h=(f==null?void 0:f.x)||0,g=(f==null?void 0:f.y)||0;function _(){if((0,t.isFormulaString)(p)&&(0,t.isFormulaId)(m)&&h===0&&g===0){var e;let t=r==null||(e=r[m])==null?void 0:e.f;t?i.set(m,t):i.set(m,p)}}u&&d?(m!==l&&_(),e.setValue(a,o,{f:c,si:l}),r[l]={f:c,r:a,c:o},n.setValue(a,o,{f:c,si:l})):u&&!d?(p!==c&&_(),e.setValue(a,o,{f:c}),n.setValue(a,o,{f:c})):!u&&d?(m!==l&&_(),e.setValue(a,o,{f:``,si:l})):!u&&!d&&e.getValue(a,o)&&(_(),e.realDeleteValue(a,o),n.setValue(a,o,null))}function tr(e,n,r,i){let a=e==null?void 0:e.getValue(r,i);if(a==null)return!0;let o=[];e.forValue((e,n,s)=>{e===r&&n===i||t.Rectangle.intersects(s,a)&&o.push(s)});let{startRow:s,startColumn:c,endRow:l,endColumn:u}=a;for(let e=s;e<=l;e++)for(let r=c;r<=u;r++){let i=!1,a=(0,t.cellToRange)(e,r);o.some(e=>t.Rectangle.contains(e,a)?(i=!0,!0):!1),i||n.realDeleteValue(e,r)}}let nr=class extends t.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._lexerTreeBuilder=t,d(this,`_arrayFormulaRange`,{}),d(this,`_arrayFormulaCellData`,{}),d(this,`_unitImageFormulaData`,{})}dispose(){super.dispose(),this._arrayFormulaRange={},this._arrayFormulaCellData={},this._unitImageFormulaData={}}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(n=>{let r=e[n];if(r==null)return!0;Object.keys(r).forEach(e=>{var i,a;let o=r[e],s=(i=this._arrayFormulaRange)==null||(i=i[n])==null?void 0:i[e];if(s==null)return!0;let c=new t.ObjectMatrix(s),l=new t.ObjectMatrix;if(((a=this._arrayFormulaCellData[n])==null?void 0:a[e])!=null){var u;l=new t.ObjectMatrix((u=this._arrayFormulaCellData[n])==null?void 0:u[e])}o.forValue((e,t)=>{let n=c.getValue(e,t);if(n==null)return!0;let{startRow:r,startColumn:i,endRow:a,endColumn:o}=n;for(let e=r;e<=a;e++)for(let t=i;t<=o;t++)l.setValue(e,t,null);c.realDeleteValue(e,t)}),this._arrayFormulaCellData[n]&&(this._arrayFormulaCellData[n][e]=l.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(n=>{let r=e[n];if(r==null)return!0;this._arrayFormulaRange[n]==null&&(this._arrayFormulaRange[n]={}),this._arrayFormulaCellData[n]==null&&(this._arrayFormulaCellData[n]={}),Object.keys(r).forEach(e=>{var i,a;let o=r[e],s=new t.ObjectMatrix((i=this._arrayFormulaRange[n])==null?void 0:i[e]),c=new t.ObjectMatrix((a=this._arrayFormulaCellData[n])==null?void 0:a[e]);o.forValue((e,t)=>{let n=s==null?void 0:s.getValue(e,t);if(n==null)return!0;let{startRow:r,startColumn:i,endRow:a,endColumn:o}=n;for(let e=r;e<=a;e++)for(let t=i;t<=o;t++)c.setValue(e,t,null)}),o.forValue((e,t,n)=>{c.setValue(e,t,n)}),this._arrayFormulaCellData[n]&&(this._arrayFormulaCellData[n][e]=c.getData())})})}getFormulaData(){let e={},n=this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET);return n.length===0||n.forEach(t=>{let n=t.getUnitId();e[n]={},t.getSheets().forEach(t=>{let r=t.getCellMatrix();rr(e,n,t.getSheetId(),r)})}),e}getSheetFormulaData(e,t){let n={},r=this._univerInstanceService.getUnit(e);if(r==null)return{};n[e]={};let i=r.getSheetBySheetId(t);return i==null?{}:(rr(n,e,t,i.getCellMatrix()),n[e][t])}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getUnitImageFormulaData(){return this._unitImageFormulaData}setUnitImageFormulaData(e){this._unitImageFormulaData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(n=>{let r=e[n];if(r==null)return!0;this._arrayFormulaRange[n]||(this._arrayFormulaRange[n]={}),Object.keys(r).forEach(e=>{var i;let a=new t.ObjectMatrix(r[e]),o=new t.ObjectMatrix((i=this._arrayFormulaRange[n])==null?void 0:i[e]);a.forValue((e,t,n)=>{o.setValue(e,t,n)}),this._arrayFormulaRange[n]&&(this._arrayFormulaRange[n][e]=o.getData())})})}mergeUnitImageFormulaData(e){let n=Object.keys(e);for(let r=0;r<n.length;r++){let i=n[r],a=e[i];if(!a)continue;this._unitImageFormulaData[i]||(this._unitImageFormulaData[i]={});let o=Object.keys(a);for(let e=0;e<o.length;e++){let n=o[e],r=a[n];r&&(this._unitImageFormulaData[i][n]||(this._unitImageFormulaData[i][n]=new t.ObjectMatrix),r.forValue((e,t,r)=>{this._unitImageFormulaData[i][n].setValue(e,t,r)}))}}}deleteArrayFormulaRange(e,n,r,i){var a;let o=(a=this._arrayFormulaRange[e])==null?void 0:a[n];if(o==null)return;let s=new t.ObjectMatrix(o);s.getValue(r,i)&&(s.realDeleteValue(r,i),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][n]=s.getData()))}getCalculateData(){let e=this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET),n={},r={},i={};for(let a of e){let e=a.getUnitId(),o=a.getSheets(),s={},c={};for(let e of o){let n=e.getSheetId(),r=e.getConfig();s[n]={cellData:new t.ObjectMatrix(r.cellData),rowCount:r.rowCount,columnCount:r.columnCount,rowData:r.rowData,columnData:r.columnData,defaultRowHeight:r.defaultRowHeight,defaultColumnWidth:r.defaultColumnWidth},c[e.getName()]=e.getSheetId()}n[e]=s,r[e]=a.getStyles(),i[e]=c}return{allUnitData:n,unitStylesData:r,unitSheetNameMap:i}}getHiddenRowsFiltered(){let e=this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET),n={};for(let r of e){let e=r.getUnitId(),i=r.getSheets();n[e]={};for(let r of i){let i=r.getSheetId();n[e][i]={};let a=r.getRowCount()-1,o={};for(let e=0;e<=a;e++)r.getRowVisible(e)||(o[e]={hd:t.BooleanNumber.TRUE});n[e][i]=o}}return n}updateFormulaData(e,n,r){let i=new t.ObjectMatrix(r),a=this._getSheetFormulaIdMap(e,n),o=new Map,s=this.getFormulaData();s[e]==null&&(s[e]={});let c=s[e];c[n]==null&&(c[n]={});let l=new t.ObjectMatrix(c[n]||{}),u=new t.ObjectMatrix;return i.forValue((e,t,n)=>{er(l,u,a,o,e,t,n)}),l.forValue((e,n,r)=>{let i=(r==null?void 0:r.f)||``,s=(r==null?void 0:r.si)||``;if((0,t.isFormulaId)(s)){let c=a==null?void 0:a[s],d=o.get(s);if(c&&!(0,t.isFormulaString)(i)){let t=c.f,r=n-c.c,i=e-c.r;l.setValue(e,n,{f:t,si:s,x:r,y:i}),u.setValue(e,n,{f:t,si:s,x:r,y:i})}else if(typeof d==`string`){let t=(r==null?void 0:r.x)||0,i=(r==null?void 0:r.y)||0,a=this._lexerTreeBuilder.moveFormulaRefOffset(d,t,i);o.set(s,{r:e,c:n,f:a}),l.setValue(e,n,{f:a,si:s}),u.setValue(e,n,{f:a,si:s})}else if(typeof d==`object`){let t=n-d.c,r=e-d.r;l.setValue(e,n,{f:d.f,si:s,x:t,y:r}),u.setValue(e,n,{f:d.f,si:s,x:t,y:r})}}}),u.getMatrix()}updateArrayFormulaRange(e,n,r){var i;let a=(i=this._arrayFormulaRange[e])==null?void 0:i[n];if(!a)return;let o=new t.ObjectMatrix(a);new t.ObjectMatrix(r).forValue((e,t,n)=>{o.realDeleteValue(e,t)})}updateArrayFormulaCellData(e,n,r){var i,a;let o=(i=this._arrayFormulaRange[e])==null?void 0:i[n];if(!o)return;let s=new t.ObjectMatrix(o),c=(a=this._arrayFormulaCellData[e])==null?void 0:a[n];if(!c)return;let l=new t.ObjectMatrix(c);new t.ObjectMatrix(r).forValue((e,t,n)=>{tr(s,l,e,t)})}updateImageFormulaData(e,n,r){var i;let a=(i=this._unitImageFormulaData[e])==null?void 0:i[n];a&&new t.ObjectMatrix(r).forValue((e,t)=>{a.realDeleteValue(e,t)})}getFormulaStringByCell(e,n,r,i){let a=this._univerInstanceService.getUnit(i);if(a==null)return null;let o=a.getSheetBySheetId(r);if(o==null)return null;let s=o.getCellMatrix(),c=s.getValue(e,n);if(c==null)return null;let{f:l,si:u}=c;if((0,t.isFormulaString)(l))return l;if((0,t.isFormulaId)(u)){let r=null;return s.forValue((i,a,o)=>{if(o==null)return!0;let{f:s,si:c}=o;if((0,t.isFormulaString)(s)&&u===c)return r=this._lexerTreeBuilder.moveFormulaRefOffset(s,n-a,e-i),!1}),r}return null}getFormulaDirtyRanges(){let e=this.getFormulaData(),n=[];for(let r in e){let i=e[r];if(!i)continue;let a=this._univerInstanceService.getUnit(r);if(a)for(let e in i){let o=i[e];if(!o)continue;let s=a.getSheetBySheetId(e);if(!s)continue;let c={};for(let e of Object.keys(o)){let n=Number(e);for(let e in o[n]){let r=Number(e),i=s.getCellRaw(n,r),a=(0,t.isFormulaString)(i==null?void 0:i.f)||(0,t.isFormulaId)(i==null?void 0:i.si),o=(i==null?void 0:i.v)===void 0||(i==null?void 0:i.v)===null||(i==null?void 0:i.v)===``;if(!(a&&o))continue;c[r]||(c[r]=[]);let l=c[r].slice(-1)[0];l&&l.endRow===n-1?l.endRow=n:c[r].push({startRow:n,endRow:n})}}for(let i in c){let a=c[i];for(let o=0;o<a.length;o++){let s=a[o];n.push({unitId:r,sheetId:e,range:{rangeType:t.RANGE_TYPE.NORMAL,startRow:s.startRow,endRow:s.endRow,startColumn:Number(i),endColumn:Number(i)}})}}}}return n}_getSheetFormulaIdMap(e,n){let r={},i=this._univerInstanceService.getUnit(e);if(i==null)return r;let a=i.getSheetBySheetId(n);return a==null||a.getCellMatrix().forValue((e,n,i)=>{if(i==null)return!0;let{f:a,si:o}=i;(0,t.isFormulaString)(a)&&(0,t.isFormulaId)(o)&&(r[o]={f:a,r:e,c:n})}),r}};nr=un([A(0,t.IUniverInstanceService),A(1,(0,t.Inject)($n))],nr);function rr(e,n,r,i){e[n]||(e[n]={}),e[n][r]||(e[n][r]={});let a=new Map,o=new t.ObjectMatrix(e[n][r]);i.forValue((e,n,r)=>{let i=(r==null?void 0:r.f)||``,s=(r==null?void 0:r.si)||``,c=(0,t.isFormulaString)(i),l=(0,t.isFormulaId)(s);c&&l?(o.setValue(e,n,{f:i,si:s}),a.set(s,{f:i,r:e,c:n})):c&&!l?o.setValue(e,n,{f:i}):!c&&l&&o.setValue(e,n,{f:``,si:s})}),o.forValue((e,n,r)=>{let i=(r==null?void 0:r.f)||``,s=(r==null?void 0:r.si)||``;if((0,t.isFormulaId)(s)&&!(0,t.isFormulaString)(i)){let t=a.get(s);if(t){let r=t.f,i=n-t.c,a=e-t.r;o.setValue(e,n,{f:r,si:s,x:i,y:a})}else o.realDeleteValue(e,n)}});let s=o.getMatrix();return{[n]:{[r]:s}}}let ir=class e{constructor(e,t){this.low=e,this.high=t}clone(){return new e(this.low,this.high)}get max(){return this.clone()}less_than(e){return this.low<e.low||this.low===e.low&&this.high<e.high}equal_to(e){return this.low===e.low&&this.high===e.high}intersect(e){return!this.not_intersect(e)}not_intersect(e){return this.high<e.low||e.high<this.low}merge(t){return new e(this.low===void 0?t.low:this.low<t.low?this.low:t.low,this.high===void 0?t.high:this.high>t.high?this.high:t.high)}output(){return[this.low,this.high]}static comparable_max(e,t){return e.merge(t)}static comparable_less_than(e,t){return e<t}};var ar=class{constructor(e=void 0,t=void 0,n=null,r=null,i=null,a=1){if(this.left=n,this.right=r,this.parent=i,this.color=a,this.item={key:e,value:t},e&&e instanceof Array&&e.length===2&&!Number.isNaN(e[0])&&!Number.isNaN(e[1])){let[t,n]=e;t>n&&([t,n]=[n,t]),this.item.key=new ir(t,n)}this.max=this.item.key?this.item.key.max:void 0}isNil(){return this.item.key===void 0&&this.item.value===void 0&&this.left===null&&this.right===null&&this.color===1}_value_less_than(e){return this.item.value&&e.item.value&&this.item.value.less_than?this.item.value.less_than(e.item.value):this.item.value<e.item.value}less_than(e){return this.item.value===this.item.key&&e.item.value===e.item.key?this.item.key.less_than(e.item.key):this.item.key.less_than(e.item.key)||this.item.key.equal_to(e.item.key)&&this._value_less_than(e)}_value_equal(e){return this.item.value&&e.item.value&&this.item.value.equal_to?this.item.value.equal_to(e.item.value):this.item.value===e.item.value}equal_to(e){return this.item.value===this.item.key&&e.item.value===e.item.key?this.item.key.equal_to(e.item.key):this.item.key.equal_to(e.item.key)&&this._value_equal(e)}intersect(e){return this.item.key.intersect(e.item.key)}copy_data(e){this.item.key=e.item.key,this.item.value=e.item.value}update_max(){if(this.max=this.item.key?this.item.key.max:void 0,this.right&&this.right.max){let e=this.item.key.constructor.comparable_max;this.max=e(this.max,this.right.max)}if(this.left&&this.left.max){let e=this.item.key.constructor.comparable_max;this.max=e(this.max,this.left.max)}}not_intersect_left_subtree(e){let t=this.item.key.constructor.comparable_less_than;return t(this.left.max.high===void 0?this.left.max:this.left.max.high,e.item.key.low)}not_intersect_right_subtree(e){let t=this.item.key.constructor.comparable_less_than,n=this.right.max.low===void 0?this.right.item.key.low:this.right.max.low;return t(e.item.key.high,n)}},or=class e{constructor(){this.root=null,this.nil_node=new ar}get size(){let e=0;return this.tree_walk(this.root,()=>e++),e}get keys(){let e=[];return this.tree_walk(this.root,t=>e.push(t.item.key.output?t.item.key.output():t.item.key)),e}get values(){let e=[];return this.tree_walk(this.root,t=>e.push(t.item.value)),e}get items(){let e=[];return this.tree_walk(this.root,t=>e.push({key:t.item.key.output?t.item.key.output():t.item.key,value:t.item.value})),e}isEmpty(){return this.root==null||this.root===this.nil_node}clear(){this.root=null}insert(e,t=e){if(e===void 0)return;let n=new ar(e,t,this.nil_node,this.nil_node,null,0);return this.tree_insert(n),this.recalc_max(n),n}exist(e,t=e){let n=new ar(e,t);return!!this.tree_search(this.root,n)}remove(e,t=e){let n=new ar(e,t),r=this.tree_search(this.root,n);return r&&this.tree_delete(r),r}search(e,t=(e,t)=>e===t?t.output():e){let n=new ar(e),r=[];return this.tree_search_interval(this.root,n,r),r.map(e=>t(e.item.value,e.item.key))}intersect_any(e){let t=new ar(e);return this.tree_find_any_interval(this.root,t)}forEach(e){this.tree_walk(this.root,t=>e(t.item.key,t.item.value))}map(t){let n=new e;return this.tree_walk(this.root,e=>n.insert(e.item.key,t(e.item.value,e.item.key))),n}*iterate(e,t=(e,t)=>e===t?t.output():e){let n;for(e?n=this.tree_search_nearest_forward(this.root,new ar(e)):this.root&&(n=this.local_minimum(this.root));n;)yield t(n.item.value,n.item.key),n=this.tree_successor(n)}recalc_max(e){let t=e;for(;t.parent!=null;)t.parent.update_max(),t=t.parent}tree_insert(e){let t=this.root,n=null;if(this.root==null||this.root===this.nil_node)this.root=e;else{for(;t!==this.nil_node;)n=t,t=e.less_than(t)?t.left:t.right;e.parent=n,e.less_than(n)?n.left=e:n.right=e}this.insert_fixup(e)}insert_fixup(e){let t,n;for(t=e;t!==this.root&&t.parent.color===0;)t.parent===t.parent.parent.left?(n=t.parent.parent.right,n.color===0?(t.parent.color=1,n.color=1,t.parent.parent.color=0,t=t.parent.parent):(t===t.parent.right&&(t=t.parent,this.rotate_left(t)),t.parent.color=1,t.parent.parent.color=0,this.rotate_right(t.parent.parent))):(n=t.parent.parent.left,n.color===0?(t.parent.color=1,n.color=1,t.parent.parent.color=0,t=t.parent.parent):(t===t.parent.left&&(t=t.parent,this.rotate_right(t)),t.parent.color=1,t.parent.parent.color=0,this.rotate_left(t.parent.parent)));this.root.color=1}tree_delete(e){let t,n;t=e.left===this.nil_node||e.right===this.nil_node?e:this.tree_successor(e),n=t.left===this.nil_node?t.right:t.left,n.parent=t.parent,t===this.root?this.root=n:(t===t.parent.left?t.parent.left=n:t.parent.right=n,t.parent.update_max()),this.recalc_max(n),t!==e&&(e.copy_data(t),e.update_max(),this.recalc_max(e)),t.color===1&&this.delete_fixup(n)}delete_fixup(e){let t=e,n;for(;t!==this.root&&t.parent!=null&&t.color===1;)t===t.parent.left?(n=t.parent.right,n.color===0&&(n.color=1,t.parent.color=0,this.rotate_left(t.parent),n=t.parent.right),n.left.color===1&&n.right.color===1?(n.color=0,t=t.parent):(n.right.color===1&&(n.color=0,n.left.color=1,this.rotate_right(n),n=t.parent.right),n.color=t.parent.color,t.parent.color=1,n.right.color=1,this.rotate_left(t.parent),t=this.root)):(n=t.parent.left,n.color===0&&(n.color=1,t.parent.color=0,this.rotate_right(t.parent),n=t.parent.left),n.left.color===1&&n.right.color===1?(n.color=0,t=t.parent):(n.left.color===1&&(n.color=0,n.right.color=1,this.rotate_left(n),n=t.parent.left),n.color=t.parent.color,t.parent.color=1,n.left.color=1,this.rotate_right(t.parent),t=this.root));t.color=1}tree_search(e,t){if(!(e==null||e===this.nil_node))return t.equal_to(e)?e:t.less_than(e)?this.tree_search(e.left,t):this.tree_search(e.right,t)}tree_search_nearest_forward(e,t){let n,r=e;for(;r&&r!==this.nil_node;)r.less_than(t)?r.intersect(t)?(n=r,r=r.left):r=r.right:((!n||r.less_than(n))&&(n=r),r=r.left);return n||null}tree_search_interval(e,t,n){e!=null&&e!==this.nil_node&&(e.left!==this.nil_node&&!e.not_intersect_left_subtree(t)&&this.tree_search_interval(e.left,t,n),e.intersect(t)&&n.push(e),e.right!==this.nil_node&&!e.not_intersect_right_subtree(t)&&this.tree_search_interval(e.right,t,n))}tree_find_any_interval(e,t){let n=!1;return e!=null&&e!==this.nil_node&&(e.left!==this.nil_node&&!e.not_intersect_left_subtree(t)&&(n=this.tree_find_any_interval(e.left,t)),n||(n=e.intersect(t)),!n&&e.right!==this.nil_node&&!e.not_intersect_right_subtree(t)&&(n=this.tree_find_any_interval(e.right,t))),n}local_minimum(e){let t=e;for(;t.left!=null&&t.left!==this.nil_node;)t=t.left;return t}local_maximum(e){let t=e;for(;t.right!=null&&t.right!==this.nil_node;)t=t.right;return t}tree_successor(e){let t,n,r;if(e.right!==this.nil_node)t=this.local_minimum(e.right);else{for(n=e,r=e.parent;r!=null&&r.right===n;)n=r,r=r.parent;t=r}return t}rotate_left(e){let t=e.right;e.right=t.left,t.left!==this.nil_node&&(t.left.parent=e),t.parent=e.parent,e===this.root?this.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t,e!=null&&e!==this.nil_node&&e.update_max(),t=e.parent,t!=null&&t!==this.nil_node&&t.update_max()}rotate_right(e){let t=e.left;e.left=t.right,t.right!==this.nil_node&&(t.right.parent=e),t.parent=e.parent,e===this.root?this.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.right=e,e.parent=t,e!==null&&e!==this.nil_node&&e.update_max(),t=e.parent,t!=null&&t!==this.nil_node&&t.update_max()}tree_walk(e,t){e!=null&&e!==this.nil_node&&(this.tree_walk(e.left,t),t(e),this.tree_walk(e.right,t))}testRedBlackProperty(){let e=!0;return this.tree_walk(this.root,function(t){t.color===0&&(t.left.color===1&&t.right.color===1||(e=!1))}),e}testBlackHeightProperty(e){let t=0,n=0,r=0;if(e.color===1&&t++,n=e.left===this.nil_node?1:this.testBlackHeightProperty(e.left),r=e.right===this.nil_node?1:this.testBlackHeightProperty(e.right),n!==r)throw Error(`Red-black height property violated`);return t+=n,t}};let sr=Symbol(`EMPTY_CELL`),cr=new class{constructor(){d(this,`_cache`,new Map),d(this,`_continueBuildingCache`,new Map)}set(e,t,n,r,i,a=!1){if(!this.shouldContinueBuildingCache(e,t,n,i)&&!a)return;let o=this._cache.get(e);o==null&&(o=new Map,this._cache.set(e,o));let s=o.get(t);s==null&&(s=new Map,o.set(t,s));let c=s.get(n);if(c==null&&(c=new Map,s.set(n,c)),a){for(let[e,t]of c)if(t.has(i)){t.delete(i);break}}let l=typeof r==`string`?r.toLowerCase():r;(l===``||l===null)&&(l=sr);let u=c.get(l);u==null&&(u=new Set,c.set(l,u)),u.add(i)}getCellValuePositions(e,t,n){var r;return(r=this._cache.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}getCellPositions(e,t,n,r,i){var a;let o=typeof r==`string`?r.toLowerCase():r;(o===``||o===null)&&(o=sr);let s=(a=this._cache.get(e))==null||(a=a.get(t))==null||(a=a.get(n))==null?void 0:a.get(o);return s&&[...s].filter(e=>i.some(([t,n])=>e>=t&&e<=n))}setContinueBuildingCache(e,t,n,r,i){if(n===-1||r===-1||i===-1)return;let a=this._continueBuildingCache.get(e);a==null&&(a=new Map,this._continueBuildingCache.set(e,a));let o=a.get(t);o==null&&(o=new Map,a.set(t,o));let s=o.get(n);if(s==null){s=new or,s.insert([r,i]),o.set(n,s);return}this._handleNewInterval(s,r,i)}shouldContinueBuildingCache(e,t,n,r){var i;if(n===-1||r===-1)return!1;let a=(i=this._continueBuildingCache.get(e))==null||(i=i.get(t))==null?void 0:i.get(n);return a?a.search([r,r]).length===0:!0}canUseCache(e,t,n,r,i){var a;let o=(a=this._continueBuildingCache.get(e))==null||(a=a.get(t))==null?void 0:a.get(n);if(n===-1||r===-1||i===-1||!o)return{rowsInCache:[],rowsNotInCache:[]};let s=o.search([r,i]);if(s.length===0)return{rowsInCache:[],rowsNotInCache:[]};s.sort((e,t)=>e[0]-t[0]);let c=[],l=[],u=r;for(let e=0;e<s.length;e++){let[t,n]=s[e];if(u>=t){if(i<=n){c.push([u,i]);break}c.push([u,n]),u=n+1,e===s.length-1&&u<=i&&l.push([u,i])}else{if(i>n){c.push([t,n]),l.push([u,t-1]),u=n+1,e===s.length-1&&u<=i&&l.push([u,i]);continue}c.push([t,i]),l.push([u,t-1])}}return{rowsInCache:c,rowsNotInCache:l}}clear(){this._cache.clear(),this._continueBuildingCache.clear()}_handleNewInterval(e,t,n){let r=e.search([t,n]);if(r.length===0){let i=[t-1<0?0:t-1,n+1];if(r=e.search(i),r.length===0){e.insert([t,n]);return}}let i=t,a=n;for(let t of r)i=Math.min(i,t[0]),a=Math.max(a,t[1]),e.remove(t);e.insert([i,a])}};var lr=class extends t.Disposable{constructor(...e){super(...e),d(this,`_getRowFilteredCallback`,void 0)}register(e){this._getRowFilteredCallback=e}getRowFiltered(e,t,n){var r;return this._getRowFilteredCallback?(r=this._getRowFilteredCallback(e,t,n))==null?!1:r:!1}};let ur=(0,t.createIdentifier)(`univer.formula.sheet-row-filtered.service`),dr=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._localeService=t,this._formulaDataModel=n,this._sheetRowFilteredService=r,d(this,`_unitData`,{}),d(this,`_unitStylesData`,{}),d(this,`_arrayFormulaCellData`,{}),d(this,`_arrayFormulaRange`,{}),d(this,`_formulaData`,{}),d(this,`_sheetNameMap`,{}),d(this,`_forceCalculate`,!1),d(this,`_clearDependencyTreeCache`,{}),d(this,`_dirtyRanges`,[]),d(this,`_dirtyNameMap`,{}),d(this,`_dirtyDefinedNameMap`,{}),d(this,`_dirtyUnitFeatureMap`,{}),d(this,`_dirtyUnitOtherFormulaMap`,{}),d(this,`_excludedCell`,void 0),d(this,`_sheetIdToNameMap`,{}),d(this,`_executeUnitId`,``),d(this,`_executeSubUnitId`,``)}dispose(){super.dispose(),this._unitData={},this._unitStylesData={},this._arrayFormulaCellData={},this._arrayFormulaRange={},this._formulaData={},this._sheetNameMap={},this._clearDependencyTreeCache={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._dirtyUnitOtherFormulaMap={},this._excludedCell={},this._sheetIdToNameMap={}}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}getArrayFormulaRange(){return this._arrayFormulaRange}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]||``}setSheetNameMap(e){this._sheetIdToNameMap=e}getClearDependencyTreeCache(){return this._clearDependencyTreeCache}getLocale(){return this._localeService.getCurrentLocale()}getSheetsInfo(){let{id:e,sheetOrder:n}=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET).getSnapshot();return{sheetOrder:n,sheetNameMap:this._sheetIdToNameMap[e]}}getSheetRowColumnCount(e,t){let n=this._univerInstanceService.getUnit(e),r=n==null?void 0:n.getSheetBySheetId(t),i=r==null?void 0:r.getSnapshot();if(!i)return{rowCount:0,columnCount:0};let{rowCount:a,columnCount:o}=i;return{rowCount:a,columnCount:o}}getFilteredOutRows(e,t,n,r){let i=[];for(let a=n;a<=r;a++)this._sheetRowFilteredService.getRowFiltered(e,t,a)&&i.push(a);return i}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{let{allUnitData:e,unitSheetNameMap:t,unitStylesData:n}=this._loadSheetData();this._unitData=e,this._unitStylesData=n,this._sheetNameMap=t}e.rowData&&this._applyUnitRowData(e.rowData),this._formulaData=e.formulaData,this._arrayFormulaCellData=At(e.arrayFormulaCellData),this._arrayFormulaRange=e.arrayFormulaRange,this._forceCalculate=e.forceCalculate,this._clearDependencyTreeCache=e.clearDependencyTreeCache||{},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)}loadDataLite(e){let{allUnitData:t,unitSheetNameMap:n,unitStylesData:r}=this._loadSheetData();this._unitData=t,this._unitStylesData=r,this._sheetNameMap=n,this._formulaData=this._formulaDataModel.getFormulaData(),this._arrayFormulaCellData=At(this._formulaDataModel.getArrayFormulaCellData()),this._arrayFormulaRange=this._formulaDataModel.getArrayFormulaRange(),e&&this._applyUnitRowData(e)}getDirtyData(){return{forceCalculation:this._forceCalculate,dirtyRanges:this._dirtyRanges,dirtyNameMap:this._dirtyNameMap,dirtyDefinedNameMap:this._dirtyDefinedNameMap,dirtyUnitFeatureMap:this._dirtyUnitFeatureMap,dirtyUnitOtherFormulaMap:this._dirtyUnitOtherFormulaMap,clearDependencyTreeCache:this._clearDependencyTreeCache}}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(n=>{t[n]&&Object.keys(t[n]).forEach(r=>{e[n]==null&&(e[n]={}),e[n][t[n][r]]=r})}),this._sheetIdToNameMap={},Object.keys(e).forEach(t=>{Object.keys(e[t]).forEach(n=>{this._sheetIdToNameMap[t]==null&&(this._sheetIdToNameMap[t]={}),this._sheetIdToNameMap[t][e[t][n]]=n})})}_loadSheetData(){let e=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),n=e==null?void 0:e.getActiveSheet();return this._executeUnitId=e==null?void 0:e.getUnitId(),this._executeSubUnitId=n==null?void 0:n.getSheetId(),this._formulaDataModel.getCalculateData()}_applyUnitRowData(e){for(let n in e)if(e[n]!=null)for(let r in e[n])e[n][r]!=null&&(this._unitData[n]==null&&(this._unitData[n]={}),this._unitData[n][r]==null&&(this._unitData[n][r]={cellData:new t.ObjectMatrix({}),rowCount:0,columnCount:0,rowData:{},columnData:{}}),this._unitData[n][r].rowData=e[n][r])}};dr=un([A(0,t.IUniverInstanceService),A(1,(0,t.Inject)(t.LocaleService)),A(2,(0,t.Inject)(nr)),A(3,(0,t.Inject)(ur))],dr);let fr=(0,t.createIdentifier)(`univer.formula.current-data.service`),pr=class extends t.Disposable{constructor(e,t,n){super(),this._definedNamesService=e,this._lexerTreeBuilder=t,this._formulaCurrentConfigService=n}treeBuilder(e,t=!0){let n=this._definedNamesService.getAllDefinedNames();return this._isDeepDefinedNameMapEmpty(n)?this._lexerTreeBuilder.treeBuilder(e,t):this._lexerTreeBuilder.treeBuilder(e,t,{unitId:this._formulaCurrentConfigService.getExecuteUnitId(),getValueByName:this._definedNamesService.getValueByName.bind(this._definedNamesService),getDirtyDefinedNameMap:this._formulaCurrentConfigService.getDirtyDefinedNameMap.bind(this._formulaCurrentConfigService),getSheetName:this._formulaCurrentConfigService.getSheetName.bind(this._formulaCurrentConfigService)})}_isDeepDefinedNameMapEmpty(e){for(let t in e)if(Object.keys(e[t]).length>0)return!1;return!0}};pr=un([A(0,fn),A(1,(0,t.Inject)($n)),A(2,fr)],pr);function mr(e){if(e==null)return!0;let{v:t,f:n,si:r,p:i}=e;return!(!(t==null||typeof t==`string`&&t.length===0)||n!=null&&n.length>0||r!=null&&r.length>0||i!=null)}function hr(e){var n;if(e===null)return 0;if(e!=null&&e.p){let n=e==null?void 0:e.p.body;if(n==null)return 0;let r=n.dataStream;return t.BuildTextUtils.transform.getPlainText(r)}return(n=e==null?void 0:e.v)==null?0:n}function gr(e,n=!1){return!n&&!((0,t.isFormulaString)(e==null?void 0:e.f)||(0,t.isFormulaId)(e==null?void 0:e.si))?null:typeof(e==null?void 0:e.v)==`string`&&m.has(e.v)?e.v:null}function _r(e,t,n,r,i){let a=Object.keys(i);for(let s of a){var o;let a=i[s],c=a==null||(o=a[r])==null?void 0:o[n];if(c==null)continue;let l=c.getValue(e,t);if(l!=null)return l}}let vr=function(e){return e[e.MIN=0]=`MIN`,e[e.MAX=1]=`MAX`,e}({}),yr=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.MIN=1]=`MIN`,e[e.MAX=2]=`MAX`,e}({});function br(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(e,t)=>e.localeCompare(t)}function xr(e){return e.indexOf(`*`)>-1||e.indexOf(`?`)>-1}function Sr(e,t){let n=Tr(t).replace(/~?[*?]/g,e=>e.startsWith(`~`)?`\\${e.substring(1)}`:e===`*`?`.*`:e===`?`?`.`:e);return RegExp(`^${n}$`).test(e)}function Cr(e){return e.replace(/~?[*?]/g,e=>e.startsWith(`~`)?e.substring(1):` `)}function wr(e,t,n){let r=!1;switch(n){case v.EQUALS:r=Sr(e,t);break;case v.NOT_EQUAL:r=!Sr(e,t);break;case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:r=Sr(e,t)||e>Cr(t);break;case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:r=e<Cr(t);break;default:break}return r}function Tr(e){return e.replace(/[.+^${}()|[\]\\]/g,`\\$&`)}function Er(e){switch(e){case 1:return yr.MAX;case 0:return yr.NORMAL;case-1:return yr.MIN;default:return yr.NORMAL}}function Dr(e){return e===-2?vr.MAX:vr.MIN}var Or=function(e){return e[e.General=0]=`General`,e[e.Number=1]=`Number`,e[e.Currency=2]=`Currency`,e[e.Accounting=3]=`Accounting`,e[e.Date=4]=`Date`,e[e.Time=5]=`Time`,e[e.Percentage=6]=`Percentage`,e[e.Fraction=7]=`Fraction`,e[e.Scientific=8]=`Scientific`,e[e.Text=9]=`Text`,e[e.Special=10]=`Special`,e[e.Custom=11]=`Custom`,e}(Or||{});Or.Currency,Or.Date,Or.Time,Or.Custom,Or.Fraction,Or.General,Or.Custom,Or.Number,Or.Percentage,Or.Scientific,Or.Text,Or.Time,Or.Custom;function kr(e,t,n){var r,i;if(e==null||t==null)return t;let a=(n==null?void 0:n.getStyleByCell(e))||e.s,o=(n==null?void 0:n.getStyleByCell(t))||t.s;if(a==null||o==null||typeof a!=`object`||typeof o!=`object`)return t;let s=a==null||(r=a.n)==null?void 0:r.pattern,c=o==null||(i=o.n)==null?void 0:i.pattern;if(s==null||c==null)return t;let l=s||c;return o.n.pattern=l,t}let Ar=new f(1e5);function jr(){Ar.clear()}let Mr=new Map([[t.LocaleType.EN_US,`$`],[t.LocaleType.RU_RU,`₽`],[t.LocaleType.VI_VN,`₫`],[t.LocaleType.ZH_CN,`¥`],[t.LocaleType.ZH_TW,`NT$`],[t.LocaleType.FR_FR,`€`],[t.LocaleType.FA_IR,`﷼`],[t.LocaleType.KO_KR,`₩`],[t.LocaleType.ES_ES,`€`],[t.LocaleType.CA_ES,`€`]]);function Nr(e){return Mr.get(e)||`$`}function Pr(e,t=2){let n=t;t>127&&(n=127);let r=``;return n>0&&(r=`.${`0`.repeat(n)}`),`"${Nr(e)}"#,##0${r}_);[Red]("${Nr(e)}"#,##0${r})`}function Fr(e,n,r=2){return t.numfmt.format(Pr(e,r),n)}let Ir=new f(1e5);function Lr(e){let n=e;n.startsWith(`"`)&&n.endsWith(`"`)&&(n=n.slice(1,-1));let r=Ir.get(n);if(r)return{isNumberPattern:!0,value:r.value,pattern:r.pattern};let i=(0,t.getNumfmtParseValueFilter)(n);return i&&i.z?Rr(n,i.v,i.z):{isNumberPattern:!1}}function Rr(e,t,n){return Ir.set(e,{value:t,pattern:n}),{isNumberPattern:!0,value:t,pattern:n}}function zr(){Ir.clear()}function Br(e){let t;switch(e){case v.EQUALS:t=v.EQUALS;break;case v.GREATER_THAN:t=v.LESS_THAN;break;case v.GREATER_THAN_OR_EQUAL:t=v.LESS_THAN_OR_EQUAL;break;case v.LESS_THAN:t=v.GREATER_THAN;break;case v.LESS_THAN_OR_EQUAL:t=v.GREATER_THAN_OR_EQUAL;break;case v.NOT_EQUAL:t=v.NOT_EQUAL;break}return t}
|
|
2
|
+
/*!
|
|
3
|
+
* decimal.js v10.6.0
|
|
4
|
+
* An arbitrary-precision Decimal type for JavaScript.
|
|
5
|
+
* https://github.com/MikeMcl/decimal.js
|
|
6
|
+
* Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
|
|
7
|
+
* MIT Licence
|
|
8
|
+
*/
|
|
9
|
+
var Vr=9e15,Hr=1e9,Ur=`0123456789abcdef`,Wr=`2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058`,Gr=`3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789`,Kr={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Vr,maxE:Vr,crypto:!1},qr,Jr,M=!0,Yr=`[DecimalError] `,Xr=Yr+`Invalid argument: `,Zr=Yr+`Precision limit exceeded`,Qr=Yr+`crypto unavailable`,$r=`[object Decimal]`,ei=Math.floor,ti=Math.pow,ni=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ri=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,ii=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ai=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,oi=1e7,N=7,si=9007199254740991,ci=Wr.length-1,li=Gr.length-1,P={toStringTag:$r};P.absoluteValue=P.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),F(e)},P.ceil=function(){return F(new this.constructor(this),this.e+1,2)},P.clampedTo=P.clamp=function(e,t){var n,r=this,i=r.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(Xr+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)},P.comparedTo=P.cmp=function(e){var t,n,r,i,a=this,o=a.d,s=(e=new a.constructor(e)).d,c=a.s,l=e.s;if(!o||!s)return!c||!l?NaN:c===l?o===s?0:!o^c<0?1:-1:c;if(!o[0]||!s[0])return o[0]?c:s[0]?-l:0;if(c!==l)return c;if(a.e!==e.e)return a.e>e.e^c<0?1:-1;for(r=o.length,i=s.length,t=0,n=r<i?r:i;t<n;++t)if(o[t]!==s[t])return o[t]>s[t]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1},P.cosine=P.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+N,r.rounding=1,n=mi(r,Ni(r,n)),r.precision=e,r.rounding=t,F(Jr==2||Jr==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)},P.cubeRoot=P.cbrt=function(){var e,t,n,r,i,a,o,s,c,l,u=this,d=u.constructor;if(!u.isFinite()||u.isZero())return new d(u);for(M=!1,a=u.s*ti(u.s*u,1/3),!a||Math.abs(a)==1/0?(n=ui(u.d),e=u.e,(a=(e-n.length+1)%3)&&(n+=a==1||a==-2?`0`:`00`),a=ti(n,1/3),e=ei((e+1)/3)-(e%3==(e<0?-1:2)),a==1/0?n=`5e`+e:(n=a.toExponential(),n=n.slice(0,n.indexOf(`e`)+1)+e),r=new d(n),r.s=u.s):r=new d(a.toString()),o=(e=d.precision)+3;;)if(s=r,c=s.times(s).times(s),l=c.plus(u),r=hi(l.plus(u).times(s),l.plus(c),o+2,1),ui(s.d).slice(0,o)===(n=ui(r.d)).slice(0,o))if(n=n.slice(o-3,o+1),n==`9999`||!i&&n==`4999`){if(!i&&(F(s,e+1,0),s.times(s).times(s).eq(u))){r=s;break}o+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)==`5`)&&(F(r,e+1,1),t=!r.times(r).times(r).eq(u));break}return M=!0,F(r,e,d.rounding,t)},P.decimalPlaces=P.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-ei(this.e/N))*N,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n},P.dividedBy=P.div=function(e){return hi(this,new this.constructor(e))},P.dividedToIntegerBy=P.divToInt=function(e){var t=this,n=t.constructor;return F(hi(t,new n(e),0,1,1),n.precision,n.rounding)},P.equals=P.eq=function(e){return this.cmp(e)===0},P.floor=function(){return F(new this.constructor(this),this.e+1,3)},P.greaterThan=P.gt=function(e){return this.cmp(e)>0},P.greaterThanOrEqualTo=P.gte=function(e){var t=this.cmp(e);return t==1||t===0},P.hyperbolicCosine=P.cosh=function(){var e,t,n,r,i,a=this,o=a.constructor,s=new o(1);if(!a.isFinite())return new o(a.s?1/0:NaN);if(a.isZero())return s;n=o.precision,r=o.rounding,o.precision=n+Math.max(a.e,a.sd())+4,o.rounding=1,i=a.d.length,i<32?(e=Math.ceil(i/3),t=(1/Mi(4,e)).toString()):(e=16,t=`2.3283064365386962890625e-10`),a=ji(o,1,a.times(t),new o(1),!0);for(var c,l=e,u=new o(8);l--;)c=a.times(a),a=s.minus(c.times(u.minus(c.times(u))));return F(a,o.precision=n,o.rounding=r,!0)},P.hyperbolicSine=P.sinh=function(){var e,t,n,r,i=this,a=i.constructor;if(!i.isFinite()||i.isZero())return new a(i);if(t=a.precision,n=a.rounding,a.precision=t+Math.max(i.e,i.sd())+4,a.rounding=1,r=i.d.length,r<3)i=ji(a,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/Mi(5,e)),i=ji(a,2,i,i,!0);for(var o,s=new a(5),c=new a(16),l=new a(20);e--;)o=i.times(i),i=i.times(s.plus(o.times(c.times(o).plus(l))))}return a.precision=t,a.rounding=n,F(i,t,n,!0)},P.hyperbolicTangent=P.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,hi(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)},P.inverseCosine=P.acos=function(){var e=this,t=e.constructor,n=e.abs().cmp(1),r=t.precision,i=t.rounding;return n===-1?e.isZero()?yi(t,r+4,i).times(.5):(t.precision=r+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=r,t.rounding=i,e.times(2)):n===0?e.isNeg()?yi(t,r,i):new t(0):new t(NaN)},P.inverseHyperbolicCosine=P.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,M=!1,n=n.times(n).minus(1).sqrt().plus(n),M=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)},P.inverseHyperbolicSine=P.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,M=!1,n=n.times(n).plus(1).sqrt().plus(n),M=!0,r.precision=e,r.rounding=t,n.ln())},P.inverseHyperbolicTangent=P.atanh=function(){var e,t,n,r,i=this,a=i.constructor;return i.isFinite()?i.e>=0?new a(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=a.precision,t=a.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?F(new a(i),e,t,!0):(a.precision=n=r-i.e,i=hi(i.plus(1),new a(1).minus(i),n+e,1),a.precision=e+4,a.rounding=1,i=i.ln(),a.precision=e,a.rounding=t,i.times(.5))):new a(NaN)},P.inverseSine=P.asin=function(){var e,t,n,r,i=this,a=i.constructor;return i.isZero()?new a(i):(t=i.abs().cmp(1),n=a.precision,r=a.rounding,t===-1?(a.precision=n+6,a.rounding=1,i=i.div(new a(1).minus(i.times(i)).sqrt().plus(1)).atan(),a.precision=n,a.rounding=r,i.times(2)):t===0?(e=yi(a,n+4,r).times(.5),e.s=i.s,e):new a(NaN))},P.inverseTangent=P.atan=function(){var e,t,n,r,i,a,o,s,c,l=this,u=l.constructor,d=u.precision,f=u.rounding;if(!l.isFinite()){if(!l.s)return new u(NaN);if(d+4<=li)return o=yi(u,d+4,f).times(.5),o.s=l.s,o}else if(l.isZero())return new u(l);else if(l.abs().eq(1)&&d+4<=li)return o=yi(u,d+4,f).times(.25),o.s=l.s,o;for(u.precision=s=d+10,u.rounding=1,n=Math.min(28,s/N+2|0),e=n;e;--e)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(M=!1,t=Math.ceil(s/N),r=1,c=l.times(l),o=new u(l),i=l;e!==-1;)if(i=i.times(c),a=o.minus(i.div(r+=2)),i=i.times(c),o=a.plus(i.div(r+=2)),o.d[t]!==void 0)for(e=t;o.d[e]===a.d[e]&&e--;);return n&&(o=o.times(2<<n-1)),M=!0,F(o,u.precision=d,u.rounding=f,!0)},P.isFinite=function(){return!!this.d},P.isInteger=P.isInt=function(){return!!this.d&&ei(this.e/N)>this.d.length-2},P.isNaN=function(){return!this.s},P.isNegative=P.isNeg=function(){return this.s<0},P.isPositive=P.isPos=function(){return this.s>0},P.isZero=function(){return!!this.d&&this.d[0]===0},P.lessThan=P.lt=function(e){return this.cmp(e)<0},P.lessThanOrEqualTo=P.lte=function(e){return this.cmp(e)<1},P.logarithm=P.log=function(e){var t,n,r,i,a,o,s,c,l=this,u=l.constructor,d=u.precision,f=u.rounding,p=5;if(e==null)e=new u(10),t=!0;else{if(e=new u(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new u(NaN);t=e.eq(10)}if(n=l.d,l.s<0||!n||!n[0]||l.eq(1))return new u(n&&!n[0]?-1/0:l.s==1?n?0:1/0:NaN);if(t)if(n.length>1)a=!0;else{for(i=n[0];i%10==0;)i/=10;a=i!==1}if(M=!1,s=d+p,o=Ei(l,s),r=t?vi(u,s+10):Ei(e,s),c=hi(o,r,s,1),fi(c.d,i=d,f))do if(s+=10,o=Ei(l,s),r=t?vi(u,s+10):Ei(e,s),c=hi(o,r,s,1),!a){+ui(c.d).slice(i+1,i+15)+1==0x5af3107a4000&&(c=F(c,d+1,0));break}while(fi(c.d,i+=10,f));return M=!0,F(c,d,f)},P.minus=P.sub=function(e){var t,n,r,i,a,o,s,c,l,u,d,f,p=this,m=p.constructor;if(e=new m(e),!p.d||!e.d)return!p.s||!e.s?e=new m(NaN):p.d?e.s=-e.s:e=new m(e.d||p.s!==e.s?p:NaN),e;if(p.s!=e.s)return e.s=-e.s,p.plus(e);if(l=p.d,f=e.d,s=m.precision,c=m.rounding,!l[0]||!f[0]){if(f[0])e.s=-e.s;else if(l[0])e=new m(p);else return new m(c===3?-0:0);return M?F(e,s,c):e}if(n=ei(e.e/N),u=ei(p.e/N),l=l.slice(),a=u-n,a){for(d=a<0,d?(t=l,a=-a,o=f.length):(t=f,n=u,o=l.length),r=Math.max(Math.ceil(s/N),o)+2,a>r&&(a=r,t.length=1),t.reverse(),r=a;r--;)t.push(0);t.reverse()}else{for(r=l.length,o=f.length,d=r<o,d&&(o=r),r=0;r<o;r++)if(l[r]!=f[r]){d=l[r]<f[r];break}a=0}for(d&&(t=l,l=f,f=t,e.s=-e.s),o=l.length,r=f.length-o;r>0;--r)l[o++]=0;for(r=f.length;r>a;){if(l[--r]<f[r]){for(i=r;i&&l[--i]===0;)l[i]=oi-1;--l[i],l[r]+=oi}l[r]-=f[r]}for(;l[--o]===0;)l.pop();for(;l[0]===0;l.shift())--n;return l[0]?(e.d=l,e.e=_i(l,n),M?F(e,s,c):e):new m(c===3?-0:0)},P.modulo=P.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?F(new r(n),r.precision,r.rounding):(M=!1,r.modulo==9?(t=hi(n,e.abs(),0,3,1),t.s*=e.s):t=hi(n,e,0,r.modulo,1),t=t.times(e),M=!0,n.minus(t))},P.naturalExponential=P.exp=function(){return Ti(this)},P.naturalLogarithm=P.ln=function(){return Ei(this)},P.negated=P.neg=function(){var e=new this.constructor(this);return e.s=-e.s,F(e)},P.plus=P.add=function(e){var t,n,r,i,a,o,s,c,l,u,d=this,f=d.constructor;if(e=new f(e),!d.d||!e.d)return!d.s||!e.s?e=new f(NaN):d.d||(e=new f(e.d||d.s===e.s?d:NaN)),e;if(d.s!=e.s)return e.s=-e.s,d.minus(e);if(l=d.d,u=e.d,s=f.precision,c=f.rounding,!l[0]||!u[0])return u[0]||(e=new f(d)),M?F(e,s,c):e;if(a=ei(d.e/N),r=ei(e.e/N),l=l.slice(),i=a-r,i){for(i<0?(n=l,i=-i,o=u.length):(n=u,r=a,o=l.length),a=Math.ceil(s/N),o=a>o?a+1:o+1,i>o&&(i=o,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(o=l.length,i=u.length,o-i<0&&(i=o,n=u,u=l,l=n),t=0;i;)t=(l[--i]=l[i]+u[i]+t)/oi|0,l[i]%=oi;for(t&&(l.unshift(t),++r),o=l.length;l[--o]==0;)l.pop();return e.d=l,e.e=_i(l,r),M?F(e,s,c):e},P.precision=P.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Xr+e);return n.d?(t=bi(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t},P.round=function(){var e=this,t=e.constructor;return F(new t(e),e.e+1,t.rounding)},P.sine=P.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+N,r.rounding=1,n=Ai(r,Ni(r,n)),r.precision=e,r.rounding=t,F(Jr>2?n.neg():n,e,t,!0)):new r(NaN)},P.squareRoot=P.sqrt=function(){var e,t,n,r,i,a,o=this,s=o.d,c=o.e,l=o.s,u=o.constructor;if(l!==1||!s||!s[0])return new u(!l||l<0&&(!s||s[0])?NaN:s?o:1/0);for(M=!1,l=Math.sqrt(+o),l==0||l==1/0?(t=ui(s),(t.length+c)%2==0&&(t+=`0`),l=Math.sqrt(t),c=ei((c+1)/2)-(c<0||c%2),l==1/0?t=`5e`+c:(t=l.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+c),r=new u(t)):r=new u(l.toString()),n=(c=u.precision)+3;;)if(a=r,r=a.plus(hi(o,a,n+2,1)).times(.5),ui(a.d).slice(0,n)===(t=ui(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t==`9999`||!i&&t==`4999`){if(!i&&(F(a,c+1,0),a.times(a).eq(o))){r=a;break}n+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)==`5`)&&(F(r,c+1,1),e=!r.times(r).eq(o));break}return M=!0,F(r,c,u.rounding,e)},P.tangent=P.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=hi(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,F(Jr==2||Jr==4?n.neg():n,e,t,!0)):new r(NaN)},P.times=P.mul=function(e){var t,n,r,i,a,o,s,c,l,u=this,d=u.constructor,f=u.d,p=(e=new d(e)).d;if(e.s*=u.s,!f||!f[0]||!p||!p[0])return new d(!e.s||f&&!f[0]&&!p||p&&!p[0]&&!f?NaN:!f||!p?e.s/0:e.s*0);for(n=ei(u.e/N)+ei(e.e/N),c=f.length,l=p.length,c<l&&(a=f,f=p,p=a,o=c,c=l,l=o),a=[],o=c+l,r=o;r--;)a.push(0);for(r=l;--r>=0;){for(t=0,i=c+r;i>r;)s=a[i]+p[r]*f[i-r-1]+t,a[i--]=s%oi|0,t=s/oi|0;a[i]=(a[i]+t)%oi|0}for(;!a[--o];)a.pop();return t?++n:a.shift(),e.d=a,e.e=_i(a,n),M?F(e,d.precision,d.rounding):e},P.toBinary=function(e,t){return Pi(this,2,e,t)},P.toDecimalPlaces=P.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(di(e,0,Hr),t===void 0?t=r.rounding:di(t,0,8),F(n,e+n.e+1,t))},P.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=gi(r,!0):(di(e,0,Hr),t===void 0?t=i.rounding:di(t,0,8),r=F(new i(r),e+1,t),n=gi(r,!0,e+1)),r.isNeg()&&!r.isZero()?`-`+n:n},P.toFixed=function(e,t){var n,r,i=this,a=i.constructor;return e===void 0?n=gi(i):(di(e,0,Hr),t===void 0?t=a.rounding:di(t,0,8),r=F(new a(i),e+i.e+1,t),n=gi(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?`-`+n:n},P.toFraction=function(e){var t,n,r,i,a,o,s,c,l,u,d,f,p=this,m=p.d,h=p.constructor;if(!m)return new h(p);if(l=n=new h(1),r=c=new h(0),t=new h(r),a=t.e=bi(m)-p.e-1,o=a%N,t.d[0]=ti(10,o<0?N+o:o),e==null)e=a>0?t:l;else{if(s=new h(e),!s.isInt()||s.lt(l))throw Error(Xr+s);e=s.gt(t)?a>0?t:l:s}for(M=!1,s=new h(ui(m)),u=h.precision,h.precision=a=m.length*N*2;d=hi(s,t,0,1,1),i=n.plus(d.times(r)),i.cmp(e)!=1;)n=r,r=i,i=l,l=c.plus(d.times(i)),c=i,i=t,t=s.minus(d.times(i)),s=i;return i=hi(e.minus(n),r,0,1,1),c=c.plus(i.times(l)),n=n.plus(i.times(r)),c.s=l.s=p.s,f=hi(l,r,a,1).minus(p).abs().cmp(hi(c,n,a,1).minus(p).abs())<1?[l,r]:[c,n],h.precision=u,M=!0,f},P.toHexadecimal=P.toHex=function(e,t){return Pi(this,16,e,t)},P.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:di(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(M=!1,n=hi(n,e,0,t,1).times(e),M=!0,F(n)):(e.s=n.s,n=e),n},P.toNumber=function(){return+this},P.toOctal=function(e,t){return Pi(this,8,e,t)},P.toPower=P.pow=function(e){var t,n,r,i,a,o,s=this,c=s.constructor,l=+(e=new c(e));if(!s.d||!e.d||!s.d[0]||!e.d[0])return new c(ti(+s,l));if(s=new c(s),s.eq(1))return s;if(r=c.precision,a=c.rounding,e.eq(1))return F(s,r,a);if(t=ei(e.e/N),t>=e.d.length-1&&(n=l<0?-l:l)<=si)return i=Si(c,s,n,r),e.s<0?new c(1).div(i):F(i,r,a);if(o=s.s,o<0){if(t<e.d.length-1)return new c(NaN);if(e.d[t]&1||(o=1),s.e==0&&s.d[0]==1&&s.d.length==1)return s.s=o,s}return n=ti(+s,l),t=n==0||!isFinite(n)?ei(l*(Math.log(`0.`+ui(s.d))/Math.LN10+s.e+1)):new c(n+``).e,t>c.maxE+1||t<c.minE-1?new c(t>0?o/0:0):(M=!1,c.rounding=s.s=1,n=Math.min(12,(t+``).length),i=Ti(e.times(Ei(s,r+n)),r),i.d&&(i=F(i,r+5,1),fi(i.d,r,a)&&(t=r+10,i=F(Ti(e.times(Ei(s,t+n)),t),t+5,1),+ui(i.d).slice(r+1,r+15)+1==0x5af3107a4000&&(i=F(i,r+1,0)))),i.s=o,M=!0,c.rounding=a,F(i,r,a))},P.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=gi(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(di(e,1,Hr),t===void 0?t=i.rounding:di(t,0,8),r=F(new i(r),e,t),n=gi(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?`-`+n:n},P.toSignificantDigits=P.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(di(e,1,Hr),t===void 0?t=r.rounding:di(t,0,8)),F(new r(n),e,t)},P.toString=function(){var e=this,t=e.constructor,n=gi(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?`-`+n:n},P.truncated=P.trunc=function(){return F(new this.constructor(this),this.e+1,1)},P.valueOf=P.toJSON=function(){var e=this,t=e.constructor,n=gi(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?`-`+n:n};function ui(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;t<i;t++)r=e[t]+``,n=N-r.length,n&&(a+=xi(n)),a+=r;o=e[t],r=o+``,n=N-r.length,n&&(a+=xi(n))}else if(o===0)return`0`;for(;o%10==0;)o/=10;return a+o}function di(e,t,n){if(e!==~~e||e<t||e>n)throw Error(Xr+e)}function fi(e,t,n,r){var i,a,o,s;for(a=e[0];a>=10;a/=10)--t;return--t<0?(t+=N,i=0):(i=Math.ceil((t+1)/N),t%=N),a=ti(10,N-t),s=e[i]%a|0,r==null?t<3?(t==0?s=s/100|0:t==1&&(s=s/10|0),o=n<4&&s==99999||n>3&&s==49999||s==5e4||s==0):o=(n<4&&s+1==a||n>3&&s+1==a/2)&&(e[i+1]/a/100|0)==ti(10,t-2)-1||(s==a/2||s==0)&&(e[i+1]/a/100|0)==0:t<4?(t==0?s=s/1e3|0:t==1?s=s/100|0:t==2&&(s=s/10|0),o=(r||n<4)&&s==9999||!r&&n>3&&s==4999):o=((r||n<4)&&s+1==a||!r&&n>3&&s+1==a/2)&&(e[i+1]/a/1e3|0)==ti(10,t-3)-1,o}function pi(e,t,n){for(var r,i=[0],a,o=0,s=e.length;o<s;){for(a=i.length;a--;)i[a]*=t;for(i[0]+=Ur.indexOf(e.charAt(o++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function mi(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/Mi(4,n)).toString()):(n=16,i=`2.3283064365386962890625e-10`),e.precision+=n,t=ji(e,1,t.times(i),new e(1));for(var a=n;a--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=n,t}var hi=(function(){function e(e,t,n){var r,i=0,a=e.length;for(e=e.slice();a--;)r=e[a]*t+i,e[a]=r%n|0,i=r/n|0;return i&&e.unshift(i),e}function t(e,t,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;i<n;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function n(e,t,n,r){for(var i=0;n--;)e[n]-=i,i=e[n]<t[n]?1:0,e[n]=i*r+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,a,o,s,c){var l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,ee,te,E,ne=r.constructor,re=r.s==i.s?1:-1,D=r.d,ie=i.d;if(!D||!D[0]||!ie||!ie[0])return new ne(!r.s||!i.s||(D?ie&&D[0]==ie[0]:!ie)?NaN:D&&D[0]==0||!ie?re*0:re/0);for(c?(p=1,u=r.e-i.e):(c=oi,p=N,u=ei(r.e/p)-ei(i.e/p)),te=ie.length,T=D.length,_=new ne(re),v=_.d=[],d=0;ie[d]==(D[d]||0);d++);if(ie[d]>(D[d]||0)&&u--,a==null?(S=a=ne.precision,o=ne.rounding):S=s?a+(r.e-i.e)+1:a,S<0)v.push(1),m=!0;else{if(S=S/p+2|0,d=0,te==1){for(f=0,ie=ie[0],S++;(d<T||f)&&S--;d++)C=f*c+(D[d]||0),v[d]=C/ie|0,f=C%ie|0;m=f||d<T}else{for(f=c/(ie[0]+1)|0,f>1&&(ie=e(ie,f,c),D=e(D,f,c),te=ie.length,T=D.length),w=te,y=D.slice(0,te),b=y.length;b<te;)y[b++]=0;E=ie.slice(),E.unshift(0),ee=ie[0],ie[1]>=c/2&&++ee;do f=0,l=t(ie,y,te,b),l<0?(x=y[0],te!=b&&(x=x*c+(y[1]||0)),f=x/ee|0,f>1?(f>=c&&(f=c-1),h=e(ie,f,c),g=h.length,b=y.length,l=t(h,y,g,b),l==1&&(f--,n(h,te<g?E:ie,g,c))):(f==0&&(l=f=1),h=ie.slice()),g=h.length,g<b&&h.unshift(0),n(y,h,b,c),l==-1&&(b=y.length,l=t(ie,y,te,b),l<1&&(f++,n(y,te<b?E:ie,b,c))),b=y.length):l===0&&(f++,y=[0]),v[d++]=f,l&&y[0]?y[b++]=D[w]||0:(y=[D[w]],b=1);while((w++<T||y[0]!==void 0)&&S--);m=y[0]!==void 0}v[0]||v.shift()}if(p==1)_.e=u,qr=m;else{for(d=1,f=v[0];f>=10;f/=10)d++;_.e=d+u*p-1,F(_,s?a+_.e+1:a,o,m)}return _}})();function F(e,t,n,r){var i,a,o,s,c,l,u,d,f,p=e.constructor;out:if(t!=null){if(d=e.d,!d)return e;for(i=1,s=d[0];s>=10;s/=10)i++;if(a=t-i,a<0)a+=N,o=t,u=d[f=0],c=u/ti(10,i-o-1)%10|0;else if(f=Math.ceil((a+1)/N),s=d.length,f>=s)if(r){for(;s++<=f;)d.push(0);u=c=0,i=1,a%=N,o=a-N+1}else break out;else{for(u=s=d[f],i=1;s>=10;s/=10)i++;a%=N,o=a-N+i,c=o<0?0:u/ti(10,i-o-1)%10|0}if(r=r||t<0||d[f+1]!==void 0||(o<0?u:u%ti(10,i-o-1)),l=n<4?(c||r)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(a>0?o>0?u/ti(10,i-o):0:d[f-1])%10&1||n==(e.s<0?8:7)),t<1||!d[0])return d.length=0,l?(t-=e.e+1,d[0]=ti(10,(N-t%N)%N),e.e=-t||0):d[0]=e.e=0,e;if(a==0?(d.length=f,s=1,f--):(d.length=f+1,s=ti(10,N-a),d[f]=o>0?(u/ti(10,i-o)%ti(10,o)|0)*s:0),l)for(;;)if(f==0){for(a=1,o=d[0];o>=10;o/=10)a++;for(o=d[0]+=s,s=1;o>=10;o/=10)s++;a!=s&&(e.e++,d[0]==oi&&(d[0]=1));break}else{if(d[f]+=s,d[f]!=oi)break;d[f--]=0,s=1}for(a=d.length;d[--a]===0;)d.pop()}return M&&(e.e>p.maxE?(e.d=null,e.e=NaN):e.e<p.minE&&(e.e=0,e.d=[0])),e}function gi(e,t,n){if(!e.isFinite())return Di(e);var r,i=e.e,a=ui(e.d),o=a.length;return t?(n&&(r=n-o)>0?a=a.charAt(0)+`.`+a.slice(1)+xi(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(e.e<0?`e`:`e+`)+e.e):i<0?(a=`0.`+xi(-i-1)+a,n&&(r=n-o)>0&&(a+=xi(r))):i>=o?(a+=xi(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+xi(r))):((r=i+1)<o&&(a=a.slice(0,r)+`.`+a.slice(r)),n&&(r=n-o)>0&&(i+1===o&&(a+=`.`),a+=xi(r))),a}function _i(e,t){var n=e[0];for(t*=N;n>=10;n/=10)t++;return t}function vi(e,t,n){if(t>ci)throw M=!0,n&&(e.precision=n),Error(Zr);return F(new e(Wr),t,1,!0)}function yi(e,t,n){if(t>li)throw Error(Zr);return F(new e(Gr),t,n,!0)}function bi(e){var t=e.length-1,n=t*N+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function xi(e){for(var t=``;e--;)t+=`0`;return t}function Si(e,t,n,r){var i,a=new e(1),o=Math.ceil(r/N+4);for(M=!1;;){if(n%2&&(a=a.times(t),Fi(a.d,o)&&(i=!0)),n=ei(n/2),n===0){n=a.d.length-1,i&&a.d[n]===0&&++a.d[n];break}t=t.times(t),Fi(t.d,o)}return M=!0,a}function Ci(e){return e.d[e.d.length-1]&1}function wi(e,t,n){for(var r,i,a=new e(t[0]),o=0;++o<t.length;){if(i=new e(t[o]),!i.s){a=i;break}r=a.cmp(i),(r===n||r===0&&a.s===n)&&(a=i)}return a}function Ti(e,t){var n,r,i,a,o,s,c,l=0,u=0,d=0,f=e.constructor,p=f.rounding,m=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(M=!1,c=m):c=t,s=new f(.03125);e.e>-2;)e=e.times(s),d+=5;for(r=Math.log(ti(2,d))/Math.LN10*2+5|0,c+=r,n=a=o=new f(1),f.precision=c;;){if(a=F(a.times(e),c,1),n=n.times(++u),s=o.plus(hi(a,n,c,1)),ui(s.d).slice(0,c)===ui(o.d).slice(0,c)){for(i=d;i--;)o=F(o.times(o),c,1);if(t==null)if(l<3&&fi(o.d,c-r,p,l))f.precision=c+=10,n=a=s=new f(1),u=0,l++;else return F(o,f.precision=m,p,M=!0);else return f.precision=m,o}o=s}}function Ei(e,t){var n,r,i,a,o,s,c,l,u,d,f,p=1,m=10,h=e,g=h.d,_=h.constructor,v=_.rounding,y=_.precision;if(h.s<0||!g||!g[0]||!h.e&&g[0]==1&&g.length==1)return new _(g&&!g[0]?-1/0:h.s==1?g?0:h:NaN);if(t==null?(M=!1,u=y):u=t,_.precision=u+=m,n=ui(g),r=n.charAt(0),Math.abs(a=h.e)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)h=h.times(e),n=ui(h.d),r=n.charAt(0),p++;a=h.e,r>1?(h=new _(`0.`+n),a++):h=new _(r+`.`+n.slice(1))}else return l=vi(_,u+2,y).times(a+``),h=Ei(new _(r+`.`+n.slice(1)),u-m).plus(l),_.precision=y,t==null?F(h,y,v,M=!0):h;for(d=h,c=o=h=hi(h.minus(1),h.plus(1),u,1),f=F(h.times(h),u,1),i=3;;){if(o=F(o.times(f),u,1),l=c.plus(hi(o,new _(i),u,1)),ui(l.d).slice(0,u)===ui(c.d).slice(0,u))if(c=c.times(2),a!==0&&(c=c.plus(vi(_,u+2,y).times(a+``))),c=hi(c,new _(p),u,1),t==null)if(fi(c.d,u-m,v,s))_.precision=u+=m,l=o=h=hi(d.minus(1),d.plus(1),u,1),f=F(h.times(h),u,1),i=s=1;else return F(c,_.precision=y,v,M=!0);else return _.precision=y,c;c=l,i+=2}}function Di(e){return String(e.s*e.s/0)}function Oi(e,t){var n,r,i;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(r,i),t){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%N,n<0&&(r+=N),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=N;r<i;)e.d.push(+t.slice(r,r+=N));t=t.slice(r),r=N-t.length}else r-=i;for(;r--;)t+=`0`;e.d.push(+t),M&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function ki(e,t){var n,r,i,a,o,s,c,l,u;if(t.indexOf(`_`)>-1){if(t=t.replace(/(\d)_(?=\d)/g,`$1`),ai.test(t))return Oi(e,t)}else if(t===`Infinity`||t===`NaN`)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(ri.test(t))n=16,t=t.toLowerCase();else if(ni.test(t))n=2;else if(ii.test(t))n=8;else throw Error(Xr+t);for(a=t.search(/p/i),a>0?(c=+t.slice(a+1),t=t.substring(2,a)):t=t.slice(2),a=t.indexOf(`.`),o=a>=0,r=e.constructor,o&&(t=t.replace(`.`,``),s=t.length,a=s-a,i=Si(r,new r(n),a,a*2)),l=pi(t,n,oi),u=l.length-1,a=u;l[a]===0;--a)l.pop();return a<0?new r(e.s*0):(e.e=_i(l,u),e.d=l,M=!1,o&&(e=hi(e,i,s*4)),c&&(e=e.times(Math.abs(c)<54?ti(2,c):I.pow(2,c))),M=!0,e)}function Ai(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:ji(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Mi(5,n)),t=ji(e,2,t,t);for(var i,a=new e(5),o=new e(16),s=new e(20);n--;)i=t.times(t),t=t.times(a.plus(i.times(o.times(i).minus(s))));return t}function ji(e,t,n,r,i){var a,o,s,c,l=1,u=e.precision,d=Math.ceil(u/N);for(M=!1,c=n.times(n),s=new e(r);;){if(o=hi(s.times(c),new e(t++*t++),u,1),s=i?r.plus(o):r.minus(o),r=hi(o.times(c),new e(t++*t++),u,1),o=s.plus(r),o.d[d]!==void 0){for(a=d;o.d[a]===s.d[a]&&a--;);if(a==-1)break}a=s,s=r,r=o,o=a,l++}return M=!0,o.d.length=d+1,o}function Mi(e,t){for(var n=e;--t;)n*=e;return n}function Ni(e,t){var n,r=t.s<0,i=yi(e,e.precision,1),a=i.times(.5);if(t=t.abs(),t.lte(a))return Jr=r?4:1,t;if(n=t.divToInt(i),n.isZero())Jr=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(a))return Jr=Ci(n)?r?2:3:r?4:1,t;Jr=Ci(n)?r?1:4:r?3:2}return t.minus(i).abs()}function Pi(e,t,n,r){var i,a,o,s,c,l,u,d,f,p=e.constructor,m=n!==void 0;if(m?(di(n,1,Hr),r===void 0?r=p.rounding:di(r,0,8)):(n=p.precision,r=p.rounding),!e.isFinite())u=Di(e);else{for(u=gi(e),o=u.indexOf(`.`),m?(i=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):i=t,o>=0&&(u=u.replace(`.`,``),f=new p(1),f.e=u.length-o,f.d=pi(gi(f),10,i),f.e=f.d.length),d=pi(u,10,i),a=c=d.length;d[--c]==0;)d.pop();if(!d[0])u=m?`0p+0`:`0`;else{if(o<0?a--:(e=new p(e),e.d=d,e.e=a,e=hi(e,f,n,r,0,i),d=e.d,a=e.e,l=qr),o=d[n],s=i/2,l=l||d[n+1]!==void 0,l=r<4?(o!==void 0||l)&&(r===0||r===(e.s<0?3:2)):o>s||o===s&&(r===4||l||r===6&&d[n-1]&1||r===(e.s<0?8:7)),d.length=n,l)for(;++d[--n]>i-1;)d[n]=0,n||(++a,d.unshift(1));for(c=d.length;!d[c-1];--c);for(o=0,u=``;o<c;o++)u+=Ur.charAt(d[o]);if(m){if(c>1)if(t==16||t==8){for(o=t==16?4:3,--c;c%o;c++)u+=`0`;for(d=pi(u,i,t),c=d.length;!d[c-1];--c);for(o=1,u=`1.`;o<c;o++)u+=Ur.charAt(d[o])}else u=u.charAt(0)+`.`+u.slice(1);u=u+(a<0?`p`:`p+`)+a}else if(a<0){for(;++a;)u=`0`+u;u=`0.`+u}else if(++a>c)for(a-=c;a--;)u+=`0`;else a<c&&(u=u.slice(0,a)+`.`+u.slice(a))}u=(t==16?`0x`:t==2?`0b`:t==8?`0o`:``)+u}return e.s<0?`-`+u:u}function Fi(e,t){if(e.length>t)return e.length=t,!0}function Ii(e){return new this(e).abs()}function Li(e){return new this(e).acos()}function Ri(e){return new this(e).acosh()}function zi(e,t){return new this(e).plus(t)}function Bi(e){return new this(e).asin()}function Vi(e){return new this(e).asinh()}function Hi(e){return new this(e).atan()}function Ui(e){return new this(e).atanh()}function Wi(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,a=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=yi(this,a,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?yi(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=yi(this,a,1).times(.5),n.s=e.s):t.s<0?(this.precision=a,this.rounding=1,n=this.atan(hi(e,t,a,1)),t=yi(this,a,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(hi(e,t,a,1)),n}function Gi(e){return new this(e).cbrt()}function Ki(e){return F(e=new this(e),e.e+1,2)}function qi(e,t,n){return new this(e).clamp(t,n)}function Ji(e){if(!e||typeof e!=`object`)throw Error(Yr+`Object expected`);var t,n,r,i=e.defaults===!0,a=[`precision`,1,Hr,`rounding`,0,8,`toExpNeg`,-Vr,0,`toExpPos`,0,Vr,`maxE`,0,Vr,`minE`,-Vr,0,`modulo`,0,9];for(t=0;t<a.length;t+=3)if(n=a[t],i&&(this[n]=Kr[n]),(r=e[n])!==void 0)if(ei(r)===r&&r>=a[t+1]&&r<=a[t+2])this[n]=r;else throw Error(Xr+n+`: `+r);if(n=`crypto`,i&&(this[n]=Kr[n]),(r=e[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<`u`&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(Qr);else this[n]=!1;else throw Error(Xr+n+`: `+r);return this}function Yi(e){return new this(e).cos()}function Xi(e){return new this(e).cosh()}function Zi(e){var t,n,r;function i(e){var t,n,r,a=this;if(!(a instanceof i))return new i(e);if(a.constructor=i,na(e)){a.s=e.s,M?!e.d||e.e>i.maxE?(a.e=NaN,a.d=null):e.e<i.minE?(a.e=0,a.d=[0]):(a.e=e.e,a.d=e.d.slice()):(a.e=e.e,a.d=e.d?e.d.slice():e.d);return}if(r=typeof e,r===`number`){if(e===0){a.s=1/e<0?-1:1,a.e=0,a.d=[0];return}if(e<0?(e=-e,a.s=-1):a.s=1,e===~~e&&e<1e7){for(t=0,n=e;n>=10;n/=10)t++;M?t>i.maxE?(a.e=NaN,a.d=null):t<i.minE?(a.e=0,a.d=[0]):(a.e=t,a.d=[e]):(a.e=t,a.d=[e]);return}if(e*0!=0){e||(a.s=NaN),a.e=NaN,a.d=null;return}return Oi(a,e.toString())}if(r===`string`)return(n=e.charCodeAt(0))===45?(e=e.slice(1),a.s=-1):(n===43&&(e=e.slice(1)),a.s=1),ai.test(e)?Oi(a,e):ki(a,e);if(r===`bigint`)return e<0?(e=-e,a.s=-1):a.s=1,Oi(a,e.toString());throw Error(Xr+e)}if(i.prototype=P,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=Ji,i.clone=Zi,i.isDecimal=na,i.abs=Ii,i.acos=Li,i.acosh=Ri,i.add=zi,i.asin=Bi,i.asinh=Vi,i.atan=Hi,i.atanh=Ui,i.atan2=Wi,i.cbrt=Gi,i.ceil=Ki,i.clamp=qi,i.cos=Yi,i.cosh=Xi,i.div=Qi,i.exp=$i,i.floor=ea,i.hypot=ta,i.ln=ra,i.log=ia,i.log10=oa,i.log2=aa,i.max=sa,i.min=ca,i.mod=la,i.mul=ua,i.pow=da,i.random=fa,i.round=pa,i.sign=ma,i.sin=ha,i.sinh=ga,i.sqrt=_a,i.sub=va,i.sum=ya,i.tan=ba,i.tanh=xa,i.trunc=Sa,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=[`precision`,`rounding`,`toExpNeg`,`toExpPos`,`maxE`,`minE`,`modulo`,`crypto`],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function Qi(e,t){return new this(e).div(t)}function $i(e){return new this(e).exp()}function ea(e){return F(e=new this(e),e.e+1,3)}function ta(){var e,t,n=new this(0);for(M=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return M=!0,new this(1/0);n=t}return M=!0,n.sqrt()}function na(e){return e instanceof I||e&&e.toStringTag===$r||!1}function ra(e){return new this(e).ln()}function ia(e,t){return new this(e).log(t)}function aa(e){return new this(e).log(2)}function oa(e){return new this(e).log(10)}function sa(){return wi(this,arguments,-1)}function ca(){return wi(this,arguments,1)}function la(e,t){return new this(e).mod(t)}function ua(e,t){return new this(e).mul(t)}function da(e,t){return new this(e).pow(t)}function fa(e){var t,n,r,i,a=0,o=new this(1),s=[];if(e===void 0?e=this.precision:di(e,1,Hr),r=Math.ceil(e/N),!this.crypto)for(;a<r;)s[a++]=Math.random()*1e7|0;else if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));a<r;)i=t[a],i>=429e7?t[a]=crypto.getRandomValues(new Uint32Array(1))[0]:s[a++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);a<r;)i=t[a]+(t[a+1]<<8)+(t[a+2]<<16)+((t[a+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(t,a):(s.push(i%1e7),a+=4);a=r/4}else throw Error(Qr);for(r=s[--a],e%=N,r&&e&&(i=ti(10,N-e),s[a]=(r/i|0)*i);s[a]===0;a--)s.pop();if(a<0)n=0,s=[0];else{for(n=-1;s[0]===0;n-=N)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<N&&(n-=N-r)}return o.e=n,o.d=s,o}function pa(e){return F(e=new this(e),e.e+1,this.rounding)}function ma(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function ha(e){return new this(e).sin()}function ga(e){return new this(e).sinh()}function _a(e){return new this(e).sqrt()}function va(e,t){return new this(e).sub(t)}function ya(){var e=0,t=arguments,n=new this(t[e]);for(M=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return M=!0,F(n,this.precision,this.rounding)}function ba(e){return new this(e).tan()}function xa(e){return new this(e).tanh()}function Sa(e){return F(e=new this(e),e.e+1,1)}P[Symbol.for(`nodejs.util.inspect.custom`)]=P.toString,P[Symbol.toStringTag]=`Decimal`;var I=P.constructor=Zi(Kr);Wr=new I(Wr),Gr=new I(Gr);function Ca(e,t){let n=e+t;return Number.isSafeInteger(n)?n:new I(e).add(t).toNumber()}function wa(e,t){let n=e-t;return Number.isSafeInteger(n)?n:new I(e).sub(t).toNumber()}function Ta(e,t){let n=e*t;return Number.isSafeInteger(n)?n:new I(e).mul(t).toNumber()}function Ea(e,t){let n=e/t;return Number.isSafeInteger(n)?n:new I(e).div(t).toNumber()}function Da(e,t){let n=10**Math.trunc(t),r=Aa(e,n);return Math.round(Ta(e,n)+r)/n}function Oa(e,t){let n=10**Math.trunc(t),r=Aa(e,n);return Math.floor(Ta(e,n)+r)/n}function ka(e,t){let n=10**Math.trunc(t),r=Aa(e,n);return Math.ceil(Ta(e,n)-r)/n}function Aa(e,t){return 2**-52*Math.max(1,Math.abs(Ta(e,t)))}function ja(e,t){return e-t*Math.floor(e/t)}function Ma(e,t){return e**t}function Na(e){return Math.sqrt(e)}function Pa(e,t){return e===t}function Fa(e,t){return e>t}function Ia(e,t){return e>=t}function La(e,t){return e<t}function Ra(e,t){return e<=t}function za(e,t=15){return Math.floor(Math.abs(e)).toString().length>=t?e:Number.parseFloat(e.toPrecision(t))}function Ba(e,t,n=2**-52){return Math.abs(e-t)<n}function Va(e,t=12,n=1e-10){let r=za(e,t);return Ba(e,r,n)?r:za(e)}function Ha(e){return e-Math.trunc(e)}var Ua=class e extends ee{static create(){return this._instance=this._instance||new e(0),this._instance}isNull(){return!0}plus(e){return R.create(0).plus(e)}minus(e){return R.create(0).minus(e)}multiply(e){return R.create(0).multiply(e)}divided(e){return R.create(0).divided(e)}mod(e){return R.create(0).mod(e)}compare(e,t){return e.isString()?z.create(``).compare(e,t):e.isBoolean()?L.create(!1).compare(e,t):R.create(0).compare(e,t)}concatenateFront(e){return e.isArray()?e.concatenateBack(z.create(``)):z.create(this.concatenate(e.getValue(),s.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(z.create(``)):z.create(this.concatenate(e.getValue(),s.BACK))}plusBy(e){return R.create(0).plusBy(e)}minusBy(e){return R.create(0).minusBy(e)}multiplyBy(e){return R.create(0).multiplyBy(e)}dividedBy(e){return R.create(0).dividedBy(e)}compareBy(e,t){return typeof e==`string`?z.create(``).compareBy(e,t):typeof e==`boolean`?L.create(!1).compareBy(e,t):R.create(0).compareBy(e,t)}pow(e){return R.create(0).pow(e)}sqrt(){return R.create(0).sqrt()}cbrt(){return R.create(0).cbrt()}cos(){return R.create(0).cos()}cosh(){return R.create(0).cosh()}acos(){return R.create(0).acos()}acosh(){return R.create(0).acosh()}sin(){return R.create(0).sin()}sinh(){return R.create(0).sinh()}asin(){return R.create(0).asin()}asinh(){return R.create(0).asinh()}tan(){return R.create(0).tan()}tanh(){return R.create(0).tanh()}atan(){return R.create(0).atan()}atan2(e){return R.create(0).atan2(e)}atanh(){return R.create(0).atanh()}log(){return E.create(p.NUM)}log10(){return E.create(p.NUM)}exp(){return R.create(0).exp()}abs(){return R.create(0).abs()}round(e){return R.create(0).round(e)}floor(e){return R.create(0).floor(e)}ceil(e){return R.create(0).ceil(e)}convertToNumberObjectValue(){return R.create(0)}convertToBooleanObjectValue(){return L.create(!1)}};d(Ua,`_instance`,void 0);var L=class e extends ee{static create(t){return t?(this._instanceTrue=this._instanceTrue||new e(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new e(!1),this._instanceFalse)}constructor(e){super(e),d(this,`_value`,!1),this._value=e}getValue(){return this._value}isBoolean(){return!0}getNegative(){let e=this.getValue(),t=0;return e&&(t=1),R.create(-t)}getReciprocal(){return this.getValue()?R.create(1):E.create(p.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,Br(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(t,n){let r=!1;if(typeof t==`string`||typeof t==`number`)r=this._compareString(n);else if(typeof t==`boolean`){let e=R.create(t?1:0);return this._convertToNumber().compare(e,n)}return e.create(r)}_compareString(e){switch(e){case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!0;case v.EQUALS:case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:case v.NOT_EQUAL:return!1}}concatenateFront(e){return this._convertToNumber().concatenateFront(e)}concatenateBack(e){return this._convertToNumber().concatenateBack(e)}_convertToNumber(){let e=this.getValue(),t=0;return e&&(t=1),R.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}cosh(){return this._convertToNumber().cosh()}acos(){return this._convertToNumber().acos()}acosh(){return this._convertToNumber().acosh()}sin(){return this._convertToNumber().sin()}sinh(){return this._convertToNumber().sinh()}asin(){return this._convertToNumber().asin()}asinh(){return this._convertToNumber().asinh()}tan(){return this._convertToNumber().tan()}tanh(){return this._convertToNumber().tanh()}atan(){return this._convertToNumber().atan()}atan2(e){return this._convertToNumber().atan2(e)}atanh(){return this._convertToNumber().atanh()}log(){return this._convertToNumber().log()}log10(){return this._convertToNumber().log10()}exp(){return this._convertToNumber().exp()}abs(){return this._convertToNumber().abs()}round(e){return this._convertToNumber().round(e)}floor(e){return this._convertToNumber().floor(e)}ceil(e){return this._convertToNumber().ceil(e)}convertToNumberObjectValue(){return qa(this.getValue())}convertToBooleanObjectValue(){return this}};d(L,`_instanceTrue`,void 0),d(L,`_instanceFalse`,void 0);var R=class e extends ee{static create(t,n=``){let r=new e(t);return n&&r.setPattern(n),r}constructor(e){super(e),d(this,`_value`,0),this._value=Number(e)}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return e.create(0).minus(this)}getReciprocal(){return e.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.plusBy(t.getValue());return n.isError(),n}equalZero(){return this._value===0}minus(e){if(e.isArray()){let t=e.getNegative();return t.isError()?t:t.plus(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.minusBy(t.getValue());return n.isError(),n}multiply(e){if(e.isArray())return e.multiply(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.multiplyBy(t.getValue());return n.isError(),n}divided(e){if(e.isArray()){let t=e.getReciprocal();return t.isError()?t:t.multiply(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.dividedBy(t.getValue());return n.isError(),n}mod(t){if(t.isArray())return t.modInverse(this);let n=this.getValue(),r=t.getValue();if(t.isNull())return E.create(p.DIV_BY_ZERO);if(typeof r==`string`)return E.create(p.VALUE);if(typeof r==`number`){if(r===0)return E.create(p.DIV_BY_ZERO);if(!Number.isFinite(n)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(n))return E.create(p.NUM);let t=ja(n,r);return Number.isFinite(t)?e.create(t):E.create(p.NUM)}if(typeof r==`boolean`){let t=r?1:0;return t===0?E.create(p.DIV_BY_ZERO):e.create(ja(n,t))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):z.create(this.concatenate(e.getValue(),s.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):z.create(this.concatenate(e.getValue(),s.BACK))}isDateFormat(){let e=this.getPattern();return t.numfmt.isDateFormat(e)}compare(e,t){if(e.isArray())return e.compare(this,Br(t));let n=!1;return e.isDateFormat()&&this.isDateFormat()&&(n=!0),this.compareBy(e.getValue(),t,n)}plusBy(t){if(typeof t==`string`&&t.trim()===``)return E.create(p.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return E.create(p.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return E.create(p.NUM);let i=Ca(n,r);return Number.isFinite(i)?e.create(i):E.create(p.NUM)}minusBy(t){if(typeof t==`string`&&t.trim()===``)return E.create(p.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return E.create(p.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return E.create(p.NUM);let i=wa(n,r);return Number.isFinite(i)?e.create(i):E.create(p.NUM)}multiplyBy(t){if(typeof t==`string`&&t.trim()===``)return E.create(p.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return E.create(p.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return E.create(p.NUM);let i=Ta(n,r);return Number.isFinite(i)?e.create(i):E.create(p.NUM)}dividedBy(t){if(typeof t==`string`&&t.trim()===``)return E.create(p.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return E.create(p.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return E.create(p.NUM);if(r===0)return E.create(p.DIV_BY_ZERO);let i=Ea(n,r);return Number.isFinite(i)?e.create(i):E.create(p.NUM)}compareBy(e,t,n=!1){let r=this.getValue(),i=!1,a=r,o=e;return n&&(a=Math.round(r*1e8)/1e8,o=Math.round(e*1e8)/1e8),typeof o==`string`?i=this._compareString(t):typeof o==`number`?i=this._compareNumber(a,o,t):typeof o==`boolean`&&(i=this._compareBoolean(t)),L.create(i)}_compareString(e){switch(e){case v.EQUALS:case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!1;case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:case v.NOT_EQUAL:return!0}}_compareNumber(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,n):this._compareFiniteNumber(e,t,n)}_compareFiniteNumber(e,t,n){switch(n){case v.EQUALS:return Pa(e,t);case v.GREATER_THAN:return Fa(e,t);case v.GREATER_THAN_OR_EQUAL:return Ia(e,t);case v.LESS_THAN:return La(e,t);case v.LESS_THAN_OR_EQUAL:return Ra(e,t);case v.NOT_EQUAL:return!Pa(e,t)}}_compareBoolean(e){switch(e){case v.EQUALS:case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!1;case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:case v.NOT_EQUAL:return!0}}pow(t){if(t.isArray())return t.powInverse(this);if(this.isError())return this;let n=this.getValue(),r=t;if(t.isString()&&(r=t.convertToNumberObjectValue()),r.isError())return r;let i=+r.getValue();if(Number.isNaN(i))return E.create(p.VALUE);if(!Number.isFinite(n)||!Number.isFinite(i))return E.create(p.NUM);if(n===0)return i<0?E.create(p.DIV_BY_ZERO):i===0?E.create(p.NUM):e.create(0);let a=Ma(n,i);return Number.isFinite(a)?e.create(a):E.create(p.NUM)}sqrt(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Na(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}cbrt(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.cbrt(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}cos(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.cos(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}cosh(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.cosh(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}acos(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.acos(t);return Number.isNaN(n)?E.create(p.NUM):e.create(n)}acosh(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.acosh(t);return Number.isNaN(n)?E.create(p.NUM):e.create(n)}sin(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.sin(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}sinh(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.sinh(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}asin(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.asin(t);return Number.isNaN(n)?E.create(p.NUM):e.create(n)}asinh(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.asinh(t);return Number.isNaN(n)?E.create(p.NUM):e.create(n)}tan(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.tan(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}tanh(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.tanh(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}atan(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.atan(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}atan2(t){if(t.isArray())return t.atan2Inverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return E.create(p.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return E.create(p.NUM);if(n===0&&r===0)return E.create(p.DIV_BY_ZERO);let t=Math.atan2(n,r);return Number.isFinite(t)?e.create(t):E.create(p.NUM)}return typeof r==`boolean`?e.create(Math.atan2(n,r?1:0)):this}atanh(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.atanh(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}log(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return E.create(p.NUM);let n=Math.log(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}log10(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return E.create(p.NUM);let n=Math.log10(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}exp(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.exp(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}abs(){let t=this.getValue();if(!Number.isFinite(t))return E.create(p.NUM);let n=Math.abs(t);return Number.isFinite(n)?e.create(n):E.create(p.NUM)}round(t){if(t.isArray())return t.roundInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return E.create(p.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return E.create(p.NUM);let t=n<0?-Da(Math.abs(n),r):Da(n,r);return Number.isFinite(t)?e.create(t):E.create(p.NUM)}return typeof r==`boolean`?e.create(Da(n,r?1:0)):this}floor(t){if(t.isArray())return t.floorInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return E.create(p.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return E.create(p.NUM);let t=n<0?-Oa(Math.abs(n),r):Oa(n,r);return Number.isFinite(t)?e.create(t):E.create(p.NUM)}return typeof r==`boolean`?e.create(Oa(n,r?1:0)):this}ceil(t){if(t.isArray())return t.ceilInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return E.create(p.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return E.create(p.NUM);let t=n<0?-ka(Math.abs(n),r):ka(n,r);return Number.isFinite(t)?e.create(t):E.create(p.NUM)}return typeof r==`boolean`?e.create(ka(n,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return Ga(!0)}_compareInfinity(e,t,n){let r=!1;switch(n){case v.EQUALS:r=e===t;break;case v.GREATER_THAN:r=e>t;break;case v.GREATER_THAN_OR_EQUAL:r=e>=t;break;case v.LESS_THAN:r=e<t;break;case v.LESS_THAN_OR_EQUAL:r=e<=t;break;case v.NOT_EQUAL:r=e!==t;break}return r}};let Wa=new f(1e5);var z=class e extends ee{static create(t,n){let r=Wa.get(t);if(r&&n&&this.checkCacheByOptions(r,n))return r;let i=new e(t);if(n!=null&&n.isHyperlink){var a;i._isHyperlink=n.isHyperlink,i._hyperlinkUrl=(a=n.hyperlinkUrl)==null?``:a}return n!=null&&n.isImage&&(i._isImage=n.isImage,i._imageInfo=n.imageInfo),Wa.set(t,i),i}static checkCacheByOptions(e,n){return!(e.isHyperlink()!==n.isHyperlink||e.getHyperlinkUrl()!==n.hyperlinkUrl||e.isImage()!==n.isImage||!t.Tools.diffValue(e.getImageInfo(),n.imageInfo))}constructor(e){super(e),d(this,`_value`,void 0),d(this,`_isHyperlink`,!1),d(this,`_hyperlinkUrl`,``),d(this,`_isImage`,!1),d(this,`_imageInfo`,void 0),this._value=e}getValue(){return this._value}isString(){return!0}isHyperlink(){return this._isHyperlink}getHyperlinkUrl(){return this._hyperlinkUrl}isImage(){return this._isImage}getImageInfo(){return this._imageInfo}concatenateFront(t){return t.isArray()?t.concatenateBack(this):e.create(this.concatenate(t.getValue(),s.FRONT))}concatenateBack(t){return t.isArray()?t.concatenateFront(this):e.create(this.concatenate(t.getValue(),s.BACK))}plus(e){return this.convertToNumberObjectValue().plus(e)}minus(e){return this.convertToNumberObjectValue().minus(e)}multiply(e){return this.convertToNumberObjectValue().multiply(e)}divided(e){return this.convertToNumberObjectValue().divided(e)}compare(e,t,n){return e.isArray()?e.compare(this,Br(t),n):this.compareBy(e.getValue(),t,n)}compareBy(e,t,n=!1){let r=this.getValue(),i=!1;if(typeof e==`string`){let a=e;if(n||(r=r.toLocaleLowerCase(),a=a.toLocaleLowerCase()),xr(a))return this._checkWildcard(a,t);i=this._compareString(r,a,t)}else typeof e==`number`?i=this._compareNumber(t):typeof e==`boolean`&&(i=this._compareBoolean(t));return L.create(i)}_compareString(e,t,n){switch(n){case v.EQUALS:return e===t;case v.GREATER_THAN:return e>t;case v.GREATER_THAN_OR_EQUAL:return e>=t;case v.LESS_THAN:return e<t;case v.LESS_THAN_OR_EQUAL:return e<=t;case v.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case v.NOT_EQUAL:case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!0;case v.EQUALS:case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case v.EQUALS:case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!1;case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:case v.NOT_EQUAL:return!0}}convertToNumberObjectValue(){let e=this.getValue(),n=(0,t.getNumfmtParseValueFilter)(e);return n&&n.z?qa(n.v,n.z):qa(e)}convertToBooleanObjectValue(){return L.create(!0)}_checkWildcard(e,t){let n=wr(this.getValue().toLocaleLowerCase(),e,t);return L.create(n)}};function Ga(e){if(typeof e==`boolean`)return L.create(e);let t=!1;if(typeof e==`string`){let n=e.toLocaleUpperCase();n===i.TRUE?t=!0:n===i.FALSE&&(t=!1)}else t=e===1;return L.create(t)}function Ka(e){let t=e.toString();return t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`&&(t=t.slice(1,-1),t=t.replace(/""/g,`"`)),z.create(t)}function qa(e,n=``){if(typeof e==`boolean`){let t=0;return e&&(t=1),R.create(t,n)}else if(typeof e==`number`)return Number.isFinite(e)?R.create(e,n):E.create(p.NUM);else if((0,t.isRealNum)(e))return R.create(Number(e),n);return E.create(p.VALUE)}var Ja=function(e){return e[e.MINUS=0]=`MINUS`,e[e.PLUS=1]=`PLUS`,e[e.MULTIPLY=2]=`MULTIPLY`,e[e.DIVIDED=3]=`DIVIDED`,e[e.MOD=4]=`MOD`,e[e.COMPARE=5]=`COMPARE`,e[e.CONCATENATE_FRONT=6]=`CONCATENATE_FRONT`,e[e.CONCATENATE_BACK=7]=`CONCATENATE_BACK`,e[e.POW=8]=`POW`,e[e.ROUND=9]=`ROUND`,e[e.FLOOR=10]=`FLOOR`,e[e.CEIL=11]=`CEIL`,e[e.ATAN2=12]=`ATAN2`,e}(Ja||{}),Ya=function(e){return e[e.PRODUCT=0]=`PRODUCT`,e[e.ROW=1]=`ROW`,e[e.COLUMN=2]=`COLUMN`,e[e.SINGLE=3]=`SINGLE`,e}(Ya||{});function Xa(e){return``}function Za(e=[],t=!1){let n=[];for(let r=0;r<e.length;r++){let i=e[r];n[r]==null&&(n[r]=[]);for(let e=0;e<i.length;e++){let a=i[e];n[r][e]=$a.create(a,t)}}return n}function Qa(e=[]){let t=[];for(let n=0;n<e.length;n++){let r=e[n];t[n]==null&&(t[n]=[]);for(let e=0;e<r.length;e++){let i=r[e];i==null?t[n][e]=null:i.isError()?t[n][e]=i.getErrorType():t[n][e]=i.getValue()}}return t}var B=class e extends ee{static create(t){return new e(t)}static createByArray(t){return new e({calculateValueList:Za(t),rowCount:t.length,columnCount:t[0].length||0,unitId:``,sheetId:``,row:-1,column:-1})}constructor(e){super(typeof e==`string`?e:Xa(e)),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`,void 0),d(this,`_defaultValue`,null),d(this,`_flattenPosition`,void 0),this._values=this._formatValue(e)}dispose(){this._values=[],this._defaultValue=null,this._flattenPosition=null,this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}setDefaultValue(e){this._defaultValue=e}get(e,t){var n;return((n=this._values[e])==null?void 0:n[t])||this._defaultValue}getRealValue(e,t){let n=this._values[e];if(n==null)return null;let r=n[t];return r==null?null:r}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,n){if(e>=this._rowCount||t>=this._columnCount){console.error(`Exceeding array bounds.`);return}this._clearCache(),this._values[e][t]=n}getRangePosition(){let e=this.getRowCount(),t=this.getColumnCount();return{startRow:0,endRow:e-1,startColumn:0,endColumn:t-1}}iterator(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this.getRangePosition(),a=this.getArrayValue();for(let s=t;s<=n;s++)for(let t=r;t<=i;t++){var o;if(e(((o=a[s])==null?void 0:o[t])||this._defaultValue,s,t)===!1)return}}iteratorReverse(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this.getRangePosition(),a=this.getArrayValue();for(let s=n;s>=t;s--)for(let t=i;t>=r;t--){var o;if(e(((o=a[s])==null?void 0:o[t])||this._defaultValue,s,t)===!1)return}}getLastTruePosition(){let e;return this.iteratorReverse((t,n,r)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:r},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,n,r)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:r},!1}),e}getFirstCell(){let{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||Ua.create()}getLastCell(){let{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||Ua.create()}pick(e){let t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){let t=e.getRowCount(),n=e.getColumnCount();if(t!==this._rowCount||n!==this._columnCount)return[[Ua.create()]];let r=[];r[0]=[];for(let i=0;i<t;i++)for(let t=0;t<n;t++){let n=e.get(i,t);if(!(n==null||n.isError())&&n.getValue()===!0){let e=this.get(i,t);r[0].push(e)}}return r}flatten(){if(this._flattenCache!=null)return this._flattenCache;let e=[];e[0]=[];for(let t=0;t<this._rowCount;t++)for(let n=0;n<this._columnCount;n++){let r=this.get(t,n);e[0].push(r)}let 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;let e=[],t=[],n=[],r=[],i=0;for(let a=0;a<this._rowCount;a++)for(let o=0;o<this._columnCount;o++){let s=this.get(a,o);if(s==null||s.isError()||s.isNull()){i++;continue}s.isString()?(e.push(s),n.push(i++)):(t.push(s),r.push(i++))}let a={stringArray:e,numberArray:t,stringPosition:n,numberPosition:r};return this._flattenPosition=a,a}slice(e,t){let n=0,r=this._rowCount,i=1,a=0,o=this._columnCount,s=1;if(e!=null&&(n=e[0]||0,r=e[1]||this._rowCount,i=e[2]||1),t!=null&&(a=t[0]||0,o=t[1]||this._columnCount,s=t[2]||1),n>=this._rowCount||a>=this._columnCount)return;let c=`${n}_${r}_${i}_${a}_${o}_${s}`,l=this._sliceCache.get(c);if(l!=null)return l;let u=[],d=this._values,f=0,p=0;for(let e=n;e<r;e+=i){p=0,u[f]==null&&(u[f]=[]);for(let t=a;t<o;t+=s){if(!d[e])return;let n=d[e][t]||this._defaultValue;n==null&&(n=Ua.create()),u[f][p]=n,p++}f++}if(u.length===0||u[0].length===0)return;let m=i>1?-1:n+this._currentRow,h=s>1?-1:a+this._currentColumn,g=this._createNewArray(u,u.length,u[0].length,m,h);return g.setDefaultValue(this._defaultValue),this._sliceCache.set(c,g),g}sortByRow(e){let 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(){let e=this._transposeArray(this._values),t=this._rowCount,n=this._columnCount,r=this._createNewArray(e,n,t);return r.setDefaultValue(this._defaultValue),r}orderSearch(e,t=yr.MIN,n=!1,r=!1){let i,a,o,s,c=(n,c,l)=>{if(n==null||n.isNull())return!0;let u;if(u=r===!0?n.compare(e,v.EQUALS):n.isEqual(e),(u==null?void 0:u.getValue())===!0)return i=n,o={row:c,column:l},!1;t===yr.MAX?n.isGreaterThan(e).getValue()===!0&&(a==null||n.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=n,s={row:c,column:l}):t===yr.MIN&&n.isLessThan(e).getValue()===!0&&(a==null||n.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=n,s={row:c,column:l})};if(n?this.iteratorReverse((e,t,n)=>c(e,t,n)):this.iterator((e,t,n)=>c(e,t,n)),i!=null)return o;if(a!=null)return s}binarySearch(e,t=vr.MIN,n=yr.MIN){if(e.isError())return;let{stringArray:r,stringPosition:i,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,r,i,t,n):this._binarySearch(e,a,o,t,n)}_binarySearch(e,t,n,r=vr.MIN,i=yr.MIN){let a=br(),o=Number(e.getValue()),s=!Number.isNaN(o),c=0,l=t.length-1,u=-1,d=-1,f=-1;for(;c<=l;){let n=Math.floor((c+l)/2),i=t[n],p;if(i.isNull())p=r===vr.MIN?1:-1;else{let t=i.getValue();if(s){let e=Number(t);p=Number.isNaN(e)?1:Math.sign(e-o)}else p=a(t.toString().toLocaleLowerCase(),e.getValue().toString().toLocaleLowerCase())}if(r===vr.MAX&&(p=-p),p===0){u=n;break}p<0?(d=n,c=n+1):(f=n,l=n-1)}if(i===yr.NORMAL)return u===-1?void 0:n[u];if(i===yr.MIN)return u===-1?r===vr.MIN?n[d]:n[f]:n[u];if(i===yr.MAX)return u===-1?r===vr.MIN?n[f]:n[d]:n[u]}sum(){let e=R.create(0);return this.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.plus(t)}),e}max(){let e=R.create(-1/0);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isLessThan(t).getValue()&&(e=t)}),e}min(){let e=R.create(1/0);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isGreaterThan(t).getValue()&&(e=t)}),e}count(){let e=R.create(0);return this.iterator(t=>{if(t==null||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=R.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=R.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()===``)&&(e=e.plusBy(1))}),e}getNegative(){return e.create(`{0}`).minus(this)}getReciprocal(){return e.create(`{1}`).divided(this)}plus(e){return this._batchOperator(e,Ja.PLUS)}minus(e){return this._batchOperator(e,Ja.MINUS)}multiply(e){return this._batchOperator(e,Ja.MULTIPLY)}divided(e){return this._batchOperator(e,Ja.DIVIDED)}mod(e){return this._batchOperator(e,Ja.MOD)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,n){return this._batchOperator(e,Ja.COMPARE,t,n)}concatenateFront(e){return this._batchOperator(e,Ja.CONCATENATE_FRONT)}concatenateBack(e){return this._batchOperator(e,Ja.CONCATENATE_BACK)}map(e){return this.mapValue((t,n,r)=>t==null?Ua.create():t.isError()?t:e(t,n,r))}mapValue(e){let t=this._rowCount,n=this._columnCount,r=[];for(let a=0;a<t;a++){let t=[];for(let r=0;r<n;r++){var i;let n=(i=this._values)==null?void 0:i[a];if(n==null)t[r]=E.create(p.VALUE);else{let i=n[r]||this._defaultValue;i?t[r]=e(i,a,r):t[r]=Ua.create()}}r.push(t)}return this._createNewArray(r,t,n)}pow(e){return this._batchOperator(e,Ja.POW)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}cosh(){return this.map(e=>e.isError()?e:e.cosh())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}sinh(){return this.map(e=>e.isError()?e:e.sinh())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,Ja.ATAN2)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){let t=this.sum(),n=this.count();return t.divided(e===0?n:n.minusBy(1))}median(){let e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),n=t.getColumnCount();if(n<=1)return t.get(0,0)||Ua.create();if(t.sortByRow(0),n%2==0){let e=t.get(0,n/2)||Ua.create(),r=t.get(0,n/2-1)||Ua.create();return e.plus(r).divided(R.create(2))}return t.get(0,(n-1)/2)||Ua.create()}var(t=0){let n=this.mean(),r=[[]];this.iterator(e=>{if(e==null||e.isError()||e.isString()||e.isBoolean()||e.isNull())return;let t=e.minus(n).pow(R.create(2));t.isError()||r[0].push(t)});let{_unitId:i,_sheetId:a,_currentRow:o,_currentColumn:s}=this;return e.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:i,sheetId:a,row:o,column:s}).mean(t)}std(e=0){let 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,Ja.ROUND)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,Ja.FLOOR)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,Ja.CEIL)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return Qa(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){let t=br();return(n,r)=>{let i=n[e],a=r[e];return i==null?1:a==null?-1:i.isError()&&i.isError()?0:i.isError()?1:a.isError()?-1:t(i.getValue(),a.getValue())}}_transposeArray(e){let t=e.length,n=e[0].length,r=[];for(let i=0;i<n;i++){r[i]=[];for(let n=0;n<t;n++)r[i][n]=e[n][i]}return r}_batchOperator(e,t,n,r){let i=[],a=this._rowCount,o=this._columnCount;if(e.isArray()){let s=e.getRowCount(),c=e.getColumnCount();if(a=Math.max(s,a),o=Math.max(c,o),s===1&&c===1){let t=e.getFirstCell();for(let e=0;e<o;e++)i.push(t)}else if(s===1&&this._columnCount>1){let t=e.getArrayValue();for(let e=0;e<o;e++)t[0]&&t[0][e]?i.push(t[0][e]):i.push(Ua.create())}else return this._batchOperatorArray(e,t,n,r)}else for(let t=0;t<o;t++)i.push(e);let s=[];for(let e=0;e<o;e++){let a=i[e];this._batchOperatorValue(a,e,s,t,n,r)}let c=this._createNewArray(s,a,o);return c.setDefaultValue(L.create(!1)),c}_batchOperatorValue(e,t,n,r,i,a){let o=this._rowCount,s=this.getUnitId(),c=this.getSheetId(),l=this.getCurrentRow(),u=this.getCurrentColumn();if(r===Ja.COMPARE){let{rowsInCache:d,rowsNotInCache:f}=cr.canUseCache(s,c,t+u,l,l+o-1);if(d.length>0){if(i===v.EQUALS&&!(e.isString()&&xr(e.getValue()))){let r=cr.getCellPositions(s,c,t+u,e.isNull()?null:e.getValue(),d);r!=null&&r.forEach(e=>{if(e<l||e>l+o-1)return;let r=e-l;n[r]==null&&(n[r]=[]),n[r][t]=L.create(!0)})}else{let r=cr.getCellValuePositions(s,c,t+u);r!=null&&r.forEach((r,s)=>{let c=Ua.create();m.has(s)?c=E.create(s):typeof s==`string`?c=z.create(s):typeof s==`number`?c=R.create(s):typeof s==`boolean`&&(c=L.create(s));let u;u=c.isError()?c:e.isError()?e:c.compare(e,i,a),r.forEach(e=>{e>=l&&e<=l+o-1&&(n[e-l]==null&&(n[e-l]=[]),n[e-l][t]=u)})})}if(f.length>0)for(let o of f){let[d,f]=o;for(let o=d;o<=f;o++)this.__batchOperatorRowValue(e,t,n,r,o-l,s,c,l,u,i,a);cr.setContinueBuildingCache(s,c,t+u,d,f)}return}}for(let d=0;d<o;d++)this.__batchOperatorRowValue(e,t,n,r,d,s,c,l,u,i,a);cr.setContinueBuildingCache(s,c,t+u,l,l+o-1)}__batchOperatorRowValue(e,t,n,r,i,a,o,s,c,l,u){let d=this.getValueOrDefault(i,t);if(n[i]==null&&(n[i]=[]),d&&e)if(d.isError())n[i][t]=d;else if(e.isError())n[i][t]=e;else switch(r){case Ja.PLUS:n[i][t]=d.plus(e);break;case Ja.MINUS:n[i][t]=d.minus(e);break;case Ja.MULTIPLY:n[i][t]=d.multiply(e);break;case Ja.DIVIDED:n[i][t]=d.divided(e);break;case Ja.MOD:n[i][t]=d.mod(e);break;case Ja.COMPARE:l?n[i][t]=d.compare(e,l,u):n[i][t]=E.create(p.VALUE);break;case Ja.CONCATENATE_FRONT:n[i][t]=d.concatenateFront(e);break;case Ja.CONCATENATE_BACK:n[i][t]=d.concatenateBack(e);break;case Ja.POW:n[i][t]=d.pow(e);break;case Ja.ROUND:n[i][t]=d.round(e);break;case Ja.FLOOR:n[i][t]=d.floor(e);break;case Ja.ATAN2:n[i][t]=d.atan2(e);break;case Ja.CEIL:n[i][t]=d.ceil(e);break}else n[i][t]=E.create(p.NA);!d||d!=null&&d.isNull()?cr.set(a,o,t+c,sr,i+s):cr.set(a,o,t+c,d.getValue(),i+s)}_batchOperatorArray(e,t,n,r){let i=e.getRowCount(),a=e.getColumnCount();i<this._rowCount&&(i=this._rowCount),a<this._columnCount&&(a=this._columnCount);let o=[],s=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let l=0;l<i;l++){let i=[];for(let o=0;o<a;o++){let a;a=s===Ya.SINGLE?this.getValueOrDefault(0,0):s===Ya.ROW?this.getValueOrDefault(0,o):s===Ya.COLUMN?this.getValueOrDefault(l,0):this.getValueOrDefault(l,o);let u;if(u=c===Ya.SINGLE?e.getValueOrDefault(0,0):c===Ya.ROW?e.getValueOrDefault(0,o):c===Ya.COLUMN?e.getValueOrDefault(l,0):e.getValueOrDefault(l,o),a&&u)if(a.isError())i[o]=a;else if(u.isError())i[o]=u;else switch(t){case Ja.PLUS:i[o]=a.plus(u);break;case Ja.MINUS:i[o]=a.minus(u);break;case Ja.MULTIPLY:i[o]=a.multiply(u);break;case Ja.DIVIDED:i[o]=a.divided(u);break;case Ja.MOD:i[o]=a.mod(u);break;case Ja.COMPARE:n?i[o]=a.compare(u,n,r):i[o]=E.create(p.VALUE);break;case Ja.CONCATENATE_FRONT:i[o]=a.concatenateFront(u);break;case Ja.CONCATENATE_BACK:i[o]=a.concatenateBack(u);break;case Ja.POW:i[o]=a.pow(u);break;case Ja.ROUND:i[o]=a.round(u);break;case Ja.ATAN2:i[o]=a.atan2(u);break;case Ja.FLOOR:i[o]=a.floor(u);break;case Ja.CEIL:i[o]=a.ceil(u);break}else i[o]=E.create(p.NA)}o.push(i)}return this._createNewArray(o,i,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?Ya.SINGLE:e.getRowCount()===1?Ya.ROW:e.getColumnCount()===1?Ya.COLUMN:Ya.PRODUCT}_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);let t=e.split(`;`),n=t.length,r=[],i=0;for(let e=0;e<n;e++){let n=t[e].split(`,`),a=n.length;i<a&&(i=a);let o=[];for(let e=0;e<a;e++){let t=n[e].trim();o.push($a.create(t))}r.push(o)}return this._rowCount=n,this._columnCount=i,r}_createNewArray(t,n,r,i=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(i=-1,a=-1);let o={calculateValueList:t,rowCount:n,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:i,column:a};return e.create(o)}},$a=class{static create(e,n=!1){if(e==null)return Ua.create();if(typeof e==`boolean`)return L.create(e);if(typeof e==`string`){let r=e.toLocaleUpperCase().trim();if(m.has(r))return E.create(r);if(r===i.TRUE||r===i.FALSE)return Ga(e);if((0,t.isRealNum)(e)&&Number(e).toString()===e.trim())return R.create(Number(e));if(!n){let{isNumberPattern:t,value:n,pattern:r}=Lr(e);if(t)return R.create(n,r)}let a=e.replace(/\n/g,``).replace(/\r/g,``);return!eo(a)&&Ot(a)?B.create(a):Ka(e)}return typeof e==`number`?qa(e):E.create(p.VALUE)}};function eo(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)}let to=new f(1e4);var no=class extends g{constructor(e){super(),this._token=e,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,`_filteredOutRows`,[]),d(this,`_defaultUnitId`,``),d(this,`_forcedUnitId`,``),d(this,`_runtimeData`,{}),d(this,`_arrayFormulaCellData`,{}),d(this,`_arrayFormulaRange`,{}),d(this,`_runtimeArrayFormulaCellData`,{}),d(this,`_runtimeArrayFormulaRange`,{}),d(this,`_runtimeFeatureCellData`,{}),d(this,`_refOffsetX`,0),d(this,`_refOffsetY`,0),d(this,`_currentRow`,void 0),d(this,`_currentColumn`,void 0)}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){let{startRow:e,endRow:t,startColumn:n,endColumn:r}=this.getRangePosition();return e<0||n<0||t>=this.getActiveSheetRowCount()||r>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{x:e,y:n}=this.getRefOffset(),r=(0,t.moveRangeByOffset)(this.getRangeData(),e,n);return Number.isNaN(r.startRow)&&(r.startRow=0),Number.isNaN(r.startColumn)&&(r.startColumn=0),Number.isNaN(r.endRow)&&(r.endRow=this.getActiveSheetRowCount()-1),Number.isNaN(r.endColumn)&&(r.endColumn=this.getActiveSheetColumnCount()-1),r}isReferenceObject(){return!0}iterator(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(E.create(p.VALUE),t,r);let a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId;for(let s=t;s<=n;s++)for(let n=r;n<=i;n++){if(s<0||n<0)return e(E.create(p.REF),s,n);let i=this.getCellData(s,n),c=!1;if(mr(i)){c=e(null,s,n);continue}let l=this.getCellValueObject(i);if(s===t&&n===r){let e=this.getCellPattern(a,o,s,n);if(e&&l.isNumber()){let t=Number(l.getValue());l=R.create(t,e)}}if(c=e(l,s,n),c===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return E.create(p.VALUE);let{startRow:e,startColumn:t}=this.getRangePosition(),n=this.getCellData(e,t);if(!n)return R.create(0);let r=this.getCellValueObject(n),i=this._forcedUnitId||this._defaultUnitId,a=this._forcedSheetId||this._defaultSheetId,o=this.getCellPattern(i,a,e,t);if(o&&r.isNumber()){let e=Number(r.getValue());r=R.create(e,o)}return r}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getUnitStylesData(){return this._unitStylesData}setUnitStylesData(e){this._unitStylesData=e}getFilteredOutRows(){return this._filteredOutRows}setFilteredOutRows(e){this._filteredOutRows=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeArrayFormulaRange(){return this._runtimeArrayFormulaRange}setRuntimeArrayFormulaRange(e){this._runtimeArrayFormulaRange=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(){let e=this.getRangeData();return e.endRow-e.startRow+1}getColumnCount(){let e=this.getRangeData();return e.endColumn-e.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}isCurrentRowForRange(){return!1}isCurrentColumnForRange(){return!1}isMultiArea(){return!1}unionBy(e){return E.create(p.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){let n=hr(e);if(m.has(n))return E.create(n);if(e.t===t.CellValueType.NUMBER){let r=this._getPatternByCell(e);return(0,t.isTextFormat)(r)?z.create(n.toString()):qa(n,r)}return e.t===t.CellValueType.STRING||e.t===t.CellValueType.FORCE_STRING?z.create(n.toString()):e.t===t.CellValueType.BOOLEAN?Ga(n):$a.create(n)}_getPatternByCell(e){var t;let n=this._unitStylesData[this.getUnitId()];if(!n)return``;let r=n.getStyleByCell(e);return(r==null||(t=r.n)==null?void 0:t.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;return(e=this._runtimeData)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e;return(e=this._arrayFormulaCellData)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e;return(e=this._runtimeArrayFormulaCellData)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentActiveArrayFormulaRange(){var e;return(e=this._arrayFormulaRange)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaRange(){var e;return(e=this._runtimeArrayFormulaRange)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCellData(e,n){let r=this.getCurrentActiveSheetData(),i=this.getCurrentRuntimeSheetData(),a=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData(),s=new t.ObjectMatrix(this.getCurrentActiveArrayFormulaRange()),c=new t.ObjectMatrix(this.getCurrentRuntimeActiveArrayFormulaRange()),l=(i==null?void 0:i.getValue(e,n))||(o==null?void 0:o.getValue(e,n))||this.getRuntimeFeatureCellValue(e,n);if(l)return l;if(l=a==null?void 0:a.getValue(e,n),l){let t=!1;return s.forValue((r,i,a)=>{if(e>=a.startRow&&e<=a.endRow&&n>=a.startColumn&&n<=a.endColumn&&c.getValue(r,i))return t=!0,!1}),t?null:l}return r==null?void 0:r.cellData.getValue(e,n)}getRuntimeFeatureCellValue(e,t){return _r(e,t,this.getSheetId(),this.getUnitId(),this._runtimeFeatureCellData)}getCellByPosition(e,t){let n=e,r=t,i=this.getRangeData();n||(n=i.startRow),r||(r=i.startColumn);let a=this.getCellData(n,r);return a?this.getCellValueObject(a):E.create(p.VALUE)}setCurrentRowAndColumn(e,t){this._currentRow=e,this._currentColumn=t}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getCellPattern(e,t,n,r){var i,a;let o=this._unitStylesData[e];if(!o)return``;let s=(i=this._unitData[e])==null||(i=i[t])==null||(i=i.cellData)==null?void 0:i.getValue(n,r);if(!s)return``;let c=o.getStyleByCell(s);return(c==null||(a=c.n)==null?void 0:a.pattern)||``}toArrayValueObject(e=!0){var t;let{startRow:n,endRow:r,startColumn:i,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${n}_${r}_${i}_${a}`,s=to.get(o);if(s&&e)return s;let c=r-n+1,l=a-i+1;if(c<0||l<0)return this._getBlankArrayValueObject();let u=Array(c);this.iterator((e,t,r)=>{let a=t-n,o=r-i;u[a]||(u[a]=Array(l)),e==null&&(e=Ua.create()),u[a][o]=e});let d={calculateValueList:u,rowCount:u.length,columnCount:((t=u[0])==null?void 0:t.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:n,column:i},f=B.create(d);return e&&to.set(o,f),f}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(){let e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return B.create(e)}},ro=class extends g{constructor(e){super(),this._promise=e}isAsyncObject(){return!0}async getValue(){return this._promise}},io=class extends g{constructor(e){super(),this._promiseList=e}isAsyncArrayObject(){return!0}async getValue(){var e;let t=[];for(let e=0;e<this._promiseList.length;e++){let n=this._promiseList[e];t[e]==null&&(t[e]=[]);for(let r=0;r<n.length;r++){let i=n[r];i.isAsyncObject()?t[e][r]=await i.getValue():t[e][r]=i}}let n={calculateValueList:t,rowCount:t.length,columnCount:((e=t[0])==null?void 0:e.length)||0,unitId:``,sheetId:``,row:0,column:0};return B.create(n)}},ao=class extends no{constructor(e,t,n){super(``),this.setRangeData(e),t&&this.setForcedSheetIdDirect(t),n&&this.setForcedUnitIdDirect(n)}isRange(){return!0}},oo=class extends no{constructor(e){super(e);let t=Gn(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName),this.setRangeData(t.range)}isCell(){return!0}unionBy(e){if(!e.isCell())return E.create(p.REF);let t=e,n=this.unionRange(this.getRangeData(),t.getRangeData());return this._createRange(n)}unionRange(e,t){let n=e.startRow,r=e.startColumn,i=t.startRow,a=t.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return n>i?(o.startRow=i,o.endRow=n):(o.startRow=n,o.endRow=i),r>a?(o.startColumn=a,o.endColumn=r):(o.startColumn=r,o.endColumn=a),e.startAbsoluteRefType&&(o.startAbsoluteRefType=e.startAbsoluteRefType),t.startAbsoluteRefType&&(o.endAbsoluteRefType=t.startAbsoluteRefType),o}_createRange(e){let t=new ao(e,this.getForcedSheetId(),this.getForcedUnitId());t.setUnitData(this.getUnitData()),t.setDefaultSheetId(this.getDefaultSheetId()),t.setDefaultUnitId(this.getDefaultUnitId()),t.setRuntimeData(this.getRuntimeData()),t.setUnitStylesData(this.getUnitStylesData()),t.setArrayFormulaCellData(this.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),t.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());let{x:n,y:r}=this.getRefOffset();t.setRefOffset(n,r);let i=this.getForcedSheetId();t.setForcedSheetName(this.getForcedSheetName()),i!=null&&t.setForcedSheetIdDirect(i);let a=this.getForcedUnitId();return a&&t.setForcedUnitIdDirect(a),t}},so=class extends no{constructor(e){super(e);let n=Gn(e);this.setForcedUnitIdDirect(n.unitId),this.setForcedSheetName(n.sheetName);let r={...n.range,startColumn:n.range.startColumn,startRow:NaN,endColumn:n.range.endColumn,endRow:NaN,rangeType:t.RANGE_TYPE.COLUMN};this.setRangeData(r)}isColumn(){return!0}unionBy(e){if(!e.isColumn())return E.create(p.REF);let n=e;if(n.getForcedSheetName()!==void 0&&n.getForcedSheetName()!==``)return E.create(p.REF);let r=this.getRangeData(),i=n.getRangeData(),a=i.startColumn;if(a>=r.startColumn&&a<=r.endColumn)return this;let o=r.startColumn;return a>o?r.endColumn=a:(r.startColumn=a,r.endColumn=o),i.startAbsoluteRefType&&(r.endAbsoluteRefType=i.startAbsoluteRefType),r.rangeType=t.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${S.COLON}${n.getToken()}`),this}},co=class extends no{constructor(e){super(e);let n=Gn(e);this.setForcedUnitIdDirect(n.unitId),this.setForcedSheetName(n.sheetName);let r={...n.range,startColumn:NaN,startRow:n.range.startRow,endColumn:NaN,endRow:n.range.endRow,rangeType:t.RANGE_TYPE.ROW};this.setRangeData(r)}isRow(){return!0}unionBy(e){if(!e.isRow())return E.create(p.REF);let n=e;if(n.getForcedSheetName()!==void 0&&n.getForcedSheetName()!==``)return E.create(p.REF);let r=this.getRangeData(),i=n.getRangeData(),a=i.startRow;if(a>=r.startRow&&a<=r.endRow)return this;let o=r.startRow;return a>o?r.endRow=a:(r.startRow=a,r.endRow=o),i.startAbsoluteRefType&&(r.endAbsoluteRefType=i.startAbsoluteRefType),r.rangeType=t.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${S.COLON}${n.getToken()}`),this}};function V(e,t,n,r){let i=n.isArray()?n.getRowCount():1,a=n.isArray()?n.getColumnCount():1,o=[];for(let s=0;s<e;s++){let e=[];for(let o=0;o<t;o++){if(i===1&&a===1){let t=n.isArray()?n.get(0,0):n;e.push(t);continue}if(i===1&&o<a){let t=n.get(0,o);e.push(t);continue}if(a===1&&s<i){let t=n.get(s,0);e.push(t);continue}if(s>=i||o>=a){e.push(r==null?Ua.create():r);continue}let t=n.get(s,o);e.push(t)}o.push(e)}return lo(o,e,t)}function lo(e,t,n,r=``,i=``){let a={calculateValueList:e,rowCount:t,columnCount:n,unitId:r,sheetId:i,row:-1,column:-1};return B.create(a)}function uo(e){let t=[v.EQUALS,v.NOT_EQUAL,v.GREATER_THAN_OR_EQUAL,v.GREATER_THAN,v.LESS_THAN_OR_EQUAL,v.LESS_THAN];for(let n of t)if(e.startsWith(n)){let t=e.substring(n.length);return[n,$a.create(t)]}return[v.EQUALS,$a.create(e)]}function fo(e,t,n,r){if(!n)if(t.isString()){let[e,r]=uo(`${t.getValue()}`);n=e,t=r}else n=v.EQUALS;return e.compare(t,n,r)}function po(e,t){let n=e.getRowCount(),r=e.getColumnCount(),i=t.getRowCount(),a=t.getColumnCount(),o=e,s=t;if(n!==i||r!==a){let c=Math.max(n,i),l=Math.max(r,a);o=V(c,l,e),s=V(c,l,t)}return o.mapValue((e,t,n)=>{let r=s.get(t,n);return e!=null&&e.isError()?e:r!=null&&r.isError()?r:e!=null&&e.isBoolean()&&r!=null&&r.isBoolean()?Ga(e.getValue()&&r.getValue()):L.create(!1)})}function mo(e){let t=e.getValue(),n=0;return t&&(n=1),R.create(n)}function ho(e){return e.isArray()&&e.getRowCount()===1&&e.getColumnCount()===1?!0:e.isReferenceObject()?!!(e.isCell()||e.getRowCount()===1&&e.getColumnCount()===1):(e=e,!!(e.isString()||e.isNumber()||e.isBoolean()||e.isError()||e.isNull()))}function go(e){let n=e==null?void 0:e.getPattern(),r={},i={};if(n&&(r={s:{n:{pattern:n}}}),e!=null&&e.getCustomData()&&(i={custom:e.getCustomData()}),e==null)return{v:null,...r};if(e.isError())return{v:e.getErrorType(),t:t.CellValueType.STRING,...r,...i};if(e.isValueObject()){let n=e,a=n.getValue();return n.isNumber()?{v:a,t:t.CellValueType.NUMBER,...r,...i}:n.isBoolean()?{v:a?1:0,t:t.CellValueType.BOOLEAN,...r,...i}:n.isString()?{v:a,t:t.CellValueType.STRING,...r,...i}:n.isNull()?{v:null,...r,...i}:{v:a,t:t.CellValueType.STRING,...r,...i}}}function _o(e){let t=0,n=0;return e.forEach((e,r)=>{if(r%2==1)if(e.isArray()){let r=e;t=Math.max(t,r.getRowCount()),n=Math.max(n,r.getColumnCount())}else t=Math.max(t,1),n=Math.max(n,1)}),{maxRowLength:t,maxColumnLength:n}}function vo(e,t){if(e.length===0||e.length%2!=0)return{isError:!0,errorObject:E.create(p.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let n=null,r=-1,i=-1;if(t){if(!t.isReferenceObject())return{isError:!0,errorObject:E.create(p.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};n=t.toArrayValueObject(),r=n.getRowCount(),i=n.getColumnCount()}let a=0,o=0,s=!1,c=[];for(let t=0;t<e.length;t++)if(t%2==1){let n=e[t-1],l=e[t];if(!n.isReferenceObject())return{isError:!0,errorObject:E.create(p.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let u=n.toArrayValueObject(),d=u.getRowCount(),f=u.getColumnCount();t===1&&r===-1&&i===-1?(r=d,i=f):!s&&(r!==d||i!==f)&&(s=!0);let m=l;l.isReferenceObject()&&(m=l.toArrayValueObject()),a=Math.max(a,m.isArray()?m.getRowCount():1),o=Math.max(o,m.isArray()?m.getColumnCount():1),c.push(u),c.push(m)}return{isError:!1,errorObject:null,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:n,variants:c}}function yo(e){return e.isArray()?e:B.createByArray([[e.getValue()]])}function bo(e,t){let{formulaName:n,maxRowLength:r,maxColumnLength:i,isNumberSensitive:a=!1,targetRange:o}=t,s=[];for(let t=0;t<e.length;t++){if(t%2==1)continue;let n=e[t],a=e[t+1],o=V(r,i,a,E.create(p.NA));s.push({range:n,criteriaArray:o})}if(s.length===0)return[];let c=[];return s[0].criteriaArray.iterator((e,t,r)=>{let i;for(let e=0;e<s.length;e++){let{range:n,criteriaArray:o}=s[e],c=o.get(t,r);if(!c)continue;let l=fo(n,c);if(a&&(l=xo(l,n,c)),i===void 0){i=l;continue}i=po(i,l)}let l;if(n===`COUNTIFS`){let e=0;i.iterator(t=>{t!=null&&t.isBoolean()&&t.getValue()===!0&&e++}),l=R.create(e)}else if(n===`SUMIFS`)l=o.pick(i).sum();else if(n===`AVERAGEIFS`){let e=o.pick(i),t=e.sum(),n=e.count();l=t.divided(n)}else if(n===`MAXIFS`){let e=o.pick(i);l=e.getColumnCount()===0?B.create(`0`):e.max()}else if(n===`MINIFS`){let e=o.pick(i);l=e.getColumnCount()===0?B.create(`0`):e.min()}c[t]||(c[t]=[]),c[t][r]=l}),c}function xo(e,t,n){let[r,i]=uo(`${n.getValue()}`);return e.mapValue((e,n,a)=>{let o=t.get(n,a);if(o&&So(o,i))return e;if(o!=null&&o.isError()&&i.isError()&&o.getValue()===i.getValue())return L.create(!0);if(r===v.EQUALS||r===v.NOT_EQUAL){if(o!=null&&o.isNumber()&&i.isString()){let e=i.convertToNumberObjectValue();if(e.isNumber())return o.compare(e,r)}if(i.isNumber()&&o!=null&&o.isString()){let e=o.convertToNumberObjectValue();if(e.isNumber())return e.compare(i,r)}if(r===v.EQUALS)return L.create(!1);if(r===v.NOT_EQUAL)return L.create(!0)}return L.create(!1)})}function So(e,t){if(e.isNumber()&&t.isNumber()||e.isBoolean()&&t.isBoolean())return!0;let n=e.isString()&&e.getValue()===``,r=t.isString()&&t.getValue()===``;return!!((n||e.isNull())&&(r||t.isNull())||e.isString()&&!n&&t.isString()&&!r)}let Co=function(e){return e[e.CELL=0]=`CELL`,e[e.COLUMN=1]=`COLUMN`,e[e.ROW=2]=`ROW`,e}({});function wo(e,t){let n;switch(t){case Co.COLUMN:n=new so(e);break;case Co.ROW:n=new co(e);break;case Co.CELL:default:n=new oo(e);break}return n}function To(e,t){let n;return n=e.isCell()&&t.isCell()||e.isRow()&&t.isRow()||e.isColumn()&&t.isColumn()?e.unionBy(t):E.create(p.NAME),n}let Eo=class extends t.Disposable{constructor(e){super(),this._univerInstanceService=e}generateCellValue(e,n){if(n.trim()===``)return{v:``};let r=e;if(e.startsWith(`#`)&&kt(e.slice(1))){let{unitId:n,sheetName:i,range:a}=Yt(e.slice(1)),o=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(n===``||n===o.getUnitId())if(i===``)r=`#gid=${o.getActiveSheet().getSheetId()}&range=${Ut(a)}`;else{let e=o.getSheetBySheetName(i);e&&(r=`#gid=${e.getSheetId()}&range=${Ut(a)}`)}}else t.Tools.isLegalUrl(e)&&(r=t.Tools.normalizeUrl(e));return{p:t.RichTextBuilder.create().insertLink(n,r).getData()}}};Eo=un([A(0,t.IUniverInstanceService)],Eo);let Do=(0,t.createIdentifier)(`univer.formula.hyperlink-engine-formula.service`),Oo=function(e){return e[e.IDLE=0]=`IDLE`,e[e.START=1]=`START`,e[e.START_DEPENDENCY=2]=`START_DEPENDENCY`,e[e.START_CALCULATION=3]=`START_CALCULATION`,e[e.CURRENTLY_CALCULATING=4]=`CURRENTLY_CALCULATING`,e[e.START_DEPENDENCY_ARRAY_FORMULA=5]=`START_DEPENDENCY_ARRAY_FORMULA`,e[e.START_CALCULATION_ARRAY_FORMULA=6]=`START_CALCULATION_ARRAY_FORMULA`,e[e.CURRENTLY_CALCULATING_ARRAY_FORMULA=7]=`CURRENTLY_CALCULATING_ARRAY_FORMULA`,e[e.CALCULATION_COMPLETED=8]=`CALCULATION_COMPLETED`,e}({}),ko=function(e){return e[e.INITIAL=0]=`INITIAL`,e[e.STOP_EXECUTION=1]=`STOP_EXECUTION`,e[e.NOT_EXECUTED=2]=`NOT_EXECUTED`,e[e.SUCCESS=3]=`SUCCESS`,e}({}),Ao=class extends t.Disposable{constructor(e,t){super(),this._currentConfigService=e,this._hyperlinkEngineFormulaService=t,d(this,`_formulaExecuteStage`,Oo.IDLE),d(this,`_stopState`,!1),d(this,`_currentRow`,-1),d(this,`_currentColumn`,-1),d(this,`_currentRowCount`,-1/0),d(this,`_currentColumnCount`,-1/0),d(this,`_currentSubUnitId`,``),d(this,`_currentUnitId`,``),d(this,`_runtimeData`,{}),d(this,`_runtimeOtherData`,{}),d(this,`_unitArrayFormulaRange`,{}),d(this,`_unitArrayFormulaEmbeddedMap`,{}),d(this,`_runtimeArrayFormulaCellData`,{}),d(this,`_runtimeClearArrayFormulaCellData`,{}),d(this,`_runtimeFeatureRange`,{}),d(this,`_runtimeFeatureCellData`,{}),d(this,`_runtimeImageFormulaData`,[]),d(this,`_functionsExecutedState`,ko.INITIAL),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),d(this,`_dependencyTreeModelData`,[])}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){super.dispose(),this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={},this.clearReferenceAndNumberformatCache()}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}markedAsSuccessfullyExecuted(){this._functionsExecutedState=ko.SUCCESS}markedAsNoFunctionsExecuted(){this._functionsExecutedState=ko.NOT_EXECUTED}markedAsStopFunctionsExecuted(){this._functionsExecutedState=ko.STOP_EXECUTION}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=ko.INITIAL}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(Oo.IDLE)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=Oo.IDLE,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._unitArrayFormulaEmbeddedMap={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._runtimeImageFormulaData=[],this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._stopState=!1,this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0,this.clearReferenceAndNumberformatCache()}clearReferenceAndNumberformatCache(){jr(),zr(),Kn()}setCurrent(e,t,n,r,i,a){this._currentRow=e,this._currentColumn=t,this._currentRowCount=n,this._currentColumnCount=r,this._currentSubUnitId=i,this._currentUnitId=a}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t,n,r){let i=this._currentSubUnitId,a=this._currentUnitId;this._runtimeOtherData[a]===void 0&&(this._runtimeOtherData[a]={});let o=this._runtimeOtherData[a];(o[i]===void 0||o[i]===null)&&(o[i]={});let s=o[i],c=[];if(r.isReferenceObject()||r.isValueObject()&&r.isArray()){let e=r,{startRow:t,startColumn:n}=e.getRangePosition();e.iterator((e,r,i)=>{let a=this._getValueObjectOfRuntimeData(e),o=r-t,s=i-n;c[o]==null&&(c[o]=[]),c[o][s]=a})}else c=[[this._getValueObjectOfRuntimeData(r)]];(s[e]===void 0||s[e]===null)&&(s[e]={}),(s[e][n]===void 0||s[e][n]===null)&&(s[e][n]={}),s[e][n][t]=c}setRuntimeData(e){let n=this._currentRow,r=this._currentColumn,i=this._currentRowCount,a=this.currentColumnCount,o=this._currentSubUnitId,s=this._currentUnitId;this._runtimeData[s]==null&&(this._runtimeData[s]={});let c=this._runtimeData[s];c[o]==null&&(c[o]=new t.ObjectMatrix);let l=c[o];this._unitArrayFormulaRange[s]==null&&(this._unitArrayFormulaRange[s]={});let u=this._unitArrayFormulaRange[s];(u[o]===null||u[o]===void 0)&&(u[o]={});let d=new t.ObjectMatrix(u[o]);this._runtimeArrayFormulaCellData[s]===void 0&&(this._runtimeArrayFormulaCellData[s]={});let f=this._runtimeArrayFormulaCellData[s];f[o]==null&&(f[o]=new t.ObjectMatrix);let m=f[o];this._runtimeClearArrayFormulaCellData[s]===void 0&&(this._runtimeClearArrayFormulaCellData[s]={});let h=this._runtimeClearArrayFormulaCellData[s];h[o]==null&&(h[o]=new t.ObjectMatrix);let g=h[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){let t=e,{startRow:c,startColumn:u,endRow:f,endColumn:h}=t.getRangePosition();if(c===f&&u===h){let e=t.getFirstCell(),i=this._getValueObjectOfRuntimeData(e);l.setValue(n,r,i),g.setValue(n,r,i),cr.set(s,o,r,e.getValue(),n,!0);return}let _={startRow:n,startColumn:r,endRow:f-c+n,endColumn:h-u+r};if(d.setValue(n,r,_),this._checkIfArrayFormulaRangeHasData(s,o,n,r,_)||this._checkIfArrayFormulaExceeded(i,a,_)){let e=this._getValueObjectOfRuntimeData(E.create(p.SPILL));l.setValue(n,r,e),g.setValue(n,r,e),cr.set(s,o,r,p.SPILL,n,!0);let i=this._currentConfigService.getUnitData();t.iterator((t,a,l)=>{var d;let f=a-c+n,p=l-u+r,h=(d=i[s])==null||(d=d[o])==null?void 0:d.cellData.getValue(f,p);if(a===c&&l===u)m.setValue(n,r,e);else if(h!=null)h.v==null&&(h.v=``),m.setValue(f,p,h);else if(this._isInOtherArrayFormulaRange(s,o,n,r,f,p))return!0;else m.setValue(f,p,{v:``})})}else{let e=E.create(p.SPILL);t.iterator((t,i,a)=>{cr.set(s,o,r-u+a,t?t.getValue():0,n-c+i,!0);let d=this._getValueObjectOfRuntimeData(t);if(i===c&&a===u){if(t!=null&&t.isError()&&t.isEqualType(e))return g.setValue(n,r,{}),l.setValue(n,r,{...this._getValueObjectOfRuntimeData(e)}),!1;l.setValue(n,r,{...d})}let f=i-c+n,p=a-u+r;m.setValue(f,p,d)})}}else{let t=this._getValueObjectOfRuntimeData(e);if(l.setValue(n,r,t),e.isString()&&e.isImage()){let t=e.getImageInfo();t&&this._runtimeImageFormulaData.push({...t,unitId:s,sheetId:o,row:n,column:r})}cr.set(s,o,r,e.getValue(),n,!0),g.setValue(n,r,t)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):go(e)}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getUnitArrayFormulaEmbeddedMap(){return this._unitArrayFormulaEmbeddedMap}setUnitArrayFormulaEmbeddedMap(){let e=this._currentUnitId,t=this._currentSubUnitId,n=this._currentRow,r=this._currentColumn,i=this._unitArrayFormulaEmbeddedMap;i[e]==null&&(i[e]={}),i[e][t]==null&&(i[e][t]={}),i[e][t][n]==null&&(i[e][t][n]={}),i[e][t][n][r]=!0}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}setDependencyTreeModelData(e){this._dependencyTreeModelData=e}getDependencyTreeModelData(){return this._dependencyTreeModelData}getRuntimeImageFormulaData(){return this._runtimeImageFormulaData}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),arrayFormulaEmbedded:this.getUnitArrayFormulaEmbeddedMap(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),imageFormulaData:this.getRuntimeImageFormulaData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData(),dependencyTreeModelData:this.getDependencyTreeModelData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage(),formulaCycleIndex:this.getFormulaCycleIndex()}}clearArrayObjectCache(){to.clear()}_checkIfArrayFormulaRangeHasData(e,t,n,r,i){var a;let{startRow:o,startColumn:s,endRow:c,endColumn:l}=i,u=this._currentConfigService.getUnitData(),d=this._currentConfigService.getArrayFormulaCellData();(a=this._unitArrayFormulaRange[e])==null||(a=a[t])==null||(a=a[n])==null||a[r];for(let i=o;i<=c;i++)for(let a=s;a<=l;a++){var f,p,m;if(i===n&&r===a)continue;let o=(f=this._runtimeData)==null||(f=f[e])==null||(f=f[t])==null?void 0:f.getValue(i,a);d==null||(p=d[e])==null||(p=p[t])==null||p.getValue(i,a);let s=u==null||(m=u[e])==null||(m=m[t])==null||(m=m.cellData)==null?void 0:m.getValue(i,a),c=this._getRuntimeFeatureCellValue(i,a,t,e);if(!mr(o)||this._isInOtherArrayFormulaRange(e,t,n,r,i,a)||!mr(s)||!mr(c))return!0}return!1}_getRuntimeFeatureCellValue(e,t,n,r){return _r(e,t,n,r,this._runtimeFeatureCellData)}_arrayCellHasData(e){return e==null?!1:e.v!==void 0}_isInOtherArrayFormulaRange(e,n,r,i,a,o){var s;let c=(s=this._currentConfigService.getArrayFormulaRange()[e])==null?void 0:s[n];if(c==null)return!1;let l=!1;return new t.ObjectMatrix(c).forValue((t,s,c)=>{var u;if(t===r&&s===i)return;let d=this._isInArrayFormulaRange(c,a,o),f=(u=this._runtimeData[e])==null||(u=u[n])==null?void 0:u.getValue(t,s);d&&(f==null?void 0:f.v)!==p.SPILL&&(l=!0)}),l}_isInArrayFormulaRange(e,t,n){if(e==null)return!1;let{startRow:r,startColumn:i,endRow:a,endColumn:o}=e;return t>=r&&t<=a&&n>=i&&n<=o}_checkIfArrayFormulaExceeded(e,t,n){return n.endRow>=e||n.endColumn>=t}_isInDirtyRange(e,t,n,r){let i=this._currentConfigService.getDirtyRanges();return i.length===0?!0:ke(i,e,t,n,r)}};Ao=un([A(0,fr),A(1,Do)],Ao);let jo=(0,t.createIdentifier)(`univer.formula.runtime.service`),H=function(e){return e[e.REFERENCE=1]=`REFERENCE`,e[e.VALUE=2]=`VALUE`,e[e.OPERATOR=3]=`OPERATOR`,e[e.FUNCTION=4]=`FUNCTION`,e[e.LAMBDA=5]=`LAMBDA`,e[e.LAMBDA_PARAMETER=6]=`LAMBDA_PARAMETER`,e[e.ERROR=7]=`ERROR`,e[e.BASE=8]=`BASE`,e[e.ROOT=9]=`ROOT`,e[e.UNION=10]=`UNION`,e[e.PREFIX=11]=`PREFIX`,e[e.SUFFIX=12]=`SUFFIX`,e[e.NULL=13]=`NULL`,e}({}),Mo=new Map([[H.REFERENCE,7],[H.VALUE,9],[H.OPERATOR,8],[H.FUNCTION,6],[H.LAMBDA,1],[H.LAMBDA_PARAMETER,2],[H.ROOT,10],[H.UNION,3],[H.PREFIX,4],[H.SUFFIX,5]]);var No=class{constructor(e){this._token=e,d(this,`_children`,[]),d(this,`_definedNames`,void 0),d(this,`_parent`,void 0),d(this,`_valueObject`,void 0),d(this,`_calculateState`,!1),d(this,`_async`,!1),d(this,`_address`,!1),d(this,`_isForcedCalculateFunction`,!1)}dispose(){var e;this._children.forEach(e=>{e.dispose()}),(e=this._valueObject)==null||e.dispose(),this._valueObject=null,this._children=[],this._definedNames=null,this._parent=null}get nodeType(){return H.BASE}resetCalculationState(){this._children.forEach(e=>{e.resetCalculationState()}),this._valueObject=null,this._calculateState=!1}isAsync(){return this._async}isAddress(){return this._address}isForcedCalculateFunction(){return this._isForcedCalculateFunction}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}setForcedCalculateFunction(){this._isForcedCalculateFunction=!0}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){}async executeAsync(){return Promise.resolve(a.SUCCESS)}serialize(){let e=this.getToken(),t=this.getChildren(),n=[],r=t.length;for(let e=0;e<r;e++){let r=t[e];n.push(r.serialize())}let i={token:e,nodeType:this.nodeType};return r>0&&(i.children=n),i}hasDefinedName(e){var t;return((t=this._definedNames)==null?void 0:t.includes(e))||!1}setDefinedNames(e){this._definedNames=e}getDefinedNames(){return this._definedNames}},Po=class e extends No{constructor(e){super(e),d(this,`_errorValueObject`,void 0),this._errorValueObject=E.create(e)}get nodeType(){return H.ERROR}static create(t){return new e(t)}getValue(){return this._errorValueObject}},Fo=class{get zIndex(){return 0}dispose(){}create(e,t,n){let r;return r=e instanceof j?e.getToken():e,new No(r)}},Io=class extends No{get nodeType(){return H.ROOT}execute(){let e=this.getChildren();if(e.length>1){this.setValue(E.create(p.VALUE));return}let t=e[0];t==null?this.setValue(E.create(p.VALUE)):this.setValue(t.getValue())}},Lo=class extends Fo{get zIndex(){return Mo.get(H.ROOT)||100}checkAndCreateNodeType(e){if(e instanceof j&&e.getToken()===`R_1`)return new Io(`R_1`)}};let Ro=function(e){return e.DATE=`DATE`,e.DATEDIF=`DATEDIF`,e.DATEVALUE=`DATEVALUE`,e.DAY=`DAY`,e.DAYS=`DAYS`,e.DAYS360=`DAYS360`,e.EDATE=`EDATE`,e.EOMONTH=`EOMONTH`,e.EPOCHTODATE=`EPOCHTODATE`,e.HOUR=`HOUR`,e.ISOWEEKNUM=`ISOWEEKNUM`,e.MINUTE=`MINUTE`,e.MONTH=`MONTH`,e.NETWORKDAYS=`NETWORKDAYS`,e.NETWORKDAYS_INTL=`NETWORKDAYS.INTL`,e.NOW=`NOW`,e.SECOND=`SECOND`,e.TIME=`TIME`,e.TIMEVALUE=`TIMEVALUE`,e.TO_DATE=`TO_DATE`,e.TODAY=`TODAY`,e.WEEKDAY=`WEEKDAY`,e.WEEKNUM=`WEEKNUM`,e.WORKDAY=`WORKDAY`,e.WORKDAY_INTL=`WORKDAY.INTL`,e.YEAR=`YEAR`,e.YEARFRAC=`YEARFRAC`,e}({}),U=function(e){return e.BESSELI=`BESSELI`,e.BESSELJ=`BESSELJ`,e.BESSELK=`BESSELK`,e.BESSELY=`BESSELY`,e.BIN2DEC=`BIN2DEC`,e.BIN2HEX=`BIN2HEX`,e.BIN2OCT=`BIN2OCT`,e.BITAND=`BITAND`,e.BITLSHIFT=`BITLSHIFT`,e.BITOR=`BITOR`,e.BITRSHIFT=`BITRSHIFT`,e.BITXOR=`BITXOR`,e.COMPLEX=`COMPLEX`,e.CONVERT=`CONVERT`,e.DEC2BIN=`DEC2BIN`,e.DEC2HEX=`DEC2HEX`,e.DEC2OCT=`DEC2OCT`,e.DELTA=`DELTA`,e.ERF=`ERF`,e.ERF_PRECISE=`ERF.PRECISE`,e.ERFC=`ERFC`,e.ERFC_PRECISE=`ERFC.PRECISE`,e.GESTEP=`GESTEP`,e.HEX2BIN=`HEX2BIN`,e.HEX2DEC=`HEX2DEC`,e.HEX2OCT=`HEX2OCT`,e.IMABS=`IMABS`,e.IMAGINARY=`IMAGINARY`,e.IMARGUMENT=`IMARGUMENT`,e.IMCONJUGATE=`IMCONJUGATE`,e.IMCOS=`IMCOS`,e.IMCOSH=`IMCOSH`,e.IMCOT=`IMCOT`,e.IMCOTH=`IMCOTH`,e.IMCSC=`IMCSC`,e.IMCSCH=`IMCSCH`,e.IMDIV=`IMDIV`,e.IMEXP=`IMEXP`,e.IMLN=`IMLN`,e.IMLOG=`IMLOG`,e.IMLOG10=`IMLOG10`,e.IMLOG2=`IMLOG2`,e.IMPOWER=`IMPOWER`,e.IMPRODUCT=`IMPRODUCT`,e.IMREAL=`IMREAL`,e.IMSEC=`IMSEC`,e.IMSECH=`IMSECH`,e.IMSIN=`IMSIN`,e.IMSINH=`IMSINH`,e.IMSQRT=`IMSQRT`,e.IMSUB=`IMSUB`,e.IMSUM=`IMSUM`,e.IMTAN=`IMTAN`,e.IMTANH=`IMTANH`,e.OCT2BIN=`OCT2BIN`,e.OCT2DEC=`OCT2DEC`,e.OCT2HEX=`OCT2HEX`,e}({}),W=function(e){return e.ACCRINT=`ACCRINT`,e.ACCRINTM=`ACCRINTM`,e.AMORDEGRC=`AMORDEGRC`,e.AMORLINC=`AMORLINC`,e.COUPDAYBS=`COUPDAYBS`,e.COUPDAYS=`COUPDAYS`,e.COUPDAYSNC=`COUPDAYSNC`,e.COUPNCD=`COUPNCD`,e.COUPNUM=`COUPNUM`,e.COUPPCD=`COUPPCD`,e.CUMIPMT=`CUMIPMT`,e.CUMPRINC=`CUMPRINC`,e.DB=`DB`,e.DDB=`DDB`,e.DISC=`DISC`,e.DOLLARDE=`DOLLARDE`,e.DOLLARFR=`DOLLARFR`,e.DURATION=`DURATION`,e.EFFECT=`EFFECT`,e.FV=`FV`,e.FVSCHEDULE=`FVSCHEDULE`,e.INTRATE=`INTRATE`,e.IPMT=`IPMT`,e.IRR=`IRR`,e.ISPMT=`ISPMT`,e.MDURATION=`MDURATION`,e.MIRR=`MIRR`,e.NOMINAL=`NOMINAL`,e.NPER=`NPER`,e.NPV=`NPV`,e.ODDFPRICE=`ODDFPRICE`,e.ODDFYIELD=`ODDFYIELD`,e.ODDLPRICE=`ODDLPRICE`,e.ODDLYIELD=`ODDLYIELD`,e.PDURATION=`PDURATION`,e.PMT=`PMT`,e.PPMT=`PPMT`,e.PRICE=`PRICE`,e.PRICEDISC=`PRICEDISC`,e.PRICEMAT=`PRICEMAT`,e.PV=`PV`,e.RATE=`RATE`,e.RECEIVED=`RECEIVED`,e.RRI=`RRI`,e.SLN=`SLN`,e.SYD=`SYD`,e.TBILLEQ=`TBILLEQ`,e.TBILLPRICE=`TBILLPRICE`,e.TBILLYIELD=`TBILLYIELD`,e.VDB=`VDB`,e.XIRR=`XIRR`,e.XNPV=`XNPV`,e.YIELD=`YIELD`,e.YIELDDISC=`YIELDDISC`,e.YIELDMAT=`YIELDMAT`,e}({}),zo=function(e){return e.CELL=`CELL`,e.ERROR_TYPE=`ERROR.TYPE`,e.INFO=`INFO`,e.ISBETWEEN=`ISBETWEEN`,e.ISBLANK=`ISBLANK`,e.ISDATE=`ISDATE`,e.ISEMAIL=`ISEMAIL`,e.ISERR=`ISERR`,e.ISERROR=`ISERROR`,e.ISEVEN=`ISEVEN`,e.ISFORMULA=`ISFORMULA`,e.ISLOGICAL=`ISLOGICAL`,e.ISNA=`ISNA`,e.ISNONTEXT=`ISNONTEXT`,e.ISNUMBER=`ISNUMBER`,e.ISODD=`ISODD`,e.ISOMITTED=`ISOMITTED`,e.ISREF=`ISREF`,e.ISTEXT=`ISTEXT`,e.ISURL=`ISURL`,e.N=`N`,e.NA=`NA`,e.SHEET=`SHEET`,e.SHEETS=`SHEETS`,e.TYPE=`TYPE`,e}({}),Bo=function(e){return e.AND=`AND`,e.BYCOL=`BYCOL`,e.BYROW=`BYROW`,e.FALSE=`FALSE`,e.IF=`IF`,e.IFERROR=`IFERROR`,e.IFNA=`IFNA`,e.IFS=`IFS`,e.LAMBDA=`LAMBDA`,e.LET=`LET`,e.MAKEARRAY=`MAKEARRAY`,e.MAP=`MAP`,e.NOT=`NOT`,e.OR=`OR`,e.REDUCE=`REDUCE`,e.SCAN=`SCAN`,e.SWITCH=`SWITCH`,e.TRUE=`TRUE`,e.XOR=`XOR`,e}({}),G=function(e){return e.ADDRESS=`ADDRESS`,e.AREAS=`AREAS`,e.CHOOSE=`CHOOSE`,e.CHOOSECOLS=`CHOOSECOLS`,e.CHOOSEROWS=`CHOOSEROWS`,e.COLUMN=`COLUMN`,e.COLUMNS=`COLUMNS`,e.DROP=`DROP`,e.EXPAND=`EXPAND`,e.FILTER=`FILTER`,e.FORMULATEXT=`FORMULATEXT`,e.GETPIVOTDATA=`GETPIVOTDATA`,e.HLOOKUP=`HLOOKUP`,e.HSTACK=`HSTACK`,e.HYPERLINK=`HYPERLINK`,e.IMAGE=`IMAGE`,e.INDEX=`INDEX`,e.INDIRECT=`INDIRECT`,e.LOOKUP=`LOOKUP`,e.MATCH=`MATCH`,e.OFFSET=`OFFSET`,e.ROW=`ROW`,e.ROWS=`ROWS`,e.RTD=`RTD`,e.SORT=`SORT`,e.SORTBY=`SORTBY`,e.TAKE=`TAKE`,e.TOCOL=`TOCOL`,e.TOROW=`TOROW`,e.TRANSPOSE=`TRANSPOSE`,e.UNIQUE=`UNIQUE`,e.VLOOKUP=`VLOOKUP`,e.VSTACK=`VSTACK`,e.WRAPCOLS=`WRAPCOLS`,e.WRAPROWS=`WRAPROWS`,e.XLOOKUP=`XLOOKUP`,e.XMATCH=`XMATCH`,e}({}),K=function(e){return e.ABS=`ABS`,e.ACOS=`ACOS`,e.ACOSH=`ACOSH`,e.ACOT=`ACOT`,e.ACOTH=`ACOTH`,e.AGGREGATE=`AGGREGATE`,e.ARABIC=`ARABIC`,e.ASIN=`ASIN`,e.ASINH=`ASINH`,e.ATAN=`ATAN`,e.ATAN2=`ATAN2`,e.ATANH=`ATANH`,e.BASE=`BASE`,e.CEILING=`CEILING`,e.CEILING_MATH=`CEILING.MATH`,e.CEILING_PRECISE=`CEILING.PRECISE`,e.COMBIN=`COMBIN`,e.COMBINA=`COMBINA`,e.COS=`COS`,e.COSH=`COSH`,e.COT=`COT`,e.COTH=`COTH`,e.CSC=`CSC`,e.CSCH=`CSCH`,e.DECIMAL=`DECIMAL`,e.DEGREES=`DEGREES`,e.EVEN=`EVEN`,e.EXP=`EXP`,e.FACT=`FACT`,e.FACTDOUBLE=`FACTDOUBLE`,e.FLOOR=`FLOOR`,e.FLOOR_MATH=`FLOOR.MATH`,e.FLOOR_PRECISE=`FLOOR.PRECISE`,e.GCD=`GCD`,e.INT=`INT`,e.ISO_CEILING=`ISO.CEILING`,e.LCM=`LCM`,e.LET=`LET`,e.LN=`LN`,e.LOG=`LOG`,e.LOG10=`LOG10`,e.MDETERM=`MDETERM`,e.MINVERSE=`MINVERSE`,e.MMULT=`MMULT`,e.MOD=`MOD`,e.MROUND=`MROUND`,e.MULTINOMIAL=`MULTINOMIAL`,e.MUNIT=`MUNIT`,e.ODD=`ODD`,e.PI=`PI`,e.POWER=`POWER`,e.PRODUCT=`PRODUCT`,e.QUOTIENT=`QUOTIENT`,e.RADIANS=`RADIANS`,e.RAND=`RAND`,e.RANDARRAY=`RANDARRAY`,e.RANDBETWEEN=`RANDBETWEEN`,e.ROMAN=`ROMAN`,e.ROUND=`ROUND`,e.ROUNDBANK=`ROUNDBANK`,e.ROUNDDOWN=`ROUNDDOWN`,e.ROUNDUP=`ROUNDUP`,e.SEC=`SEC`,e.SECH=`SECH`,e.SERIESSUM=`SERIESSUM`,e.SEQUENCE=`SEQUENCE`,e.SIGN=`SIGN`,e.SIN=`SIN`,e.SINH=`SINH`,e.SQRT=`SQRT`,e.SQRTPI=`SQRTPI`,e.SUBTOTAL=`SUBTOTAL`,e.SUM=`SUM`,e.SUMIF=`SUMIF`,e.SUMIFS=`SUMIFS`,e.SUMPRODUCT=`SUMPRODUCT`,e.SUMSQ=`SUMSQ`,e.SUMX2MY2=`SUMX2MY2`,e.SUMX2PY2=`SUMX2PY2`,e.SUMXMY2=`SUMXMY2`,e.TAN=`TAN`,e.TANH=`TANH`,e.TRUNC=`TRUNC`,e}({}),q=function(e){return e.AVEDEV=`AVEDEV`,e.AVERAGE=`AVERAGE`,e.AVERAGE_WEIGHTED=`AVERAGE.WEIGHTED`,e.AVERAGEA=`AVERAGEA`,e.AVERAGEIF=`AVERAGEIF`,e.AVERAGEIFS=`AVERAGEIFS`,e.BETA_DIST=`BETA.DIST`,e.BETA_INV=`BETA.INV`,e.BINOM_DIST=`BINOM.DIST`,e.BINOM_DIST_RANGE=`BINOM.DIST.RANGE`,e.BINOM_INV=`BINOM.INV`,e.CHISQ_DIST=`CHISQ.DIST`,e.CHISQ_DIST_RT=`CHISQ.DIST.RT`,e.CHISQ_INV=`CHISQ.INV`,e.CHISQ_INV_RT=`CHISQ.INV.RT`,e.CHISQ_TEST=`CHISQ.TEST`,e.CONFIDENCE_NORM=`CONFIDENCE.NORM`,e.CONFIDENCE_T=`CONFIDENCE.T`,e.CORREL=`CORREL`,e.COUNT=`COUNT`,e.COUNTA=`COUNTA`,e.COUNTBLANK=`COUNTBLANK`,e.COUNTIF=`COUNTIF`,e.COUNTIFS=`COUNTIFS`,e.COVARIANCE_P=`COVARIANCE.P`,e.COVARIANCE_S=`COVARIANCE.S`,e.DEVSQ=`DEVSQ`,e.EXPON_DIST=`EXPON.DIST`,e.F_DIST=`F.DIST`,e.F_DIST_RT=`F.DIST.RT`,e.F_INV=`F.INV`,e.F_INV_RT=`F.INV.RT`,e.F_TEST=`F.TEST`,e.FISHER=`FISHER`,e.FISHERINV=`FISHERINV`,e.FORECAST=`FORECAST`,e.FORECAST_ETS=`FORECAST.ETS`,e.FORECAST_ETS_CONFINT=`FORECAST.ETS.CONFINT`,e.FORECAST_ETS_SEASONALITY=`FORECAST.ETS.SEASONALITY`,e.FORECAST_ETS_STAT=`FORECAST.ETS.STAT`,e.FORECAST_LINEAR=`FORECAST.LINEAR`,e.FREQUENCY=`FREQUENCY`,e.GAMMA=`GAMMA`,e.GAMMA_DIST=`GAMMA.DIST`,e.GAMMA_INV=`GAMMA.INV`,e.GAMMALN=`GAMMALN`,e.GAMMALN_PRECISE=`GAMMALN.PRECISE`,e.GAUSS=`GAUSS`,e.GEOMEAN=`GEOMEAN`,e.GROWTH=`GROWTH`,e.HARMEAN=`HARMEAN`,e.HYPGEOM_DIST=`HYPGEOM.DIST`,e.INTERCEPT=`INTERCEPT`,e.KURT=`KURT`,e.LARGE=`LARGE`,e.LINEST=`LINEST`,e.LOGEST=`LOGEST`,e.LOGNORM_DIST=`LOGNORM.DIST`,e.LOGNORM_INV=`LOGNORM.INV`,e.MARGINOFERROR=`MARGINOFERROR`,e.MAX=`MAX`,e.MAXA=`MAXA`,e.MAXIFS=`MAXIFS`,e.MEDIAN=`MEDIAN`,e.MIN=`MIN`,e.MINA=`MINA`,e.MINIFS=`MINIFS`,e.MODE_MULT=`MODE.MULT`,e.MODE_SNGL=`MODE.SNGL`,e.NEGBINOM_DIST=`NEGBINOM.DIST`,e.NORM_DIST=`NORM.DIST`,e.NORM_INV=`NORM.INV`,e.NORM_S_DIST=`NORM.S.DIST`,e.NORM_S_INV=`NORM.S.INV`,e.PEARSON=`PEARSON`,e.PERCENTILE_EXC=`PERCENTILE.EXC`,e.PERCENTILE_INC=`PERCENTILE.INC`,e.PERCENTRANK_EXC=`PERCENTRANK.EXC`,e.PERCENTRANK_INC=`PERCENTRANK.INC`,e.PERMUT=`PERMUT`,e.PERMUTATIONA=`PERMUTATIONA`,e.PHI=`PHI`,e.POISSON_DIST=`POISSON.DIST`,e.PROB=`PROB`,e.QUARTILE_EXC=`QUARTILE.EXC`,e.QUARTILE_INC=`QUARTILE.INC`,e.RANK_AVG=`RANK.AVG`,e.RANK_EQ=`RANK.EQ`,e.RSQ=`RSQ`,e.SKEW=`SKEW`,e.SKEW_P=`SKEW.P`,e.SLOPE=`SLOPE`,e.SMALL=`SMALL`,e.STANDARDIZE=`STANDARDIZE`,e.STDEV_P=`STDEV.P`,e.STDEV_S=`STDEV.S`,e.STDEVA=`STDEVA`,e.STDEVPA=`STDEVPA`,e.STEYX=`STEYX`,e.T_DIST=`T.DIST`,e.T_DIST_2T=`T.DIST.2T`,e.T_DIST_RT=`T.DIST.RT`,e.T_INV=`T.INV`,e.T_INV_2T=`T.INV.2T`,e.T_TEST=`T.TEST`,e.TREND=`TREND`,e.TRIMMEAN=`TRIMMEAN`,e.VAR_P=`VAR.P`,e.VAR_S=`VAR.S`,e.VARA=`VARA`,e.VARPA=`VARPA`,e.WEIBULL_DIST=`WEIBULL.DIST`,e.Z_TEST=`Z.TEST`,e}({}),J=function(e){return e.ASC=`ASC`,e.ARRAYTOTEXT=`ARRAYTOTEXT`,e.BAHTTEXT=`BAHTTEXT`,e.CHAR=`CHAR`,e.CLEAN=`CLEAN`,e.CODE=`CODE`,e.CONCAT=`CONCAT`,e.CONCATENATE=`CONCATENATE`,e.DBCS=`DBCS`,e.DOLLAR=`DOLLAR`,e.EXACT=`EXACT`,e.FIND=`FIND`,e.FINDB=`FINDB`,e.FIXED=`FIXED`,e.LEFT=`LEFT`,e.LEFTB=`LEFTB`,e.LEN=`LEN`,e.LENB=`LENB`,e.LOWER=`LOWER`,e.MID=`MID`,e.MIDB=`MIDB`,e.NUMBERSTRING=`NUMBERSTRING`,e.NUMBERVALUE=`NUMBERVALUE`,e.PHONETIC=`PHONETIC`,e.PROPER=`PROPER`,e.REGEXEXTRACT=`REGEXEXTRACT`,e.REGEXMATCH=`REGEXMATCH`,e.REGEXREPLACE=`REGEXREPLACE`,e.REPLACE=`REPLACE`,e.REPLACEB=`REPLACEB`,e.REPT=`REPT`,e.RIGHT=`RIGHT`,e.RIGHTB=`RIGHTB`,e.SEARCH=`SEARCH`,e.SEARCHB=`SEARCHB`,e.SUBSTITUTE=`SUBSTITUTE`,e.T=`T`,e.TEXT=`TEXT`,e.TEXTAFTER=`TEXTAFTER`,e.TEXTBEFORE=`TEXTBEFORE`,e.TEXTJOIN=`TEXTJOIN`,e.TEXTSPLIT=`TEXTSPLIT`,e.TRIM=`TRIM`,e.UNICHAR=`UNICHAR`,e.UNICODE=`UNICODE`,e.UPPER=`UPPER`,e.VALUE=`VALUE`,e.VALUETOTEXT=`VALUETOTEXT`,e.CALL=`CALL`,e.EUROCONVERT=`EUROCONVERT`,e.REGISTER_ID=`REGISTER.ID`,e}({}),Vo=function(e){return e.ENCODEURL=`ENCODEURL`,e.FILTERXML=`FILTERXML`,e.WEBSERVICE=`WEBSERVICE`,e}({}),Ho=[Ro,U,W,zo,Bo,G,K,q,J,Vo],Uo=new Set(Ho.flatMap(e=>Object.values(e)).filter(e=>/^[A-Z]{1,3}$/.test(e)).filter(e=>{let n=(0,t.columnLabelToNumber)(e);return n>0&&n<=t.MAX_COLUMN_COUNT})),Wo=new f(5e3);function Go(e,t,n,r,i){let a=Wo.get(`${e}${t}`);if(a&&!Ko(a,i))return a;let o=n.treeBuilder(t);return m.has(o)?Po.create(o):(a=r.parse(o),a==null?(console.error(`generateAstNode astNode is null`),Po.create(o)):(Wo.set(`${e}${t}`,a),a))}function Ko(e,t){let n=t.getDirtyDefinedNameMap(),r=t.getExecuteUnitId();if(r!=null&&n[r]!=null){let t=Object.keys(n[r]);for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e.hasDefinedName(r))return!0}}return!1}function qo(e,t,n){return!!(t!=null&&Ko(t,n))}let Jo=(0,t.createIdentifier)(`univer.formula-function.service`);var Yo=class extends t.Disposable{constructor(...e){super(...e),d(this,`_functionExecutors`,new Map),d(this,`_functionDescriptions`,new Map)}dispose(){super.dispose(),this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionExecutors.set(n.name,n)}}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++){let n=e[t];this._functionExecutors.delete(n)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionDescriptions.set(n.functionName,n)}return(0,t.toDisposable)(()=>{for(let t=0;t<e.length;t++){let n=e[t];this._functionDescriptions.delete(n.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++){let n=e[t];this._functionDescriptions.delete(n)}}deleteFormulaAstCacheKey(...e){Wo.forEach((t,n)=>{e.forEach(e=>{n.includes(e)&&Wo.delete(n)})})}};let Xo=function(e){return e.COMPARE=`COMPARE`,e.DIVIDED=`DIVIDED`,e.MINUS=`MINUS`,e.MULTIPLY=`MULTIPLY`,e.PLUS=`PLUS`,e.UNION=`UNION`,e.CUBE=`CUBE`,e}({});var Zo=class extends No{constructor(e,t,n){super(t),this._runtimeService=e,this._operatorString=t,this._functionExecutor=n}get nodeType(){return H.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null){console.error(`PrefixNode execute value is null`),this.setValue(E.create(p.VALUE));return}this._operatorString===T.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(R.create(0),e)):t=this._operatorString===T.AT?this._handlerAT(e):E.create(p.VALUE),this.setValue(t)}_handlerAT(e){if(!e.isReferenceObject())return E.create(p.VALUE);let t=e;if(t.isCell())return E.create(p.VALUE);let n=this._runtimeService,r=n.currentRow||0,i=n.currentColumn||0,{startRow:a,startColumn:o,endRow:s,endColumn:c}=t.getRangePosition();return c!==o&&s!==a||a===s&&o===c?E.create(p.VALUE):s===a&&i>=o&&i<=c?t.getCellByColumn(i):o===c&&r>=a&&r<=s?t.getCellByRow(r):t.isTable()?t.getCellByPosition(r):E.create(p.VALUE)}};let Qo=class extends Fo{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Mo.get(H.PREFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof j))return;let t=e.getToken(),n=t.trim();if(n.charAt(0)===`"`&&n.charAt(n.length-1)===`"`)return;let r=``;if(n===T.MINUS)r=Xo.MINUS;else if(n===T.AT)return new Zo(this._runtimeService,n);else return;let i=this._functionService.getExecutor(r);return i?new Zo(this._runtimeService,n,i):(console.error(`No function ${t}`),Po.create(p.NAME))}};Qo=un([A(0,Jo),A(1,jo)],Qo);function $o(e,t,n){let r,i,a=e,o=a[0],s=0;if(o===T.MINUS){let e=t.getExecutor(Xo.MINUS);r=new Zo(n,T.MINUS,e),s++}else o===T.AT&&(i=new Zo(n,T.AT),r&&i.setParent(r),s++);return s>0&&(a=a.slice(s)),{tokenTrim:a,minusPrefixNode:r,atPrefixNode:i}}var es=class extends No{constructor(e,t,n,r,i,a){super(e),this._functionExecutor=t,this._currentConfigService=n,this._runtimeService=r,this._definedNamesService=i,this._formulaDataModel=a,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress(),this._functionExecutor.needsLocale&&this._setLocale(),this._functionExecutor.needsSheetsInfo&&this._setSheetsInfo(),this._functionExecutor.needsFormulaDataModel&&this._functionExecutor.setFormulaDataModel(this._formulaDataModel)}get nodeType(){return H.FUNCTION}async executeAsync(){let e=[],t=this.getChildren(),n=t.length;this._compatibility();for(let r=0;r<n;r++){let n=t[r].getValue();n!=null&&(n.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?e.push(n.toArrayValueObject()):e.push(n))}let r=await this._calculateAsync(e),i;return i=r.isAsyncObject()||r.isAsyncArrayObject()?await r.getValue():r,this._setEmbeddedArrayFormulaToResult(i),this._setRefData(i),this.setValue(i),Promise.resolve(a.SUCCESS)}execute(){let e=[],t=this.getChildren(),n=t.length;this._compatibility();for(let r=0;r<n;r++){let n=t[r].getValue();n!=null&&(n.isReferenceObject()&&this._functionExecutor.needsFilteredOutRows&&this._setFilteredOutRows(n),n.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?e.push(n.toArrayValueObject()):e.push(n))}let r=this._calculate(e);this._setEmbeddedArrayFormulaToResult(r),this._setRefData(r),this.setValue(r)}isFunctionExecutorArgumentsIgnoreNumberPattern(){return this._functionExecutor.isArgumentsIgnoreNumberPattern()}_setEmbeddedArrayFormulaToResult(e){if(!e.isArray())return;let t=e.getRowCount(),n=e.getColumnCount();t<=1&&n<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){let e=this.getChildren(),t=e.length;if(!this._functionExecutor.needsExpandParams||t!==3)return;let n=e[1].getValue(),r=e[2].getValue();if(!(n!=null&&n.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;let i,a;if(n!=null&&n.isReferenceObject()){let{startRow:e,startColumn:t,endRow:r,endColumn:o}=n.getRangeData();i=r-e+1,a=o-t+1}else i=n!=null&&n.isArray()?n.getRowCount():1,a=n!=null&&n.isArray()?n.getColumnCount():1;let o=r.getRangeData(),{startRow:s,startColumn:c,endRow:l,endColumn:u}=o,d=l-s+1,f=u-c+1;i!==d&&(o.endRow+=i-d),a!==f&&(o.endColumn+=a-f)}_handleCustomResult(e){var t;if(typeof e!=`object`||!e)return $a.create(e);let n=Za(e);return B.create({calculateValueList:n,rowCount:n.length,columnCount:((t=n[0])==null?void 0:t.length)||0,unitId:``,sheetId:``,row:-1,column:-1})}_handleAddressFunction(){this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction()}_mapVariantsToValues(e){return e.map(e=>e.isArray()?e.toValue():e.isLambda()?e:e.getValue())}_calculate(e){let{minParams:t,maxParams:n}=this._functionExecutor;if(t!==-1&&n!==-1&&(e.length<t||e.length>n))return E.create(p.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){let t=this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e));r=this._handleCustomResult(t)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...e);return r}async _calculateAsync(e){let{minParams:t,maxParams:n}=this._functionExecutor;if(t!==-1&&n!==-1&&(e.length<t||e.length>n))return E.create(p.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){let t=await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e));r=this._handleCustomResult(t)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...e);return r}_setDefinedNamesForFunction(){let e=this._currentConfigService.getExecuteUnitId();if(e==null)return;let t=this._definedNamesService.getDefinedNameMap(e);t!=null&&this._functionExecutor.setDefinedNames(t)}_setRefInfo(){let{currentUnitId:e,currentSubUnitId:t,currentRow:n,currentColumn:r}=this._runtimeService;if(this._functionExecutor.setRefInfo(e,t,n,r),this._functionExecutor.needsSheetRowColumnCount){let{rowCount:n,columnCount:r}=this._currentConfigService.getSheetRowColumnCount(e,t);this._functionExecutor.setSheetRowColumnCount(n,r)}}_setRefData(e){if(!e.isReferenceObject())return;let t=e;t.setForcedSheetId(this._currentConfigService.getSheetNameMap()),t.setUnitData(this._currentConfigService.getUnitData()),t.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),t.setArrayFormulaRange(this._currentConfigService.getArrayFormulaRange()),t.setRuntimeData(this._runtimeService.getUnitData()),t.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),t.setRuntimeArrayFormulaRange(this._runtimeService.getUnitArrayFormula()),t.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}_setLocale(){this._functionExecutor.setLocale(this._currentConfigService.getLocale())}_setSheetsInfo(){this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo())}_setFilteredOutRows(e){let{startRow:t,endRow:n}=e.getRangePosition(),r=this._currentConfigService.getFilteredOutRows(e.getUnitId(),e.getSheetId(),t,n);e.setFilteredOutRows(r)}},ts=class extends No{constructor(e=`Error`){super(e)}get nodeType(){return H.FUNCTION}async executeAsync(){return this.setValue(E.create(p.NAME)),Promise.resolve(a.SUCCESS)}execute(){this.setValue(E.create(p.NAME))}};let ns=class extends Fo{constructor(e,t,n,r,i,a){super(),this._functionService=e,this._currentConfigService=t,this._runtimeService=n,this._definedNamesService=r,this._injector=i,this._formulaDataModel=a}get zIndex(){return Mo.get(H.FUNCTION)||100}create(e){let t=this._functionService.getExecutor(e);return t?new es(e,t,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${e}`),Po.create(p.NAME))}checkAndCreateNodeType(e){if(typeof e==`string`)return;let{tokenTrim:t,minusPrefixNode:n,atPrefixNode:r}=$o(e.getToken().trim(),this._functionService,this._runtimeService),i=this._isParentUnionNode(e);if(!Number.isNaN(Number(t))&&!i)return Po.create(p.VALUE);let a=t.toUpperCase();if(!(i&&Uo.has(a))&&this._functionService.hasExecutor(a)){let e=this.create(a);return r?e.setParent(r):n&&e.setParent(n),e}}_isParentUnionNode(e){var t;return((t=e.getParent())==null||(t=t.getParent())==null?void 0:t.getToken())===S.COLON}};ns=un([A(0,Jo),A(1,fr),A(2,jo),A(3,fn),A(4,(0,t.Inject)(t.Injector)),A(5,(0,t.Inject)(nr))],ns);let rs=class extends t.Disposable{constructor(e){super(),this._runtimeService=e}async executeAsync(e){if(!e||!e.node)return Promise.resolve(E.create(p.VALUE));let t=e.node,n=e.refOffsetX,r=e.refOffsetY;await this._executeAsync(t,n,r);let i=t.getValue();return i==null?Promise.resolve(E.create(p.VALUE)):Promise.resolve(i)}execute(e){if(!e||!e.node)return E.create(p.VALUE);let t=e.node,n=e.refOffsetX,r=e.refOffsetY;this._execute(t,n,r);let i=t.getValue();return i==null?E.create(p.VALUE):i}executePreCalculateNode(e){return e.execute(),e.getValue()}checkAsyncNode(e){if(e==null)return!1;let t=[];this._checkAsyncNode(e,t);for(let e=0,n=t.length;e<n;e++)if(t[e]===!0)return!0;return!1}_checkAsyncNode(e,t){let n=e.getChildren(),r=n.length;for(let e=0;e<r;e++){let r=n[e];t.push(r.isAsync()),this._checkAsyncNode(r,t)}}async _executeAsync(e,t=0,n=0){if(this._runtimeService.isStopExecution())return Promise.resolve(a.ERROR);let r=e.getChildren(),i=r.length;for(let e=0;e<i;e++){let i=r[e];if(i.getToken().toUpperCase()===`LAMBDA`&&i.isEmptyParamFunction()){i.execute();continue}await this._executeAsync(i,t,n)}return e.nodeType===H.REFERENCE&&e.setRefOffset(t,n),e.nodeType===H.FUNCTION&&e.isAsync()?await e.executeAsync():e.execute(),Promise.resolve(a.SUCCESS)}_execute(e,t=0,n=0){if(this._runtimeService.isStopExecution())return a.ERROR;let r=e.getChildren(),i=r.length;for(let e=0;e<i;e++){let i=r[e];if(i.getToken().toUpperCase()===`LAMBDA`&&i.isEmptyParamFunction()){i.execute();continue}this._execute(i,t,n)}return e.nodeType===H.REFERENCE&&e.setRefOffset(t,n),e.execute(),a.SUCCESS}};rs=un([A(0,jo)],rs);function is(e){return e instanceof j?e.getToken()===`L_1`:!1}function as(e){return e instanceof j?e.getToken()===Mt:!1}function os(e,t,n){let r=e.getChildren(),i=r.length,a=r[0];for(let e=0;e<i;e++){let i=r[e];if(!(is(a)&&e!==0))if(i instanceof j)os(i,t,n);else{let a=i.trim();if(n.has(a)){let i=new j;i.setToken(`LR_1`),i.setLambdaId(t),i.setLambdaPrivacyVar(n),i.setLambdaParameter(a),r[e]=i}}}}function ss(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}function cs(e,t=0,n=0){return{node:e,refOffsetX:t,refOffsetY:n}}function ls(e){if(!e)return;if(e.getToken()!==`LR_1`)return e;let t=e,n=t.getCurrentLambdaPrivacyVar(),r=t.getLambdaParameter();if(!n)return;let i=n.get(r);return i==null&&e.getValue()?e:ls(i)}var us=class e extends ee{static create(t,n,r){return new e(t,n,r)}constructor(e,t,n){super(0),this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=n,d(this,`_lambdaPrivacyValueMap`,new Map),this._lambdaPrivacyValueMap.clear()}dispose(){this._lambdaPrivacyValueMap.clear(),this._lambdaPrivacyValueMap=new Map,this._lambdaNode=null,this._interpreter=null,this._lambdaPrivacyVarKeys=[]}isLambda(){return!0}execute(...e){let t=this._lambdaPrivacyVarKeys.length;if(e.length!==t||!this._interpreter||!this._lambdaNode)return E.create(p.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let n;if(this._interpreter.checkAsyncNode(this._lambdaNode))n=new ro(this._interpreter.executeAsync(cs(this._lambdaNode)));else{let e=this._interpreter.execute(cs(this._lambdaNode));n=e.isReferenceObject()?e.toArrayValueObject():e}return this._lambdaNode.setNotEmpty(!0),n}executeCustom(...e){let t=e.map(e=>$a.create(e));return this.execute(...t)}_setLambdaNodeValue(e){if(!e)return;let t=e.getChildren(),n=t.length;for(let e=0;e<n;e++){let n=t[e];if(n.getToken()===`LR_1`){let e=n.getLambdaParameter(),t=this._lambdaPrivacyValueMap.get(e);if(t)n.setValue(t);else{let t=ls(n.getCurrentLambdaPrivacyVar().get(e));t!=null&&n.setValue(t.getValue())}continue}this._setLambdaNodeValue(n)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){let n=e[t],r=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(r,n)}}getLambdaPrivacyVarKeys(){return this._lambdaPrivacyVarKeys}},ds=class extends No{constructor(e,t,n,r,i){super(e),this._lambdaId=t,this._interpreter=n,this._lambdaPrivacyVarKeys=r,this._runtimeService=i,d(this,`_isNotEmpty`,!0)}get nodeType(){return H.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(us.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{let e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}this._runtimeService.setUnitArrayFormulaEmbeddedMap()}};let fs=class extends Fo{constructor(e,t){super(),this._runtimeService=e,this._interpreter=t}get zIndex(){return Mo.get(H.LAMBDA)||100}create(e){let n=e.getChildren(),r=n[0],i=n.slice(1,-1),a=n[n.length-1];if(!(r instanceof j&&a instanceof j))return Po.create(p.NAME);if(r.getToken()===`L_1`){let e=r.getChildren();if(i.length!==e.length)return Po.create(p.VALUE)}else i=n.slice(0,-1);let o=(0,t.generateRandomId)(8),s=new Map;for(let e=0;e<i.length;e++){let t=i[e];if(t instanceof j){let e=t.getChildren()[0];t.setToken(Mt),s.set(e.trim(),void 0)}else return Po.create(p.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(o,s),this._updateLambdaStatement(a,o,s),new ds(e.getToken(),o,this._interpreter,[...s.keys()],this._runtimeService)}checkAndCreateNodeType(e){if(e instanceof j&&e.getToken().trim().toUpperCase()===`LAMBDA`)return this.create(e)}_updateLambdaStatement(e,t,n){os(e,t,n)}};fs=un([A(0,jo),A(1,(0,t.Inject)(rs))],fs);function ps(e){if(!e)return;if(e.getToken()!==`LR_1`)return e;let t=e,n=t.getCurrentLambdaPrivacyVar(),r=t.getLambdaParameter();if(n)return ps(n.get(r))}var ms=class extends No{constructor(e,t,n){super(e),this._lambdaParameter=t,this._currentLambdaPrivacyVar=n}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return H.LAMBDA_PARAMETER}execute(){let e=ps(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(e)this.setValue(e.getValue());else{let e=this.getValue();(e==null||e.isError())&&this.setValue(E.create(p.NAME))}}},hs=class extends Fo{get zIndex(){return Mo.get(H.LAMBDA_PARAMETER)||100}create(e){let t=e.getFunctionDefinitionPrivacyVar(),n=e.getLambdaParameter();return t?new ms(e.getToken(),n,t):new Po(p.NAME)}checkAndCreateNodeType(e){if(e instanceof j&&e.getToken().trim()===`LR_1`)return this.create(e)}},gs=class extends No{constructor(e){super(e),this._operatorString=e}get nodeType(){return H.NULL}execute(){this.setValue(Ua.create())}},_s=class extends No{constructor(e,t,n){super(e),this._functionExecutor=t,this._runtimeService=n}get nodeType(){return H.OPERATOR}execute(){let e=this.getChildren();this._functionExecutor.name===Xo.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let t=e[0],n=e[1],r=t==null?void 0:t.getValue(),i=n==null?void 0:n.getValue(),a=this.getToken();if((r==null||i==null)&&a!==_.MINUS&&a!==_.PLUS){this.setValue(E.create(p.VALUE));return}r==null&&(r=Ua.create()),i==null&&(i=Ua.create()),r.isReferenceObject()&&(r=r.toArrayValueObject()),i.isReferenceObject()&&(i=i.toArrayValueObject());let o=this._functionExecutor.calculate(r,i);this._setEmbeddedArrayFormulaToResult(o),this.setValue(o)}_setEmbeddedArrayFormulaToResult(e){if(!e.isArray())return;let t=e.getRowCount(),n=e.getColumnCount();t<=1&&n<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}};let vs=class extends Fo{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Mo.get(H.OPERATOR)||100}create(e){let t=``,n=e;n===_.PLUS?t=Xo.PLUS:n===_.MINUS?t=Xo.MINUS:n===_.MULTIPLY?t=Xo.MULTIPLY:n===_.DIVIDED?t=Xo.DIVIDED:n===_.CONCATENATE?t=J.CONCATENATE:n===_.POWER?t=K.POWER:x.has(n)&&(t=Xo.COMPARE);let r=this._functionService.getExecutor(t);return r?new _s(n,r,this._runtimeService):(console.error(`No function ${e}`),Po.create(p.NAME))}checkAndCreateNodeType(e){if(e instanceof j)return;let t=e.trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&b.has(t))return this.create(t)}};vs=un([A(0,Jo),A(1,jo)],vs);var ys=class extends no{constructor(e,t,n,r){super(e),this._tableData=t,this._columnDataString=n,this._tableOptionMap=r,d(this,`_isCurrentRowForRange`,!1);let{sheetId:i,range:a,titleMap:s}=this._tableData;this.setForcedSheetIdDirect(i);let{startColumn:c,endColumn:l,type:u}=this._parseStructuredRef(this._columnDataString,s),f=a.startRow,p=a.endRow,m=-1,h=-1;switch(u){case o.ALL:m=f,h=p;break;case o.DATA:m=f+1,h=p;break;case o.HEADERS:m=f,h=f;break;case o.TOTALS:m=p,h=p;break;case o.THIS_ROW:{let e=this._resolveThisRow(f,p);m=e,h=e;break}default:m=f+1,h=p;break}this.setRangeData({startColumn:c,endColumn:l,startRow:m,endRow:h})}getRangeData(){let e=super.getRangeData();if(this._isCurrentRowForRange){let{startRow:t,startColumn:n,endRow:r,endColumn:i}=e,a=this.getCurrentRow();return{startRow:a==null?t:a,endRow:a==null?r:a,startColumn:n,endColumn:i}}return e}getRefOffset(){return{x:0,y:0}}isTable(){return!0}isCurrentRowForRange(){return this._isCurrentRowForRange}setForcedSheetId(e){}_parseStructuredRef(e,t){var n,r;let{range:i}=this._tableData,a=(n=i.startColumn)==null?0:n,s=(r=i.endColumn)==null?0:r;if(!e||e.trim().length===0)return{startColumn:a,endColumn:s,type:o.DATA};let c=e.trim();if(c[0]!==`[`){let e=this._mapSection(c);if(e!==void 0)return{startColumn:a,endColumn:s,type:e};let{startColumn:n,endColumn:r}=this._parseColumnOrRange(c,t,a);return{startColumn:n,endColumn:r,type:o.DATA}}let l=this._stripOuterBracketOnce(c),u=this._findCommaAtTopLevel(l);if(l.length===0)return{startColumn:a,endColumn:s,type:o.DATA};if(u===-1){if(l.startsWith(`#`)){let e=this._mapSection(l);return e===void 0?{startColumn:a,endColumn:s,type:o.DATA}:{startColumn:a,endColumn:s,type:e}}let{startColumn:e,endColumn:n}=this._parseColumnOrRange(l,t,a);return{startColumn:e,endColumn:n,type:o.DATA}}let d=l.slice(0,u).trim(),f=l.slice(u+1).trim(),p=this._parseSectionMaybeBracketed(d),{startColumn:m,endColumn:h}=this._parseColumnOrRange(f,t,a);return{startColumn:m,endColumn:h,type:p}}_stripOuterBracketOnce(e){return e.length>=2&&e[0]===`[`&&e[e.length-1]===`]`?e.slice(1,-1):e}_findCommaAtTopLevel(e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(r===`[`)t++;else if(r===`]`)t=Math.max(0,t-1);else if(r===S.COMMA&&t===0)return n}return-1}_parseSectionMaybeBracketed(e){let t=e.trim(),n=t.startsWith(`[`)&&t.endsWith(`]`)?this._stripOuterBracketOnce(t):t,r=this._mapSection(n);return r==null?o.DATA:r}_mapSection(e){let t=e.trim();if(!t.startsWith(`#`))return;let n=this._tableOptionMap.get(t);if(n!==void 0)return n;let r=t.replace(/\s+/g,` `).toLowerCase();for(let[e,t]of this._tableOptionMap.entries())if(e.replace(/\s+/g,` `).toLowerCase()===r)return t}_parseColumnOrRange(e,t,n){let r=e.trim(),i=this._findColonAtTopLevel(r);if(i===-1){let e=this._stripOuterBracketIfAny(r),i=this._titleToIndex(e,t);return{startColumn:n+i,endColumn:+n+i}}let a=r.slice(0,i).trim(),o=r.slice(i+1).trim(),s=this._stripOuterBracketIfAny(a),c=this._stripOuterBracketIfAny(o),l=this._titleToIndex(s,t),u=this._titleToIndex(c,t);return l!==-1&&u!==-1&&l>u?{startColumn:n+u,endColumn:n+l}:{startColumn:n+l,endColumn:n+u}}_stripOuterBracketIfAny(e){return e.length>=2&&e[0]===`[`&&e[e.length-1]===`]`?e.slice(1,-1):e}_findColonAtTopLevel(e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(r===`[`)t++;else if(r===`]`)t=Math.max(0,t-1);else if(r===S.COLON&&t===0)return n}return-1}_titleToIndex(e,t){var n;let r=e.trim(),i=t.get(r);if(i!==void 0)return i;let a=r.replace(/\u3000/g,` `).trim();return(n=t.get(a))==null?-1:n}_resolveThisRow(e,t){return this._isCurrentRowForRange=!0,Math.min(e+1,t)}},bs=class extends No{constructor(e,t,n,r,i=!1,a){super(n),this._currentConfigService=e,this._runtimeService=t,this._referenceObjectType=r,this._isPrepareMerge=i,this._tableReferenceObject=a,d(this,`_refOffsetX`,0),d(this,`_refOffsetY`,0)}get nodeType(){return H.REFERENCE}execute(){let e=this._currentConfigService,t=this._runtimeService,n=this._tableReferenceObject||wo(this.getToken(),this._referenceObjectType);n.setDefaultUnitId(t.currentUnitId),n.setDefaultSheetId(t.currentSubUnitId),n.setForcedSheetId(e.getSheetNameMap()),n.setUnitData(e.getUnitData()),n.setArrayFormulaCellData(e.getArrayFormulaCellData()),n.setArrayFormulaRange(e.getArrayFormulaRange()),n.setRuntimeData(t.getUnitData()),n.setUnitStylesData(e.getUnitStylesData()),n.setRuntimeArrayFormulaCellData(t.getRuntimeArrayFormulaCellData()),n.setRuntimeArrayFormulaRange(t.getUnitArrayFormula()),n.setRuntimeFeatureCellData(t.getRuntimeFeatureCellData());let r=t.currentRow,i=t.currentColumn;n.setCurrentRowAndColumn(r,i);let{x:a,y:o}=this.getRefOffset();n.setRefOffset(a,o),!this._isPrepareMerge&&n.isExceedRange()?this.setValue(E.create(p.NAME)):this.setValue(n)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}};let xs=class extends Fo{constructor(e,t,n,r){super(),this._currentConfigService=e,this._formulaRuntimeService=t,this._functionService=n,this._superTableService=r}get zIndex(){return Mo.get(H.REFERENCE)||100}checkAndCreateNodeType(e){let t=!1,n,r=!1;if(e instanceof j){var i;t=!0,n=e.getToken().trim(),((i=e.getParent())==null||(i=i.getParent())==null?void 0:i.getToken().trim())===S.COLON&&(r=!0)}else n=e.trim();let{tokenTrim:a,minusPrefixNode:o,atPrefixNode:s}=$o(n,this._functionService,this._formulaRuntimeService);if(!t&&a.charAt(0)===`"`&&a.charAt(a.length-1)===`"`)return;let c=this._getNode(a,t,r,e);if(c)return s?c.setParent(s):o&&c.setParent(o),c}_getTableMap(){let e=this._currentConfigService.getExecuteUnitId();if(e)return this._superTableService.getTableMap(e)}_getNode(e,t,n,r){var i;let a=this._currentConfigService,o=this._formulaRuntimeService,s=t=>new bs(a,o,e,t,n),c=this._getTableMap();if((i=c==null?void 0:c.has(e))!=null&&i)return this._getTableReferenceNode(e,t,n,!0);if(vt(e))return s(Co.CELL);let l=t&&this._checkParentIsUnionOperator(r);return l&&St(e)?s(Co.ROW):l&&Ct(e)?s(Co.COLUMN):this._getTableReferenceNode(e,t,n,!1)}_getTableReferenceNode(e,t,n,r=!1){if(!this._checkTokenIsTableReference(e)&&!r)return;let{tableName:i,columnStruct:a}=ln(e),o=this._getTableMap();if(!t&&o!=null&&o.has(i)){let t=a,r=o.get(i),s=this._superTableService.getTableOptionMap();return new bs(this._currentConfigService,this._formulaRuntimeService,e,Co.COLUMN,n,new ys(e,r,t,s))}}_checkTokenIsTableReference(e){return wt(e)||Tt(e)||Et(e)||Dt(e)}_checkParentIsUnionOperator(e){var t;return((t=e.getParent())==null||(t=t.getParent())==null?void 0:t.getToken().trim())===S.COLON}};xs=un([A(0,fr),A(1,jo),A(2,Jo),A(3,Rn)],xs);var Ss=class extends No{constructor(e,t,n,r){super(n),this._currentConfigService=e,this._lexer=t,this._operatorString=n,this._functionExecutor=r}get nodeType(){return H.SUFFIX}execute(){var e;let t=(e=this.getChildren()[0])==null?void 0:e.getValue(),n;if(t==null){this.setValue(E.create(p.ERROR));return}if(this._operatorString===C.PERCENTAGE){if(t.isReferenceObject()&&(t=t.toArrayValueObject()),n=this._functionExecutor.calculate(t,R.create(100)),n.isNumber()){let e=Number(n.getValue());n=R.create(e,`0.00%`)}}else n=this._operatorString===C.POUND?this._handlerPound(t):E.create(p.VALUE);this.setValue(n)}_handlerPound(e){var t;if(!e.isReferenceObject()||!e.isCell())return E.create(p.VALUE);let n=e,r=n.getRangePosition(),i=n.getUnitId(),a=n.getSheetId(),o=this._currentConfigService.getFormulaData(),s=o==null||(t=o[i])==null||(t=t[a])==null||(t=t[r.startRow])==null||(t=t[r.startColumn])==null?void 0:t.f;return s&&this._lexer.treeBuilder(s),E.create(p.VALUE)}};let Cs=class extends Fo{constructor(e,t,n){super(),this._functionService=e,this._lexer=t,this._currentConfigService=n}get zIndex(){return Mo.get(H.SUFFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof j))return;let t=e.getToken().trim();if(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)return;let n=``;if(t===C.PERCENTAGE)n=Xo.DIVIDED;else if(t===C.POUND)return new Ss(this._currentConfigService,this._lexer,t);else return;let r=this._functionService.getExecutor(n);return r?new Ss(this._currentConfigService,this._lexer,t,r):(console.error(`No function ${e}`),Po.create(p.NAME))}};Cs=un([A(0,Jo),A(1,(0,t.Inject)(pr)),A(2,fr)],Cs);var ws=class extends No{constructor(e){super(e)}get nodeType(){return H.UNION}execute(){let e=this.getChildren(),t=e[0],n=e[1],r=t.getValue(),i=n.getValue();if(r==null||i==null){console.error(`UnionNode execute leftNode or rightNode is null`),this.setValue(E.create(p.VALUE));return}let a;a=this.getToken()===S.COLON?this._unionFunction(r,i):E.create(p.NAME),this.setValue(a)}_unionFunction(e,t){return e.isError()||t.isError()||!e.isReferenceObject()||!t.isReferenceObject()?E.create(p.REF):(e=e,t=t,To(e,t))}};let Ts=class extends Fo{constructor(e){super(),this._functionService=e}get zIndex(){return Mo.get(H.UNION)||100}create(e){return new ws(e)}checkAndCreateNodeType(e){if(!(e instanceof j))return;let t=e.getToken().trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&t===S.COLON)return this.create(t)}};Ts=un([A(0,Jo)],Ts);var Es=class extends No{constructor(e){super(e)}get nodeType(){return H.VALUE}execute(){let e=this.getParent(),t=!0;if((e==null?void 0:e.nodeType)===H.FUNCTION){var n,r;t=(n=(r=e.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:r.call(e))==null?!0:n}this.setValue($a.create(this.getToken(),t))}},Ds=class extends Fo{get zIndex(){return Mo.get(H.VALUE)||100}_checkValueNode(e){if(Number.isNaN(Number(e))){let t=e.trim(),n=t.charAt(0),r=t.charAt(t.length-1);if(m.has(t)||n===`"`&&r===`"`||n===`{`&&r===`}`)return this.create(t);let a=t.toUpperCase();if(a===i.TRUE||a===i.FALSE)return this.create(a)}else return this.create(e)}create(e){return new Es(e)}checkAndCreateNodeType(e){if(!(e instanceof j))return this._checkValueNode(e)}};let Os=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._runtimeService=e,this._astRootNodeFactory=t,this._functionNodeFactory=n,this._lambdaNodeFactory=r,this._lambdaParameterNodeFactory=i,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=s,this._suffixNodeFactory=c,this._unionNodeFactory=l,this._valueNodeFactory=u,d(this,`_astNodeFactoryList`,[]),this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){let t=new Io(`R_1`),n=this._parse(e,t);return e.hasDefinedNames()&&(n==null||n.setDefinedNames(e.getDefinedNames())),n}_lambdaParameterHandler(e,t){if(t.getLambdaId==null)return Po.create(p.VALUE);let n=t.getLambdaId(),r=new Io(`R_1`),i=this._runtimeService.getFunctionDefinitionPrivacyVar(n);if(!i)return!1;let a=[...i.keys()],o=e.getChildren(),s=o.length;for(let e=0;e<s;e++){let t=o[e];if(t instanceof j){os(t,n,i),this._parse(t,r);let o=r.getChildren()[e];o!=null&&i.set(a[e],o)}else return!1}return r.setParent(t),t}_changeLetToLambda(e){let t=e.getChildren(),n=t.length;if(n%2!=1||n===0)return;let r=new j;r.setToken(Nt);let i=new j;i.setToken(`L_1`);let a=[...t];for(let e=0;e<n;e++){let t=a[e];if(!(t instanceof j))return;e%2==0?t.changeToParent(r):t.changeToParent(i)}r.addChildrenFirst(i),i.setParent(r);let o=e.getParent();return o==null||o.replaceChild(e,r),r}_parse(e,t){let n=e.getChildren(),r=n.length,i=[],a=null,o=e.getToken().trim().toUpperCase();if(o===`LET`){let n=this._changeLetToLambda(e);return n==null?Po.create(p.ERROR):this._parse(n,t)}if(o===`P_1`){if(a=t,r===0)return new gs(`R_1`).setParent(t),a}else{if(o===`L_1`){let n=this._lambdaParameterHandler(e,t);return n===!1&&(n=Po.create(p.ERROR)),n}if(a=this._checkAstNode(e),a==null)return Po.create(p.NAME)}let s=n[0];for(let e=0;e<r;e++){let t=n[e];if(is(s)){if(e!==0&&e!==r-1)continue}else if(as(t)&&e!==r-1)continue;let o=null;if(t instanceof j){if(t.getToken()===`P_1`&&t.getChildren().length===0){var c;let e=(c=t.getParent())==null?void 0:c.getChildren();if(e&&e.length===1)return Po.create(p.NAME)}if(o=this._parse(t,a),o===a)continue}else o=this._checkAstNode(t);if(o==null)return Po.create(p.NAME);if(o=ss(o),o==null||(o==null?void 0:o.nodeType)===H.ERROR)return o;switch(o.nodeType){case H.FUNCTION:{let e=o.getToken().trim().toUpperCase();Pt.has(e)&&o.setForcedCalculateFunction(),i.push(o);break}case H.LAMBDA:i.push(o);break;case H.LAMBDA_PARAMETER:i.push(o);break;case H.OPERATOR:{let e=i.pop(),t=i.pop();t&&t.setParent(o),e&&e.setParent(o),i.push(o);break}case H.REFERENCE:i.push(o);break;case H.ROOT:i.push(o);break;case H.UNION:i.push(o);break;case H.VALUE:i.push(o);break;case H.PREFIX:i.push(o);break;case H.SUFFIX:i.push(o);break}}let l=i.length;for(let e=0;e<l;e++)i[e].setParent(a);return a}_checkAstNode(e){let t=null,n=this._astNodeFactoryList.length;for(let r=0;r<n&&(t=this._astNodeFactoryList[r].checkAndCreateNodeType(e),t==null);r++);return t==null?new ts:t}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(t.sortRules)}};Os=un([A(0,jo),A(1,(0,t.Inject)(Lo)),A(2,(0,t.Inject)(ns)),A(3,(0,t.Inject)(fs)),A(4,(0,t.Inject)(hs)),A(5,(0,t.Inject)(vs)),A(6,(0,t.Inject)(Qo)),A(7,(0,t.Inject)(xs)),A(8,(0,t.Inject)(Cs)),A(9,(0,t.Inject)(Ts)),A(10,(0,t.Inject)(Ds))],Os);var ks=class extends t.Disposable{constructor(...e){super(...e),d(this,`_otherFormulaData`,new Map),d(this,`_featureFormulaData`,new Map),d(this,`_formulaData`,new Map),d(this,`_definedNameMap`,new Map),d(this,`_otherFormulaDataMainData`,new Set),d(this,`_dependencyRTreeCache`,new t.RTree),d(this,`_dependencyTreeIdLast`,0)}buildDependencyTree(e,t){throw Error(`Method not implemented.`)}getTreeById(e){throw Error(`Method not implemented.`)}getAllTree(){throw Error(`Method not implemented.`)}reset(){throw Error(`Method not implemented.`)}addOtherFormulaDependency(e,t,n,r){throw Error(`Method not implemented.`)}removeOtherFormulaDependency(e,t,n){throw Error(`Method not implemented.`)}clearOtherFormulaDependency(e,t){throw Error(`Method not implemented.`)}addFeatureFormulaDependency(e,t,n,r){throw Error(`Method not implemented.`)}removeFeatureFormulaDependency(e,t,n){throw Error(`Method not implemented.`)}clearFeatureFormulaDependency(e,t){throw Error(`Method not implemented.`)}addFormulaDependency(e,t,n,r,i){throw Error(`Method not implemented.`)}removeFormulaDependency(e,t,n,r){throw Error(`Method not implemented.`)}clearFormulaDependency(e,t){throw Error(`Method not implemented.`)}removeFormulaDependencyByDefinedName(e,t){throw Error(`Method not implemented.`)}searchDependency(e,t){return this._dependencyRTreeCache.bulkSearch(e,t)}_restDependencyTreeId(){this._dependencyTreeIdLast=0}getOtherFormulaDependency(e,t,n){var r;return(r=this._otherFormulaData.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}addOtherFormulaDependencyMainData(e){this._otherFormulaDataMainData.add(e)}hasOtherFormulaDataMainData(e){return this._otherFormulaDataMainData.has(e)}_removeDependencyRTreeCacheById(e,t){this._dependencyRTreeCache.removeById(e,t)}getFeatureFormulaDependency(e,t,n){var r;return(r=this._featureFormulaData.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}getFormulaDependency(e,t,n,r){var i;return(i=this._formulaData.get(e))==null||(i=i.get(t))==null?void 0:i.getValue(n,r)}addDependencyRTreeCache(e){let t=[];for(let n=0;n<e.rangeList.length;n++){let{unitId:r,sheetId:i,range:a}=e.rangeList[n];t.push({unitId:r,sheetId:i,range:a,id:e.treeId})}this._dependencyRTreeCache.bulkInsert(t),this._addAllTreeMap(e)}getLastTreeId(){let e=this._dependencyTreeIdLast;return this._dependencyTreeIdLast++,e}_addAllTreeMap(e){throw Error(`Method not implemented.`)}_addDefinedName(e,t,n){this._definedNameMap.has(e)||this._definedNameMap.set(e,new Map);let r=this._definedNameMap.get(e);r.has(t)||r.set(t,new Set),r.get(t).add(n)}addFormulaDependencyByDefinedName(e,t){let n=e.treeId,r=(t==null?void 0:t.getDefinedNames())||[];for(let t of r)this._addDefinedName(e.unitId,t,n)}updateDependencyTreeDirtyState(e,t){throw Error(`Method not implemented.`)}},As=class extends ks{constructor(...e){super(...e),d(this,`_allTreeMap`,new Map)}dispose(){super.dispose(),this.reset()}buildDependencyTree(e,t=[]){let n=this.getAllTree();return e.length===0?(this._buildReverseDependency(n,t),n):(this._buildDependencyTree(n,e),this._buildReverseDependency(n,e),n)}_buildDependencyTree(e,t){let n=new Map;for(let e=0;e<t.length;e++){let r=t[e];n.set(r.treeId,r)}for(let t=0;t<e.length;t++){let r=e[t],i=r.toRTreeItem(),a=this._dependencyRTreeCache.bulkSearch(i);for(let e of a){let t=n.get(e);t&&r!==t&&!t.hasChildren(r.treeId)&&t.pushChildren(r)}}n.clear()}_buildReverseDependency(e,t){let n=new Map;for(let t=0;t<e.length;t++){let r=e[t];n.set(r.treeId,r)}for(let e=0;e<t.length;e++){let r=t[e],i=r.toRTreeItem(),a=this._dependencyRTreeCache.bulkSearch(i);for(let e of a){let t=n.get(e);t&&r!==t&&!t.hasChildren(r.treeId)&&t.pushChildren(r)}}n.clear()}getAllTree(){let e=[];return this._allTreeMap.forEach(t=>{t.resetState(),e.push(t)}),e}getTreeById(e){return this._allTreeMap.get(e)}reset(){this._otherFormulaData.clear(),this._featureFormulaData.clear(),this._formulaData.clear(),this._definedNameMap.clear(),this._otherFormulaDataMainData.clear(),this._dependencyRTreeCache.clear(),this._allTreeMap.clear(),this._restDependencyTreeId()}addOtherFormulaDependency(e,n,r,i){this._otherFormulaData.has(e)||this._otherFormulaData.set(e,new Map);let a=this._otherFormulaData.get(e);a.has(n)||a.set(n,new Map);let o=a.get(n);o.has(r)||o.set(r,new t.ObjectMatrix),o.get(r).setValue(i.refOffsetX,i.refOffsetY,i.treeId),this._addAllTreeMap(i)}removeOtherFormulaDependency(e,t,n){let r=this._otherFormulaData.get(e);if(r&&r.has(t)){let i=r.get(t);n.forEach(e=>{let t=i.get(e);t!=null&&(t.forValue((e,t,n)=>{this._removeDependencyRTreeCache(n),this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n)}),i.delete(e),this._otherFormulaDataMainData.delete(e))}),i.size===0&&r.delete(t),r.size===0&&this._otherFormulaData.delete(e)}}clearOtherFormulaDependency(e,t){let n=this._otherFormulaData.get(e);if(t&&n&&n.has(t)){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t);for(let e of r.keys()){let t=r.get(e);t!=null&&(t.forValue((e,t,n)=>{let r=this._allTreeMap.get(n);r&&(this.clearDependencyForTree(r),this._removeAllTreeMap(n))}),this._otherFormulaDataMainData.delete(e))}r.clear()}else if(n){for(let t of n.keys()){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t);for(let e of r.keys()){let t=r.get(e);t!=null&&(t.forValue((e,t,n)=>{let r=this._allTreeMap.get(n);r&&(this.clearDependencyForTree(r),this._removeAllTreeMap(n))}),this._otherFormulaDataMainData.delete(e))}}this._otherFormulaData.delete(e)}}addFeatureFormulaDependency(e,t,n,r){this._featureFormulaData.has(e)||this._featureFormulaData.set(e,new Map);let i=this._featureFormulaData.get(e);i.has(t)||i.set(t,new Map),i.get(t).set(n,r.treeId),this._addAllTreeMap(r)}removeFeatureFormulaDependency(e,t,n){let r=this._featureFormulaData.get(e);if(r&&r.has(t)){let e=r.get(t);n.forEach(t=>{let n=e.get(t);n!=null&&(this._removeDependencyRTreeCache(n),e.delete(t),this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n))})}}clearFeatureFormulaDependency(e,t){let n=this._featureFormulaData.get(e);if(t&&n&&n.has(t)){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t),r.forEach(e=>{e!=null&&(this.clearDependencyForTree(this._allTreeMap.get(e)),this._removeAllTreeMap(e))}),r.clear()}else n&&(n.forEach((t,n)=>{this._removeDependencyRTreeCacheById(e,n),t.forEach(e=>{e!=null&&(this.clearDependencyForTree(this._allTreeMap.get(e)),this._removeAllTreeMap(e))})}),this._featureFormulaData.delete(e))}addFormulaDependency(e,n,r,i,a){this._formulaData.has(e)||this._formulaData.set(e,new Map);let o=this._formulaData.get(e);o.has(n)||o.set(n,new t.ObjectMatrix),o.get(n).setValue(r,i,a.treeId),this._addAllTreeMap(a)}removeFormulaDependency(e,t,n,r){let i=this._formulaData.get(e);if(i&&i.has(t)){let e=i.get(t),a=e.getValue(n,r);if(a==null)return;this._removeDependencyRTreeCache(a),e.realDeleteValue(n,r),this.clearDependencyForTree(this._allTreeMap.get(a)),this._removeAllTreeMap(a)}}clearFormulaDependency(e,t){let n=this._formulaData.get(e);if(t&&n&&n.has(t)){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t),r.forValue((e,t,n)=>{if(n==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n)}),r.reset()}else n&&(n.forEach((t,n)=>{this._removeDependencyRTreeCacheById(e,n),t.forValue((e,t,n)=>{if(n==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n)})}),this._formulaData.delete(e))}clearDependencyForTree(e){if(e==null)return;let t=e.parents,n=e.children,r=this._allTreeMap;for(let n of t){let t=r.get(n);t==null||t.children.delete(e.treeId)}for(let t of n){let n=r.get(t);n==null||n.parents.delete(e.treeId)}e.dispose()}_removeDependencyRTreeCache(e){if(e==null)return;let t=this._allTreeMap.get(e);if(t){let n=[];for(let r=0;r<t.rangeList.length;r++){let{unitId:i,sheetId:a,range:o}=t.rangeList[r];n.push({unitId:i,sheetId:a,range:o,id:e})}this._dependencyRTreeCache.bulkRemove(n)}}removeFormulaDependencyByDefinedName(e,t){let n=this._definedNameMap.get(e);if(n){let e=n.get(t);if(e){for(let t of e)this._removeDependencyRTreeCache(t),this.clearDependencyForTree(this._allTreeMap.get(t)),this._removeAllTreeMap(t);e.clear()}}}_removeAllTreeMap(e){e!=null&&this._allTreeMap.delete(e)}_addAllTreeMap(e){this._allTreeMap.set(e.treeId,e)}updateDependencyTreeDirtyState(e,t){let n=this._allTreeMap.get(e);n&&(n.isDirty=t)}};let js=(0,t.createIdentifier)(`univer.formula.dependency-manager.service`);var Ms=class extends t.Disposable{constructor(...e){super(...e),d(this,`_referenceExecutorMap`,new Map),d(this,`_onChanged$`,new n.Subject),d(this,`onChanged$`,this._onChanged$.asObservable())}dispose(){super.dispose(),this._referenceExecutorMap.clear(),this._onChanged$.complete()}remove(e,t,n){n.forEach(n=>{var r;(r=this._referenceExecutorMap.get(e))==null||(r=r.get(t))==null||r.delete(n)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:n})}get(e,t,n){var r;return(r=this._referenceExecutorMap.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}has(e,t,n){var r;return!!(!((r=this._referenceExecutorMap.get(e))==null||(r=r.get(t))==null)&&r.has(n))}register(e,t,n,r){let i=this._referenceExecutorMap.get(e);i||(i=new Map,this._referenceExecutorMap.set(e,i));let a=i.get(t);a||(a=new Map,i.set(t,a)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[n]}),a.set(n,r)}getReferenceExecutorMap(){return this._referenceExecutorMap}};let Ns=(0,t.createIdentifier)(`univer.formula.feature-calculation-manager.service`);var Ps=class extends t.Disposable{constructor(...e){super(...e),d(this,`_otherFormulaData`,{})}dispose(){super.dispose(),this._otherFormulaData={}}remove(e){var t;let{unitId:n,subUnitId:r,formulaId:i}=e;(t=this._otherFormulaData)==null||(t=t[n])==null||(t=t[r])==null||delete t[i]}get(e){var t;let{unitId:n,subUnitId:r,formulaId:i}=e;return(t=this._otherFormulaData[n])==null||(t=t[r])==null?void 0:t[i]}has(e){var t;let{unitId:n,subUnitId:r,formulaId:i}=e;return((t=this._otherFormulaData[n])==null||(t=t[r])==null?void 0:t[i])!=null}register(e){let{unitId:t,subUnitId:n,formulaId:r,item:i}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][n]||(this._otherFormulaData[t][n]={}),this._otherFormulaData[t][n][r]=i}batchRegister(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;Object.keys(n).forEach(e=>{let r=n[e];if(r==null)return!0;Object.keys(r).forEach(n=>{let i=r[n];if(i==null)return!0;this.register({unitId:t,subUnitId:e,formulaId:n,item:i})})})})}batchRemove(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;Object.keys(n).forEach(e=>{let r=n[e];if(r==null)return!0;Object.keys(r).forEach(n=>{this.remove({unitId:t,subUnitId:e,formulaId:n})})})})}getOtherFormulaData(){return this._otherFormulaData}};let Fs=(0,t.createIdentifier)(`univer.formula.other-formula-manager.service`),Is=function(e){return e[e.DEFAULT=0]=`DEFAULT`,e[e.ADDED=1]=`ADDED`,e[e.SKIP=2]=`SKIP`,e}({}),Ls=function(e){return e[e.NORMAL_FORMULA=0]=`NORMAL_FORMULA`,e[e.OTHER_FORMULA=1]=`OTHER_FORMULA`,e[e.FEATURE_FORMULA=2]=`FEATURE_FORMULA`,e}({});var Rs=class{constructor(){d(this,`_state`,Is.DEFAULT),d(this,`type`,Ls.NORMAL_FORMULA),d(this,`treeId`,void 0),d(this,`children`,new Set),d(this,`parents`,new Set)}resetState(){this._state=Is.DEFAULT}setAdded(){this._state=Is.ADDED}isAdded(){return this._state===Is.ADDED}setSkip(){this._state=Is.SKIP}isSkip(){return this._state===Is.SKIP}pushChildren(e){this.children.add(e.treeId),e._pushParent(this)}hasChildren(e){return this.children.has(e)}_pushParent(e){this.parents.add(e.treeId)}},zs=class extends Rs{constructor(...e){super(...e),d(this,`refTree`,void 0),d(this,`refOffsetX`,-1),d(this,`refOffsetY`,-1),d(this,`isCache`,!1),d(this,`isDirty`,!1),d(this,`addressFunctionNodes`,[]),d(this,`getDirtyData`,void 0),d(this,`featureId`,void 0)}get isVirtual(){return!0}get row(){return this.refTree==null?-1:this.refTree.row+this.refOffsetY}get column(){return this.refTree==null?-1:this.refTree.column+this.refOffsetX}get rowCount(){return this.refTree==null?0:this.refTree.rowCount}get columnCount(){return this.refTree==null?0:this.refTree.columnCount}get unitId(){return this.refTree==null?``:this.refTree.unitId}get subUnitId(){return this.refTree==null?``:this.refTree.subUnitId}get formula(){var e,t;return(e=(t=this.refTree)==null?void 0:t.formula)==null?``:e}get nodeData(){return{node:this.node,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}get node(){var e;return(e=this.refTree)==null?void 0:e.node}dispose(){this.refTree=null}get rangeList(){let e=[];if(this.refTree==null)return[];for(let n=0;n<this.refTree.rangeList.length;n++){let r=this.refTree.rangeList[n];e.push({unitId:r.unitId,sheetId:r.sheetId,range:(0,t.moveRangeByOffset)(r.range,this.refOffsetX,this.refOffsetY)})}return e}toRTreeItem(){let e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}inRangeData(e){let t=e.startRow,n=e.startColumn,r=e.endRow,i=e.endColumn,a=this.row,o=this.column;return!(a<t||a>r||o<n||o>i)}dependencySheetName(e){return this.refTree==null?!1:this.refTree.dependencySheetName(e)}isExcludeRange(e){let t=this.rangeList;if(t.length===0)return!1;for(let r=0,i=t.length;r<i;r++){var n;let{unitId:i,sheetId:a,range:o}=t[r],s=e==null||(n=e[i])==null?void 0:n[a],{startRow:c,endRow:l,startColumn:u,endColumn:d}=o;Number.isNaN(c)&&(c=0),Number.isNaN(u)&&(u=0),Number.isNaN(l)&&(l=1/0),Number.isNaN(d)&&(d=1/0);let f=!1;if(s==null||s.forValue((e,t)=>{if(e>=c&&e<=l&&t>=u&&t<=d)return f=!0,!1}),f)return!0}return!1}get formulaId(){return this.refTree==null?``:this.refTree.formulaId}},Bs=class extends Rs{constructor(e){super(),d(this,`isCache`,!1),d(this,`featureId`,void 0),d(this,`featureDirtyRanges`,[]),d(this,`refOffsetX`,0),d(this,`refOffsetY`,0),d(this,`formulaId`,void 0),d(this,`subUnitId`,``),d(this,`unitId`,``),d(this,`rangeList`,[]),d(this,`formula`,``),d(this,`row`,-1),d(this,`column`,-1),d(this,`rowCount`,-1/0),d(this,`columnCount`,-1/0),d(this,`isDirty`,!1),d(this,`node`,void 0),d(this,`addressFunctionNodes`,[]),d(this,`getDirtyData`,void 0),this.treeId=e}get isVirtual(){return!1}get nodeData(){return{node:this.node,refOffsetX:0,refOffsetY:0}}toJson(){return{formula:this.formula,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}dispose(){this.featureDirtyRanges=[],this.rangeList=[],this.addressFunctionNodes=[],this.getDirtyData=null}inRangeData(e){let t=e.startRow,n=e.startColumn,r=e.endRow,i=e.endColumn,a=this.row,o=this.column;return!(a<t||a>r||o<n||o>i)}dependencySheetName(e){let t=this.rangeList;if(t.length===0||e==null)return!1;for(let r=0,i=t.length;r<i;r++){var n;let{unitId:i,sheetId:a}=t[r];if(((n=e[i])==null?void 0:n[a])!=null)return!0}return!1}isExcludeRange(e){let t=this.rangeList;if(t.length===0)return!1;for(let r=0,i=t.length;r<i;r++){var n;let{unitId:i,sheetId:a,range:o}=t[r],s=e==null||(n=e[i])==null?void 0:n[a],{startRow:c,endRow:l,startColumn:u,endColumn:d}=o;Number.isNaN(c)&&(c=0),Number.isNaN(u)&&(u=0),Number.isNaN(l)&&(l=1/0),Number.isNaN(d)&&(d=1/0);let f=!1;if(s==null||s.forValue((e,t)=>{if(e>=c&&e<=l&&t>=u&&t<=d)return f=!0,!1}),f)return!0}return!1}pushRangeList(e){this.rangeList.push(...e)}shouldBePushRangeList(){return this.rangeList.length===0&&this.type!==Ls.FEATURE_FORMULA}toRTreeItem(){if(this.featureId!=null)return this.featureDirtyRanges;let e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}},Vs=class{constructor(e){if(d(this,`children`,new Set),d(this,`parents`,new Set),d(this,`treeId`,-1),d(this,`formula`,``),d(this,`refOffsetX`,0),d(this,`refOffsetY`,0),d(this,`row`,-1),d(this,`column`,-1),d(this,`unitId`,``),d(this,`subUnitId`,``),d(this,`rangeList`,[]),d(this,`refTreeId`,void 0),d(this,`formulaId`,void 0),d(this,`featureId`,void 0),d(this,`type`,void 0),this.treeId=e.treeId,this.row=e.row,this.column=e.column,this.unitId=e.unitId,this.subUnitId=e.subUnitId,this.refOffsetX=e.refOffsetX,this.refOffsetY=e.refOffsetY,this.rangeList=e.rangeList,e.isVirtual){var t,n;this.refTreeId=(t=(n=e.refTree)==null?void 0:n.treeId)==null?-1:t}else{var r,i;this.formula=e.formula,this.formulaId=(r=e.formulaId)==null?void 0:r,this.featureId=(i=e.featureId)==null?void 0:i,this.type=e.type}}toJson(){return{children:Array.from(this.children).map(e=>e.treeId),parents:Array.from(this.parents).map(e=>e.treeId),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}toFullJson(){return{children:Array.from(this.children).map(e=>e.toJson()),parents:Array.from(this.parents).map(e=>e.toJson()),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}addParent(e){this.parents.add(e)}addChild(e){this.children.add(e)}};function Hs(e){return e.getLastTreeId()||0}let Us=(0,t.createIdentifier)(`engine-formula.dependency-generator`),Ws=class extends t.Disposable{constructor(e,n,r,i,a,o,s,c,l,u){super(),this._currentConfigService=e,this._runtimeService=n,this._otherFormulaManagerService=r,this._featureCalculationManagerService=i,this._univerInstanceService=a,this._interpreter=o,this._astTreeBuilder=s,this._lexer=c,this._dependencyManagerService=l,this._lexerTreeBuilder=u,d(this,`_updateRangeFlattenCache`,new Map),d(this,`_dependencyRTreeCacheForAddressFunction`,new t.RTree),d(this,`_executedAddressFunctionNodeIds`,new Set),d(this,`_formulaDependencyTreeModel`,new Map),this._initUnitDispose()}dispose(){super.dispose(),this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),Wo.clear()}_initUnitDispose(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{this._disposeByUnitId(e.getUnitId())}))}_disposeByUnitId(e){Wo.forEach((t,n)=>{n.startsWith(e)&&Wo.delete(n)})}async generate(e=!1){this._updateRangeFlatten();let t=this._currentConfigService.getFormulaData(),n=this._otherFormulaManagerService.getOtherFormulaData(),r=this._currentConfigService.getClearDependencyTreeCache();r!=null&&Object.keys(r).forEach(e=>{e!=null&&Object.keys(r[e]).forEach(t=>{t!=null&&(this._dependencyManagerService.clearOtherFormulaDependency(e,t),this._dependencyManagerService.clearFeatureFormulaDependency(e,t),this._dependencyManagerService.clearFormulaDependency(e,t))})});let i=this._currentConfigService.getUnitData(),a=await this._generateTreeList(t,n,i);e&&this._runtimeService.setDependencyTreeModelData(this._getAllDependencyJson(a));let o=this._getUpdateTreeListAndMakeDependency(a),s=this._calculateRunList(o);return this._dependencyFeatureCalculation(s)&&(s.forEach(e=>{e.resetState()}),s=this._calculateRunList(s)),this._checkIsCycleDependency(s)&&this._runtimeService.enableCycleDependency(),this._dependencyRTreeCacheForAddressFunction.clear(),this._runtimeService.clearArrayObjectCache(),Promise.resolve(s)}_dependencyFeatureCalculation(e){let t=this._featureCalculationManagerService.getReferenceExecutorMap();if(t.size===0)return;this._clearFeatureCalculationNode(e);let n=!1;return t.forEach((t,r)=>{t.forEach((t,r)=>{t.forEach((t,r)=>{let{unitId:i,subUnitId:a,getDirtyData:o}=t,s=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),c=this._convertDirtyRangesToUnitRange(s.dirtyRanges),l=this._intersectFeatureCalculation(c,e,{unitId:i,subUnitId:a,featureId:r});if(l.length>0){let o=this._getExistTreeList({unitId:i,subUnitId:a,featureId:r},e);o==null&&(o=this._getFeatureFormulaTree(r,Hs(this._dependencyManagerService),t),e.push(o)),o.parents=new Set,l.forEach(e=>{e.hasChildren(o.treeId)||e.pushChildren(o)}),n=!0}})})}),n}_clearFeatureCalculationNode(e){let t=this._featureCalculationManagerService.getReferenceExecutorMap();e.forEach(e=>{let n=new Set;for(let i of e.children){var r;let a=this._dependencyManagerService.getTreeById(i);a&&(a.featureId&&!((r=t.get(e.unitId))==null||(r=r.get(e.subUnitId))==null)&&r.has(a.featureId)||n.add(i))}e.children=n;let i=new Set;for(let n of e.parents){var a;let r=this._dependencyManagerService.getTreeById(n);r&&(r.featureId&&!((a=t.get(e.unitId))==null||(a=a.get(e.subUnitId))==null)&&a.has(r.featureId)||i.add(n))}e.parents=i})}_convertDirtyRangesToUnitRange(e){let t=[];for(let n in e){let r=e[n];for(let e in r){let i=r[e];for(let r of i)t.push({unitId:n,sheetId:e,range:r})}}return t}_intersectFeatureCalculation(e,t,n){let r=[],i=this._dependencyManagerService.searchDependency(e);for(let e=0,a=t.length;e<a;e++){let a=t[e];a.unitId===n.unitId&&a.subUnitId===n.subUnitId&&a.featureId===n.featureId||i.has(a.treeId)&&r.push(a)}return r}_getExistTreeList(e,t){let{unitId:n,subUnitId:r,featureId:i}=e;for(let e=0,a=t.length;e<a;e++){let a=t[e];if(a.unitId===n&&a.subUnitId===r&&a.featureId===i)return a}}_isCyclicUtil(e,t,n){let r=this._dependencyManagerService.getTreeById(e);if(r==null)return!1;if(!t.has(r.treeId)){t.add(r.treeId),n.add(r.treeId);for(let e of r.children)if(!t.has(e)&&this._isCyclicUtil(e,t,n)||n.has(e))return!0}return n.delete(r.treeId),!1}_checkIsCycleDependency(e){let t=new Set,n=new Set;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(this._isCyclicUtil(i.treeId,t,n)===!0)return!0}return!1}async _generateTreeList(e,t,n){let r=Object.keys(e),i=Object.keys(t),a=[];this._currentConfigService.isForceCalculate()&&this._dependencyManagerService.reset(),this._registerFormulas(r,e,n,a),this._registerOtherFormulas(t,i,a),this._registerFeatureFormulas(a);for(let e=0,t=a.length;e<t;e++){let t=a[e];if(!t.formula)continue;let n=this._getTreeNode(t);t.isDirty=this._includeTree(t,n);let r=this._getAddressFunctionNodeList(n);if(r.length>0&&(t.addressFunctionNodes=r),t.isVirtual)continue;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);let i=await this._getRangeListByNode({node:n,refOffsetX:t.refOffsetX,refOffsetY:t.refOffsetY});t.pushRangeList(i)}for(let e=0,t=a.length;e<t;e++){let t=a[e];t.isCache||this._dependencyManagerService.addDependencyRTreeCache(t)}return await this._calculateListByFunctionRefNode(a),a}_registerFeatureFormulas(e){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((t,n)=>{t.forEach((t,n)=>{t.forEach((t,n)=>{let r=this._dependencyManagerService.getFeatureFormulaDependency(t.unitId,t.subUnitId,n);e.push(this._getFeatureFormulaTree(n,r,t))})})})}_getFeatureFormulaTree(e,t,n){let{unitId:r,subUnitId:i,dependencyRanges:a,getDirtyData:o}=n,s=new Bs(t||Hs(this._dependencyManagerService));s.unitId=r,s.subUnitId=i,s.rangeList=a,s.getDirtyData=o;let c=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());return s.featureDirtyRanges=this._convertDirtyRangesToUnitRange(c.dirtyRanges),s.featureId=e,s.type=Ls.FEATURE_FORMULA,this._dependencyManagerService.addFeatureFormulaDependency(r,i,e,s),this._dependencyManagerService.getFeatureFormulaDependency(n.unitId,n.subUnitId,e)&&(s.isCache=!0),s}_registerOtherFormulas(e,t,n){for(let r of t){let t=e[r];if(t==null)continue;let i=Object.keys(t);for(let e of i){let i=t[e];if(i==null)continue;let{rowCount:a=1/0,columnCount:o=1/0}=this._currentConfigService.getSheetRowColumnCount(r,e)||{},s=Object.keys(i);for(let t of s){let s=this._dependencyManagerService.hasOtherFormulaDataMainData(t),{f:c,ranges:l}=i[t],u=!1;s&&(u=!0);let d=Go(r,c,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:f,firstColumn:p}=this._getFirstCellOfRange(l),m=this._dependencyManagerService.getOtherFormulaDependency(r,e,t),h=new Bs((m==null?void 0:m.getValue(0,0))||Hs(this._dependencyManagerService));for(let i=0;i<l.length;i++){let s=l[i],{startRow:g,startColumn:_}=s,{endRow:v,endColumn:y}=s;v=Math.min(v,a-1),y=Math.min(y,o-1);for(let i=g;i<=v;i++)for(let a=_;a<=y;a++){let o=a-p,s=i-f;if(o===0&&s===0){h.node=d,h.formula=c,h.unitId=r,h.subUnitId=e,h.formulaId=t,h.type=Ls.OTHER_FORMULA,h.isCache=u,n.push(h),this._dependencyManagerService.addOtherFormulaDependency(r,e,t,h),this._dependencyManagerService.addFormulaDependencyByDefinedName(h);continue}let l=new zs;l.treeId=(m==null?void 0:m.getValue(o,s))||Hs(this._dependencyManagerService),l.refTree=h,l.refOffsetX=o,l.refOffsetY=s,l.isCache=u,l.type=Ls.OTHER_FORMULA,this._dependencyManagerService.addOtherFormulaDependency(r,e,t,l),this._dependencyManagerService.addFormulaDependencyByDefinedName(l),n.push(l)}}this._dependencyManagerService.addOtherFormulaDependencyMainData(t)}}}}_getFirstCellOfRange(e){let t=e[0];return{firstRow:t.startRow,firstColumn:t.startColumn}}_registerFormulas(e,n,r,i){for(let a of e){let e=n[a];if(e==null)continue;let o=Object.keys(e);for(let n of o){let o=new t.ObjectMatrix(e[n]||{}),s=new Map;o.forValue((e,t,o)=>{if(o==null)return!0;let{x:c=0,y:l=0,si:u}=o;if(!(c===0&&l===0&&u!=null))return!0;let d=this._createFDtree(a,n,e,t,r,o),f=this._dependencyManagerService.getFormulaDependency(a,n,e,t);f==null?(this._dependencyManagerService.addFormulaDependency(a,n,e,t,d),this._dependencyManagerService.addFormulaDependencyByDefinedName(d)):(d.treeId=f,d.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(f,!1)),s.set(u,d),i.push(d)}),o.forValue((e,t,o)=>{if(o==null)return!0;let{x:c=0,y:l=0,si:u}=o;if(c===0&&l===0&&u!=null)return!0;let d;if(u&&s.has(u)){let e=s.get(u);d=this._createVirtualFDtree(e,o)}else d=this._createFDtree(a,n,e,t,r,o);let f=this._dependencyManagerService.getFormulaDependency(a,n,e,t);f==null?(this._dependencyManagerService.addFormulaDependency(a,n,e,t,d),this._dependencyManagerService.addFormulaDependencyByDefinedName(d)):(d.treeId=f,d.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(f,!1)),i.push(d)}),s.clear()}}}_createFDtree(e,t,n,r,i,a){let{f:o,x:s=0,y:c=0}=a,l=new Bs(Hs(this._dependencyManagerService)),u=i[e][t];return l.node=Go(e,o,this._lexer,this._astTreeBuilder,this._currentConfigService),l.formula=o,l.unitId=e,l.subUnitId=t,l.row=n,l.column=r,l.rowCount=u.rowCount,l.columnCount=u.columnCount,l}_createVirtualFDtree(e,t){let{x:n=0,y:r=0}=t,i=new zs;return i.treeId=Hs(this._dependencyManagerService),i.refTree=e,i.refOffsetX=n,i.refOffsetY=r,i}_updateRangeFlatten(){let e=this._currentConfigService.isForceCalculate(),t=this._currentConfigService.getDirtyRanges();if(!e){this._updateRangeFlattenCache.clear();for(let e=0;e<t.length;e++){let n=t[e],r=n.range,i=n.sheetId,a=n.unitId;this._addFlattenCache(a,i,r)}}}_addFlattenCache(e,t,n){let r=this._updateRangeFlattenCache.get(e);r==null&&(r=new Map,this._updateRangeFlattenCache.set(e,r));let i=r.get(t);i==null&&(i=[],r.set(t,i)),i.push(n)}_isPreCalculateNode(e){return e.nodeType===H.UNION||e.nodeType===H.PREFIX&&e.getToken()===T.AT||e.nodeType===H.SUFFIX&&e.getToken()===C.POUND}_nodeTraversalRef(e,t){let n=e.getChildren(),r=n.length;for(let e=0;e<r;e++){let r=n[e];if(this._isPreCalculateNode(r)){if(t.push(r),r.nodeType===H.UNION)for(let e of r.getChildren())e.nodeType===H.FUNCTION&&e.isAddress()&&this._nodeTraversalRef(e,t);continue}else r.nodeType===H.REFERENCE&&t.push(r);this._nodeTraversalRef(r,t)}}_nodeTraversalReferenceFunction(e,t){let n=e.getChildren(),r=n.length;for(let e=0;e<r;e++){let r=n[e];if(r.nodeType===H.FUNCTION&&r.isAddress()){t.push(r);continue}this._nodeTraversalReferenceFunction(r,t)}}async _executeNode(e,t=0,n=0){let r,i={node:e,refOffsetX:t,refOffsetY:n};return r=this._interpreter.checkAsyncNode(e)?await this._interpreter.executeAsync(i):this._interpreter.execute(i),r}async _getRangeListByNode(e){let t=[],n=e.refOffsetX,r=e.refOffsetY,i=e.node;if(i==null)return[];this._nodeTraversalRef(i,t);let a=[];for(let e=0,i=t.length;e<i;e++){let i=t[e],o=(await this._executeNode(i,n,r)).toUnitRange();a.push(o),i.setValue(null)}return a}_getAddressFunctionNodeList(e){let t=[];return e==null?[]:(this._nodeTraversalReferenceFunction(e,t),t)}_getTreeNode(e){return e.node}async _buildDirtyRangesByAddressFunction(e,t){let n=t.addressFunctionNodes;if(n.length===0)return;let r=t.refOffsetX,i=t.refOffsetY,a=await this._getRangeListByFunctionRefNode(n,r,i);t.addressFunctionNodes=[],this._addDependencyTreeByAddressFunction(t,a);let o=e.bulkSearch(a),s=this._buildTreeNodeById(o);s.length!==0&&await this._calculateAddressFunctionRuntimeData(e,s)}async _calculateListByFunctionRefNode(e){let n=new t.RTree;for(let t=0,r=e.length;t<r;t++){let r=e[t];n.insert({unitId:r.unitId,sheetId:r.subUnitId,range:{startRow:r.row,startColumn:r.column,endRow:r.row,endColumn:r.column},id:r.treeId})}this._executedAddressFunctionNodeIds.clear();for(let t=0,r=e.length;t<r;t++){let r=e[t];await this._calculateAddressFunction(n,r)}}async _calculateAddressFunction(e,t){let n=t.addressFunctionNodes;if(n.length===0)return;let r=t.refOffsetX,i=t.refOffsetY;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);let a=[];for(let e=0,t=n.length;e<t;e++){let t=await this._getRangeListByNode({node:n[e],refOffsetX:r,refOffsetY:i});a.push(...t)}let o=new Set;this._searchDependencyByAddressFunction(e,a,o);let s=this._buildTreeNodeById(o);if(s.length===0){await this._buildDirtyRangesByAddressFunction(e,t);return}await this._calculateAddressFunctionRuntimeData(e,s),await this._buildDirtyRangesByAddressFunction(e,t)}async _calculateAddressFunctionRuntimeData(e,t){for(;t.length>0;){let n=t.pop(),r={node:this._getTreeNode(n),refOffsetX:n.refOffsetX,refOffsetY:n.refOffsetY};await this._calculateAddressFunction(e,n),this._runtimeService.setCurrent(n.row,n.column,n.rowCount,n.columnCount,n.subUnitId,n.unitId);let i;i=this._interpreter.checkAsyncNode(r.node)?await this._interpreter.executeAsync(r):this._interpreter.execute(r),n.formulaId==null?this._runtimeService.setRuntimeData(i):this._runtimeService.setRuntimeOtherData(n.formulaId,n.refOffsetX,n.refOffsetY,i)}}_buildTreeNodeById(e){let t=[];for(let n of e){let e=this._getTreeById(n);!e||this._executedAddressFunctionNodeIds.has(n)||(this._executedAddressFunctionNodeIds.add(n),t.push(e))}return t}_searchDependencyByAddressFunction(e,t,n){let r=e.bulkSearch(t),i=this._dependencyRTreeCacheForAddressFunction.bulkSearch(t);for(let e of i)n.has(e)||n.add(e);let a=[];for(let e of r){let t=this._getTreeById(e);t&&!n.has(e)&&(a.push(...t.rangeList),n.add(e))}return a.length>0&&this._searchDependencyByAddressFunction(e,a,n),n}_getTreeById(e){return this._dependencyManagerService.getTreeById(e)}_addDependencyTreeByAddressFunction(e,t){let n=[];for(let r=0;r<t.length;r++){let{unitId:i,sheetId:a,range:o}=t[r];n.push({unitId:i,sheetId:a,range:o,id:e.treeId})}this._dependencyRTreeCacheForAddressFunction.bulkInsert(n)}async _getRangeListByFunctionRefNode(e,t,n){let r=[];for(let i=0,a=e.length;i<a;i++){let a=e[i],o=(await this._executeNode(a,t,n)).toUnitRange();r.push(o),a.setValue(null)}return r}_getUpdateTreeListAndMakeDependency(e){let t=[],n=new Set,r=this._currentConfigService.isForceCalculate(),i=this._currentConfigService.getDirtyRanges(),a=this._dependencyManagerService.searchDependency(i),o=this._dependencyRTreeCacheForAddressFunction.bulkSearch(i);for(let e of o)a.add(e);let s=this._dependencyManagerService.buildDependencyTree(e);for(let e of s){let i=e.treeId;(r||e.isDirty||e.dependencySheetName(this._currentConfigService.getDirtyNameMap())||a.has(i)&&!e.isExcludeRange(this._currentConfigService.getExcludedRange()))&&!n.has(i)&&(t.push(e),n.add(i))}return t}_includeTreeFeature(e){let t=e.unitId,n=e.subUnitId,r=e.featureId;if(r!=null){var i;let e=this._currentConfigService.getDirtyUnitFeatureMap();if((e==null||(i=e[t])==null||(i=i[n])==null?void 0:i[r])!=null)return!0}return!1}_includeOtherFormula(e){let t=e.unitId,n=e.subUnitId,r=e.formulaId;if(r!=null){var i;let e=this._currentConfigService.getDirtyUnitOtherFormulaMap();if((e==null||(i=e[t])==null||(i=i[n])==null?void 0:i[r])!=null)return!0}return!1}_detectForcedRecalculationNode(e,t){return t==null?!1:this._detectForcedRecalculationNodeRecursion(t)}_detectForcedRecalculationNodeRecursion(e){if(e.isForcedCalculateFunction())return!0;let t=e.getChildren();for(let e=0,n=t.length;e<n;e++){let n=t[e];if(this._detectForcedRecalculationNodeRecursion(n))return!0}return!1}_includeTree(e,t){var n,r;let i=e.unitId,a=e.subUnitId;if(this._detectForcedRecalculationNode(e,t)===!0||this._includeTreeFeature(e)===!0||this._includeOtherFormula(e)===!0||qo(e,t,this._currentConfigService)===!0)return!0;let o=(n=this._currentConfigService.getExcludedRange())==null||(n=n[i])==null?void 0:n[a];if((o==null?void 0:o.getValue(e.row,e.column))!=null)return!1;if(((r=this._currentConfigService.getDirtyNameMap()[i])==null?void 0:r[a])!=null)return!0;if(!this._updateRangeFlattenCache.has(i))return!1;let s=this._updateRangeFlattenCache.get(i);if(!s.has(a))return!1;let c=s.get(a);for(let t of c)if(e.inRangeData(t))return!0;return!1}_calculateRunList(e){e.length;let t=e,n=[],r=[];for(;t.length>0;){let e=t.pop();if(e===void 0||e.isSkip())continue;if(e.isAdded()){n.push(e),e.setSkip();continue}r.length=0;for(let t of e.parents){let n=this._dependencyManagerService.getTreeById(t);if(!n){console.error(`Dependency tree not found for treeId:`,t);continue}n.isAdded()||e.isSkip()||r.push(n)}let i=this._dependencyRTreeCacheForAddressFunction.bulkSearch(e.toRTreeItem());for(let t of i){let n=this._dependencyManagerService.getTreeById(t);if(!n){console.error(`Dependency tree not found for treeId:`,t);continue}n.isAdded()||e.isSkip()||r.push(n)}r.length===0?(n.push(e),e.setSkip()):(e.setAdded(),t.push(e,...r))}return n}async _initializeGenerateTreeList(){let e=this._currentConfigService.getFormulaData(),t=this._otherFormulaManagerService.getOtherFormulaData(),n=this._currentConfigService.getUnitData();return await this._generateTreeList(e,t,n)}async _getAllTreeList(){let e=await this._initializeGenerateTreeList();return this._dependencyManagerService.buildDependencyTree(e)}_getTreeModel(e){let t=this._formulaDependencyTreeModel.get(e);if(!t){let n=this._getTreeById(e);if(!n){console.error(`FormulaDependencyTree is null for treeId:`,e);return}t=new Vs(n),this._formulaDependencyTreeModel.set(e,t)}return t}_getDependencyTreeParenIds(e){return e.parents}_getDependencyTreeChildrenIds(e){return e.children}_getFormulaDependencyTreeModel(e){let t=this._getTreeModel(e.treeId),n=this._getDependencyTreeParenIds(e);if(!t)return new Vs(e);for(let e of n){let n=this._getTreeModel(e);n&&(t.addParent(n),n.addChild(t))}return t}_endFormulaDependencyTreeModel(){this._formulaDependencyTreeModel.clear()}_startFormulaDependencyTreeModel(){}_getAllDependencyJson(e){this._startFormulaDependencyTreeModel();let t=[];for(let n of e){let e=n.type;if(n.isVirtual&&(e===Ls.FEATURE_FORMULA||e===Ls.OTHER_FORMULA))continue;let r=this._getFormulaDependencyTreeModel(n);t.push(r)}let n=[];for(let e of t)n.push(e.toJson());return this._endFormulaDependencyTreeModel(),n}async getAllDependencyJson(){let e=await this._getAllTreeList();return this._getAllDependencyJson(e)}_setRealFormulaString(e){if(e.refTreeId==null)return;let t=this._getTreeById(e.refTreeId);t&&(e.formula=this._lexerTreeBuilder.moveFormulaRefOffset(t.formula,e.refOffsetX,e.refOffsetY))}async getCellDependencyJson(e,t,n,r){await this._initializeGenerateTreeList();let i=this._dependencyManagerService.getFormulaDependency(e,t,n,r);if(i==null)return;let a=this._getTreeById(i);if(!a)return;this._startFormulaDependencyTreeModel();let o=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(o);let s=this._getDependencyTreeChildrenIds(a);for(let e of s){let t=this._getTreeModel(e);t&&(this._setRealFormulaString(t),o.addChild(t))}for(let e of o.parents)this._setRealFormulaString(e);return this._endFormulaDependencyTreeModel(),o.toFullJson()}_getRangeDependents(e){let t=this._dependencyManagerService.searchDependency(e),n=[];for(let e of t){let t=this._getTreeById(e);if(!t)continue;let r=this._getFormulaDependencyTreeModel(t);this._setRealFormulaString(r),n.push(r)}let r=[];for(let e of n)e&&r.push(e.toJson());return r}async getRangeDependents(e){await this._initializeGenerateTreeList(),this._startFormulaDependencyTreeModel();let t=this._getRangeDependents(e);return this._endFormulaDependencyTreeModel(),t}_getInRangeFormulas(e,t){let n=[];for(let r of t)for(let t of e){let e=t.unitId,i=t.sheetId;if(!(r.unitId!==e||r.subUnitId!==i)&&(t.range,r.inRangeData(t.range))){n.push(r);break}}let r=[];for(let e of n){let t=this._getFormulaDependencyTreeModel(e);this._setRealFormulaString(t),r[e.treeId]=t}let i=[];for(let e of r)e&&i.push(e.toJson());return i}async getInRangeFormulas(e){let t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();let n=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),n}async getRangeDependentsAndInRangeFormulas(e){let t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();let n=this._getRangeDependents(e),r=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),{dependents:n,inRanges:r}}};Ws=un([A(0,fr),A(1,jo),A(2,Fs),A(3,Ns),A(4,(0,t.Inject)(t.IUniverInstanceService)),A(5,(0,t.Inject)(rs)),A(6,(0,t.Inject)(Os)),A(7,(0,t.Inject)(pr)),A(8,js),A(9,(0,t.Inject)($n))],Ws);let Gs=(0,t.createIdentifier)(`engine-formula.calculate-formula.service`),Ks=class extends t.Disposable{constructor(e,r,i,a,o,s,c){super(),this._configService=e,this._lexer=r,this._currentConfigService=i,this._runtimeService=a,this._formulaDependencyGenerator=o,this._interpreter=s,this._astTreeBuilder=c,d(this,`_executionInProgressListener$`,new n.Subject),d(this,`executionInProgressListener$`,this._executionInProgressListener$.asObservable()),d(this,`_executionCompleteListener$`,new n.Subject),d(this,`executionCompleteListener$`,this._executionCompleteListener$.asObservable()),d(this,`_executeLock`,new t.AsyncLock),d(this,`_isCalculateTreeModel`,!1)}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),to.clear(),cr.clear(),te.clear(),Wa.clear()}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._runtimeService.setFormulaExecuteStage(Oo.START),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._currentConfigService.load(e),this._runtimeService.reset();let t=e.maxIteration||1;this._isCalculateTreeModel=e.isCalculateTreeModel||!1,this._executeLock.acquire(`FORMULA_EXECUTION_LOCK`,async()=>{for(let e=0;e<t&&(this._runtimeService.setFormulaCycleIndex(e),await this._executeStep(),to.clear(),this._runtimeService.isCycleDependency());e++);this._runtimeService.setFormulaExecuteStage(Oo.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),cr.clear(),this._runtimeService.reset()})}async _executeStep(){let e=await this._apply();if(e==null)return;let{arrayFormulaRange:t,runtimeFeatureRange:n}=e,{dirtyRanges:r,excludedCell:i}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,n);return r==null||r.length===0?!0:(to.clear(),this._currentConfigService.loadDirtyRangesAndExcludedCell(r,i),await this._apply(!0),!0)}_getArrayFormulaDirtyRangeAndExcludedRange(e,n){let r=[],i={};return Object.keys(e).forEach(n=>{let a=e[n];if(a==null)return!0;Object.keys(a).forEach(e=>{let o=new t.ObjectMatrix(a[e]);if(o==null)return!0;let s=new t.ObjectMatrix;o.forValue((t,i,a)=>{s.setValue(t,i,!0),r.push({unitId:n,sheetId:e,range:a})}),i[n]==null&&(i[n]={}),i[n][e]=s})}),Object.keys(n).forEach(e=>{let t=n[e];Object.keys(t).forEach(e=>{let n=t[e];if(n==null)return!0;Object.keys(n).forEach(t=>{let i=n[t];if(i==null)return!0;for(let n of i)r.push({unitId:e,sheetId:t,range:n})})})}),{dirtyRanges:r,excludedCell:i}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage(Oo.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(Oo.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let n=(await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(),r=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(Oo.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(n.length)):(this._runtimeService.setFormulaExecuteStage(Oo.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(n.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let i=[],a=this._configService.getConfig(Hn),o=(a==null?void 0:a.intervalCount)||500,s=n.length;for(let a=0;a<s;a++){var c;let s=n[a],l=s.nodeData,u=s.getDirtyData;if(a%o===0&&(await new Promise(e=>{let n=(0,t.requestImmediateMacroTask)(e);i.push(n)}),e?(this._runtimeService.setFormulaExecuteStage(Oo.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(a+1)):(this._runtimeService.setFormulaExecuteStage(Oo.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(a+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||l==null&&u==null)){this._runtimeService.setFormulaExecuteStage(Oo.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}this._runtimeService.setCurrent(s.row,s.column,s.rowCount,s.columnCount,s.subUnitId,s.unitId);let d;if(u!=null&&s.featureId!=null){let{runtimeCellData:e,dirtyRanges:t}=u(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(s.featureId,e),this._runtimeService.setRuntimeFeatureRange(s.featureId,t)}else l!=null&&(d=r.checkAsyncNode(l.node)?await r.executeAsync(l):r.execute(l),s.formulaId==null?this._runtimeService.setRuntimeData(d):this._runtimeService.setRuntimeOtherData(s.formulaId,s.refOffsetX,s.refOffsetY,d));(c=l.node)==null||c.resetCalculationState()}return i.forEach(e=>e()),i=[],s>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}async executeFormulas(e,t){this._currentConfigService.loadDataLite(t);let n=this._currentConfigService.getUnitData();this._runtimeService.reset();let r={};for(let t of Object.keys(e)){let a=e[t];if(a!=null){r[t]={};for(let e of Object.keys(a)){var i;let o=a[e];if(o==null)continue;let s=(i=n[t])==null?void 0:i[e];if(s!=null){r[t][e]={};for(let n of Object.keys(o)){let i=Number.parseInt(n);r[t][e][i]={};let a=o[i];if(a)for(let n of Object.keys(a)){let o=Number.parseInt(n),c=a[o];if(!c)continue;let l=s.rowCount||0,u=s.columnCount||0;this._runtimeService.setCurrent(i,o,l,u,e,t);let d=[];for(let e of c){let t=await this.calculate(e);if(!t){d.push({value:null,formula:e});continue}t.isReferenceObject()&&(t=t.toArrayValueObject());let n=t;if(n.isArray()){let t=n;if(t.getRowCount()===1&&t.getColumnCount()===1){d.push({value:t.getFirstCell().getValue(),formula:e});continue}d.push({value:t.toValue(),formula:e});continue}d.push({value:n.getValue(),formula:e})}r[t][e][i][o]=d}}}}}}return r}async calculate(e){let t=this._lexer.treeBuilder(e);if(Object.values(p).includes(t))return;let n=this._astTreeBuilder.parse(t),r=this._interpreter;if(n==null)return;let i={node:n,refOffsetX:0,refOffsetY:0};return r.checkAsyncNode(n)?await r.executeAsync(i):r.execute(i)}async getAllDependencyJson(){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getAllDependencyJson()}async getCellDependencyJson(e,t,n,r){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getCellDependencyJson(e,t,n,r)}async getRangeDependents(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependents(e)}async getInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getInRangeFormulas(e)}async getDependentsAndInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependentsAndInRangeFormulas(e)}};Ks=un([A(0,t.IConfigService),A(1,(0,t.Inject)(pr)),A(2,fr),A(3,jo),A(4,Us),A(5,(0,t.Inject)(rs)),A(6,(0,t.Inject)(Os))],Ks);let qs=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._calculateFormulaService=t,this._formulaDataModel=n,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Sn.id)this._calculateFormulaService.stopFormulaExecution();else if(e.id===vn.id)this._calculate(e.params);else if(e.id===Lt.id){let t=e.params;if(t==null)return;let{arrayFormulaRange:n,arrayFormulaCellData:r}=t;this._formulaDataModel.setArrayFormulaRange(n),this._formulaDataModel.setArrayFormulaCellData(r)}else if(e.id===bn.id)this._calculateFormulaString(e.params);else if(e.id===Tn.id)this._generateAllDependencyTreeJson();else if(e.id===Dn.id)this._generateCellDependencyTreeJson(e.params);else if(e.id===kn.id){let t=e.params;this._queryFormulaDependencyJson(t)}else if(e.id===jn.id){let t=e.params;this._queryFormulaDependencyAllJson(t)}}))}async _calculate(e){let{forceCalculation:t=!1,dirtyRanges:n=[],dirtyNameMap:r={},dirtyDefinedNameMap:i={},dirtyUnitFeatureMap:a={},dirtyUnitOtherFormulaMap:o={},clearDependencyTreeCache:s={},maxIteration:c=1,rowData:l,isCalculateTreeModel:u=!1}=e,d=this._formulaDataModel.getFormulaData(),f=this._formulaDataModel.getArrayFormulaCellData(),p=this._formulaDataModel.getArrayFormulaRange();this._calculateFormulaService.execute({formulaData:d,arrayFormulaCellData:f,arrayFormulaRange:p,forceCalculate:t,dirtyRanges:n,dirtyNameMap:r,dirtyDefinedNameMap:i,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o,clearDependencyTreeCache:s,maxIteration:c,isCalculateTreeModel:u,rowData:l})}async _queryFormulaDependencyJson(e){let{unitRanges:t,isInRange:n}=e,r=[];r=n?await this._calculateFormulaService.getInRangeFormulas(t):await this._calculateFormulaService.getRangeDependents(t),this._commandService.executeCommand(An.id,{result:r},{onlyLocal:!0})}async _queryFormulaDependencyAllJson(e){let{unitRanges:t}=e,n=await this._calculateFormulaService.getDependentsAndInRangeFormulas(t);this._commandService.executeCommand(Mn.id,{result:n},{onlyLocal:!0})}async _generateAllDependencyTreeJson(){let e=await this._calculateFormulaService.getAllDependencyJson();this._commandService.executeCommand(En.id,{result:e},{onlyLocal:!0})}async _generateCellDependencyTreeJson(e){let{unitId:t,sheetId:n,row:r,column:i}=e,a=await this._calculateFormulaService.getCellDependencyJson(t,n,r,i);this._commandService.executeCommand(On.id,{result:a},{onlyLocal:!0})}async _calculateFormulaString(e){let{formulas:t}=e,n=await this._calculateFormulaService.executeFormulas(t);this._commandService.executeCommand(xn.id,{result:n},{onlyLocal:!0})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(e=>{let t=e.functionsExecutedState;switch(t){case ko.NOT_EXECUTED:this._applyTreeResult(e);break;case ko.STOP_EXECUTION:break;case ko.SUCCESS:this._applyResult(e);break;case ko.INITIAL:break}this._commandService.executeCommand(Cn.id,{functionsExecutedState:t},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(e=>{this._commandService.executeCommand(Cn.id,{stageInfo:e},{onlyLocal:!0})})}async _applyTreeResult(e){let{dependencyTreeModelData:t}=e;t.length>0&&this._commandService.executeCommand(En.id,{result:t},{onlyLocal:!0})}async _applyResult(e){let{unitData:t,unitOtherData:n,arrayFormulaRange:r,arrayFormulaCellData:i,clearArrayFormulaCellData:a,arrayFormulaEmbedded:o,imageFormulaData:s,dependencyTreeModelData:c}=e;if(!t){this._applyTreeResult(e),console.error(`No sheetData from Formula Engine!`);return}(r||o)&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(a),this._formulaDataModel.mergeArrayFormulaCellData(i),this._formulaDataModel.mergeArrayFormulaRange(r),this._commandService.executeCommand(Lt.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData(),arrayFormulaEmbedded:o},{onlyLocal:!0})),s&&s.length>0&&this._commandService.executeCommand(Pn.id,{imageFormulaData:s},{onlyLocal:!0}),this._applyTreeResult(e),this._commandService.executeCommand(wn.id,{unitData:jt(t),unitOtherData:n},{onlyLocal:!0})}};qs=un([A(0,t.ICommandService),A(1,Gs),A(2,(0,t.Inject)(nr))],qs);let Js=/[\[\]]/g;function Ys(e,t){return Js.test(e)?t+Number(e.replace(Js,``)):Number(e)-1}function Xs(e,n=0,r=0){e=e.toLocaleUpperCase();let i=e.split(/[RC]/),a=i[1],o=i[2];return{row:Ys(a,n),column:Ys(o,r),absoluteRefType:t.AbsoluteRefType.NONE}}function Zs(e,t=0,n=0){let{refBody:r,sheetName:i,unitId:a}=Jt(e),o=r.indexOf(`:`);if(o===-1){let e=Xs(r,t,n),o=e.row,s=e.column,c=e.absoluteRefType;return{unitId:a,sheetName:i,range:{startRow:o,startColumn:s,endRow:o,endColumn:s,startAbsoluteRefType:c,endAbsoluteRefType:c}}}let s=r.substring(0,o),c=r.substring(o+1),l=Xs(s,t,n),u=Xs(c,t,n);return{unitId:a,sheetName:i,range:{startRow:l.row,startColumn:l.column,endRow:u.row,endColumn:u.column,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:u.absoluteRefType}}}function Qs(e){let t=$s(e.startRow,e.startAbsoluteRefType,!0),n=$s(e.startColumn,e.startAbsoluteRefType,!1),r=$s(e.endRow,e.endAbsoluteRefType,!0),i=$s(e.endColumn,e.endAbsoluteRefType,!1);return t===r&&n===i?`R${t}C${n}`:`R${t}C${n}:R${r}C${i}`}function $s(e,n=t.AbsoluteRefType.ALL,r){switch(e+=1,n){case t.AbsoluteRefType.ALL:return`${e}`;case t.AbsoluteRefType.ROW:return r?`${e}`:`[${e}]`;case t.AbsoluteRefType.COLUMN:return r?`[${e}]`:`${e}`;case t.AbsoluteRefType.NONE:return`[${e}]`}}function ec(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return E.create(p.VALUE);t=e.get(0,0)}return t.isError(),t}function tc(...e){for(let t=0;t<e.length;t++){let n=ec(e[t]);if(n.isError())return{isError:!0,errorObject:n};e[t]=n}return{isError:!1,variants:e}}function Y(...e){for(let t=0;t<e.length;t++){let n=ec(e[t]);if(n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:E.create(p.VALUE)};e[t]=n}return{isError:!1,variants:e}}function nc(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return{isError:!0,errorObject:n};if(n.isNull())return{isError:!0,errorObject:E.create(p.NA)};if(n=ec(e[t]),n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:E.create(p.VALUE)};e[t]=n}return{isError:!1,variants:e}}function X(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return{isError:!0,errorObject:n};e[t]=n}return{isError:!1,variants:e}}var Z=class{constructor(e){this._name=e,d(this,`_unitId`,void 0),d(this,`_subUnitId`,void 0),d(this,`_row`,-1),d(this,`_column`,-1),d(this,`_definedNames`,void 0),d(this,`_locale`,void 0),d(this,`_sheetOrder`,void 0),d(this,`_sheetNameMap`,void 0),d(this,`_formulaDataModel`,void 0),d(this,`_rowCount`,-1),d(this,`_columnCount`,-1),d(this,`needsExpandParams`,!1),d(this,`needsReferenceObject`,!1),d(this,`needsLocale`,!1),d(this,`needsSheetsInfo`,!1),d(this,`needsFormulaDataModel`,!1),d(this,`needsSheetRowColumnCount`,!1),d(this,`needsFilteredOutRows`,!1),d(this,`minParams`,-1),d(this,`maxParams`,-1)}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}dispose(){}getDefinedName(e){var t;let n=this._definedNames;return n==null?null:(t=Array.from(Object.values(n)).filter(t=>t.name===e))==null?void 0:t[0]}setDefinedNames(e){this._definedNames=e}getLocale(){return this._locale}setLocale(e){this._locale=e}getSheetsInfo(){return{sheetOrder:this._sheetOrder,sheetNameMap:this._sheetNameMap}}setSheetsInfo({sheetOrder:e,sheetNameMap:t}){this._sheetOrder=e,this._sheetNameMap=t}setFormulaDataModel(e){this._formulaDataModel=e}setSheetRowColumnCount(e,t){this._rowCount=e,this._columnCount=t}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}isArgumentsIgnoreNumberPattern(){return!1}setRefInfo(e,t,n,r){this._unitId=e,this._subUnitId=t,this._row=n,this._column=r}calculateCustom(...e){return null}calculate(...e){return E.create(p.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){let n=e;if(n.isArray()&&(n=n.getFirstCell()),n.isBoolean())return n.getValue()===!1?E.create(p.VALUE):t;if(n.isString()){let e=Number(n.getValue());return Number.isNaN(e)?E.create(p.REF):e}else if(n.isNumber())return n.getValue();return E.create(p.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;else 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;else if(e.isNumber()){let n=e.getValue();n<=0&&(t=n)}return t}binarySearch(e,t,n,r,i){let a=t.binarySearch(e,r,i);if(a==null)return E.create(p.NA);let o;return o=n.getRowCount()===1?n.get(0,a)||Ua.create():n.get(a,0)||Ua.create(),o.isNull()?R.create(0):o}_getOneFirstByRaw(e){return e.length===0?E.create(p.NA):e[0][0]||E.create(p.NA)}_getOneLastByRaw(e){return e.length===0?E.create(p.NA):e[e.length-1][e[0].length-1]||E.create(p.NA)}equalSearch(e,t,n,r=!0){let i=n.pickRaw(t.isEqual(e));return r?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}fuzzySearch(e,t,n,r=!0){let i=n.pickRaw(t.compare(e,v.EQUALS));return r?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}orderSearch(e,t,n,r=yr.MIN,i=!1){let a=t.orderSearch(e,r,i);if(a==null)return E.create(p.NA);let o=n.get(a.row,a.column)||Ua.create();return o.isNull()?E.create(p.NA):o}binarySearchExpand(e,t,n,r=0,i,a){let o=t.binarySearch(e,i,a);return o==null?E.create(p.NA):r===0?n.slice([o,o+1]):n.slice(void 0,[o,o+1])}equalSearchExpand(e,t,n,r=!0,i=0){let a=t.isEqual(e),o;return o=r?a.getFirstTruePosition():a.getLastTruePosition(),o==null?E.create(p.NA):i===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}fuzzySearchExpand(e,t,n,r=!0,i=0){let a=t.compare(e,v.EQUALS),o;return o=r?a.getFirstTruePosition():a.getLastTruePosition(),o==null?E.create(p.NA):i===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}orderSearchExpand(e,t,n,r=yr.MIN,i=!1,a=0){let o=t.orderSearch(e,r,i);return o==null?E.create(p.NA):a===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}flattenArray(e,t=!0){let n=[];n[0]=[];for(let r=0;r<e.length;r++){let i=e[r];if((i.isString()||i.isBoolean()||i.isNull())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){let e;if(i.iterator(r=>{if(r==null||r.isNull()||t&&(r.isString()||r.isBoolean()))return!0;if(r=this._includingLogicalValuesAndText(r),r.isError())return e=r,!1;n[0].push(r)}),e!=null&&e.isError())return e}else n[0].push(i)}return lo(n,1,n[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=mo(e)),e.isString()){let t=Number(e.getValue());e=R.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){let n=e.getForcedUnitId()||e.getDefaultUnitId()||``,r=e.getForcedSheetId()||e.getDefaultUnitId()||``,i=Kt({unitId:n,sheetName:e.getForcedSheetName(),range:t}),a;return a=vt(i)?new oo(i):St(i)?new co(i):Ct(i)?new so(i):new ao(t,r,n),this._setReferenceDefault(e,a)}_setReferenceDefault(e,t){if(this.unitId==null||this.subUnitId==null)return E.create(p.REF);t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId);let n=e.getUnitId();n!=null&&t.setForcedUnitIdDirect(n);let r=e.getForcedSheetId();return r!=null&&t.setForcedSheetIdDirect(r),t.setForcedSheetName(e.getForcedSheetName()),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setUnitStylesData(e.getUnitStylesData()),t}},rc=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;let{isError:r,errorObject:i,variants:a}=tc(t,n);if(r)return i;let{isError:o,errorObject:s,variants:c}=X(...a);if(o)return s;let[l,u]=c,d=Math.floor(+l.getValue()),f=Math.floor(+u.getValue());if(d<0||f<0)return E.create(p.NUM);if(d===0||f===0)return E.create(p.REF);let m=e.isArray()?e.getRowCount():1,h=e.isArray()?e.getColumnCount():1;if(m===1&&h===1)return e.isArray()?e.get(0,0):e;let g=d>m?m:d,_=f>h?h:f;return e.slice([0,g],[0,_])}},ic=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=r.isArray()?r.getRowCount():1,a=r.isArray()?r.getColumnCount():1;for(let e=0;e<i;e++)for(let n=0;n<a;n++){let i=r.isArray()?r.get(e,n):r;t.push([i])}}return B.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}};let ac=function(e){return e.ARRAY_CONSTRAIN=`ARRAY_CONSTRAIN`,e.FLATTEN=`FLATTEN`,e}({}),oc=[[rc,ac.ARRAY_CONSTRAIN],[ic,ac.FLATTEN]],sc;(function(e){let t=.636619772;function n(e,t){let n=0;for(let r=0;r<e.length;++r)n=t*n+e[r];return n}function r(e,t,n,r,i){if(t===0)return n;if(t===1)return r;let a=2/e,o=n,s=r,c=r;for(let e=1;e<t;++e)c=s*e*a+i*o,o=s,s=c;return c}function i(e,t,n,i){return function(a,o){if(n){if(a===0)return n===1?-1/0:1/0;if(a<0)return NaN}return o===0?e(a):o===1?t(a):o<0?NaN:r(a,o|0,e(a),t(a),i)}}let a=e.besselj=(()=>{let e=[-184.9052456,77392.33017,-11214424.18,651619640.7,-13362590354,57568490574],i=[1,267.8532712,59272.64853,9494680.718,1029532985,57568490411],a=[2.093887211e-7,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-9.34935152e-8,7.621095161e-7,-6911147651e-15,.0001430488765,-.01562499995];function s(r){let s=0,c=0,l=0,u=r*r;if(r<8)c=n(e,u),l=n(i,u),s=c/l;else{let e=r-.785398164;u=64/u,c=n(a,u),l=n(o,u),s=Math.sqrt(t/r)*(Math.cos(e)*c-Math.sin(e)*l*8/r)}return s}let c=[-30.16036606,15704.4826,-2972611.439,242396853.1,-7895059235,72362614232],l=[1,376.9991397,99447.43394,18583304.74,2300535178,144725228442],u=[-2.40337019e-7,2457520174e-15,-3516396496e-14,.00183105,1],d=[1.05787412e-7,-8.8228987e-7,8449199096e-15,-.0002002690873,.04687499995];function f(e){let r=0,i=0,a=0,o=e*e,s=Math.abs(e)-2.356194491;return Math.abs(e)<8?(i=e*n(c,o),a=n(l,o),r=i/a):(o=64/o,i=n(u,o),a=n(d,o),r=Math.sqrt(t/Math.abs(e))*(Math.cos(s)*i-Math.sin(s)*a*8/Math.abs(e)),e<0&&(r=-r)),r}return function e(t,n){let i=Math.round(n);if(!Number.isFinite(t))return Number.isNaN(t)?t:0;if(i<0)return(i%2?-1:1)*e(t,-i);if(t<0)return(i%2?-1:1)*e(-t,i);if(i===0)return s(t);if(i===1)return f(t);if(t===0)return 0;let a=0;if(t>i)a=r(t,i,s(t),f(t),-1);else{let e=2*Math.floor((i+Math.floor(Math.sqrt(40*i)))/2),n=!1,r=0,o=0,s=1,c=0,l=2/t;for(let t=e;t>0;t--)if(c=t*l*s-r,r=s,s=c,Math.abs(s)>1e10&&(s*=1e-10,r*=1e-10,a*=1e-10,o*=1e-10),n&&(o+=s),n=!n,t===i&&(a=r),e-t>100&&a===0)return NaN;o=2*o-s,a/=o}return a}})();e.bessely=(()=>{let e=[228.4622733,-86327.92757,10879881.29,-512359803.6,7062834065,-2957821389],r=[1,226.1030244,47447.2647,7189466.438,745249964.8,40076544269],o=[2.093887211e-7,-2073370639e-15,2734510407e-14,-.001098628627,1],s=[-9.34945152e-8,7.621095161e-7,-6911147651e-15,.0001430488765,-.01562499995];function c(i){let c=0,l=0,u=0,d=i*i,f=i-.785398164;return i<8?(l=n(e,d),u=n(r,d),c=l/u+t*a(i,0)*Math.log(i)):(d=64/d,l=n(o,d),u=n(s,d),c=Math.sqrt(t/i)*(Math.sin(f)*l+Math.cos(f)*u*8/i)),c}let l=[8511.937935,-4237922.726,734926455.1,-51534381390,127527439e4,-4900604943e3],u=[1,354.9632885,102042.605,22459040.02,3733650367,424441966400,249958057e5],d=[-2.40337019e-7,2457520174e-15,-3516396496e-14,.00183105,1],f=[1.05787412e-7,-8.8228987e-7,8449199096e-15,-.0002002690873,.04687499995];function p(e){let r=0,i=0,o=0,s=e*e,c=e-2.356194491;return e<8?(i=e*n(l,s),o=n(u,s),r=i/o+t*(a(e,1)*Math.log(e)-1/e)):(s=64/s,i=n(d,s),o=n(f,s),r=Math.sqrt(t/e)*(Math.sin(c)*i+Math.cos(c)*o*8/e)),r}return i(c,p,1,-1)})();let o=e.besseli=(()=>{let e=[.0045813,.0360768,.2659732,1.2067492,3.0899424,3.5156229,1],t=[.00392377,-.01647633,.02635537,-.02057706,.00916281,-.00157565,.00225319,.01328592,.39894228];function r(r){return r<=3.75?n(e,r*r/(3.75*3.75)):Math.exp(Math.abs(r))/Math.sqrt(Math.abs(r))*n(t,3.75/Math.abs(r))}let i=[32411e-8,.00301532,.02658733,.15084934,.51498869,.87890594,.5],a=[-.00420059,.01787654,-.02895312,.02282967,-.01031555,.00163801,-.00362018,-.03988024,.39894228];function o(e){return e<3.75?e*n(i,e*e/(3.75*3.75)):(e<0?-1:1)*Math.exp(Math.abs(e))/Math.sqrt(Math.abs(e))*n(a,3.75/Math.abs(e))}return function e(t,n){let i=Math.round(n);if(i===0)return r(t);if(i===1)return o(t);if(i<0)return NaN;if(Math.abs(t)===0)return 0;if(t===1/0)return 1/0;let a=0,s,c=2/Math.abs(t),l=0,u=1,d=0,f=2*Math.round((i+Math.round(Math.sqrt(40*i)))/2);for(s=f;s>0;s--)if(d=s*c*u+l,l=u,u=d,Math.abs(u)>1e10&&(u*=1e-10,l*=1e-10,a*=1e-10),s===i&&(a=l),f-s>100&&a===0)return NaN;return a*=e(t,0)/u,t<0&&i%2?-a:a}})();e.besselk=(()=>{let e=[74e-7,1075e-7,.00262698,.0348859,.23069756,.4227842,-.57721566],t=[53208e-8,-.0025154,.00587872,-.01062446,.02189568,-.07832358,1.25331414];function r(r){return r<=2?-Math.log(r/2)*o(r,0)+n(e,r*r/4):Math.exp(-r)/Math.sqrt(r)*n(t,2/r)}let a=[-4686e-8,-.00110404,-.01919402,-.18156897,-.67278579,.15443144,1],s=[-68245e-8,.00325614,-.00780353,.01504268,-.0365562,.23498619,1.25331414];function c(e){return e<=2?Math.log(e/2)*o(e,1)+1/e*n(a,e*e/4):Math.exp(-e)/Math.sqrt(e)*n(s,2/e)}return i(r,c,2,1)})()})(sc||(sc={}));function cc(e){return/^[01]{1,10}$/.test(e)}function lc(e){return/^[0-7]{1,10}$/.test(e)}function uc(e){return/^[0-9A-Fa-f]{1,10}$/.test(e)}function dc(e){if(e===0)return 0;let t=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-991364156e-18,-227365122e-18,96467911e-18,2394038e-18,-6886027e-18,894487e-18,313092e-18,-112708e-18,381e-18,7106e-18,-1523e-18,-94e-18,121e-18,-28e-18],n=e,r=!1;n<0&&(n=-n,r=!0);let i=2/(2+n),a=4*i-2,o=0,s=0,c;for(let e=t.length-1;e>0;e--)c=o,o=a*o-s+t[e],s=c;let l=i*Math.exp(-n*n+.5*(t[0]+a*o)-s);return r?l-1:1-l}function fc(e){return 1-dc(e)}function pc(e){if(e>=2)return-100;if(e<=0)return 100;let t=e<1?e:2-e,n=Math.sqrt(-2*Math.log(t/2)),r=-.70711*((2.30753+n*.27061)/(1+n*(.99229+n*.04481))-n);for(let e=0;e<2;e++){let e=fc(r)-t;r+=e/(1.1283791670955126*Math.exp(-r*r)-r*e)}return e<1?r:-r}function mc(e,t=1){let n=Math.floor(e);if(e<0)return NaN;let r=1;for(;n>1&&Number.isFinite(r);)r*=n,n-=t;return r}function hc(e,t){let n=Math.min(e-t,t),r=1;for(let t=1;t<=n&&Number.isFinite(r);t++)r*=e-t+1,r/=t;return r}function gc(e,t){let n=Math.floor(e),r=Math.floor(t);for(;r!==0;){let e=r;r=n%r,n=e}return n}function _c(e,t){let n=gc(e,t);return n===0?0:Math.abs(e*t)/n}function vc(e){let t=e.length;if(t===1)return e[0][0];if(t===2)return e[0][0]*e[1][1]-e[0][1]*e[1][0];let{rowSwap:n,smallPivotDetected:r,luMatrix:i,permutation:a}=Tc(e);if(r)return 0;let o=n?1:-1;for(let e=0;e<a.length;e++)o*=i[e][e];return o===0?0:o}function yc(e){let t=vc(e);return t===0?null:e.length===1?[[1/t]]:xc(e).map(e=>e.map(e=>e/t))}function bc(e,t,n){return e.filter((e,n)=>n!==t).map(e=>e.filter((e,t)=>t!==n))}function xc(e){let t=e.length,n=Array.from({length:t},()=>Array(t).fill(0));for(let r=0;r<t;r++)for(let i=0;i<t;i++){let t=((r+i)%2==0?1:-1)*vc(bc(e,r,i));n[i][r]=t===0?0:t}return n}function Sc(e,t){return e.map(e=>t[0].map((n,r)=>e.reduce((e,n,i)=>e+n*t[i][r],0)))}function Cc(e){return e[0].map((t,n)=>e.map(e=>e[n]))}function wc(e){let{smallPivotDetected:t,luMatrix:n,permutation:r}=Tc(e);return t?null:Ec(n,r)}function Tc(e){let t=Cc(e),n=t.length,r=t[0].length,i=!0,a=!1,o=Dc(n,r,0),s=Array(r).fill(0).map((e,t)=>t);for(let e=0;e<r;e++){for(let n=0;n<e;n++){let r=t[n][e];for(let t=0;t<n;t++)r-=o[n][t]*o[t][e];o[n][e]=r}let r=-1/0,c=e;for(let i=e;i<n;i++){let n=t[i][e];for(let t=0;t<e;t++)n-=o[i][t]*o[t][e];o[i][e]=n;let a=Math.abs(n);a>r&&(r=a,c=i)}if(Math.abs(o[c][e])<1e-11){a=!0;break}c!==e&&([o[e],o[c]]=[o[c],o[e]],[t[e],t[c]]=[t[c],t[e]],[s[e],s[c]]=[s[c],s[e]],i=!i);let l=o[e][e];for(let t=e+1;t<n;t++)o[t][e]/=l}return{rowSwap:i,smallPivotDetected:a,luMatrix:o,permutation:s}}function Ec(e,t){let n=t.length,r=Dc(n,n,0);for(let e=0;e<n;e++)r[e][e]=1;let i=Dc(n,n,0);for(let e=0;e<n;e++){let a=t[e];for(let t=0;t<n;t++)i[e][t]=r[a][t]}for(let t=0;t<n;t++){let r=i[t];for(let a=t+1;a<n;a++){let o=e[a][t];for(let e=0;e<n;e++)i[a][e]-=r[e]*o}}for(let t=n-1;t>=0;t--){let r=i[t],a=e[t][t];for(let e=0;e<n;e++)r[e]/=a;for(let a=0;a<t;a++){let o=e[a][t];for(let e=0;e<n;e++)i[a][e]-=r[e]*o}}return i}function Dc(e,t,n){let r=[];for(let i=0;i<e;i++){r[i]=[];for(let e=0;e<t;e++)r[i].push(n)}return r}function Oc(e){let t=kc(e);if(!t)return null;let{matrixU:n,matrixS:r,matrixV:i}=t,a=Cc(n),o=Array.from({length:r.length},()=>Array(e[0].length).fill(0)),s=Math.max(e.length,e[0].length)*2**-52*r[0];for(let e=0;e<r.length;e++)Math.abs(r[e])>s&&(o[e][e]=1/r[e]);return Sc(i,Sc(o,a))}function kc(e){let t=Cc(e),n=t.length,r=t[0].length;if(n<r)return null;let i=Array(r).fill(0),a=Array(r).fill(0),o=Array.from({length:r},()=>Array(r).fill(0)),s=2**-52,c=0,l=0,u=0;for(let e=0;e<r;e++){if(i[e]=c,l=jc(t,e,n,e,e),l<=1e-64/s)c=0;else{c=Math.sqrt(l),t[e][e]>=0&&(c=-c);let i=t[e][e]*c-l;t[e][e]-=c;for(let a=e+1;a<r;a++){l=jc(t,e,n,e,a);for(let r=e;r<n;r++)t[r][a]+=l/i*t[r][e]}}if(a[e]=c,l=Mc(t,e+1,r,e,e),l<=1e-64/s)c=0;else{c=Math.sqrt(l),t[e][e+1]>=0&&(c=-c);let a=t[e][e+1]*c-l;t[e][e+1]-=c;for(let n=e+1;n<r;n++)i[n]=t[e][n]/a;for(let a=e+1;a<n;a++){l=Mc(t,e+1,r,a,e);for(let n=e+1;n<r;n++)t[a][n]+=l*i[n]}}let o=Math.abs(a[e])+Math.abs(i[e]);o>u&&(u=o)}let d=0;for(let e=r-1;e>=0;e--){if(c!==0){for(let n=d;n<r;n++)o[n][e]=t[e][n]/(c*t[e][e+1]);for(let n=d;n<r;n++){l=0;for(let i=d;i<r;i++)l+=t[e][i]*o[i][n];for(let t=d;t<r;t++)o[t][n]+=l*o[t][e]}}for(let t=d;t<r;t++)o[e][t]=0,o[t][e]=0;o[e][e]=1,c=i[e],d=e}for(let e=r-1;e>=0;e--){c=a[e];for(let n=e+1;n<r;n++)t[e][n]=0;if(c!==0){for(let i=e+1;i<r;i++){l=jc(t,e+1,n,e,i);for(let r=e;r<n;r++)t[r][i]+=l/(t[e][e]*c)*t[r][e]}for(let r=e;r<n;r++)t[r][e]/=c}else for(let r=e;r<n;r++)t[r][e]=0;t[e][e]+=1}s*=u;let f=0,p=0,m=0;for(let e=r-1;e>=0;e--)for(let c=0;c<50;c++){let l=!1,u=e;for(;u>=0;u--){if(Math.abs(i[u])<=s){l=!0;break}if(Math.abs(a[u-1])<=s)break}if(!l){let r=0,o=1;for(let c=u;c<e+1&&(f=o*i[c],p=a[c],i[c]*=r,!(Math.abs(f)<=s));c++){m=Ac(f,p),a[c]=m,r=p/m,o=-f/m;for(let e=0;e<n;e++){let n=t[e][u-1],i=t[e][c];t[e][u-1]=n*r+i*o,t[e][c]=-n*o+i*r}}}if(u===e){if(a[e]<0){a[e]=-a[e];for(let t=0;t<r;t++)o[t][e]=-o[t][e]}break}if(c>=49)return null;let d=a[u];f=((a[e-1]-a[e])*(a[e-1]+a[e])+(i[e-1]-i[e])*(i[e-1]+i[e]))/(2*i[e]*a[e-1]),m=Ac(f,1),f=f<0?((d-a[e])*(d+a[e])+i[e]*(a[e-1]/(f-m)-i[e]))/d:((d-a[e])*(d+a[e])+i[e]*(a[e-1]/(f+m)-i[e]))/d;let h=1,g=1;for(let s=u+1;s<e+1;s++){let e=i[s],c=a[s];p=g*e,e*=h,m=Ac(f,p),i[s-1]=m,h=f/m,g=p/m,f=d*h+e*g,p=c*g,e=-d*g+e*h,c*=h;for(let e=0;e<r;e++){let t=o[e][s-1],n=o[e][s];o[e][s-1]=t*h+n*g,o[e][s]=-t*g+n*h}m=Ac(f,p),a[s-1]=m,h=f/m,g=p/m,f=h*e+g*c,d=-g*e+h*c;for(let e=0;e<n;e++){let n=t[e][s-1],r=t[e][s];t[e][s-1]=n*h+r*g,t[e][s]=-n*g+r*h}}i[u]=0,i[e]=f,a[e]=d}for(let e=0;e<a.length;e++)a[e]<s&&(a[e]=0);for(let e=0;e<r;e++)for(let n=e-1;n>=0;n--)if(a[n]<a[e]){let r=a[n];a[n]=a[e],a[e]=r;for(let r=0;r<t.length;r++){let i=t[r][e];t[r][e]=t[r][n],t[r][n]=i}for(let t=0;t<o.length;t++){let r=o[t][e];o[t][e]=o[t][n],o[t][n]=r}e=n}return{matrixU:t,matrixS:a,matrixV:o}}function Ac(e,t){let n=0;return Math.abs(e)>Math.abs(t)?(n=t/e,Math.abs(e)*Math.sqrt(1+n*n)):t===0?0:(n=e/t,Math.abs(t)*Math.sqrt(1+n*n))}function jc(e,t,n,r,i){let a=0;for(let o=t;o<n;o++)a+=e[o][r]*e[o][i];return a}function Mc(e,t,n,r,i){let a=0;for(let o=t;o<n;o++)a+=e[r][o]*e[i][o];return a}let Nc=new Map([[`I`,1],[`V`,5],[`X`,10],[`L`,50],[`C`,100],[`D`,500],[`M`,1e3]]),Pc=new Map([[1,`I`],[4,`IV`],[5,`V`],[9,`IX`],[10,`X`],[40,`XL`],[45,`VL`],[49,`IL`],[50,`L`],[90,`XC`],[95,`VC`],[99,`IC`],[100,`C`],[400,`CD`],[450,`LD`],[490,`XD`],[495,`VD`],[499,`ID`],[500,`D`],[900,`CM`],[950,`LM`],[990,`XM`],[995,`VM`],[999,`IM`],[1e3,`M`]]),Fc=[[1,4,5,9,10,40,50,90,100,400,500,900,1e3,4e3],[1,4,5,9,10,40,45,50,90,95,100,400,450,500,900,950,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,500,900,950,990,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,500,900,950,990,995,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,499,500,900,950,990,995,999,1e3,4e3]];function Ic(e,t,n){return e<=0?0:e>=1?1:zc(e,t,n)}function Lc(e,t,n){return e<=0||e>=1?0:t===1&&n===1?1:t<512&&n<512?e**(t-1)*(1-e)**(n-1)/Vc(t,n):Math.exp((t-1)*Math.log(e)+(n-1)*Math.log(1-e)-Hc(t,n))}function Rc(e,t,n){if(e<=0)return 0;if(e>=1)return 1;let r;if(t>=1&&n>=1){let i=e<.5?e:1-e,a=Math.sqrt(-2*Math.log(i));r=(2.30753+a*.27061)/(1+a*(.99229+a*.04481))-a,e<.5&&(r=-r);let o=(r*r-3)/6,s=2/(1/(2*t-1)+1/(2*n-1)),c=r*Math.sqrt(o+s)/s-(1/(2*n-1)-1/(2*t-1))*(o+5/6-2/(3*s));r=t/(t+n*Math.exp(2*c))}else{let i=Math.exp(t*Math.log(t/(t+n)))/t,a=i+Math.exp(n*Math.log(n/(t+n)))/n;r=e<i/a?(t*a*e)**(1/t):1-(n*a*(1-e))**(1/n)}let i=-Hc(t,n),a,o,s;for(let c=0;c<10;c++){if(r===0||r===1)return r;if(a=zc(r,t,n)-e,o=Math.exp((t-1)*Math.log(r)+(n-1)*Math.log(1-r)+i),s=a/o,r-=o=s/(1-.5*Math.min(1,s*((t-1)/r-(n-1)/(1-r)))),r<=0&&(r=.5*(r+o)),r>=1&&(r=.5*(r+o+1)),Math.abs(o)<1e-8*r&&c>0)break}return r}function zc(e,t,n){let r=e===0||e===1?0:Math.exp(il(t+n)-il(t)-il(n)+t*Math.log(e)+n*Math.log(1-e));return e<(t+1)/(t+n+2)?r*Bc(e,t,n)/t:1-r*Bc(1-e,n,t)/n}function Bc(e,t,n){let r=1e-8,i=1-(t+n)*e/(t+1);Math.abs(i)<r&&(i=r),i=1/i;let a=1,o=i;for(let s=1;s<=100;s++){let c=s*(n-s)*e/((t-1+s*2)*(t+s*2));if(i=1+c*i,Math.abs(i)<r&&(i=r),a=1+c/a,Math.abs(a)<r&&(a=r),i=1/i,o*=i*a,c=-(t+s)*(t+n+s)*e/((t+s*2)*(t+1+s*2)),i=1+c*i,Math.abs(i)<r&&(i=r),a=1+c/a,Math.abs(a)<r&&(a=r),i=1/i,o*=i*a,Math.abs(i*a-1)<r)break}return o}function Vc(e,t){return e+t>170?Math.exp(Hc(e,t)):el(e)*el(t)/el(e+t)}function Hc(e,t){return il(e)+il(t)-il(e+t)}function Uc(e,t,n){if(e<0)return 0;if(e>=t)return 1;if(n<0||n>1||t<=0)return NaN;let r=0;for(let i=0;i<=e;i++)r+=Wc(i,t,n);return r}function Wc(e,t,n){return n===0||n===1?t*n===e?1:0:hc(t,e)*n**e*(1-n)**(t-e)}function Gc(e,t){return e<=0?0:al(t/2,e/2)}function Kc(e,t){return e<0?0:e===0&&t===2?.5:Math.exp((t/2-1)*Math.log(e)-e/2-t/2*Math.log(2)-il(t/2))}function qc(e,t){return e<=0?0:e>=1?1/0:2*ol(e,t/2)}function Jc(e,t,n){return e<0?0:zc(t*e/(t*e+n),t/2,n/2)}function Yc(e,t,n){if(e<0)return 0;if(e===0&&t<2)return 1/0;if(e===0&&t===2)return 1;let r=1/Vc(t/2,n/2);return r*=(t/n)**(t/2),r*=e**(t/2-1),r*=(1+t/n*e)**(-(t+n)/2),r}function Xc(e,t,n){return e<=0?0:e>=1?1/0:n/(t*(1/Rc(e,t/2,n/2)-1))}function Zc(e,t){return e<0?0:1-Math.exp(-t*e)}function Qc(e,t){return e<0?0:t*Math.exp(-t*e)}function $c(e,t,n){let r=t.length,i=0,a=0;for(let e=0;e<r;e++)i+=t[e],a+=n[e];let o=i/r,s=a/r,c=0,l=0;for(let e=0;e<r;e++)c+=(t[e]-o)*(n[e]-s),l+=(n[e]-s)**2;if(l===0)return 1/0;let u=c/l;return o-u*s+u*e}function el(e){let t=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],n=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535],r=0,i=e;if(e>171.6243769536076)return 1/0;if(i<=0){let e=i%1+36e-17;if(e)r=(i&1?-1:1)*Math.PI/Math.sin(Math.PI*e),i=1-i;else return 1/0}let a=i,o=0,s;s=i<1?i++:(i-=o=(i|0)-1)-1;let c=0,l=0;for(let e=0;e<8;++e)c=(c+t[e])*s,l=l*s+n[e];let u=c/l+1;if(a<i)u/=a;else if(a>i)for(let e=0;e<o;++e)u*=i,i++;return r&&(u=r/u),u}function tl(e,t,n){return e<=0?0:al(t,e/n)}function nl(e,t,n){return e<0?0:e===0&&t===1?1/n:Math.exp((t-1)*Math.log(e)-e/n-il(t)-t*Math.log(n))}function rl(e,t,n){return e<=0?0:e>=1?1/0:n*ol(e,t)}function il(e){let t=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],n=e,r=e+5.5;r-=(e+.5)*Math.log(r);let i=1.000000000190015;for(let e=0;e<6;e++)i+=t[e]/++n;return-r+Math.log(2.5066282746310007*i/e)}function al(e,t){if(t<0||e<=0)return NaN;let n=1e-30,r=-~(Math.log(e>=1?e:1/e)*8.5+e*.4+17),i=il(e),a=Math.exp(-t+e*Math.log(t)-i),o=e,s=1/e,c=s;if(t<e+1){if(a===0)return 0;for(let e=1;e<=r&&(s+=c*=t/++o,!(Math.abs(c)<Math.abs(s)*n));e++);return s*a}if(a===0)return 1;let l=t+1-e,u=1/n,d=1/l,f=d;for(let t=1;t<=r;t++){let r=-t*(t-e);if(l+=2,d=r*d+l,Math.abs(d)<n&&(d=n),u=l+r/u,Math.abs(u)<n&&(u=n),d=1/d,f*=d*u,Math.abs(d*u-1)<n)break}return 1-f*a}function ol(e,t){if(e<=0)return 0;if(e>=1)return Math.max(100,t+100*Math.sqrt(t));let n;if(t>1){let r=e<.5?e:1-e,i=Math.sqrt(-2*Math.log(r));n=(2.30753+i*.27061)/(1+i*(.99229+i*.04481))-i,e<.5&&(n=-n),n=Math.max(.001,t*(1-1/(9*t)-n/(3*Math.sqrt(t)))**3)}else{let r=1-t*(.253+t*.12);n=e<r?(e/r)**(1/t):1-Math.log(1-(e-r)/(1-r))}let r=il(t),i,a;for(let o=0;o<12;o++){if(n<=0)return 0;if(i=al(t,n)-e,a=t>1?Math.exp((t-1)*(Math.log(t-1)-1)-r)*Math.exp(-(n-(t-1))+(t-1)*(Math.log(n)-Math.log(t-1))):Math.exp(-n+(t-1)*Math.log(n)-r),a!==0&&(a=i/a/(1-.5*Math.min(1,i/a*((t-1)/n-1)))),n-=a,n<=0&&(n=.5*(n+a)),Math.abs(a)<1e-8*n)break}return n}function sl(e,t,n,r){let i=0;for(let a=0;a<=e;a++)i+=cl(a,t,n,r);return i}function cl(e,t,n,r){return t-e>r-n?0:hc(n,e)*hc(r-n,t-e)/hc(r,t)}function ll(e,t,n){return e<0?0:.5+.5*dc((Math.log(e)-t)/Math.sqrt(2*n*n))}function ul(e,t,n){return e<=0?0:Math.exp(-Math.log(e)-.5*Math.log(2*Math.PI)-Math.log(n)-(Math.log(e)-t)**2/(2*n*n))}function dl(e,t,n){return Math.exp(gl(e,t,n))}function fl(e,t,n){if(e<0)return 0;let r=0;for(let i=0;i<=e;i++)r+=pl(i,t,n);return r}function pl(e,t,n){return e<0?0:hc(e+t-1,t-1)*n**t*(1-n)**e}function ml(e,t,n){return .5*(1+dc((e-t)/Math.sqrt(2*n*n)))}function hl(e,t,n){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(n)-(e-t)**2/(2*n*n))}function gl(e,t,n){return-1.4142135623730951*n*pc(2*e)+t}function _l(e,t){let n=0;for(let r=0;r<=e;r++)n+=vl(r,t);return n}function vl(e,t){return Math.exp(-t)*t**e/mc(e)}function yl(e,t){let n=.5*zc(t/(e**2+t),t/2,.5);return e<0?n:1-n}function bl(e,t){let n=(1+e**2/t)**(-(t+1)/2);return 1/(Math.sqrt(t)*Vc(.5,t/2))*n}function xl(e,t){let n=Rc(2*Math.min(e,1-e),.5*t,.5);return n=Math.sqrt(t*(1-n)/n),e>.5?n:-n}function Sl(e,n,r,i,a){let o=[],s=[],c=!0;for(let l=0;l<r;l++){let r=Math.floor(l/i),u=l%i,d=Math.floor(l/a),f=l%a,p=e.isArray()?e.get(r,u):e,m=n.isArray()?n.get(d,f):n;if(p.isError())return{isError:!0,errorObject:p,array1Values:o,array2Values:s,noCalculate:c};if(m.isError())return{isError:!0,errorObject:m,array1Values:o,array2Values:s,noCalculate:c};if(p.isNull()||m.isNull()||p.isBoolean()||m.isBoolean())continue;let h=p.getValue(),g=m.getValue();!(0,t.isRealNum)(h)||!(0,t.isRealNum)(g)||(o.push(+h),s.push(+g),c=!1)}return{isError:!1,errorObject:null,array1Values:o,array2Values:s,noCalculate:c}}function Cl(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=r,o=i;if(t&&!t.isNull()&&(a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,r===1&&o!==i||i===1&&a!==r||r!==1&&i!==1&&(a!==r||o!==i)))return{isError:!0,errorObject:E.create(p.REF)};if(n&&!n.isNull()){let e=n.isArray()?n.getRowCount():1,t=n.isArray()?n.getColumnCount():1;if(r===1&&a>1&&e!==a||i===1&&o>1&&t!==o)return{isError:!0,errorObject:E.create(p.REF)}}return{isError:!1,errorObject:null}}function wl(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++){r[i]=[];for(let t=0;t<n;t++){let n=e.isArray()?e.get(i,t):e;if(n.isError()||n.isNull()||n.isBoolean()||n.isString())return E.create(p.VALUE);r[i].push(+n.getValue())}}return r}function Tl(e,t){let n=[],r=1;for(let i=0;i<e;i++){n[i]=[];for(let e=0;e<t;e++)n[i].push(r++)}return n}function El(e,t,n,r){let i=t;r&&(i=t.map(e=>Math.log(e)));let a,o;return n?{slope:a,intercept:o}=Dl(e,i):{slope:a,intercept:o}=Ol(e,i),r&&(a=Math.exp(a),o=Math.exp(o)),Number.isNaN(a)&&!n&&(a=0),{slope:a,intercept:o,Y:i}}function Dl(e,t){let n=t.length,r=0,i=0,a=0,o=0;for(let s=0;s<n;s++)r+=e[s],i+=t[s],a+=e[s]*e[s],o+=e[s]*t[s];let s=(n*o-r*i)/(n*a-r*r);return{slope:s,intercept:1/n*i-1/n*s*r}}function Ol(e,t){let n=[[...e]],r=[...t],i=n.length,a=n[0].length,o=Math.min(i,a),s=Array(o).fill(0);for(let e=0;e<o;e++){let t=n[e],r=0;for(let e=0;e<a;e++)r+=t[e]**2;let o=t[e]<0?Math.sqrt(r):-Math.sqrt(r);if(s[e]=o,o!==0){t[e]-=o;for(let r=e+1;r<i;r++){let i=0;for(let o=e;o<a;o++)i-=n[r][o]*t[o];i/=o*t[e];for(let o=e;o<a;o++)n[r][o]-=i*t[o]}}}i=n.length,a=n[0].length,o=Math.min(i,a);let c=Array(i).fill(0);for(let e=0;e<o;e++){let t=n[e],i=0;for(let e=0;e<a;e++)i+=r[e]*t[e];i/=s[e]*t[e];for(let e=0;e<a;e++)r[e]+=i*t[e]}for(let e=s.length-1;e>=0;e--){r[e]/=s[e];let t=r[e],i=n[e];c[e]=t;for(let n=0;n<e;n++)r[n]-=t*i[n]}return{slope:c[0],intercept:0}}function kl(e,t,n,r,i){let a=e.length===1&&e[0].length>1,o=e;i&&(o=e.map(e=>e.map(e=>Math.log(e))));let s=t,c=n;a&&(o=Cc(o),s=Cc(s),c=Cc(c)),r&&(s=s.map(e=>[...e,1]));let l=Cc(s),u=Sc(l,s),d=Sc(l,o),f=wc(u);if(!f&&(f=Oc(u),!f))return E.create(p.NA);let m=Sc(f,d);r||m.push([0]),m=Cc(m);let h=m[0].pop();if(m[0].reverse(),m[0].push(h),i)for(let e=0;e<m[0].length;e++)m[0][e]=Math.exp(m[0][e]);return{coefficients:m,Y:o,X:s,newX:c,XTXInverse:f}}function Al(e){let t=[],n=[],r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isReferenceObject())a.isMultiArea()?t.push(a):n.push(a);else{r=!0;break}}return{isError:r,multiAreaRefs:t,normalRefs:n}}let Q=function(e){return e.AVERAGE=`AVERAGE`,e.COUNT=`COUNT`,e.COUNTA=`COUNTA`,e.MAX=`MAX`,e.MIN=`MIN`,e.PRODUCT=`PRODUCT`,e.STDEV=`STDEV`,e.STDEV_S=`STDEV.S`,e.STDEVP=`STDEVP`,e.STDEV_P=`STDEV.P`,e.SUM=`SUM`,e.VAR=`VAR`,e.VAR_S=`VAR.S`,e.VARP=`VARP`,e.VAR_P=`VAR.P`,e.MEDIAN=`MEDIAN`,e.MODE_SNGL=`MODE.SNGL`,e}({});function jl(e,n){let r=e[n];return r?r.hd===t.BooleanNumber.TRUE:!1}function Ml(e,t,n,r,i,a){let o=e.getValue(t,n);if(o!=null&&o.f||o!=null&&o.si){let e=a.getFormulaStringByCell(t,n,r,i);if(e&&(e.indexOf(`${K.SUBTOTAL}(`)>-1||e.indexOf(`${K.AGGREGATE}(`)>-1))return!0}return!1}function Nl(e,t){let n=Object.entries(e).filter(([e,{count:n}])=>n===t).sort((e,t)=>e[1].order-t[1].order).map(([e])=>+e);return R.create(n[0])}function Pl(e,n){let{type:r,ignoreRowHidden:i,ignoreErrorValues:a,ignoreNested:o,formulaDataModel:s}=e,c=[],l=0,u=0,d=0,f=0,m=0,h=0,g=1,_={},v=1,y=0;for(let e=0;e<n.length;e++){var b;let p=n[e],x=p.getFilteredOutRows(),S=p.getRowData(),C=p.getUnitId(),w=p.getSheetId(),T=(b=p.getUnitData()[C])==null||(b=b[w])==null?void 0:b.cellData,ee;if(p.iterator((e,n,p)=>{if(x.includes(n)||i&&jl(S,n)||o&&Ml(T,n,p,w,C,s))return!0;if(r===Q.COUNT)return e!=null&&e.isNumber()&&l++,!0;if(r===Q.COUNTA)return e!=null&&!e.isNull()&&u++,!0;if(e!=null&&e.isError())return a?!0:(ee=e,!1);if(!e||e.isNull()||e.isBoolean()||e.isString())return!0;let b=e.getValue();if(!(0,t.isRealNum)(b))return!0;if(b=+b,f++,r===Q.MAX)return m=f===1?b:Math.max(m,b),!0;if(r===Q.MIN)return h=f===1?b:Math.min(h,b),!0;if(r===Q.MODE_SNGL)return _[b]?(_[b].count++,_[b].count>v&&(v=_[b].count)):_[b]={count:1,order:y++},!0;d+=b,g*=b,c.push(e)}),ee!=null&&ee.isError())return ee}switch(r){case Q.AVERAGE:return f===0?E.create(p.DIV_BY_ZERO):R.create(d/f);case Q.COUNT:return R.create(l);case Q.COUNTA:return R.create(u);case Q.MAX:return R.create(m);case Q.MIN:return R.create(h);case Q.PRODUCT:return R.create(f===0?0:g);case Q.STDEV:case Q.STDEV_S:return f<2?E.create(p.DIV_BY_ZERO):lo([c],1,f).std(1);case Q.STDEVP:case Q.STDEV_P:return f===0?E.create(p.DIV_BY_ZERO):lo([c],1,f).std();case Q.SUM:return R.create(d);case Q.VAR:case Q.VAR_S:return f<2?E.create(p.DIV_BY_ZERO):lo([c],1,f).var(1);case Q.VARP:case Q.VAR_P:return f===0?E.create(p.DIV_BY_ZERO):lo([c],1,f).var();case Q.MEDIAN:return f===0?E.create(p.NUM):Il(c.map(e=>+e.getValue()));case Q.MODE_SNGL:return y===0||v===1?E.create(p.NA):Nl(_,v);default:return E.create(p.VALUE)}}function Fl(e,n,r){let{ignoreRowHidden:i=!1,ignoreErrorValues:a=!1,ignoreNested:o=!1}=n==null?{}:n,s=[];if(e.isReferenceObject()){var c;let n=e.getFilteredOutRows(),l=e.getRowData(),u=e.getUnitId(),d=e.getSheetId(),f=(c=e.getUnitData()[u])==null||(c=c[d])==null?void 0:c.cellData,p;if(e.iterator((e,c,m)=>{if(n.includes(c)||i&&jl(l,c))return!0;if(e!=null&&e.isError())return a?!0:(p=e,!1);if(o&&r&&Ml(f,c,m,d,u,r)||!e||e.isNull()||e.isBoolean()||e.isString())return!0;let h=e.getValue();if(!(0,t.isRealNum)(h))return!0;s.push(+h)}),p)return p}else{let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let i=0;i<n;i++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(i,n):e;if(r.isError()){if(a)continue;return r}if(!r||r.isNull()||r.isBoolean()||r.isString())continue;let o=r.getValue();(0,t.isRealNum)(o)&&s.push(+o)}}return s.length===0?E.create(p.NUM):s}function Il(e){let t=e.length;e.sort((e,t)=>e-t);let n;if(t%2==0){let r=t/2;n=(e[r-1]+e[r])/2}else n=e[Math.floor(t/2)];return R.create(n)}function Ll(e,t){if(t<1||t>e.length)return E.create(p.NUM);e.sort((e,t)=>t-e);let n=Math.ceil(t);return R.create(e[n-1])}function Rl(e,t){if(t<1||t>e.length)return E.create(p.NUM);e.sort((e,t)=>e-t);let n=Math.floor(t);return R.create(e[n-1])}function zl(e,t){let n=e.length;if(t<0||t>1)return E.create(p.NUM);e.sort((e,t)=>e-t);let r=t*(n-1),i=Math.floor(r),a=r-i;if(a===0)return R.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return R.create(o)}function Bl(e,t){let n=e.length;if(t<1/(n+1)||t>1-1/(n+1))return E.create(p.NUM);e.sort((e,t)=>e-t);let r=t*(n+1)-1,i=Math.floor(r),a=r-i;if(a===0)return R.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return R.create(o)}function Vl(e,t){let n=e.length;if(t<0||t>4)return E.create(p.NUM);e.sort((e,t)=>e-t);let r=t/4*(n-1),i=Math.floor(r),a=r-i;if(a===0)return R.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return R.create(o)}function Hl(e,t){let n=e.length;if(t<=0||t>=4)return E.create(p.NUM);e.sort((e,t)=>e-t);let r=t/4;if(r<1/(n+1)||r>1-1/(n+1))return E.create(p.NUM);let i=r*(n+1)-1,a=Math.floor(i),o=i-a;if(o===0)return R.create(e[a]);let s=e[a]+o*(e[a+1]-e[a]);return R.create(s)}var Ul=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(1):i;a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));let s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,E.create(p.NA)),u=V(s,c,t,E.create(p.NA)),d=V(s,c,n,E.create(p.NA)),f=V(s,c,a,E.create(p.NA)),m=V(s,c,o,E.create(p.NA)),h=l.mapValue((e,t,n)=>{let r=u.get(t,n),i=d.get(t,n),a=f.get(t,n),o=m.get(t,n);return this._handleSingleObject(e,r,i,a,o)});return s===1&&c===1?h.get(0,0):h}_handleSingleObject(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:o,variants:s}=X(e,t,n,r,i);if(a)return o;let[c,l,u,d,f]=s,m=+c.getValue(),h=+l.getValue(),g=+u.getValue(),_=+d.getValue(),v=+f.getValue();if(h<=0||g<=0||m<=0||m>=1||_>=v)return E.create(p.NUM);let y=Rc(m,h,g)*(v-_)+_;return R.create(y)}},Wl=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=Math.floor(+c.getValue()),m=+l.getValue(),h=+u.getValue();if(d<0||d>f||m<0||m>1)return E.create(p.NUM);let g;return g=h?Uc(d,f,m):Wc(d,f,m),R.create(g)}},Gl=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=Math.floor(+o.getValue()),u=+s.getValue(),d=+c.getValue();if(l<0||u<=0||u>=1||d<=0||d>=1)return E.create(p.NUM);let f=0;for(;f<=l&&!(Uc(f,l,u)>=d);)f++;return R.create(f)}},Kl=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||c<1||c>10**10)return E.create(p.NUM);let l=1-Gc(s,c);return R.create(l)}},ql=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||s>1||c<1||c>10**10)return E.create(p.NUM);let l=qc(1-s,c);return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},Jl=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?E.create(p.VALUE):E.create(p.NA);if(n*r!==i*a)return E.create(p.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?l:f?E.create(p.DIV_BY_ZERO):this._getResult(u,d,n,r)}_getResult(e,t,n,r){let i=0;for(let n=0;n<e.length;n++){if(t[n]===0)return E.create(p.DIV_BY_ZERO);i+=(e[n]-t[n])**2/t[n]}let a=(n-1)*(r-1);n===1?a=r-1:r===1&&(a=n-1);let o=1-Gc(i,a);return R.create(o)}},Yl=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:c,variants:l}=X(e,r,i);if(a)return c;let[u,d,f]=l,m=+u.getValue(),h=+d.getValue(),g=Math.floor(+f.getValue());if(m<=0||m>=1||h<=0||g<1)return E.create(p.NUM);let _=Math.abs(gl(m/2,0,1)*h/Math.sqrt(g));return R.create(_)});return r===1&&i===1?c.get(0,0):c}},Xl=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return E.create(p.VALUE);if(n*r!==i*a)return E.create(p.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?l:f?E.create(p.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return E.create(p.DIV_BY_ZERO);let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0;for(let r=0;r<n;r++){let n=e[r]-a,i=t[r]-o;s+=n*i}return R.create(s/n)}},Zl=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<0||u<=0)return E.create(p.NUM);let f;return f=d?Zc(l,u):Qc(l,u),R.create(f)}},Ql=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||u<1||u>10**10||d<1||d>10**10)return E.create(p.NUM);let f=1-Jc(l,u,d);return R.create(f)}},$l=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||l>1||u<1||u>10**10||d<1||d>10**10)return E.create(p.NUM);let f=Xc(1-l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?E.create(p.NUM):R.create(f)}},eu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variance:i,ns1:a}=this._getValues(e);if(n)return r;let{isError:o,errorObject:s,variance:c,ns1:l}=this._getValues(t);if(o)return s;let u=2*(1-Jc(i/c,a,l));return u>1&&(u=2-u),R.create(u)}_getValues(e){let n=0,r=0,i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1;if(i===1&&a===1){let t=e.isArray()?e.get(0,0):e;return t.isError()?{isError:!0,errorObject:t,variance:n,ns1:r}:t.isNull()?{isError:!0,errorObject:E.create(p.VALUE),variance:n,ns1:r}:{isError:!0,errorObject:E.create(p.DIV_BY_ZERO),variance:n,ns1:r}}let o=[],s=0;for(let c=0;c<i;c++)for(let i=0;i<a;i++){let a=e.isArray()?e.get(c,i):e;if(a.isError())return{isError:!0,errorObject:a,variance:n,ns1:r};if(a.isNull()||a.isBoolean())continue;let l=a.getValue();(0,t.isRealNum)(l)&&(o.push(+l),s+=+l)}if(o.length<=1)return{isError:!0,errorObject:E.create(p.DIV_BY_ZERO),variance:n,ns1:r};let c=s/o.length,l=0;for(let e=0;e<o.length;e++)l+=(o[e]-c)**2;return r=o.length-1,n=l/r,n===0?{isError:!0,errorObject:E.create(p.DIV_BY_ZERO),variance:n,ns1:r}:{isError:!1,errorObject:null,variance:n,ns1:r}}},tu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),m=+l.getValue(),h=+u.getValue();if(d<0||f<=0||m<=0)return E.create(p.NUM);let g;return g=h?tl(d,f,m):nl(d,f,m),R.create(g)}},nu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<0||l>1||u<=0||d<=0)return E.create(p.NUM);let f=rl(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?E.create(p.NUM):R.create(f)}},ru=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<=0||l>=1||d<=0)return E.create(p.NUM);let f=dl(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?E.create(p.NUM):R.create(f)}},iu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n={},r=0,i=1;for(let a=0;a<e.length;a++){let o=e[a];if(o.isError())return o;if(o.isString()){let e=o.convertToNumberObjectValue();if(e.isError())return e}let s=o.isArray()?o.getRowCount():1,c=o.isArray()?o.getColumnCount():1;for(let e=0;e<s;e++)for(let a=0;a<c;a++){let s=o.isArray()?o.get(e,a):o;if(s.isError())return s;if(s.isNull()||s.isBoolean()||s.isString())continue;let c=s.getValue();(0,t.isRealNum)(c)&&(n[+c]?(n[+c].count++,n[+c].count>i&&(i=n[+c].count)):n[+c]={count:1,order:r++})}}return r===0||i===1?new E(p.NA):Nl(n,i)}},au=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),m=+l.getValue(),h=+u.getValue();if(m<=0)return E.create(p.NUM);let g;return g=h?ml(d,f,m):hl(d,f,m),R.create(g)}},ou=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<=0||l>=1||d<=0)return E.create(p.NUM);let f=gl(l,u,d);return R.create(f)}},su=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0||a>=1)return E.create(p.NUM);let o=gl(a,0,1);return R.create(o)}},cu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Fl(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return zl(e,+a.getValue())}},lu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?R.create(3):n;i.isNull()&&(i=R.create(3));let a=Math.max(t.isArray()?t.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,t,E.create(p.NA)),c=V(a,o,i,E.create(p.NA)),l=s.mapValue((e,t,n)=>{let i=c.get(t,n);return e.isError()?e:i.isError()?i:this._handleSingleObject(r,e,i)});return a===1&&o===1?l.get(0,0):l}_handleSingleObject(e,t,n){if(e instanceof E)return e;let{isError:r,errorObject:i,variants:a}=X(t,n);if(r)return i;let[o,s]=a,c=+o.getValue(),l=Math.floor(+s.getValue()),u=e.length;if(u===0||c<e[0]||c>e[u-1])return E.create(p.NA);if(u===1)return c===e[0]?R.create(1):E.create(p.NA);let d=0,f=!1,m=0;for(;!f&&m<u;)c===e[m]?(d=m/(u-1),f=!0):c>e[m]&&m+1<u&&c<e[m+1]&&(d=(m+(c-e[m])/(e[m+1]-e[m]))/(u-1),f=!0),m++;return f?l<1?E.create(p.NUM):(d=Oa(d,l),R.create(d)):E.create(p.NA)}_getValues(e){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=[];for(let a=0;a<n;a++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(a,n):e;if(r.isError())return r;if(r.isNull()||r.isBoolean())continue;let o=r.getValue();(0,t.isRealNum)(o)&&i.push(+o)}return i.sort((e,t)=>e-t)}},uu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=Math.floor(+o.getValue()),u=+s.getValue(),d=+c.getValue();if(l<0||u<0)return E.create(p.NUM);let f;return f=d?_l(l,u):vl(l,u),R.create(f)}},du=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Fl(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return Vl(e,Math.floor(+a.getValue()))}},fu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std()}},pu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std(1)}},mu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<=0||s>1||c<1||c>10**10)return E.create(p.NUM);let l=Math.abs(xl(s/2,c));return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},hu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,array1Values:o,array2Values:s}=this._handleArray1AndArray2(e,t),c=this._getArrayValues(e),l=this._getArrayValues(t),u=Math.max(n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),d=Math.max(n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),f=V(u,d,n,E.create(p.NA)),m=V(u,d,r,E.create(p.NA)),h=f.mapValue((n,r,u)=>{let d=m.get(r,u);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(d.isError())return d;let{isError:f,errorObject:h,variants:g}=X(n,d);if(f)return h;let[_,v]=g,y=Math.floor(+_.getValue()),b=Math.floor(+v.getValue());return![1,2].includes(y)||![1,2,3].includes(b)?E.create(p.NUM):b===1&&i?a:b!==1&&c instanceof E?c:b!==1&&l instanceof E?l:this._handleSingleObject(b===1?o:c,b===1?s:l,y,b)});return u===1&&d===1?h.get(0,0):h}_handleSingleObject(e,t,n,r){if(e.length<2||t.length<2)return E.create(p.DIV_BY_ZERO);let{isError:i,errorObject:a,x:o,degFreedom:s}=this._getTDistParamByArrayValues(e,t,r);if(i)return a;let c=yl(-o,s);return n===2&&(c*=2),Number.isNaN(c)||!Number.isFinite(c)?E.create(p.NUM):R.create(c)}_getArrayValues(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++)for(let a=0;a<n;a++){let o=e.isArray()?e.get(i,a):e;if(o.isError())return o;if(o.isNull()){if(t*n===1)return E.create(p.VALUE);continue}o.isBoolean()||o.isString()||r.push(+o.getValue())}return r}_handleArray1AndArray2(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,array1Values:[],array2Values:[]};let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return{isError:!0,errorObject:s,array1Values:[],array2Values:[]};if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return{isError:!0,errorObject:E.create(p.VALUE),array1Values:[],array2Values:[]};if(n*r!==i*a)return{isError:!0,errorObject:E.create(p.NA),array1Values:[],array2Values:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,array1Values:[],array2Values:[]}:f||u.length<2?{isError:!0,errorObject:E.create(p.DIV_BY_ZERO),array1Values:[],array2Values:[]}:{isError:!1,errorObject:null,array1Values:u,array2Values:d}}_getTDistParamByArrayValues(e,t,n){return n===1?this._getTDistParamByType1(e,t):n===2?this._getTDistParamByType2(e,t):this._getTDistParamByType3(e,t)}_getTDistParamByType1(e,t){let n=e.length,r=0,i=0,a=0;for(let o=0;o<n;o++)r+=e[o],i+=t[o],a+=(e[o]-t[o])**2;let o=r-i,s=n*a-o**2,c=n-1;return s===0?{isError:!0,errorObject:E.create(p.DIV_BY_ZERO),x:0,degFreedom:c}:{isError:!1,errorObject:null,x:Math.abs(o)*Math.sqrt(c/s),degFreedom:c}}_getTDistParamByType2(e,t){let n=e.length,r=t.length,i=0,a=0;for(let t=0;t<n;t++)i+=e[t],a+=e[t]**2;let o=0,s=0;for(let e=0;e<r;e++)o+=t[e],s+=t[e]**2;let c=a-i**2/n,l=s-o**2/r,u=Math.sqrt(c+l);if(u===0)return{isError:!0,errorObject:E.create(p.DIV_BY_ZERO),x:0,degFreedom:0};let d=n-1+r-1,f=Math.sqrt(n*r*d/(n+r));return{isError:!1,errorObject:null,x:Math.abs(i/n-o/r)/u*f,degFreedom:d}}_getTDistParamByType3(e,t){let n=e.length,r=t.length,i=0,a=0;for(let t=0;t<n;t++)i+=e[t],a+=e[t]**2;let o=0,s=0;for(let e=0;e<r;e++)o+=t[e],s+=t[e]**2;let c=(a-i**2/n)/(n*(n-1)),l=(s-o**2/r)/(r*(r-1));if(c+l===0)return{isError:!0,errorObject:E.create(p.DIV_BY_ZERO),x:0,degFreedom:0};let u=c/(c+l);return{isError:!1,errorObject:null,x:Math.abs(i/n-o/r)/Math.sqrt(c+l),degFreedom:1/(u**2/(n-1)+(1-u)**2/(r-1))}}},gu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var()}},_u=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var(1)}},vu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),m=+l.getValue(),h=+u.getValue();if(d<0||f<=0||m<=0)return E.create(p.NUM);let g=Math.exp(-((d/m)**f)),_;return _=h?1-g:f/m**f*d**(f-1)*g,Number.isNaN(_)||!Number.isFinite(_)?E.create(p.NUM):R.create(_)}},yu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=this._getArrayValues(e),i=Math.max(t.isArray()?t.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(t.isArray()?t.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),o=V(i,a,t,E.create(p.NA)),s=n?V(i,a,n,E.create(p.NA)):void 0,c=o.mapValue((e,t,i)=>{if(r instanceof E)return r;if(e.isError())return e;let a=n?s.get(t,i):void 0;return a!=null&&a.isError()?a:r.length===0?E.create(p.NA):r.length===1?E.create(p.DIV_BY_ZERO):this._handleSingleObject(r,e,a)});return i===1&&a===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=+o.getValue(),c=e.length,l=0,u=0;for(let t=0;t<c;t++)l+=e[t],u+=e[t]**2;let d=0;if(n!==void 0){let{isError:e,errorObject:t,variants:r}=X(n);if(e)return t;let[i]=r;d=+i.getValue()}else{let e=l/c;d=Math.sqrt((u-2*e*l+c*e**2)/(c-1))}if(d<=0)return E.create(p.NUM);let f=1-ml((l/c-s)/(d/Math.sqrt(c)),0,1);return Number.isNaN(f)||!Number.isFinite(f)?E.create(p.NUM):R.create(f)}_getArrayValues(e){let n=[],r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;for(let a=0;a<r;a++)for(let r=0;r<i;r++){let i=e.isArray()?e.get(a,r):e;if(i.isError())return i;if(i.isNull()||i.isBoolean()||i.isString())continue;let o=i.getValue();(0,t.isRealNum)(o)&&n.push(+o)}return n}},bu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(1):i;a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));let s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,E.create(p.NA)),u=V(s,c,t,E.create(p.NA)),d=V(s,c,n,E.create(p.NA)),f=V(s,c,a,E.create(p.NA)),m=V(s,c,o,E.create(p.NA)),h=l.mapValue((e,t,n)=>{let r=u.get(t,n),i=d.get(t,n),a=f.get(t,n),o=m.get(t,n);return this._handleSingleObject(e,r,i,a,o)});return s===1&&c===1?h.get(0,0):h}_handleSingleObject(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:o,variants:s}=X(e,t,n,r,i);if(a)return o;let[c,l,u,d,f]=s,m=+c.getValue(),h=+l.getValue(),g=+u.getValue(),_=+d.getValue(),v=+f.getValue();if(h<=0||g<=0||m<_||m>v||_===v)return E.create(p.NUM);let y=Ic((m-_)/(v-_),h,g);return R.create(y)}};let xu=function(e){return e.BETADIST=`BETADIST`,e.BETAINV=`BETAINV`,e.BINOMDIST=`BINOMDIST`,e.CHIDIST=`CHIDIST`,e.CHIINV=`CHIINV`,e.CHITEST=`CHITEST`,e.CONFIDENCE=`CONFIDENCE`,e.COVAR=`COVAR`,e.CRITBINOM=`CRITBINOM`,e.EXPONDIST=`EXPONDIST`,e.FDIST=`FDIST`,e.FINV=`FINV`,e.FTEST=`FTEST`,e.GAMMADIST=`GAMMADIST`,e.GAMMAINV=`GAMMAINV`,e.HYPGEOMDIST=`HYPGEOMDIST`,e.LOGINV=`LOGINV`,e.LOGNORMDIST=`LOGNORMDIST`,e.MODE=`MODE`,e.NEGBINOMDIST=`NEGBINOMDIST`,e.NORMDIST=`NORMDIST`,e.NORMINV=`NORMINV`,e.NORMSDIST=`NORMSDIST`,e.NORMSINV=`NORMSINV`,e.PERCENTILE=`PERCENTILE`,e.PERCENTRANK=`PERCENTRANK`,e.POISSON=`POISSON`,e.QUARTILE=`QUARTILE`,e.RANK=`RANK`,e.STDEV=`STDEV`,e.STDEVP=`STDEVP`,e.TDIST=`TDIST`,e.TINV=`TINV`,e.TTEST=`TTEST`,e.VAR=`VAR`,e.VARP=`VARP`,e.WEIBULL=`WEIBULL`,e.ZTEST=`ZTEST`,e}({});var Su=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue());if(d<0||d>f||d>m||d<f-h+m||f<=0||f>h||m<=0||m>h||h<=0)return E.create(p.NUM);let g=cl(d,f,m,h);return Number.isNaN(g)&&(g=0),R.create(g)}},Cu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<=0||d<=0)return E.create(p.NUM);let f=ll(l,u,d);return R.create(f)}},wu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=Math.floor(+o.getValue()),u=Math.floor(+s.getValue()),d=+c.getValue();if(l<0||u<1||d<=0||d>=1)return E.create(p.NUM);let f=pl(l,u,d);return R.create(f)}},Tu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=ml(+i.getValue(),0,1);return R.create(a)}},Eu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3),d(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e;r.isReferenceObject()&&(r=r.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=n==null?R.create(0):n;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,r,E.create(p.NA)),d=V(c,l,s,E.create(p.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return E.create(p.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return E.create(p.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?E.create(p.NA):R.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=E.create(p.NA),r=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,n=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;r.push(a)}),{refHasError:t,refErrorObject:n,refNumbers:r}):{refHasError:!0,refErrorObject:n,refNumbers:r}}},Du=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||u<1||u>10**10||d<1||d>2)return E.create(p.NUM);let f=yl(-l,u);return d===2&&(f*=2),Number.isNaN(f)||!Number.isFinite(f)?E.create(p.NUM):R.create(f)}};let Ou=[[bu,xu.BETADIST],[Ul,xu.BETAINV],[Wl,xu.BINOMDIST],[Kl,xu.CHIDIST],[ql,xu.CHIINV],[Jl,xu.CHITEST],[Yl,xu.CONFIDENCE],[Xl,xu.COVAR],[Gl,xu.CRITBINOM],[Zl,xu.EXPONDIST],[Ql,xu.FDIST],[$l,xu.FINV],[eu,xu.FTEST],[tu,xu.GAMMADIST],[nu,xu.GAMMAINV],[Su,xu.HYPGEOMDIST],[Cu,xu.LOGNORMDIST],[ru,xu.LOGINV],[iu,xu.MODE],[wu,xu.NEGBINOMDIST],[au,xu.NORMDIST],[ou,xu.NORMINV],[Tu,xu.NORMSDIST],[su,xu.NORMSINV],[cu,xu.PERCENTILE],[lu,xu.PERCENTRANK],[uu,xu.POISSON],[du,xu.QUARTILE],[Eu,xu.RANK],[pu,xu.STDEV],[fu,xu.STDEVP],[Du,xu.TDIST],[mu,xu.TINV],[hu,xu.TTEST],[_u,xu.VAR],[gu,xu.VARP],[vu,xu.WEIBULL],[yu,xu.ZTEST]],ku=[],Au=function(e){return e.CUBEKPIMEMBER=`CUBEKPIMEMBER`,e.CUBEMEMBER=`CUBEMEMBER`,e.CUBEMEMBERPROPERTY=`CUBEMEMBERPROPERTY`,e.CUBERANKEDMEMBER=`CUBERANKEDMEMBER`,e.CUBESET=`CUBESET`,e.CUBESETCOUNT=`CUBESETCOUNT`,e.CUBEVALUE=`CUBEVALUE`,e}({});var ju=class extends Z{isCustom(){return!0}},Mu=class extends ju{isAsync(){return!0}};function Nu(e){let n=[];if(e.isError())return{isError:!0,errorObject:e,databaseValues:n};let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;if(r<2)return{isError:!0,errorObject:E.create(p.VALUE),databaseValues:n};for(let a=0;a<r;a++){let r=[];for(let n=0;n<i;n++){let i=e.get(a,n);if(i.isNull()){r.push(null);continue}let o=`${i.getValue()}`;if(i.isBoolean()&&(o=o.toLocaleUpperCase()),i.isNumber()||(0,t.isRealNum)(o)){r.push(+o);continue}r.push(o)}n.push(r)}return{isError:!1,errorObject:null,databaseValues:n}}function Pu(e,n){let r=-1;if(e.isError())return{isError:!0,errorObject:e,fieldIndex:r};let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1;if(i>1||a>1)return{isError:!0,errorObject:E.create(p.VALUE),fieldIndex:r};let o=e.isArray()?e.get(0,0):e,s=`${o.getValue()}`;if(o.isNull()?s=0:o.isBoolean()?s=o.getValue()?1:0:(o.isNumber()||(0,t.isRealNum)(s))&&(s=Math.floor(+s)),typeof s==`number`){if(s<1||s>n[0].length)return{isError:!0,errorObject:E.create(p.VALUE),fieldIndex:r};r=s-1}else if(r=n[0].findIndex(e=>e===null?!1:`${e}`.toLocaleLowerCase()===s.toLocaleLowerCase()),r===-1)return{isError:!0,errorObject:E.create(p.VALUE),fieldIndex:r};return{isError:!1,errorObject:null,fieldIndex:r}}function Fu(e){let n=[];if(e.isError())return{isError:!0,errorObject:e,criteriaValues:n};let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;if(r<2)return{isError:!0,errorObject:E.create(p.VALUE),criteriaValues:n};for(let a=0;a<r;a++){let r=[];for(let n=0;n<i;n++){let i=e.get(a,n);if(i.isNull()){r.push(null);continue}let o=`${i.getValue()}`;if(i.isBoolean()){r.push(i.getValue()?1:0);continue}if(i.isNumber()||(0,t.isRealNum)(o)){r.push(+o);continue}r.push(o)}n.push(r)}return{isError:!1,errorObject:null,criteriaValues:n}}function Iu(e,t,n){let r=e.length,i=e[0].length,a={},o=!1;for(let s=1;s<r;s++){let r=!0;for(let o=0;o<i;o++){let i=e[s][o];if(i===null)continue;let c=a[o];if(c===void 0){let n=e[0][o];c=t[0].findIndex(e=>e===null||n===null?!1:`${e}`.toLocaleLowerCase()===`${n}`.toLocaleLowerCase()),a[o]=c}if(c===-1&&(typeof i==`string`||i===0)){r=!1;break}else if(c>-1){let e=t[n][c];if(e===null){r=!1;break}let[a,o]=uo(`${i}`);if(!$a.create(`${e}`).compare(o,a).getValue()){r=!1;break}}}if(r){o=!0;break}}return o}var Lu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=0,m=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&Iu(d,a,e)&&(f+=t,m++)}return m===0?E.create(p.DIV_BY_ZERO):R.create(f/m)}},Ru=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)typeof a[e][c]==`number`&&Iu(d,a,e)&&f++;return R.create(f)}},zu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&Iu(d,a,e)&&f++;return R.create(f)}},Bu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=0,m=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&Iu(d,a,e)&&(f++,m=e);return f===0?E.create(p.VALUE):f>1?E.create(p.NUM):e.get(m,c)}},Vu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=-1/0,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&Iu(d,a,e)&&(f=Math.max(f,t),p++)}return p===0?R.create(0):R.create(f)}},Hu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=1/0,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&Iu(d,a,e)&&(f=Math.min(f,t),p++)}return p===0?R.create(0):R.create(f)}},Uu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=1,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&Iu(d,a,e)&&(f*=t,p++)}return p===0?R.create(0):R.create(f)}},Wu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=[],m=0,h=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&Iu(d,a,e)&&(f.push(t),m+=t,h++)}if(h<=1)return E.create(p.DIV_BY_ZERO);let g=m/h,_=0;for(let e=0;e<h;e++)_+=(f[e]-g)**2;let v=Math.sqrt(_/(h-1));return R.create(v)}},Gu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=[],m=0,h=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&Iu(d,a,e)&&(f.push(t),m+=t,h++)}if(h===0)return E.create(p.DIV_BY_ZERO);let g=m/h,_=0;for(let e=0;e<h;e++)_+=(f[e]-g)**2;let v=Math.sqrt(_/h);return R.create(v)}},Ku=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&Iu(d,a,e)&&(f+=t)}return R.create(f)}},qu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=[],m=0,h=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&Iu(d,a,e)&&(f.push(t),m+=t,h++)}if(h<=1)return E.create(p.DIV_BY_ZERO);let g=m/h,_=0;for(let e=0;e<h;e++)_+=(f[e]-g)**2;let v=_/(h-1);return R.create(v)}},Ju=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Nu(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Pu(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=Fu(n);if(l)return u;let f=[],m=0,h=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&Iu(d,a,e)&&(f.push(t),m+=t,h++)}if(h===0)return E.create(p.DIV_BY_ZERO);let g=m/h,_=0;for(let e=0;e<h;e++)_+=(f[e]-g)**2;let v=_/h;return R.create(v)}};let Yu=function(e){return e.DAVERAGE=`DAVERAGE`,e.DCOUNT=`DCOUNT`,e.DCOUNTA=`DCOUNTA`,e.DGET=`DGET`,e.DMAX=`DMAX`,e.DMIN=`DMIN`,e.DPRODUCT=`DPRODUCT`,e.DSTDEV=`DSTDEV`,e.DSTDEVP=`DSTDEVP`,e.DSUM=`DSUM`,e.DVAR=`DVAR`,e.DVARP=`DVARP`,e}({}),Xu=[[Lu,Yu.DAVERAGE],[Ru,Yu.DCOUNT],[zu,Yu.DCOUNTA],[Bu,Yu.DGET],[Vu,Yu.DMAX],[Hu,Yu.DMIN],[Uu,Yu.DPRODUCT],[Wu,Yu.DSTDEV],[Gu,Yu.DSTDEVP],[Ku,Yu.DSUM],[qu,Yu.DVAR],[Ju,Yu.DVARP]];var Zu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.map((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:c,variants:l}=X(e,r,i);if(a)return c;let[u,d,f]=l,m=Math.floor(+u.getValue()),h=Math.floor(+d.getValue()),g=Math.floor(+f.getValue());if(m<0||m>9999)return E.create(p.NUM);m>=0&&m<1899&&(m+=1900);let _=D(new Date(Date.UTC(m,h-1,g)));return _<0?E.create(p.NUM):R.create(_,ne)});return r===1&&i===1?c.get(0,0):c}},Qu=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=e,i=t,a=n;if(r.isArray()&&(r=r.get(0,0)),i.isArray()&&(i=i.get(0,0)),a.isArray()&&(a=a.get(0,0)),r.isError())return r;if(i.isError())return i;if(a.isError())return a;let o=k(r);if(typeof o!=`number`)return o;let s=k(i);return typeof s==`number`?s<o||!a.isString()?E.create(p.NUM):this._getResultByUnit(o,s,a):s}_getResultByUnit(e,t,n){let r=O(e),i=r.getUTCFullYear(),a=r.getUTCMonth()+1,o=r.getUTCDate(),s=O(t),c=s.getUTCFullYear(),l=s.getUTCMonth()+1,u=s.getUTCDate(),d=`${n.getValue()}`.toLocaleUpperCase(),f=0,m;switch(d){case`Y`:f=c-i,(l<a||l===a&&u<o)&&--f;break;case`M`:f=(c-i)*12+l-a,u<o&&--f;break;case`D`:f=Math.floor(t)-Math.floor(e);break;case`MD`:f=u-o,u<o&&(m=new Date(Date.UTC(c,l-1,0)),f+=we(m.getUTCFullYear(),m.getUTCMonth()));break;case`YM`:f=l-a,(l<a||l===a&&u<o)&&(f+=12),u<o&&--f;break;case`YD`:m=new Date(Date.UTC(i,l-1,u)),(l<a||l===a&&u<o)&&(m=new Date(Date.UTC(i+1,l-1,u))),f=Math.floor(D(m))-Math.floor(e);break;default:return E.create(p.NUM)}return R.create(f)}},$u=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){let t=`${e.getValue()}`,n=se(t);if(n===null&&(n=ce(t)),n){let{v:e,z:t}=n;if(t&&le(t))return e instanceof Date&&(e=ie(e)),R.create(Math.trunc(+e))}}return E.create(p.VALUE)}},ed=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t,n=e.getValue();if(e.isString()){if(!oe(`${n}`))return E.create(p.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return E.create(p.NUM);if(n===0)return R.create(0);t=O(n)}let r=t.getUTCDate();return R.create(r)}},td=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t),o=i.map((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let i=k(e);if(typeof i!=`number`)return i;let o=k(r);if(typeof o!=`number`)return o;let s=Math.floor(i)-Math.floor(o);return R.create(s)});return n===1&&r===1?o.get(0,0):o}},nd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?L.create(!1):n;if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let i=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=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,r,E.create(p.NA)),l=o.map((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);if(e.isError())return e;let a=k(e);if(typeof a!=`number`)return a;if(r.isError())return r;let o=k(r);if(typeof o!=`number`)return o;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let{days:l}=ge(a,o,+i.getValue()?4:0),u=o>=a?l:-l;return R.create(u)});return i===1&&a===1?l.get(0,0):l}},rd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t);return i.map((e,t,n)=>{let r=a.get(t,n)||Ua.create();if(e.isError())return e;if(r.isError())return r;if(e.isString()||e.isBoolean()||r.isString()||r.isBoolean())return E.create(p.VALUE);let i=+e.getValue();if(i<0)return E.create(p.NUM);let o=Math.floor(+r.getValue()),s=O(i),c=s.getUTCFullYear(),l=s.getUTCMonth()+o,u=s.getUTCDate(),d=D(new Date(Date.UTC(c,l,u)));return R.create(d,ne)})}},id=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e,r=t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);n=n.get(0,0)}if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);r=r.get(0,0)}if(n.isError())return n;if(r.isError())return r;let i=k(n);if(typeof i!=`number`)return i;if(r.isBoolean())return E.create(p.VALUE);let a=O(i),o=i>0?a.getUTCFullYear():1900,s=i>0?a.getUTCMonth():0,c=Math.floor(+r.getValue());if(Number.isNaN(c))return E.create(p.VALUE);let l=D(new Date(Date.UTC(o,s+c+1,0)));return R.create(l)}},ad=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2),d(this,`needsReferenceObject`,!0)}calculate(e,t){let n=t==null?R.create(1):t,{isError:r,errorObject:i,timestampIsReferenceObject:a,timestampObject:o,unitObject:s}=this._checkVariants(e,n);if(r)return i;if(o.isNull()||o.isBoolean()||o.isString()||!a&&o.isNumber()&&o.getPattern()!==``)return E.create(p.VALUE);let c=+o.getValue(),{isError:l,errorObject:u,variants:d}=X(s);if(l)return u;let[f]=d,m=Math.floor(+f.getValue());if(c<0||m<1||m>3)return E.create(p.NUM);m===1&&(c*=1e3),m===3&&(c/=1e3);let h=new Date(Date.UTC(1970,0,1,0,0,0,0)+c);if(Number.isNaN(h.getTime())){let e=25569+c/864e5;return R.create(e)}else{let e=ie(h);return R.create(e,`yyyy-MM-dd AM/PM hh:mm:ss`)}}_checkVariants(e,t){let n=e.isReferenceObject(),r=t.isReferenceObject(),i=e;if(n&&(i=e.toArrayValueObject()),i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:E.create(p.VALUE)};i=i.get(0,0)}if(i.isError())return{isError:!0,errorObject:i};let a=t;if(r&&(a=t.toArrayValueObject()),a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:E.create(p.VALUE)};a=a.get(0,0)}return a.isError()?{isError:!0,errorObject:a}:{isError:!1,errorObject:null,timestampIsReferenceObject:n,timestampObject:i,unitIsReferenceObject:r,unitObject:a}}},od=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=k(e);if(typeof t!=`number`)return t;if(t===0)return R.create(0);let n=ae(t).getUTCHours();return R.create(n)}},sd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=k(e);if(typeof t!=`number`)return t;let n=O(t),r=t>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=D(i),o=he(a),s;s=o<1?a+1:o<=4?a-(o-1):a+(11-o),t<s&&(i=new Date(Date.UTC(r-1,0,1)),a=D(i),o=he(a),s=o<1?a+1:o<=4?a-(o-1):a+(11-o));let c=Math.ceil((t-s+1)/7);return R.create(c)}},cd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=k(e);if(typeof t!=`number`)return t;if(t===0)return R.create(0);let n=ae(t).getUTCMinutes();return R.create(n)}},ld=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t,n=e.getValue();if(e.isString()){if(!oe(`${n}`))return E.create(p.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return E.create(p.NUM);if(n===0)return R.create(1);t=O(n)}let r=t.getUTCMonth()+1;return R.create(r)}},ud=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=e,i=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);r=r.get(0,0)}if(r.isError())return r;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return E.create(p.VALUE);let a=k(r);if(typeof a!=`number`)return a;let o=k(i);if(typeof o!=`number`)return o;if(n)return this._getResultByHolidays(a,o,n);let s=pe(a,o);return R.create(s)}_getResultByHolidays(e,t,n){let r=[];if(n!=null&&n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();for(let i=0;i<e;i++)for(let e=0;e<t;e++){let t=n.get(i,e);if(t.isBoolean())return E.create(p.VALUE);let a=k(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return E.create(p.VALUE);let e=k(n);if(typeof e!=`number`)return e;r.push(e)}let i=pe(e,t,1,r);return R.create(i)}},dd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,4)}calculate(e,t,n,r){return e.isError()?e:t.isError()?t:n!=null&&n.isError()?n:r!=null&&r.isError()?r:n!=null&&n.isArray()?n.map(n=>this._handleSingleObject(e,t,n,r)):this._handleSingleObject(e,t,n,r)}_handleSingleObject(e,t,n,r){let i=e,a=t;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);i=i.get(0,0)}if(i.isError())return i;if(a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);a=a.get(0,0)}if(a.isError())return a;let o=1;if(n){if(o=n.getValue(),n.isBoolean()&&(o=+o),n.isString()&&!de(o))return E.create(p.VALUE);if(!de(o))return E.create(p.NUM)}if(i.isBoolean()||a.isBoolean())return E.create(p.VALUE);let s=k(i);if(typeof s!=`number`)return s;let c=k(a);if(typeof c!=`number`)return c;if(r)return this._getResultByHolidays(s,c,o,r);let l=pe(s,c,o);return R.create(l)}_getResultByHolidays(e,t,n,r){let i=[];if(r!=null&&r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();for(let n=0;n<e;n++)for(let e=0;e<t;e++){let t=r.get(n,e);if(t.isBoolean())return E.create(p.VALUE);let a=k(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return E.create(p.VALUE);let e=k(r);if(typeof e!=`number`)return e;i.push(e)}let a=pe(e,t,n,i);return R.create(a)}},fd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,0)}calculate(){let e=new Date,t=ie(new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())));return R.create(t,`yyyy/mm/dd hh:mm`)}},pd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=k(e);if(typeof t!=`number`)return t;if(t===0)return R.create(0);let n=ae(t).getUTCSeconds();return R.create(n)}},md=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e),o=V(r,i,t),s=V(r,i,n);return a.map((e,t,n)=>this._calculateTime(e,o,s,t,n))}_calculateTime(e,t,n,r,i){let a=e,o=t.get(r,i)||Ua.create(),s=n.get(r,i)||Ua.create();if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),a.isError())return a;if(o.isError())return o;if(s.isError())return s;let c=Math.floor(+a.getValue()),l=Math.floor(+o.getValue()),u=Math.floor(+s.getValue());if(c<0||l<0||u<0||c>32767||l>32767||u>32767)return E.create(p.NUM);l+=Math.floor(u/60),u%=60,c+=Math.floor(l/60),l%=60,c%=24;let d=(c*3600+l*60+u)/86400;return R.create(d,`h:mm A/P`)}},hd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){let n=(0,t.getNumfmtParseValueFilter)(`${e.getValue()}`);if(n){let{v:e,z:t}=n;if(t&&le(t))return e instanceof Date&&(e=ie(e)),R.create(Ha(+e))}}return E.create(p.VALUE)}},gd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1),d(this,`needsReferenceObject`,!0)}calculate(e){let t=e.isReferenceObject(),n=e;if(t&&(n=e.toArrayValueObject()),n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);n=n.get(0,0)}if(n.isError()||n.isNull()||n.isBoolean()||n.isString()||!t&&n.isNumber()&&n.getPattern()!==``)return n;let r=+n.getValue();return R.create(r,`yyyy-MM-dd hh:mm:ss AM/PM`)}},_d=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,0)}calculate(){let e=new Date,t=D(new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())));return R.create(t,ne)}},vd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2),d(this,`_returnTypeMap`,{1:[1,2,3,4,5,6,7],2:[7,1,2,3,4,5,6],3:[6,0,1,2,3,4,5],11:[7,1,2,3,4,5,6],12:[6,7,1,2,3,4,5],13:[5,6,7,1,2,3,4],14:[4,5,6,7,1,2,3],15:[3,4,5,6,7,1,2],16:[2,3,4,5,6,7,1],17:[1,2,3,4,5,6,7]})}calculate(e,t){let n=t==null?R.create(1):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n);return this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(n.isError())return n;let r=k(e);if(typeof r!=`number`)return r;if(n.isString()&&(n=n.convertToNumberObjectValue(),n.isError()))return n;let i=Math.floor(+n.getValue());if(!this._returnTypeMap[i])return E.create(p.NUM);let a=he(r),o=this._returnTypeMap[i][a];return R.create(o)}},yd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2),d(this,`_returnTypeMap`,{1:0,2:1,11:1,12:2,13:3,14:4,15:5,16:6,17:0,21:4})}calculate(e,t){let n=e,r=t==null?R.create(1):t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean())return E.create(p.VALUE);let i=k(n);if(typeof i!=`number`)return i;if(r.isBoolean())return E.create(p.VALUE);let a=Math.floor(+r.getValue());return Number.isNaN(a)?E.create(p.VALUE):a in this._returnTypeMap?this._getResult(i,a):E.create(p.NUM)}_getResult(e,t){let n=O(e),r=e>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=D(i),o=he(a),s;if(t===21)s=o<1?a+1:o<=4?a-(o-1):a+(11-o),e<s&&(i=new Date(Date.UTC(r-1,0,1)),a=D(i),o=he(a),s=o<1?a+1:o<=4?a-(o-1):a+(11-o));else{let e=this._returnTypeMap[t];s=o<e?a-(o+7-e):a-(o-e)}let c=Math.ceil((e-s+1)/7);return R.create(c)}},bd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=e,i=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);r=r.get(0,0)}if(r.isError())return r;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return E.create(p.VALUE);let a=k(r);if(typeof a!=`number`)return a;let o=+i.getValue();if(Number.isNaN(o))return E.create(p.VALUE);if(n)return this._getResultByHolidays(a,o,n);let s=me(a,o);return typeof s==`number`?R.create(s):s}_getResultByHolidays(e,t,n){let r=[];if(n!=null&&n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();for(let i=0;i<e;i++)for(let e=0;e<t;e++){let t=n.get(i,e);if(t.isBoolean())return E.create(p.VALUE);let a=k(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return E.create(p.VALUE);let e=k(n);if(typeof e!=`number`)return e;r.push(e)}let i=me(e,t,1,r);return typeof i==`number`?R.create(i):i}},xd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,4)}calculate(e,t,n,r){return e.isError()?e:t.isError()?t:n!=null&&n.isError()?n:r!=null&&r.isError()?r:n!=null&&n.isArray()?n.map(n=>this._handleSingleObject(e,t,n,r)):this._handleSingleObject(e,t,n,r)}_handleSingleObject(e,t,n,r){let i=n==null?R.create(1):n,a=this._checkArrayError(e);if(a.isError())return a;let o=this._checkArrayError(t);if(o.isError())return o;if(a.isBoolean()||o.isBoolean())return E.create(p.VALUE);let s=k(e);if(typeof s!=`number`)return s;let c=+t.getValue();if(Number.isNaN(c))return E.create(p.VALUE);let l=i.getValue();if(i.isBoolean()&&(l=+l),i.isString()&&(!de(l)||l===`1111111`))return E.create(p.VALUE);if(!de(l))return E.create(p.NUM);if(r)return this._getResultByHolidays(s,c,l,r);let u=me(s,c,l);return typeof u==`number`?R.create(u):u}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return E.create(p.VALUE);t=t.get(0,0)}return t.isError(),t}_getResultByHolidays(e,t,n,r){let i=[];if(r!=null&&r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();for(let n=0;n<e;n++)for(let e=0;e<t;e++){let t=r.get(n,e);if(t.isBoolean())return E.create(p.VALUE);let a=k(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return E.create(p.VALUE);let e=k(r);if(typeof e!=`number`)return e;i.push(e)}let a=me(e,t,n,i);return typeof a==`number`?R.create(a):a}},Sd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t,n=e.getValue();if(e.isString()){if(!oe(`${n}`))return E.create(p.VALUE);t=new Date(`${n}`)}else{let e=+n;if(e<0)return E.create(p.NUM);if(e===0)return R.create(1900);t=O(e)}let r=t.getUTCFullYear();return R.create(r)}},Cd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(0):n,i=ec(e);if(i.isError())return i;let a=ec(t);if(a.isError())return a;if(r=ec(r),r.isError())return r;if(i.isBoolean()||a.isBoolean()||r.isBoolean())return E.create(p.VALUE);let o=k(i);if(typeof o!=`number`)return o;let s=k(a);if(typeof s!=`number`)return s;let c=Math.floor(+r.getValue());if(Number.isNaN(c))return E.create(p.VALUE);if(c<0||c>4)return E.create(p.NUM);let{days:l,yearDays:u}=ge(o,s,c),d=l/u;return R.create(d)}};let wd=[[Zu,Ro.DATE],[Qu,Ro.DATEDIF],[$u,Ro.DATEVALUE],[ed,Ro.DAY],[td,Ro.DAYS],[nd,Ro.DAYS360],[rd,Ro.EDATE],[id,Ro.EOMONTH],[ad,Ro.EPOCHTODATE],[od,Ro.HOUR],[sd,Ro.ISOWEEKNUM],[cd,Ro.MINUTE],[ld,Ro.MONTH],[ud,Ro.NETWORKDAYS],[dd,Ro.NETWORKDAYS_INTL],[fd,Ro.NOW],[pd,Ro.SECOND],[md,Ro.TIME],[hd,Ro.TIMEVALUE],[gd,Ro.TO_DATE],[_d,Ro.TODAY],[vd,Ro.WEEKDAY],[yd,Ro.WEEKNUM],[bd,Ro.WORKDAY],[xd,Ro.WORKDAY_INTL],[Sd,Ro.YEAR],[Cd,Ro.YEARFRAC]];var Td=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return E.create(p.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);if(c<0)return E.create(p.NUM);let l=sc.besseli(s,c);return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},Ed=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return E.create(p.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);if(c<0)return E.create(p.NUM);let l=sc.besselj(s,c);return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},Dd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return E.create(p.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);if(c<0)return E.create(p.NUM);let l=sc.besselk(s,c);return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},Od=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return E.create(p.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);if(c<0)return E.create(p.NUM);let l=sc.bessely(s,c);return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},kd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!cc(a))return E.create(p.NUM);let o;return o=a.length===10&&a.substring(0,1)===`1`?Number.parseInt(a.substring(1),2)-512:Number.parseInt(a,2),R.create(o)}},Ad=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return E.create(p.VALUE);if(n<0||n>10)return E.create(p.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!cc(s))return E.create(p.NUM);let c;if(s.length===10&&s.substring(0,1)===`1`)c=(0xfffffffe00+Number.parseInt(s.substring(1),2)).toString(16);else if(c=Number.parseInt(s,2).toString(16),t){if(n<c.length)return E.create(p.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c.toLocaleUpperCase())}},jd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return E.create(p.VALUE);if(n<0||n>10)return E.create(p.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!cc(s))return E.create(p.NUM);let c;if(s.length===10&&s.substring(0,1)===`1`)c=(1073741312+Number.parseInt(s.substring(1),2)).toString(8);else if(c=Number.parseInt(s,2).toString(8),t){if(n<c.length)return E.create(p.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c)}},Md=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return E.create(p.NUM);let c=o&s;return R.create(c)});return n===1&&r===1?o.get(0,0):o}},Nd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||Math.floor(o)!==o||o>0xffffffffffff||Math.abs(s)>53)return E.create(p.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)<<BigInt(s):BigInt(o)>>BigInt(-s));return c>0xffffffffffff?E.create(p.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},Pd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return E.create(p.NUM);let c=Number(BigInt(o)|BigInt(s));return R.create(c)});return n===1&&r===1?o.get(0,0):o}},Fd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||Math.floor(o)!==o||o>0xffffffffffff||Math.abs(s)>53)return E.create(p.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)>>BigInt(s):BigInt(o)<<BigInt(-s));return c>0xffffffffffff?E.create(p.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},Id=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return E.create(p.NUM);let c=o^s;return R.create(c)});return n===1&&r===1?o.get(0,0):o}};I.prototype.cos=function(){let e=this.toNumber();return new I(Math.cos(e))};var Ld=class e{static getComplex(e,t,n){let r=new I(e).toSignificantDigits(15).toNumber(),i=new I(t).toSignificantDigits(15).toNumber(),a=n===``?`i`:n,o;return o=r===0&&i===0?0:r===0?i===1?a:`${i}${a}`:i===0?r:`${r}${i>0?`+`:``}${i===1?a:`${i}${a}`}`,o}static createByComplexStr(t,n,r){return new e(e.getComplex(t,n,r))}constructor(e){if(d(this,`_inumber`,``),d(this,`_realNum`,0),d(this,`_iNum`,0),d(this,`_suffix`,``),d(this,`_isError`,!1),`${e}`.trim()===``){this._isError=!0;return}this._inumber=e,this._getImReal(),this._getImAginary(),this._getImSuffix()}_getImReal(){if(this._inumber===0||this._inumber===`0`){this._realNum=0;return}let e=`${this._inumber}`;if([`i`,`+i`,`1i`,`+1i`,`-i`,`-1i`,`j`,`+j`,`1j`,`+1j`,`-j`,`-1j`].indexOf(e)>=0){this._realNum=0;return}let t=e.indexOf(`+`),n=e.indexOf(`-`);t===0&&(t=e.indexOf(`+`,1)),n===0&&(n=e.indexOf(`-`,1));let r=e.substring(e.length-1,e.length),i=r===`i`||r===`j`;if(t>=0||n>=0){if(!i){this._isError=!0;return}t>=0?Number.isNaN(+e.substring(0,t))||Number.isNaN(+e.substring(t+1,e.length-1))?this._isError=!0:this._realNum=+e.substring(0,t):Number.isNaN(+e.substring(0,n))||Number.isNaN(+e.substring(n+1,e.length-1))?this._isError=!0:this._realNum=+e.substring(0,n)}else i?Number.isNaN(+e.substring(0,e.length-1))?this._isError=!0:this._realNum=0:Number.isNaN(+e)?this._isError=!0:this._realNum=+e}_getImAginary(){if(this._isError)return;if(this._inumber===0||this._inumber===`0`){this._iNum=0;return}let e=`${this._inumber}`;if([`i`,`j`].indexOf(e)>=0){this._iNum=1;return}e=e.replace(`+i`,`+1i`).replace(`-i`,`-1i`).replace(`+j`,`+1j`).replace(`-j`,`-1j`);let t=e.indexOf(`+`),n=e.indexOf(`-`);t===0&&(t=e.indexOf(`+`,1)),n===0&&(n=e.indexOf(`-`,1));let r=e.substring(e.length-1,e.length),i=r===`i`||r===`j`;if(t>=0||n>=0){if(!i){this._isError=!0;return}t>=0?Number.isNaN(+e.substring(0,t))||Number.isNaN(+e.substring(t+1,e.length-1))?this._isError=!0:this._iNum=+e.substring(t+1,e.length-1):Number.isNaN(+e.substring(0,n))||Number.isNaN(+e.substring(n+1,e.length-1))?this._isError=!0:this._iNum=-+e.substring(n+1,e.length-1)}else i?Number.isNaN(+e.substring(0,e.length-1))?this._isError=!0:this._iNum=+e.substring(0,e.length-1):Number.isNaN(+e)?this._isError=!0:this._iNum=0}_getImSuffix(){let e=`${this._inumber}`,t=e.substring(e.length-1);this._suffix=t===`i`||t===`j`?t:``}getRealNum(){return this._realNum}getINum(){return this._iNum}getSuffix(){return this._suffix}isError(){return this._isError}toString(){return e.getComplex(this._realNum,this._iNum,this._suffix)}isDifferentSuffixes(e){let t=e.getSuffix();return this._suffix===``||t===``?!1:this._suffix!==t}Abs(){return I.sqrt(I.pow(this._realNum,2).add(I.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){let e=I.sqrt(I.pow(this._realNum,2).add(I.pow(this._iNum,2))),t=I.acos(new I(this._realNum).div(e)).toSignificantDigits(16).toNumber();return this._iNum<0&&(t=-t),t}Conjugate(){return e.getComplex(this._realNum,-this._iNum,this._suffix)}Cos(){if(this._iNum){let t=I.cos(this._realNum).mul(I.cosh(this._iNum)).toNumber(),n=I.sin(this._realNum).mul(I.sinh(this._iNum)).negated().toNumber();return e.getComplex(t,n,this._suffix)}else{let t=I.cos(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Cosh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,``;if(this._iNum){let t=I.cosh(this._realNum).mul(I.cos(this._iNum)).toNumber(),n=I.sinh(this._realNum).mul(I.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=I.cosh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Cot(){if(this._iNum){let t=I.cosh(this._iNum*2).sub(I.cos(this._realNum*2)),n=I.sin(this._realNum*2).div(t).toNumber(),r=I.sinh(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new I(1).div(I.tan(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Coth(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,``;if(this._iNum){let t=I.cosh(this._realNum*2).sub(I.cos(this._iNum*2)),n=I.sinh(this._realNum*2).div(t).toNumber(),r=I.sin(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new I(1).div(I.tanh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csc(){if(this._iNum){let t=I.cosh(this._iNum*2).sub(I.cos(this._realNum*2)),n=I.sin(this._realNum).mul(I.cosh(this._iNum)).mul(2).div(t).toNumber(),r=I.cos(this._realNum).mul(I.sinh(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new I(1).div(I.sin(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csch(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return e.getComplex(0,0,this._suffix);if(this._iNum){let t=I.cosh(this._realNum*2).sub(I.cos(this._iNum*2)),n=I.sinh(this._realNum).mul(I.cos(this._iNum)).mul(2).div(t).toNumber(),r=I.cosh(this._realNum).mul(I.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new I(1).div(I.sinh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Div(t){let n=new I(this._realNum),r=new I(this._iNum),i=new I(t.getRealNum()),a=new I(t.getINum()),o=i.mul(i).add(a.mul(a)),s=n.mul(i).add(r.mul(a)).div(o).toNumber(),c=r.mul(i).sub(n.mul(a)).div(o).toNumber(),l=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(s,c,l)}Exp(){if(!Number.isFinite(Math.exp(this._realNum)))return this._isError=!0,``;let t=I.exp(this._realNum).mul(I.cos(this._iNum)).toNumber(),n=I.exp(this._realNum).mul(I.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}Ln(){let t=I.sqrt(I.pow(this._realNum,2).add(I.pow(this._iNum,2))),n=I.ln(t).toNumber(),r=I.acos(new I(this._realNum).div(t)).toNumber();return e.getComplex(n,r,this._suffix)}Log(t){let n=I.sqrt(I.pow(this._realNum,2).add(I.pow(this._iNum,2))),r=I.ln(n),i=I.acos(new I(this._realNum).div(n));this._iNum<0&&(i=i.negated());let a=I.ln(t),o=new I(0),s=a.mul(a).add(o.mul(o));if(s.eq(0))return this._isError=!0,``;let c=r.mul(a).add(i.mul(o)).div(s).toNumber(),l=i.mul(a).sub(r.mul(o)).div(s).toNumber();return e.getComplex(c,l,this._suffix)}Power(t){if(this._realNum===0&&this._iNum===0)return t>0?e.getComplex(this._realNum,this._iNum,this._suffix):(this._isError=!0,``);let n=I.sqrt(I.pow(this._realNum,2).add(I.pow(this._iNum,2))),r=I.acos(new I(this._realNum).div(n));this._iNum<0&&(r=r.negated()),n=I.pow(n,t),r=r.mul(t);let i=I.cos(r).mul(n).toNumber(),a=I.sin(r).mul(n).toNumber();return!Number.isFinite(i)||!Number.isFinite(a)?(this._isError=!0,``):e.getComplex(i,a,this._suffix)}Product(t){let n=new I(this._realNum),r=new I(this._iNum),i=new I(t.getRealNum()),a=new I(t.getINum()),o=n.mul(i).sub(r.mul(a)).toNumber(),s=n.mul(a).add(r.mul(i)).toNumber(),c=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(o,s,c)}Sec(){if(this._iNum){let t=I.cosh(this._iNum*2).add(I.cos(this._realNum*2)),n=I.cos(this._realNum).mul(I.cosh(this._iNum)).mul(2).div(t).toNumber(),r=I.sin(this._realNum).mul(I.sinh(this._iNum)).mul(2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new I(1).div(I.cos(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sech(){if(!Number.isFinite(Math.sinh(this._realNum*2))||!Number.isFinite(Math.cosh(this._realNum*2)))return e.getComplex(0,0,this._suffix);if(this._iNum){let t=I.cosh(this._realNum*2).add(I.cos(this._iNum*2)),n=I.cosh(this._realNum).mul(I.cos(this._iNum)).mul(2).div(t).toNumber(),r=I.sinh(this._realNum).mul(I.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new I(1).div(I.cosh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sin(){if(this._iNum){let t=I.sin(this._realNum).mul(I.cosh(this._iNum)).toNumber(),n=I.cos(this._realNum).mul(I.sinh(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=I.sin(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sinh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,``;if(this._iNum){let t=I.sinh(this._realNum).mul(I.cos(this._iNum)).toNumber(),n=I.cosh(this._realNum).mul(I.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=I.sinh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sqrt(){let t=I.sqrt(I.pow(this._realNum,2).add(I.pow(this._iNum,2))),n=I.sqrt(t),r=I.acos(new I(this._realNum).div(t));this._iNum<0&&(r=r.negated());let i=n.mul(I.cos(r.div(2).toNumber())).toNumber(),a=n.mul(I.sin(r.div(2))).toNumber();return e.getComplex(i,a,this._suffix)}Sub(t){let n=new I(this._realNum),r=new I(this._iNum),i=new I(t.getRealNum()),a=new I(t.getINum()),o=n.sub(i).toNumber(),s=r.sub(a).toNumber(),c=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(o,s,c)}Sum(t){let n=new I(this._realNum),r=new I(this._iNum),i=new I(t.getRealNum()),a=new I(t.getINum()),o=n.add(i).toNumber(),s=r.add(a).toNumber(),c=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(o,s,c)}Tan(){if(this._iNum){let t=I.cos(this._realNum*2).add(I.cosh(this._iNum*2)),n=I.sin(this._realNum*2).div(t).toNumber(),r=I.sinh(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=I.tan(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Tanh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,``;if(this._iNum){let t=I.cosh(this._realNum*2).add(I.cos(this._iNum*2)),n=I.sinh(this._realNum*2).div(t).toNumber(),r=I.sin(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=I.tanh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}},Rd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Y(e,t,n==null?z.create(`i`):n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=`${c.getValue()}`;if(Number.isNaN(l)||Number.isNaN(u)||d!==`i`&&d!==`j`)return E.create(p.VALUE);let f=Ld.getComplex(l,u,d);return typeof f==`number`?R.create(f):z.create(f)}},zd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3),d(this,`_units`,[[`a.u. of action`,`?`,null,`action`,!1,!1,105457168181818e-48],[`a.u. of charge`,`e`,null,`electric_charge`,!1,!1,160217653141414e-33],[`a.u. of energy`,`Eh`,null,`energy`,!1,!1,435974417757576e-32],[`a.u. of length`,`a?`,null,`length`,!1,!1,529177210818182e-25],[`a.u. of mass`,`m?`,null,`mass`,!1,!1,910938261616162e-45],[`a.u. of time`,`?/Eh`,null,`time`,!1,!1,241888432650516e-31],[`admiralty knot`,`admkn`,null,`speed`,!1,!0,.514773333],[`ampere`,`A`,null,`electric_current`,!0,!1,1],[`ampere per meter`,`A/m`,null,`magnetic_field_intensity`,!0,!1,1],[`ångström`,`Å`,[`ang`],`length`,!1,!0,1e-10],[`are`,`ar`,null,`area`,!1,!0,100],[`astronomical unit`,`ua`,null,`length`,!1,!1,149597870691667e-25],[`bar`,`bar`,null,`pressure`,!1,!1,1e5],[`barn`,`b`,null,`area`,!1,!1,1e-28],[`becquerel`,`Bq`,null,`radioactivity`,!0,!1,1],[`bit`,`bit`,[`b`],`information`,!1,!0,1],[`btu`,`BTU`,[`btu`],`energy`,!1,!0,1055.05585262],[`byte`,`byte`,null,`information`,!1,!0,8],[`candela`,`cd`,null,`luminous_intensity`,!0,!1,1],[`candela per square metre`,`cd/m?`,null,`luminance`,!0,!1,1],[`centigrade`,`C`,[`cel`],`temperature`,!0,!1,1],[`cubic ångström`,`ang3`,[`ang^3`],`volume`,!1,!0,1e-30],[`cubic foot`,`ft3`,[`ft^3`],`volume`,!1,!0,.028316846592],[`cubic inch`,`in3`,[`in^3`],`volume`,!1,!0,16387064e-12],[`cubic light-year`,`ly3`,[`ly^3`],`volume`,!1,!0,846786664623715e-61],[`cubic metre`,`m3`,[`m^3`],`volume`,!0,!0,1],[`cubic mile`,`mi3`,[`mi^3`],`volume`,!1,!0,4168181825.44058],[`cubic nautical mile`,`Nmi3`,[`Nmi^3`],`volume`,!1,!0,6352182208],[`cubic Pica`,`Pica3`,[`Picapt3`,`Pica^3`,`Picapt^3`],`volume`,!1,!0,7.58660370370369e-8],[`cubic yard`,`yd3`,[`yd^3`],`volume`,!1,!0,.764554857984],[`cup`,`cup`,null,`volume`,!1,!0,.0002365882365],[`dalton`,`Da`,[`u`],`mass`,!1,!1,166053886282828e-41],[`day`,`d`,[`day`],`time`,!1,!0,86400],[`degree`,`°`,null,`angle`,!1,!1,.0174532925199433],[`dyne`,`dyn`,[`dy`],`force`,!1,!0,1e-5],[`electronvolt`,`eV`,[`ev`],`energy`,!1,!0,1.60217656514141],[`ell`,`ell`,null,`length`,!1,!0,1.143],[`erg`,`erg`,[`e`],`energy`,!1,!0,1e-7],[`fahrenheit`,`F`,[`fah`],`temperature`,!0,!1,1],[`fluid ounce`,`oz`,null,`volume`,!1,!0,295735295625e-16],[`foot`,`ft`,null,`length`,!1,!0,.3048],[`foot-pound`,`flb`,null,`energy`,!1,!0,1.3558179483314],[`gal`,`Gal`,null,`acceleration`,!1,!1,.01],[`gallon`,`gal`,null,`volume`,!1,!0,.003785411784],[`gauss`,`G`,[`ga`],`magnetic_flux_density`,!1,!0,1],[`grain`,`grain`,null,`mass`,!1,!0,647989e-10],[`gram`,`g`,null,`mass`,!1,!0,.001],[`gray`,`Gy`,null,`absorbed_dose`,!0,!1,1],[`gross registered ton`,`GRT`,[`regton`],`volume`,!1,!0,2.8316846592],[`hectare`,`ha`,null,`area`,!1,!0,1e4],[`henry`,`H`,null,`inductance`,!0,!1,1],[`hertz`,`Hz`,null,`frequency`,!0,!1,1],[`horsepower`,`HP`,[`h`],`power`,!1,!0,745.69987158227],[`horsepower-hour`,`HPh`,[`hh`,`hph`],`energy`,!1,!0,2684519.538],[`hour`,`h`,[`hr`],`time`,!1,!0,3600],[`imperial gallon (U.K.)`,`uk_gal`,null,`volume`,!1,!0,.00454609],[`imperial hundredweight`,`lcwt`,[`uk_cwt`,`hweight`],`mass`,!1,!0,50.802345],[`imperial quart (U.K)`,`uk_qt`,null,`volume`,!1,!0,.0011365225],[`imperial ton`,`brton`,[`uk_ton`,`LTON`],`mass`,!1,!0,1016.046909],[`inch`,`in`,null,`length`,!1,!0,.0254],[`international acre`,`uk_acre`,null,`area`,!1,!0,4046.8564224],[`IT calorie`,`cal`,null,`energy`,!1,!0,4.1868],[`joule`,`J`,null,`energy`,!0,!0,1],[`katal`,`kat`,null,`catalytic_activity`,!0,!1,1],[`kelvin`,`K`,[`kel`],`temperature`,!0,!0,1],[`kilogram`,`kg`,null,`mass`,!0,!0,1],[`knot`,`kn`,null,`speed`,!1,!0,.514444444444444],[`light-year`,`ly`,null,`length`,!1,!0,9460730472580800],[`litre`,`L`,[`l`,`lt`],`volume`,!1,!0,.001],[`lumen`,`lm`,null,`luminous_flux`,!0,!1,1],[`lux`,`lx`,null,`illuminance`,!0,!1,1],[`maxwell`,`Mx`,null,`magnetic_flux`,!1,!1,1e-18],[`measurement ton`,`MTON`,null,`volume`,!1,!0,1.13267386368],[`meter per hour`,`m/h`,[`m/hr`],`speed`,!1,!0,.00027777777777778],[`meter per second`,`m/s`,[`m/sec`],`speed`,!0,!0,1],[`meter per second squared`,`m?s??`,null,`acceleration`,!0,!1,1],[`parsec`,`pc`,[`parsec`],`length`,!1,!0,0x6da012f958ee1c],[`meter squared per second`,`m?/s`,null,`kinematic_viscosity`,!0,!1,1],[`metre`,`m`,null,`length`,!0,!0,1],[`miles per hour`,`mph`,null,`speed`,!1,!0,.44704],[`millimetre of mercury`,`mmHg`,null,`pressure`,!1,!1,133.322],[`minute`,`?`,null,`angle`,!1,!1,.000290888208665722],[`minute`,`min`,[`mn`],`time`,!1,!0,60],[`modern teaspoon`,`tspm`,null,`volume`,!1,!0,5e-6],[`mole`,`mol`,null,`amount_of_substance`,!0,!1,1],[`morgen`,`Morgen`,null,`area`,!1,!0,2500],[`n.u. of action`,`?`,null,`action`,!1,!1,105457168181818e-48],[`n.u. of mass`,`m?`,null,`mass`,!1,!1,910938261616162e-45],[`n.u. of speed`,`c?`,null,`speed`,!1,!1,299792458],[`n.u. of time`,`?/(me?c??)`,null,`time`,!1,!1,128808866778687e-35],[`nautical mile`,`M`,[`Nmi`],`length`,!1,!0,1852],[`newton`,`N`,null,`force`,!0,!0,1],[`œrsted`,`Oe `,null,`magnetic_field_intensity`,!1,!1,79.5774715459477],[`ohm`,`Ω`,null,`electric_resistance`,!0,!1,1],[`ounce mass`,`ozm`,null,`mass`,!1,!0,.028349523125],[`pascal`,`Pa`,null,`pressure`,!0,!1,1],[`pascal second`,`Pa?s`,null,`dynamic_viscosity`,!0,!1,1],[`pferdestärke`,`PS`,null,`power`,!1,!0,735.49875],[`phot`,`ph`,null,`illuminance`,!1,!1,1e-4],[`pica (1/6 inch)`,`pica`,null,`length`,!1,!0,.00035277777777778],[`pica (1/72 inch)`,`Pica`,[`Picapt`],`length`,!1,!0,.00423333333333333],[`poise`,`P`,null,`dynamic_viscosity`,!1,!1,.1],[`pond`,`pond`,null,`force`,!1,!0,.00980665],[`pound force`,`lbf`,null,`force`,!1,!0,4.4482216152605],[`pound mass`,`lbm`,null,`mass`,!1,!0,.45359237],[`quart`,`qt`,null,`volume`,!1,!0,.000946352946],[`radian`,`rad`,null,`angle`,!0,!1,1],[`rankine`,`Rank`,null,`temperature`,!1,!0,1],[`reaumur`,`Reau`,null,`temperature`,!1,!0,1],[`second`,`?`,null,`angle`,!1,!1,484813681109536e-20],[`second`,`s`,[`sec`],`time`,!0,!0,1],[`short hundredweight`,`cwt`,[`shweight`],`mass`,!1,!0,45.359237],[`siemens`,`S`,null,`electrical_conductance`,!0,!1,1],[`sievert`,`Sv`,null,`equivalent_dose`,!0,!1,1],[`slug`,`sg`,null,`mass`,!1,!0,14.59390294],[`square ångström`,`ang2`,[`ang^2`],`area`,!1,!0,1e-20],[`square foot`,`ft2`,[`ft^2`],`area`,!1,!0,.09290304],[`square inch`,`in2`,[`in^2`],`area`,!1,!0,64516e-8],[`square light-year`,`ly2`,[`ly^2`],`area`,!1,!0,895054210748189e17],[`square meter`,`m?`,null,`area`,!0,!0,1],[`square mile`,`mi2`,[`mi^2`],`area`,!1,!0,2589988.110336],[`square nautical mile`,`Nmi2`,[`Nmi^2`],`area`,!1,!0,3429904],[`square Pica`,`Pica2`,[`Picapt2`,`Pica^2`,`Picapt^2`],`area`,!1,!0,1792111111111e-17],[`square yard`,`yd2`,[`yd^2`],`area`,!1,!0,.83612736],[`statute mile`,`mi`,null,`length`,!1,!0,1609.344],[`steradian`,`sr`,null,`solid_angle`,!0,!1,1],[`stilb`,`sb`,null,`luminance`,!1,!1,1e-4],[`stokes`,`St`,null,`kinematic_viscosity`,!1,!1,1e-4],[`stone`,`stone`,null,`mass`,!1,!0,6.35029318],[`tablespoon`,`tbs`,null,`volume`,!1,!0,147868e-10],[`teaspoon`,`tsp`,null,`volume`,!1,!0,492892e-11],[`tesla`,`T`,null,`magnetic_flux_density`,!0,!0,1],[`thermodynamic calorie`,`c`,null,`energy`,!1,!0,4.184],[`ton`,`ton`,null,`mass`,!1,!0,907.18474],[`tonne`,`t`,null,`mass`,!1,!1,1e3],[`U.K. pint`,`uk_pt`,null,`volume`,!1,!0,.00056826125],[`U.S. bushel`,`bushel`,null,`volume`,!1,!0,.03523907],[`U.S. oil barrel`,`barrel`,null,`volume`,!1,!0,.158987295],[`U.S. pint`,`pt`,[`us_pt`],`volume`,!1,!0,.000473176473],[`U.S. survey mile`,`survey_mi`,null,`length`,!1,!0,1609.347219],[`U.S. survey/statute acre`,`us_acre`,null,`area`,!1,!0,4046.87261],[`volt`,`V`,null,`voltage`,!0,!1,1],[`watt`,`W`,null,`power`,!0,!0,1],[`watt-hour`,`Wh`,[`wh`],`energy`,!1,!0,3600],[`weber`,`Wb`,null,`magnetic_flux`,!0,!1,1],[`yard`,`yd`,null,`length`,!1,!0,.9144],[`year`,`yr`,null,`time`,!1,!0,31557600]]),d(this,`_binaryPrefixes`,{Yi:[`yobi`,80,12089258196146292e8,`Yi`,`yotta`],Zi:[`zebi`,70,0x400000000000000000,`Zi`,`zetta`],Ei:[`exbi`,60,0x1000000000000000,`Ei`,`exa`],Pi:[`pebi`,50,0x4000000000000,`Pi`,`peta`],Ti:[`tebi`,40,1099511627776,`Ti`,`tera`],Gi:[`gibi`,30,1073741824,`Gi`,`giga`],Mi:[`mebi`,20,1048576,`Mi`,`mega`],ki:[`kibi`,10,1024,`ki`,`kilo`]}),d(this,`_unitPrefixes`,{Y:[`yotta`,1e24,`Y`],Z:[`zetta`,1e21,`Z`],E:[`exa`,0xde0b6b3a7640000,`E`],P:[`peta`,0x38d7ea4c68000,`P`],T:[`tera`,0xe8d4a51000,`T`],G:[`giga`,1e9,`G`],M:[`mega`,1e6,`M`],k:[`kilo`,1e3,`k`],h:[`hecto`,100,`h`],e:[`dekao`,10,`e`],d:[`deci`,.1,`d`],c:[`centi`,.01,`c`],m:[`milli`,.001,`m`],u:[`micro`,1e-6,`u`],n:[`nano`,1e-9,`n`],p:[`pico`,1e-12,`p`],f:[`femto`,1e-15,`f`],a:[`atto`,1e-18,`a`],z:[`zepto`,1e-21,`z`],y:[`yocto`,1e-24,`y`]})}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Y(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=`${s.getValue()}`,d=`${c.getValue()}`;if(Number.isNaN(l))return E.create(p.VALUE);let f,m=1,h,g=1,{_from:_,_to:v}=this._lookupFromAndToUnits(u,d);if(f=_,h=v,f===null){let{_from:e,_fromMultiplier:t}=this._lookupFromPrefix(u);f=e,m=t}if(h===null){let{_to:e,_toMultiplier:t}=this._lookupToPrefix(d);h=e,g=t}if(f===null||h===null||f[3]!==h[3])return E.create(p.NA);let y;return f[3]===`temperature`?(y=this._getTemperatureConversion(l,f[1],h[1]),y=+y.toFixed(2)):y=l*f[6]*m/(h[6]*g),R.create(y)}_lookupFromAndToUnits(e,t){let n=null,r=null,i;for(let a=0;a<this._units.length;a++)i=this._units[a][2]===null?[]:this._units[a][2],(this._units[a][1]===e||i.indexOf(e)>=0)&&(n=this._units[a]),(this._units[a][1]===t||i.indexOf(t)>=0)&&(r=this._units[a]);return{_from:n,_to:r}}_lookupFromPrefix(e){let t=null,n=1,r=e,i,a=this._binaryPrefixes[e.substring(0,2)],o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)===`da`&&(o=[`dekao`,10,`da`]),a?(n=a[2],r=e.substring(2)):o&&(n=o[1],r=e.substring(o[2].length));for(let e=0;e<this._units.length;e++)i=this._units[e][2]===null?[]:this._units[e][2],(this._units[e][1]===r||i.indexOf(r)>=0)&&(t=this._units[e]);return{_from:t,_fromMultiplier:n}}_lookupToPrefix(e){let t=null,n=1,r=e,i,a=this._binaryPrefixes[e.substring(0,2)],o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)===`da`&&(o=[`dekao`,10,`da`]),a?(n=a[2],r=e.substring(2)):o&&(n=o[1],r=e.substring(o[2].length));for(let e=0;e<this._units.length;e++)i=this._units[e][2]===null?[]:this._units[e][2],(this._units[e][1]===r||i.indexOf(r)>=0)&&(t=this._units[e]);return{_to:t,_toMultiplier:n}}_getTemperatureConversion(e,t,n){switch(t){case`C`:return this._centigradeConversion(e,n);case`F`:return this._fahrenheitConversion(e,n);case`K`:return this._kelvinConversion(e,n);case`Rank`:return this._rankineConversion(e,n);case`Reau`:return this._reaumurConversion(e,n);default:return e}}_centigradeConversion(e,t){switch(t){case`F`:return e*9/5+32;case`K`:return e+273.15;case`Rank`:return(e+273.15)*9/5;case`Reau`:return e*4/5;default:return e}}_fahrenheitConversion(e,t){switch(t){case`C`:return(e-32)*5/9;case`K`:return(e-32)*5/9+273.15;case`Rank`:return e+459.67;case`Reau`:return(e-32)*4/9;default:return e}}_kelvinConversion(e,t){switch(t){case`C`:return e-273.15;case`F`:return(e-273.15)*9/5+32;case`Rank`:return e*9/5;case`Reau`:return(e-273.15)*4/5;default:return e}}_rankineConversion(e,t){switch(t){case`C`:return(e-491.67)*5/9;case`F`:return e-459.67;case`K`:return e*5/9;case`Reau`:return(e-491.67)*4/9;default:return e}}_reaumurConversion(e,t){switch(t){case`C`:return e*5/4;case`F`:return e*9/4+32;case`K`:return e*5/4+273.15;case`Rank`:return e*9/4+491.67;default:return e}}},Bd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return E.create(p.VALUE);if(n<0||n>10)return E.create(p.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return E.create(p.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${s}`)||s<-512||s>511)return E.create(p.NUM);let c;if(s<0){let e=(512+s).toString(2);c=`1${`0`.repeat(9-e.length)}${e}`}else if(c=Number.parseInt(`${s}`,10).toString(2),t){if(n<c.length)return E.create(p.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c)}},Vd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return E.create(p.VALUE);if(n<0||n>10)return E.create(p.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return E.create(p.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${s}`)||s<-549755813888||s>549755813887)return E.create(p.NUM);let c;if(s<0)c=(1099511627776+s).toString(16);else if(c=Number.parseInt(`${s}`,10).toString(16),t){if(n<c.length)return E.create(p.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c.toLocaleUpperCase())}},Hd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return E.create(p.VALUE);if(n<0||n>10)return E.create(p.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return E.create(p.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${s}`)||s<-536870912||s>536870911)return E.create(p.NUM);let c;if(s<0)c=(1073741824+s).toString(8);else if(c=Number.parseInt(`${s}`,10).toString(8),t){if(n<c.length)return E.create(p.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c)}},Ud=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t==null?R.create(0):t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);let l=s===c?1:0;return R.create(l)}},Wd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n;if(t){let{isError:r,errorObject:i,variants:a}=Y(e,t);if(r)return i;let[o,s]=a,c=+o.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return E.create(p.VALUE);n=dc(l)-dc(c)}else{let{isError:t,errorObject:r,variants:i}=Y(e);if(t)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return E.create(p.VALUE);n=dc(o)}return R.create(n)}},Gd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return E.create(p.VALUE);let o=dc(a);return R.create(o)}},Kd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return E.create(p.VALUE);let o=fc(a);return R.create(o)}},qd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return E.create(p.VALUE);let o=fc(a);return R.create(o)}},Jd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t==null?R.create(0):t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);let l=s>=c?1:0;return R.create(l)}},Yd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return E.create(p.VALUE);if(n<0||n>10)return E.create(p.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!uc(s))return E.create(p.NUM);let c=s.length===10&&s.substring(0,1).toLocaleUpperCase()===`F`,l=c?Number.parseInt(s,16)-1099511627776:Number.parseInt(s,16);if(l<-512||l>511)return E.create(p.NUM);let u;if(c){let e=(512+l).toString(2);u=`1${`0`.repeat(9-e.length)}${e}`}else if(u=l.toString(2),t){if(n<u.length)return E.create(p.NUM);u=`0`.repeat(n-u.length)+u}return z.create(u)}},Xd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!uc(a))return E.create(p.NUM);let o=Number.parseInt(a,16);return o>=549755813888&&(o-=1099511627776),R.create(o)}},Zd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return E.create(p.VALUE);if(n<0||n>10)return E.create(p.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!uc(s))return E.create(p.NUM);let c=Number.parseInt(s,16);if(c>536870911&&c<0xffe0000000)return E.create(p.NUM);let l;if(c>=0xffe0000000)l=(c-0xffc0000000).toString(8);else if(l=c.toString(8),t){if(n<l.length)return E.create(p.NUM);l=`0`.repeat(n-l.length)+l}return z.create(l)}},Qd=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new Ld(`${i.getValue()}`);if(a.isError())return E.create(p.NUM);let o=a.Abs();return R.create(o)}},$d=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new Ld(`${i.getValue()}`);if(a.isError())return E.create(p.NUM);let o=a.getINum();return R.create(o)}},ef=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new Ld(`${i.getValue()}`);if(a.isError())return E.create(p.NUM);if(a.getRealNum()===0&&a.getINum()===0)return E.create(p.DIV_BY_ZERO);let o=a.Argument();return R.create(o)}},tf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Conjugate();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},nf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Cos();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},rf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Cosh();return o.isError()?E.create(p.NUM):typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},af=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return E.create(p.NUM);let s=o.Cot();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},of=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return E.create(p.NUM);let s=o.Coth();return o.isError()?E.create(p.NUM):typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},sf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return E.create(p.NUM);let s=o.Csc();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},cf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return E.create(p.NUM);let s=o.Csch();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},lf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,n){if(e.isNull()||n.isNull())return E.create(p.NA);let{isError:r,errorObject:i,variants:a}=Y(e,n);if(r)return i;let[o,s]=a,c=`${o.getValue()}`,l=`${s.getValue()}`,u=new Ld(c),d=new Ld(l);if(u.isError()||d.isError()||u.isDifferentSuffixes(d)||d.getRealNum()===0&&d.getINum()===0)return E.create(p.NUM);let f=u.Div(d);return typeof f==`number`||(0,t.isRealNum)(f)?R.create(+f):z.create(f)}},uf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Exp();return o.isError()?E.create(p.NUM):typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},df=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return E.create(p.NUM);let s=o.Ln();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},ff=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,n){let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=n==null?R.create(10):n;if(s.isArray()){let e=s.getRowCount(),t=s.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);s=s.get(0,0)}let{isError:c,errorObject:l,variants:u}=X(s);if(c)return l;let[d]=u,f=`${o.getValue()}`,m=+d.getValue(),h=new Ld(f);if(h.isError()||h.getRealNum()===0&&h.getINum()===0||m<=0)return E.create(p.NUM);let g=h.Log(m);return h.isError()?E.create(p.NUM):typeof g==`number`||(0,t.isRealNum)(g)?R.create(+g):z.create(g)}},pf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return E.create(p.NUM);let s=o.Log(2);return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},mf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return E.create(p.NUM);let s=o.Log(10);return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},hf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,n){if(e.isNull()||n.isNull())return E.create(p.NA);let{isError:r,errorObject:i,variants:a}=Y(e,n);if(r)return i;let[o,s]=a,c=new Ld(`${o.getValue()}`);if(c.isError())return E.create(p.NUM);let l=+s.getValue();if(Number.isNaN(l))return E.create(p.VALUE);let u=c.Power(l);return c.isError()?E.create(p.NUM):typeof u==`number`||(0,t.isRealNum)(u)?R.create(+u):z.create(u)}},gf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n=``;for(let t=0;t<e.length;t++){if(n instanceof E)return n;let r=e[t];if(r.isArray()){let e=!1,t;if(r.iterator(r=>{if(n=this._handleSingleObject(r,n),n instanceof E)return e=!0,t=n,!1}),e)return t}else n=this._handleSingleObject(r,n)}return n instanceof E?n:typeof n==`number`||(0,t.isRealNum)(n)?R.create(+n):z.create(n)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return E.create(p.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new Ld(r);if(e.isError())return E.create(p.NUM);n=e.toString()}else{let e=new Ld(t),i=new Ld(r);if(e.isError()||i.isError())return E.create(p.NUM);if(e.isDifferentSuffixes(i))return E.create(p.VALUE);n=e.Product(i)}return n}},_f=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new Ld(`${i.getValue()}`);if(a.isError())return E.create(p.NUM);let o=a.getRealNum();return R.create(o)}},vf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Sec();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},yf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Sech();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},bf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Sin();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},xf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Sinh();return o.isError()?E.create(p.NUM):typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},Sf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);if(o.getRealNum()===0&&o.getINum()===0)return R.create(0);let s=o.Sqrt();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},Cf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,n){if(e.isNull()||n.isNull())return E.create(p.NA);let{isError:r,errorObject:i,variants:a}=Y(e,n);if(r)return i;let[o,s]=a,c=`${o.getValue()}`,l=`${s.getValue()}`,u=new Ld(c),d=new Ld(l);if(u.isError()||d.isError()||u.isDifferentSuffixes(d))return E.create(p.NUM);let f=u.Sub(d);return typeof f==`number`||(0,t.isRealNum)(f)?R.create(+f):z.create(f)}},wf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n=``;for(let t=0;t<e.length;t++){if(n instanceof E)return n;let r=e[t];if(r.isArray()){let e=!1,t;if(r.iterator(r=>{if(n=this._handleSingleObject(r,n),n instanceof E)return e=!0,t=n,!1}),e)return t}else n=this._handleSingleObject(r,n)}return n instanceof E?n:typeof n==`number`||(0,t.isRealNum)(n)?R.create(+n):z.create(n)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return E.create(p.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new Ld(r);if(e.isError())return E.create(p.NUM);n=e.toString()}else{let e=new Ld(t),i=new Ld(r);if(e.isError()||i.isError())return E.create(p.NUM);if(e.isDifferentSuffixes(i))return E.create(p.VALUE);n=e.Sum(i)}return n}},Tf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Tan();return typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},Ef=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=new Ld(`${a.getValue()}`);if(o.isError())return E.create(p.NUM);let s=o.Tanh();return o.isError()?E.create(p.NUM):typeof s==`number`||(0,t.isRealNum)(s)?R.create(+s):z.create(s)}},Df=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return E.create(p.VALUE);if(n<0||n>10)return E.create(p.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!lc(s))return E.create(p.NUM);let c=s.length===10&&s.substring(0,1)===`7`,l=c?Number.parseInt(s,8)-1073741824:Number.parseInt(s,8);if(l<-512||l>511)return E.create(p.NUM);let u;if(c){let e=(512+l).toString(2);u=`1${`0`.repeat(9-e.length)}${e}`}else if(u=l.toString(2),t){if(n<u.length)return E.create(p.NUM);u=`0`.repeat(n-u.length)+u}return z.create(u)}},Of=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!lc(a))return E.create(p.NUM);let o=Number.parseInt(a,8);return o>=536870912&&(o-=1073741824),R.create(o)}},kf=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return E.create(p.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return E.create(p.VALUE);if(n<0||n>10)return E.create(p.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!lc(s))return E.create(p.NUM);let c=Number.parseInt(s,8),l;if(c>=536870912)l=`ff${(c+3221225472).toString(16)}`;else if(l=c.toString(16),t){if(n<l.length)return E.create(p.NUM);l=`0`.repeat(n-l.length)+l}return z.create(l.toLocaleUpperCase())}};let Af=[[Td,U.BESSELI],[Ed,U.BESSELJ],[Dd,U.BESSELK],[Od,U.BESSELY],[kd,U.BIN2DEC],[Ad,U.BIN2HEX],[jd,U.BIN2OCT],[Md,U.BITAND],[Nd,U.BITLSHIFT],[Pd,U.BITOR],[Fd,U.BITRSHIFT],[Id,U.BITXOR],[Rd,U.COMPLEX],[zd,U.CONVERT],[Bd,U.DEC2BIN],[Vd,U.DEC2HEX],[Hd,U.DEC2OCT],[Ud,U.DELTA],[Wd,U.ERF],[Gd,U.ERF_PRECISE],[Kd,U.ERFC],[qd,U.ERFC_PRECISE],[Jd,U.GESTEP],[Yd,U.HEX2BIN],[Xd,U.HEX2DEC],[Zd,U.HEX2OCT],[Qd,U.IMABS],[$d,U.IMAGINARY],[ef,U.IMARGUMENT],[tf,U.IMCONJUGATE],[nf,U.IMCOS],[rf,U.IMCOSH],[af,U.IMCOT],[of,U.IMCOTH],[sf,U.IMCSC],[cf,U.IMCSCH],[lf,U.IMDIV],[uf,U.IMEXP],[df,U.IMLN],[ff,U.IMLOG],[mf,U.IMLOG10],[pf,U.IMLOG2],[hf,U.IMPOWER],[gf,U.IMPRODUCT],[_f,U.IMREAL],[vf,U.IMSEC],[yf,U.IMSECH],[bf,U.IMSIN],[xf,U.IMSINH],[Sf,U.IMSQRT],[Cf,U.IMSUB],[wf,U.IMSUM],[Tf,U.IMTAN],[Ef,U.IMTANH],[Df,U.OCT2BIN],[Of,U.OCT2DEC],[kf,U.OCT2HEX]];function jf(e,t,n,r){let{days:i}=ge(Ff(e,t,n),e,r);return i}function Mf(e,t,n,r){let i;if(r===1){let r=Ff(e,t,n),a=O(r);a=Oe(a,12/n);let o=D(a);i=r<0&&n===1?365:o-r}else i=r===3?365/n:360/n;return i}function Nf(e,t,n){let r=O(e),i=O(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Oe(i,-12/n);return i=Oe(i,12/n),D(i)}function Pf(e,t,n){let r=0,i=O(e),a=O(t);for(;a>i;)a=Oe(a,-12/n),r++;return r}function Ff(e,t,n){let r=O(e),i=O(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Oe(i,-12/n);return D(i)}function If(e,t,n,r,i,a){let o=jf(e,t,i,a),s=Mf(e,t,i,a),c=Pf(e,t,i),l=(s-o)/s-1,u=r/i+1,d=n*100/i,f=0,p=0;for(let e=1;e<=c;e++){let t=e+l,n=d/u**t;f+=t*n,p+=n}let m=c+l,h=100/u**m;return f+=m*h,p+=h,f/p/i}function Lf(e,t,n,r,i){let a;if(e===0)a=(n+r)/t;else{let o=(1+e)**t;a=i===1?(r*e/(o-1)+n*e/(1-1/o))/(1+e):r*e/(o-1)+n*e/(1-1/o)}return-a}function Rf(e,t,n,r,i){let a;if(e===0)a=r+n*t;else{if(e===-1&&t===0)return NaN;let o=(1+e)**t;a=i===1?r*o+n*(1+e)*(o-1)/e:r*o+n*(o-1)/e}return-a}function zf(e,t,n,r,i,a){let o=Lf(e,n,r,i,a);return(t===1?a===1?0:-r:a===1?Rf(e,t-2,o,r,1)-o:Rf(e,t-1,o,r,0))*e}function Bf(e,t){let n=0;for(let r=1;r<=t.length;r++)n+=t[r-1]/(1+e)**r;return n}function Vf(e,t,n,r,i,a,o,s,c){let l=Wf(n,r,c),u=Mf(e,r,s,c);return l<u?Hf(e,t,n,r,i,a,o,s,c,l,u):Uf(e,t,n,r,i,a,o,s,c,u)}function Hf(e,t,n,r,i,a,o,s,c,l,u){let d=0,f=Pf(e,t,s),p=Wf(e,r,c);d+=o/(1+a/s)**(f-1+p/u),d+=100*i/s*l/u/(1+a/s)**(p/u);for(let e=2;e<=f;e++)d+=100*i/s/(1+a/s)**(e-1+p/u);let m=Wf(n,e,c);return d-=100*i/s*m/u,d}function Uf(e,t,n,r,i,a,o,s,c,l){let u=0,d=Pf(r,t,s),f=Jf(r,e,12/s,!0),p;if(c===2||c===3)p=Wf(e,Nf(e,r,s),c);else{let{days:t}=ge(Ff(e,r,s),e,c);p=l-t}u+=o/(1+a/s)**(d+f+p/l);let m=Pf(n,r,s),h=r,g=0,_=0;for(let t=m;t>=1;t--){let r=qf(h,-12/s,!1),i=c===1?Wf(r,h,c):l,a=t>1?i:Wf(n,h,c);g+=a/i;let o=Wf(n>r?n:r,e<h?e:h,c);_+=o/i,h=r}u+=100*i/s*g/(1+a/s)**(f+p/l);for(let e=1;e<=d;e++)u+=100*i/s/(1+a/s)**(e+f+p/l);return u-=100*i/s*_,u}function Wf(e,t,n){let{days:r}=ge(e,t,n);return e<t?r:0}function Gf(e,t,n){let r=O(e),i=r.getUTCFullYear(),a=r.getUTCMonth(),o=r.getUTCDate(),s=De(i,a,o),c=O(t),l=c.getUTCFullYear(),u=c.getUTCMonth(),d=c.getUTCDate(),f=De(l,u,d);return!(o!==d&&!(s&&f)||Math.abs((l-i)*12+(u-a))%(12/n)!=0)}function Kf(e,t,n){return Ff(e,t,n)>=0}function qf(e,t,n){let r=O(e);if(r=Oe(r,t),n){let e=we(r.getUTCFullYear(),r.getUTCMonth());r.setUTCDate(e)}return D(r)}function Jf(e,t,n,r){let i=O(e),a=O(t),o=i.getUTCFullYear(),s=i.getUTCMonth(),c=i.getUTCDate(),l=a.getUTCFullYear(),u=a.getUTCMonth(),d=a.getUTCDate(),f=De(o,s,c),p=!f&&s!==1&&c>28&&c<we(o,s)?De(l,u,d):f,m=qf(t,0,p),h=r-0+ +(t<m),g=qf(m,n,p);for(;!(n>0?g>=t:g<=t);)g=qf(g,n,p),h++;return h}function Yf(e,t){let n=1e-7;n*2;let r=1,i=0,a=e,o;for(;r>n&&i<500;){let e=(t(a+n)-t(a-n))/2e-7;o=a-t(a)/e,i++,r=Math.abs(o-a),a=o}return Number.isNaN(a)||Math.abs(a)===1/0||i===500?Xf(e,t):a}function Xf(e,t){let n=1e-7,r=Number.MAX_VALUE,i=1.6,a=e-.01<=-1?-1+n:e-.01,o=e+.01>=r?r-n:e+.01,s,c,l=0;if(e<=-1||e>=r)return E.create(p.NUM);for(let e=0;e<60;e++){s=a<=-1?-1+n:a,c=o>=r?r-n:o;let l=t(s),u=t(c);if(l*u<=0)break;if(l*u>0)a=s+i*(s-c),o=c+i*(c-s);else return E.create(p.NUM);if(e===59)return E.create(p.NUM)}s=s,c=c;let u=t(s),d=t(c),f,m;if(Math.abs(u)<n||Math.abs(d)<n)return E.create(p.NUM);do m=s+(c-s)/2,f=t(m),u*f<0?c=m:s=m,u=t(s),l++;while(Math.abs(f)>n&&l<60);return m}function Zf(e,t,n,r,i,a,o){let s=Pf(e,t,a),c=Mf(e,t,a,o),l=jf(e,t,a,o);if(s===1){let e=c-l,t=100*n/a+i,o=r/a*e/c+1,s=100*n/a*l/c;return t/o-s}let u=c-l,d=i/(1+r/a)**(s-1+u/c);for(let e=1;e<=s;e++)d+=100*n/a/(1+r/a)**(e-1+u/c);return d-=100*n/a*l/c,d}function Qf(e,t,n,r,i){let a=0,o=i/n;o>=1?(o=1,a=r===1?e:0):a=e*(1-o)**(r-1);let s=e*(1-o)**r,c=0;return c=s<t?a-t:a-s,c<0&&(c=0),c}var $f=class extends Z{constructor(...e){super(...e),d(this,`minParams`,6),d(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=o==null?R.create(0):o,l=s==null?L.create(!0):s,{isError:u,errorObject:d,variants:f}=Y(e,t,n,r,i,a,c);if(u)return d;let[m,h,g,_,v,y,b]=f,x=k(m);if(typeof x!=`number`)return x;let S=k(h);if(typeof S!=`number`)return S;let C=k(g);if(typeof C!=`number`)return C;let w=+_.getValue(),T=+v.getValue(),ee=Math.floor(+y.getValue()),te=Math.floor(+b.getValue()),ne=+l.getValue();return Number.isNaN(w)||Number.isNaN(T)||Number.isNaN(ee)||Number.isNaN(te)||Number.isNaN(ne)?E.create(p.VALUE):w<=0||T<=0||![1,2,4].includes(ee)||te<0||te>4||Math.floor(x)>=Math.floor(C)?E.create(p.NUM):this._getResult(x,S,C,w,T,ee,te,ne)}_getResult(e,t,n,r,i,a,o,s){let c=Ff(e,t,a);if(c<=0)return R.create(0);c=Ff(n,t,a);let l=12/a,u=O(t),d=De(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),f=qf(t,-l,d);if(n>t&&s)for(f=t;f<n;)f=qf(f,l,d);let p=e>f?e:f,{days:m}=ge(p,n,o);if(c>=e){let{days:e}=ge(p,n,o?4:0);m=e}n<p&&(m=-m);let h=Mf(f,t,a,o),g=m/h,_=f,v=e;for(;_>e;){v=_,_=qf(_,-l,d),p=e>_?e:_;let{days:t}=ge(p,v,o);if(o===0)m=v>=p||e<=_?t:-t,h=Mf(_,v,a,o);else if(m=v<p?-t:t,o===3)h=365/a;else{let{days:e}=ge(_,v,o);h=v<_?-e:e}g+=e<=_?s?1:0:m/h}let y=i*r/a*g;return R.create(y)}},ep=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=Y(e,t,n,r,i==null?R.create(0):i);if(a)return o;let[c,l,u,d,f]=s,m=k(c);if(typeof m!=`number`)return m;let h=k(l);if(typeof h!=`number`)return h;let g=+u.getValue(),_=+d.getValue(),v=Math.floor(+f.getValue());if(Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v))return E.create(p.VALUE);if(g<=0||_<=0||v<0||v>4||Math.floor(m)>Math.floor(h))return E.create(p.NUM);if(Math.floor(m)===Math.floor(h))return R.create(0);let{days:y,yearDays:b}=ge(m,h,v),x=_*g*y/b;return R.create(x)}},tp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,6),d(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let{isError:s,errorObject:c,variants:l}=Y(e,t,n,r,i,a,o==null?R.create(0):o);if(s)return c;let[u,d,f,m,h,g,_]=l,v=k(d);if(typeof v!=`number`)return v;let y=k(f);if(typeof y!=`number`)return y;let b=+u.getValue(),x=+m.getValue(),S=+h.getValue(),C=+g.getValue(),w=Math.floor(+_.getValue());return Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S)||Number.isNaN(C)||Number.isNaN(w)?E.create(p.VALUE):b<=0||x<0||b<x||Math.floor(v)>Math.floor(y)||S<0||C<=0||![0,1,3,4].includes(w)?E.create(p.NUM):(S=S>1?Math.floor(S):Math.ceil(S),this._getResult(b,v,y,x,S,C,w))}_getResult(e,t,n,r,i,a,o){let s=e-r,c=e*a,{days:l,yearDays:u}=ge(t,n,o),d=l/u,f=Math.ceil(s/c-d);if(f<0)return R.create(0);let p=c;return i===0?p=c*d:i===f?p=s-c*(d+i-1):i>f&&(p=0),R.create(p)}},np=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=k(s);if(typeof d!=`number`)return d;let f=k(c);if(typeof f!=`number`)return f;let m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue());if(Number.isNaN(m)||Number.isNaN(h))return E.create(p.VALUE);if(![1,2,4].includes(m)||h<0||h>4||Math.floor(d)>=Math.floor(f))return E.create(p.NUM);let g=jf(d,f,m,h);return R.create(g)}},rp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=k(s);if(typeof d!=`number`)return d;let f=k(c);if(typeof f!=`number`)return f;let m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue());if(Number.isNaN(m)||Number.isNaN(h))return E.create(p.VALUE);if(![1,2,4].includes(m)||h<0||h>4||Math.floor(d)>=Math.floor(f))return E.create(p.NUM);let g=Mf(d,f,m,h);return R.create(g)}},ip=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=k(s);if(typeof d!=`number`)return d;let f=k(c);if(typeof f!=`number`)return f;let m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue());if(Number.isNaN(m)||Number.isNaN(h))return E.create(p.VALUE);if(![1,2,4].includes(m)||h<0||h>4||Math.floor(d)>=Math.floor(f))return E.create(p.NUM);let g=O(d),_=O(f);for(_.setUTCFullYear(g.getUTCFullYear()),_<g&&_.setUTCFullYear(_.getUTCFullYear()+1);_>g;)_.setUTCMonth(_.getUTCMonth()-12/m);_.setUTCMonth(_.getUTCMonth()+12/m);let{days:v}=ge(d,D(_),h);return R.create(v)}},ap=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=k(s);if(typeof d!=`number`)return d;let f=k(c);if(typeof f!=`number`)return f;let m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue());if(Number.isNaN(m)||Number.isNaN(h))return E.create(p.VALUE);if(![1,2,4].includes(m)||h<0||h>4||Math.floor(d)>=Math.floor(f))return E.create(p.NUM);let g=Nf(d,f,m);return R.create(g)}},op=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=k(s);if(typeof d!=`number`)return d;let f=k(c);if(typeof f!=`number`)return f;let m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue());if(Number.isNaN(m)||Number.isNaN(h))return E.create(p.VALUE);if(![1,2,4].includes(m)||h<0||h>4||Math.floor(d)>=Math.floor(f)||Ff(d,f,m)<0)return E.create(p.NUM);let g=Pf(d,f,m);return R.create(g)}},sp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=k(s);if(typeof d!=`number`)return d;let f=k(c);if(typeof f!=`number`)return f;let m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue());if(Number.isNaN(m)||Number.isNaN(h))return E.create(p.VALUE);if(![1,2,4].includes(m)||h<0||h>4||Math.floor(d)>=Math.floor(f))return E.create(p.NUM);let g=Ff(d,f,m);return g<0&&(g=0),R.create(g)}},cp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,6),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=Y(e,t,n,r,i,a);if(o)return s;let[l,u,d,f,m,h]=c,g=+l.getValue(),_=+u.getValue(),v=+d.getValue(),y=+f.getValue(),b=+m.getValue(),x=+h.getValue();return Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x)?E.create(p.VALUE):g<=0||_<=0||v<=0||y<1||b<1||y>b||y>_||b>_||![0,1].includes(x)?E.create(p.NUM):Math.trunc(y)!==y&&Math.trunc(b)!==b&&Math.trunc(y)===Math.trunc(b)?R.create(0):this._getResult(g,_,v,y,b,x)}_getResult(e,t,n,r,i,a){let o=Lf(e,t,n,0,a),s=0,c=Math.ceil(r);c===1&&(a===0&&(s=-n),c++);let l=!1;for(let t=c;t<=i;t++){let r=a===1?Rf(e,t-2,o,n,1):Rf(e,t-1,o,n,0);if(r===0){l=!0;break}s+=a===1?r-o:r}return s*=e,(s<o*(i-r+1)||l)&&(s=o*(i-r+1)),R.create(s)}},lp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,6),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=Y(e,t,n,r,i,a);if(o)return s;let[l,u,d,f,m,h]=c,g=+l.getValue(),_=+u.getValue(),v=+d.getValue(),y=+f.getValue(),b=+m.getValue(),x=+h.getValue();return Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x)?E.create(p.VALUE):g<=0||_<=0||v<=0||y<1||b<1||y>b||![0,1].includes(x)?E.create(p.NUM):Math.trunc(y)!==y&&Math.trunc(b)!==b&&Math.trunc(y)===Math.trunc(b)?R.create(0):this._getResult(g,_,v,y,b,x)}_getResult(e,t,n,r,i,a){let o=Lf(e,t,n,0,a),s=0,c=Math.ceil(r);c===1&&(s=a===0?o+n*e:o,c++);for(let t=c;t<=i;t++)s+=a===1?o-(Rf(e,t-2,o,n,1)-o)*e:o-Rf(e,t-1,o,n,0)*e;return R.create(s)}},up=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,5),d(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?R.create(12):i;a.isNull()&&(a=R.create(12));let o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=V(o,s,e,E.create(p.NA)),l=V(o,s,t,E.create(p.NA)),u=V(o,s,n,E.create(p.NA)),d=V(o,s,r,E.create(p.NA)),f=V(o,s,a,E.create(p.NA)),m=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,l.get(t,n),u.get(t,n),d.get(t,n),f.get(t,n));if(r)return i;let[o,s,c,m,h]=a,g=+o.getValue(),_=+s.getValue(),v=+c.getValue(),y=+m.getValue(),b=Math.floor(+h.getValue());return g<0||_<0||v<=0||y<=0||Math.floor(y)>Math.floor(v)||b<1||b>12?E.create(p.NUM):(y<1&&(y=1),y=Math.floor(y),this._getResult(g,_,v,y,b,t,n))});return o===1&&s===1?m.get(0,0):m}_getResult(e,t,n,r,i,a,o){let s=+(1-(t/e)**(1/n)).toFixed(3),c=e*s*i/12,l=c,u=0,d=r===n?n-1:r;for(let t=2;t<=d;t++)u=(e-l)*s,l+=u;let f;return f=r===1?c:r===n?(e-l)*s:u,Number.isNaN(f)||!Number.isFinite(f)?E.create(p.NUM):a===0&&o===0?R.create(f,Pr(this.getLocale())):R.create(f)}},dp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,5),d(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?R.create(2):i;a.isNull()&&(a=R.create(2));let o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=V(o,s,e,E.create(p.NA)),l=V(o,s,t,E.create(p.NA)),u=V(o,s,n,E.create(p.NA)),d=V(o,s,r,E.create(p.NA)),f=V(o,s,a,E.create(p.NA)),m=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,l.get(t,n),u.get(t,n),d.get(t,n),f.get(t,n));if(r)return i;let[o,s,c,m,h]=a,g=+o.getValue(),_=+s.getValue(),v=+c.getValue(),y=+m.getValue(),b=+h.getValue();if(g<0||_<0||v<=0||y<=0||y>v||b<=0)return E.create(p.NUM);let x=Qf(g,_,v,y,b);return Number.isNaN(x)||!Number.isFinite(x)?E.create(p.NUM):t===0&&n===0?R.create(x,Pr(this.getLocale())):R.create(x)});return o===1&&s===1?m.get(0,0):m}},fp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=Y(e,t,n,r,i==null?R.create(0):i);if(a)return o;let[c,l,u,d,f]=s,m=k(c);if(typeof m!=`number`)return m;let h=k(l);if(typeof h!=`number`)return h;let g=+u.getValue(),_=+d.getValue(),v=Math.floor(+f.getValue());if(Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v))return E.create(p.VALUE);if(g<=0||_<=0||v<0||v>4||Math.floor(m)>=Math.floor(h))return E.create(p.NUM);let{days:y,yearDays:b}=ge(m,h,v),x=(_-g)/_*(b/y);return R.create(x)}},pp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);if(c<0)return E.create(p.NUM);if(c>=0&&c<1)return E.create(p.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let l=Number.parseInt(`${s}`,10);l+=s%1*10**Math.ceil(Math.log(c)/Math.LN10)/c;let u=10**(Math.ceil(Math.log(c)/Math.LN2)+1);return l=Math.round(l*u)/u,R.create(l)}},mp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);if(c<0)return E.create(p.NUM);if(c>=0&&c<1)return E.create(p.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let l=Number.parseInt(`${s}`,10);return l+=s%1*10**-Math.ceil(Math.log(c)/Math.LN10)*c,R.create(l)}},hp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,5),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=nc(e,t,n,r,i,o);if(s)return c;let[u,d,f,m,h,g]=l,_=k(u);if(typeof _!=`number`)return _;let v=k(d);if(typeof v!=`number`)return v;let y=+f.getValue(),b=+m.getValue(),x=Math.floor(+h.getValue()),S=Math.floor(+g.getValue());if(Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S))return E.create(p.VALUE);if(y<0||b<0||![1,2,4].includes(x)||S<0||S>4||Math.floor(_)>=Math.floor(v)||_<=0||v<=366)return E.create(p.NUM);let C=If(_,v,y,b,x,S);return R.create(C)}},gp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);if(s<=0||c<1)return E.create(p.NUM);c=Number.parseInt(`${c}`,10);let l=(1+s/c)**c-1;return R.create(l)}},_p=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,5),d(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,E.create(p.NA)),u=V(s,c,t,E.create(p.NA)),d=V(s,c,n,E.create(p.NA)),f=V(s,c,a,E.create(p.NA)),m=V(s,c,o,E.create(p.NA)),h=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),m.get(t,n));if(r)return i;let[o,s,c,l,h]=a,g=Rf(+o.getValue(),+s.getValue(),+c.getValue(),+l.getValue(),+h.getValue()?1:0);return Number.isNaN(g)||!Number.isFinite(g)?E.create(p.NUM):t===0&&n===0?R.create(g,Pr(this.getLocale())):R.create(g)});return s===1&&c===1?h.get(0,0):h}},vp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return E.create(p.VALUE);let s=o;if(t.isArray()){let e=t.getArrayValue().flat();for(let t=0;t<e.length;t++){let n=e[t];if(n.isBoolean())return E.create(p.VALUE);let r=+n.getValue();if(Number.isNaN(r))return E.create(p.VALUE);s*=1+r}}else{if(t.isBoolean())return E.create(p.VALUE);let e=+t.getValue();if(Number.isNaN(e))return E.create(p.VALUE);s*=1+e}return R.create(s)}},yp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=Y(e,t,n,r,i==null?R.create(0):i);if(a)return o;let[c,l,u,d,f]=s,m=k(c);if(typeof m!=`number`)return m;let h=k(l);if(typeof h!=`number`)return h;let g=+u.getValue(),_=+d.getValue(),v=Math.floor(+f.getValue());if(Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v))return E.create(p.VALUE);if(g<=0||_<=0||v<0||v>4||Math.floor(m)>=Math.floor(h))return E.create(p.NUM);let{days:y,yearDays:b}=ge(m,h,v),x=(_-g)/g*(b/y);return R.create(x)}},bp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,6),d(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?R.create(0):i,s=a==null?R.create(0):a,c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,E.create(p.NA)),d=V(c,l,t,E.create(p.NA)),f=V(c,l,n,E.create(p.NA)),m=V(c,l,r,E.create(p.NA)),h=V(c,l,o,E.create(p.NA)),g=V(c,l,s,E.create(p.NA)),_=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,d.get(t,n),f.get(t,n),m.get(t,n),h.get(t,n),g.get(t,n));if(r)return i;let[o,s,c,l,u,_]=a,v=+o.getValue(),y=+s.getValue(),b=+c.getValue(),x=+l.getValue(),S=+u.getValue(),C=+_.getValue();if(y<1||Math.floor(y)>Math.ceil(b))return E.create(p.NUM);let w=zf(v,y,b,x,S,C?1:0);return Number.isNaN(w)||!Number.isFinite(w)?E.create(p.NUM):t===0&&n===0?R.create(w,Pr(this.getLocale())):R.create(w)});return c===1&&l===1?_.get(0,0):_}},xp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(.1):t;return n.isNull()&&(n=R.create(.1)),n.isArray()?n.map((t,n,r)=>this._handleSingleObject(e,t,n,r)):this._handleSingleObject(e,n)}_handleSingleObject(e,t,n=0,r=0){if(e.isError())return e;if(t.isError())return t;if(e.isNull())return E.create(p.VALUE);if(!e.isArray())return E.create(p.NUM);let{_values:i,valuesHasError:a}=this._getValues(e);if(a)return E.create(p.VALUE);let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()))return o;let s=+o.getValue(),{positive:c,negative:l}=this._checkValues(i);if(!c||!l)return E.create(p.NUM);let u=Yf(s,e=>Bf(e,i));return typeof u==`number`?n===0&&r===0?R.create(u,`0%`):R.create(u):u}_getValues(e){let t=[],n=!1;return e.iterator(e=>{let r=e;if(r.isError())return n=!0,!1;if(r.isNull()||r.isBoolean()||r.isString()&&r.getValue()===``)return!0;let i=+r.getValue();if(Number.isNaN(i))return!0;t.push(i)}),{_values:t,valuesHasError:n}}_checkValues(e){let t=!1,n=!1;for(let r=0;r<e.length;r++)e[r]>0&&(t=!0),e[r]<0&&(n=!0);return{positive:t,negative:n}}},Sp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,s.get(t,n),c.get(t,n),l.get(t,n));if(r)return i;let[o,u,d,f]=a,m=+o.getValue(),h=+u.getValue(),g=+d.getValue(),_=+f.getValue();if(g===0)return E.create(p.DIV_BY_ZERO);let v=_*m*(h/g-1);return R.create(v)});return i===1&&a===1?u.get(0,0):u}},Cp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,5),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=nc(e,t,n,r,i,o);if(s)return c;let[u,d,f,m,h,g]=l,_=k(u);if(typeof _!=`number`)return _;let v=k(d);if(typeof v!=`number`)return v;let y=+f.getValue(),b=+m.getValue(),x=Math.floor(+h.getValue()),S=Math.floor(+g.getValue());if(Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S))return E.create(p.VALUE);if(y<0||b<0||![1,2,4].includes(x)||S<0||S>4||Math.floor(_)>=Math.floor(v))return E.create(p.NUM);let C=If(_,v,y,b,x,S);return C/=1+b/x,R.create(C)}},wp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{_values:r,numberValues:i,positive:a,negative:o}=this._getValues(e),s=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=V(s,c,t,E.create(p.NA)),u=V(s,c,n,E.create(p.NA)),d=l.map((t,n,s)=>{let c=u.get(n,s);if(e.isError())return e;if(c.isError())return c;if(r.isError())return r;if(!a||!o)return E.create(p.DIV_BY_ZERO);let l=+t.getValue(),d=+c.getValue();if(Number.isNaN(l)||Number.isNaN(d))return E.create(p.VALUE);if(d===-1)return E.create(p.DIV_BY_ZERO);let f=this._getResult(i,l,d);return n===0&&s===0?R.create(f,`0%`):R.create(f)});return s===1&&c===1?d.get(0,0):d}_getValues(e){let t=e,n=[],r=!1,i=!1;if(!e.isError())if(e.isNull())t=E.create(p.VALUE);else if(!e.isArray())t=E.create(p.DIV_BY_ZERO);else{let{numberValues:a,valuesHasError:o,errorObject:s,positive:c,negative:l}=this._checkValues(e);o&&(t=s),n=a,r=c,i=l}return{_values:t,numberValues:n,positive:r,negative:i}}_checkValues(e){let t=[],n=!1,r=E.create(p.VALUE),i=!1,a=!1;return e.iterator(e=>{let o=e;if(o.isError())return n=!0,r=o,!1;if(o.isNull()||o.isBoolean()||o.isString()&&o.getValue()===``)return!0;let s=+o.getValue();if(Number.isNaN(s))return!0;s>0&&(i=!0),s<0&&(a=!0),t.push(s)}),{numberValues:t,valuesHasError:n,errorObject:r,positive:i,negative:a}}_getResult(e,t,n){let r=e.length,i=[],a=[];for(let t=0;t<r;t++)e[t]>0?a.push(e[t]):e[t]<0&&i.push(e[t]);let o=this._npv(n,e,`positive`),s=this._npv(t,e,`negative`);return(-o*(1+n)**r/(s*(1+t)))**(1/(r-1))-1}_npv(e,t,n){let r=0;for(let i=1;i<=t.length;i++){let a=t[i-1];(n===`positive`&&a>0||n===`negative`&&a<0)&&(r+=a/(1+e)**i)}return r}},Tp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);if(s<=0||c<1)return E.create(p.NUM);c=Number.parseInt(`${c}`,10);let l=((s+1)**(1/c)-1)*c;return R.create(l)}},Ep=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,E.create(p.NA)),u=V(s,c,t,E.create(p.NA)),d=V(s,c,n,E.create(p.NA)),f=V(s,c,a,E.create(p.NA)),m=V(s,c,o,E.create(p.NA)),h=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),m.get(t,n));if(r)return i;let[o,s,c,l,h]=a,g=+o.getValue(),_=+s.getValue(),v=+c.getValue(),y=+l.getValue(),b=+h.getValue();if(b=b?1:0,g===0&&_===0)return E.create(p.DIV_BY_ZERO);let x;if(g===0)x=-(v+y)/_;else{let e=_*(1+g*b)-y*g,t=v*g+_*(1+g*b);x=Math.log(e/t)/Math.log(1+g)}return Number.isNaN(x)||!Number.isFinite(x)?E.create(p.NUM):R.create(x)});return s===1&&c===1?h.get(0,0):h}},Dp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,255),d(this,`needsLocale`,!0)}calculate(e,...t){if(e.isError())return e;let{isError:n,errorObject:r,values:i}=this._getValues(t);return e.isArray()?e.map((e,t,a)=>this._handleSingleObject(e,n,r,i,t,a)):this._handleSingleObject(e,n,r,i)}_handleSingleObject(e,t,n,r,i=0,a=0){let o=e;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(t)return n;let s=Bf(+e.getValue(),r);return Number.isNaN(s)||Math.abs(s)===1/0?E.create(p.DIV_BY_ZERO):i===0&&a===0?R.create(s,Pr(this.getLocale())):R.create(s)}_getValues(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isError())return{isError:!0,errorObject:r};if(r.isArray()){let e=!1,n=E.create(p.VALUE);if(r.iterator(r=>{let i=r;if(i.isError())return e=!0,n=i,!1;if(i.isNull()||i.isBoolean()||i.isString()&&i.getValue()===``)return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;t.push(a)}),e)return{isError:e,errorObject:n}}else{let e=+r.getValue();if(Number.isNaN(e))return{isError:!0,errorObject:E.create(p.VALUE)};t.push(e)}}return{isError:!1,values:t}}},Op=class extends Z{constructor(...e){super(...e),d(this,`minParams`,8),d(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?R.create(0):c;l.isNull()&&(l=R.create(0));let{isError:u,errorObject:d,variants:f}=nc(e,t,n,r,i,a,o,s,l);if(u)return d;let[m,h,g,_,v,y,b,x,S]=f,C=k(m);if(typeof C!=`number`)return C;let w=k(h);if(typeof w!=`number`)return w;let T=k(g);if(typeof T!=`number`)return T;let ee=k(_);if(typeof ee!=`number`)return ee;let te=+v.getValue(),ne=+y.getValue(),re=+b.getValue(),D=Math.floor(+x.getValue()),ie=Math.floor(+S.getValue());if(Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(D)||Number.isNaN(ie))return E.create(p.VALUE);if(te<0||ne<0||re<=0||![1,2,4].includes(D)||ie<0||ie>4||!this._validDate(w,ee,C,T,D))return E.create(p.NUM);let O=Vf(C,w,T,ee,te,ne,re,D,ie);return R.create(O)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&Gf(e,t,i)&&Kf(r,e,i)}_getDateCorrectOrder(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&Math.floor(n)>Math.floor(r)}},kp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,8),d(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?R.create(0):c;l.isNull()&&(l=R.create(0));let{isError:u,errorObject:d,variants:f}=nc(e,t,n,r,i,a,o,s,l);if(u)return d;let[m,h,g,_,v,y,b,x,S]=f,C=k(m);if(typeof C!=`number`)return C;let w=k(h);if(typeof w!=`number`)return w;let T=k(g);if(typeof T!=`number`)return T;let ee=k(_);if(typeof ee!=`number`)return ee;let te=+v.getValue(),ne=+y.getValue(),re=+b.getValue(),D=Math.floor(+x.getValue()),ie=Math.floor(+S.getValue());return Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(D)||Number.isNaN(ie)?E.create(p.VALUE):te<0||ne<=0||re<=0||![1,2,4].includes(D)||ie<0||ie>4||!this._validDate(w,ee,C,T,D)?E.create(p.NUM):this._getResult(C,w,T,ee,te,ne,re,D,ie)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&Gf(e,t,i)&&Kf(r,e,i)}_getDateCorrectOrder(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&Math.floor(n)>Math.floor(r)}_getResult(e,t,n,r,i,a,o,s,c){let{days:l}=ge(e,t,c),u=(i*l*100-(a-100))/((a-100)*.25*(1+2*l)+l*100);function d(l){return a-Vf(e,t,n,r,i,l,o,s,c)}let f=Yf(u,e=>d(e));return typeof f==`number`?R.create(f):f}},Ap=class extends Z{constructor(...e){super(...e),d(this,`minParams`,7),d(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=s==null?R.create(0):s;c.isNull()&&(c=R.create(0));let{isError:l,errorObject:u,variants:d}=nc(e,t,n,r,i,a,o,c);if(l)return u;let[f,m,h,g,_,v,y,b]=d,x=k(f);if(typeof x!=`number`)return x;let S=k(m);if(typeof S!=`number`)return S;let C=k(h);if(typeof C!=`number`)return C;let w=+g.getValue(),T=+_.getValue(),ee=+v.getValue(),te=Math.floor(+y.getValue()),ne=Math.floor(+b.getValue());if(Number.isNaN(w)||Number.isNaN(T)||Number.isNaN(ee)||Number.isNaN(te)||Number.isNaN(ne))return E.create(p.VALUE);if(w<0||T<0||ee<=0||![1,2,4].includes(te)||ne<0||ne>4||!this._validDate(S,x,C,te))return E.create(p.NUM);let re=this._getResult(x,S,C,w,T,ee,te,ne);return R.create(re)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&Kf(n,e,r)}_getResult(e,t,n,r,i,a,o,s){let c=this._getCoupDate(t,n,o),l=this._getFrac(n,e,c,o,s),u=this._getFrac(n,t,c,o,s),d=this._getFrac(e,t,c,o,s);return(a*o+100*r*(u-l*(1+i*d/o)))/(i*d+o)}_getCoupDate(e,t,n){let r=O(e),i=O(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return D(i)}_getFrac(e,t,n,r,i){let a=O(e),o=O(t),s=O(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=D(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=D(s);if(l>=t){let{days:n}=ge(e,t,i);return n/Mf(c,l,r,i)}let{days:u}=ge(e,l,i),d=u/Mf(c,l,r,i),f=O(l),p=O(l);for(p.setUTCMonth(p.getUTCMonth()+12/r);p<o;)f.setUTCMonth(f.getUTCMonth()+12/r),p.setUTCMonth(p.getUTCMonth()+12/r),d+=1;c=D(f),l=D(p);let{days:m}=ge(c,t,i),h=Mf(c,l,r,i);return d+=m/h,d}},jp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,8),d(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s){let c=s==null?R.create(0):s;c.isNull()&&(c=R.create(0));let{isError:l,errorObject:u,variants:d}=nc(e,t,n,r,i,a,o,c);if(l)return u;let[f,m,h,g,_,v,y,b]=d,x=k(f);if(typeof x!=`number`)return x;let S=k(m);if(typeof S!=`number`)return S;let C=k(h);if(typeof C!=`number`)return C;let w=+g.getValue(),T=+_.getValue(),ee=+v.getValue(),te=Math.floor(+y.getValue()),ne=Math.floor(+b.getValue());if(Number.isNaN(w)||Number.isNaN(T)||Number.isNaN(ee)||Number.isNaN(te)||Number.isNaN(ne))return E.create(p.VALUE);if(w<0||T<=0||ee<=0||![1,2,4].includes(te)||ne<0||ne>4||!this._validDate(S,x,C,te))return E.create(p.NUM);let re=this._getResult(x,S,C,w,T,ee,te,ne);return R.create(re)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&Kf(n,e,r)}_getResult(e,t,n,r,i,a,o,s){let c=this._getCoupDate(t,n,o),l=this._getFrac(n,e,c,o,s),u=this._getFrac(n,t,c,o,s),d=this._getFrac(e,t,c,o,s);return(o*(a-i)+100*r*(u-l))/(d*i+100*r*l*d/o)}_getCoupDate(e,t,n){let r=O(e),i=O(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return D(i)}_getFrac(e,t,n,r,i){let a=O(e),o=O(t),s=O(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=D(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=D(s);if(l>=t){let{days:n}=ge(e,t,i);return n/Mf(c,l,r,i)}let{days:u}=ge(e,l,i),d=u/Mf(c,l,r,i),f=O(l),p=O(l);for(p.setUTCMonth(p.getUTCMonth()+12/r);p<o;)f.setUTCMonth(f.getUTCMonth()+12/r),p.setUTCMonth(p.getUTCMonth()+12/r),d+=1;c=D(f),l=D(p);let{days:m}=ge(c,t,i),h=Mf(c,l,r,i);return d+=m/h,d}},Mp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,o.get(t,n),s.get(t,n));if(r)return i;let[c,l,u]=a,d=+c.getValue(),f=+l.getValue(),m=+u.getValue();if(d<=-1)return E.create(p.NUM);let h=(Math.log(m)-Math.log(f))/Math.log(1+d);return Number.isNaN(h)||!Number.isFinite(h)?E.create(p.NUM):R.create(h)});return r===1&&i===1?c.get(0,0):c}},Np=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,5),d(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,E.create(p.NA)),u=V(s,c,t,E.create(p.NA)),d=V(s,c,n,E.create(p.NA)),f=V(s,c,a,E.create(p.NA)),m=V(s,c,o,E.create(p.NA)),h=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),m.get(t,n));if(r)return i;let[o,s,c,l,h]=a,g=+o.getValue(),_=+s.getValue(),v=+c.getValue(),y=+l.getValue(),b=+h.getValue();if(g<=-1)return E.create(p.NUM);let x=Lf(g,_,v,y,b?1:0);return Number.isNaN(x)||!Number.isFinite(x)?E.create(p.NUM):t===0&&n===0?R.create(x,Pr(this.getLocale())):R.create(x)});return s===1&&c===1?h.get(0,0):h}},Pp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,6),d(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?R.create(0):i,s=a==null?R.create(0):a,c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,E.create(p.NA)),d=V(c,l,t,E.create(p.NA)),f=V(c,l,n,E.create(p.NA)),m=V(c,l,r,E.create(p.NA)),h=V(c,l,o,E.create(p.NA)),g=V(c,l,s,E.create(p.NA)),_=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,d.get(t,n),f.get(t,n),m.get(t,n),h.get(t,n),g.get(t,n));if(r)return i;let[o,s,c,l,u,_]=a,v=+o.getValue(),y=+s.getValue(),b=+c.getValue(),x=+l.getValue(),S=+u.getValue(),C=+_.getValue();if(y<1||Math.floor(y)>Math.ceil(b)||y-b>=1)return E.create(p.NUM);let w=Lf(v,b,x,S,C?1:0)-zf(v,y,b,x,S,C?1:0);return Number.isNaN(w)||!Number.isFinite(w)?E.create(p.NUM):t===0&&n===0?R.create(w,Pr(this.getLocale())):R.create(w)});return c===1&&l===1?_.get(0,0):_}},Fp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,6),d(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?R.create(0):o;s.isNull()&&(s=R.create(0));let{isError:c,errorObject:l,variants:u}=nc(e,t,n,r,i,a,s);if(c)return l;let[d,f,m,h,g,_,v]=u,y=k(d);if(typeof y!=`number`)return y;let b=k(f);if(typeof b!=`number`)return b;let x=+m.getValue(),S=+h.getValue(),C=+g.getValue(),w=Math.floor(+_.getValue()),T=Math.floor(+v.getValue());if(Number.isNaN(x)||Number.isNaN(S)||Number.isNaN(C)||Number.isNaN(w)||Number.isNaN(T))return E.create(p.VALUE);if(x<0||S<0||C<=0||![1,2,4].includes(w)||T<0||T>4||y>=b||!Kf(y,b,w))return E.create(p.NUM);let ee=Zf(y,b,x,S,C,w,T);return R.create(ee)}},Ip=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?R.create(0):i;a.isNull()&&(a=R.create(0));let{isError:o,errorObject:s,variants:c}=nc(e,t,n,r,a);if(o)return s;let[l,u,d,f,m]=c,h=k(l);if(typeof h!=`number`)return h;let g=k(u);if(typeof g!=`number`)return g;let _=+d.getValue(),v=+f.getValue(),y=Math.floor(+m.getValue());if(Number.isNaN(_)||Number.isNaN(v)||Number.isNaN(y))return E.create(p.VALUE);if(_<=0||v<=0||y<0||y>4||h>=g)return E.create(p.NUM);let{days:b,yearDays:x}=ge(h,g,y),S=v-_*v*b/x;return R.create(S)}},Lp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,5),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=nc(e,t,n,r,i,o);if(s)return c;let[u,d,f,m,h,g]=l,_=k(u);if(typeof _!=`number`)return _;let v=k(d);if(typeof v!=`number`)return v;let y=k(f);if(typeof y!=`number`)return y;let b=+m.getValue(),x=+h.getValue(),S=Math.floor(+g.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S))return E.create(p.VALUE);let C=this._getDateCorrectOrder(v,_,y);if(b<0||x<0||S<0||S>4||!C)return E.create(p.NUM);let w=Ee(_,S),{days:T}=ge(_,v,S),{days:ee}=ge(y,v,S),{days:te}=ge(y,_,S),ne=(100+ee/w*b*100)/(1+T/w*x)-te/w*b*100;return R.create(ne)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}},Rp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,5),d(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,E.create(p.NA)),u=V(s,c,t,E.create(p.NA)),d=V(s,c,n,E.create(p.NA)),f=V(s,c,a,E.create(p.NA)),m=V(s,c,o,E.create(p.NA)),h=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),m.get(t,n));if(r)return i;let[o,s,c,l,h]=a,g=+o.getValue(),_=+s.getValue(),v=+c.getValue(),y=+l.getValue(),b=+h.getValue();b=b?1:0;let x=g===0?-v*_-y:((1-(1+g)**_)/g*v*(1+g*b)-y)/(1+g)**_;return Number.isNaN(x)||!Number.isFinite(x)?E.create(p.NUM):t===0&&n===0?R.create(x,Pr(this.getLocale())):R.create(x)});return s===1&&c===1?h.get(0,0):h}},zp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?R.create(0):r,s=i==null?R.create(0):i,c=a==null?R.create(.1):a,l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=V(l,u,e,E.create(p.NA)),f=V(l,u,t,E.create(p.NA)),m=V(l,u,n,E.create(p.NA)),h=V(l,u,o,E.create(p.NA)),g=V(l,u,s,E.create(p.NA)),_=V(l,u,c,E.create(p.NA)),v=d.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,f.get(t,n),m.get(t,n),h.get(t,n),g.get(t,n),_.get(t,n));if(r)return i;let[o,s,c,l,u,d]=a,v=+o.getValue(),y=+s.getValue(),b=+c.getValue(),x=+l.getValue(),S=+u.getValue(),C=+d.getValue();return S=S?1:0,v<=0||y>=0&&b>=0&&x>=0||y<=0&&b<=0&&x<=0?E.create(p.NUM):this._getResult(v,y,b,x,S,C,t,n)});return l===1&&u===1?v.get(0,0):v}_getResult(e,t,n,r,i,a,o,s){let c=1e-10;if(Math.abs(t)<1e-14)return this._computeSimpleGrowthRate(e,n,r,o,s);let l=a,u=1/0;for(let a=0;a<100;a++){if(l<=-1)return E.create(p.NUM);let{value:a,derivative:o}=this._evaluateRateFunction(l,e,t,n,r,i,c),s=Math.abs(a);if(s<c||Math.abs(o)<1e-14)break;let d=this._getAdaptiveDampedStep(a,o,s,u);l-=d,u=s}return!Number.isFinite(l)||l<=-1?E.create(p.NUM):R.create(l,o===0&&s===0?`0%`:void 0)}_computeSimpleGrowthRate(e,t,n,r,i){if(Math.sign(t)===Math.sign(n))return E.create(p.NUM);let a=(n/-t)**(1/e)-1;return R.create(a,r===0&&i===0?`0%`:void 0)}_evaluateRateFunction(e,t,n,r,i,a,o){let s,c,l;if(Math.abs(e)<o)s=r*(1+t*e)+n*(1+e*a)*t+i,c=r*t+n*a*t;else{l=(1+e)**t,s=r*l+n*(1/e+a)*(l-1)+i;let o=t*(1+e)**(t-1);c=r*o+n*(1/e+a)*o+n*(-1/(e*e))*(l-1)}return{value:s,derivative:c}}_getAdaptiveDampedStep(e,t,n,r){let i=e/t;return n>.001||n>=r*.9?Math.max(Math.min(i,5),-5):Math.max(Math.min(i,.5),-.5)}},Bp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?R.create(0):i;a.isNull()&&(a=R.create(0));let{isError:o,errorObject:s,variants:c}=nc(e,t,n,r,a);if(o)return s;let[l,u,d,f,m]=c,h=k(l);if(typeof h!=`number`)return h;let g=k(u);if(typeof g!=`number`)return g;let _=+d.getValue(),v=+f.getValue(),y=Math.floor(+m.getValue());if(Number.isNaN(_)||Number.isNaN(v)||Number.isNaN(y))return E.create(p.VALUE);if(_<=0||v<=0||y<0||y>4||h>=g)return E.create(p.NUM);let{days:b,yearDays:x}=ge(h,g,y),S=_/(1-v*b/x);return S<0?E.create(p.NUM):R.create(S)}},Vp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,6)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,o.get(t,n),s.get(t,n));if(r)return i;let[c,l,u]=a,d=+c.getValue(),f=+l.getValue(),m=+u.getValue();if(d<=0)return E.create(p.NUM);if(f===0&&m===0)return R.create(0);let h=(m/f)**(1/d)-1;return Number.isNaN(h)||!Number.isFinite(h)||m/f<0?E.create(p.NUM):R.create(h)});return r===1&&i===1?c.get(0,0):c}},Hp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3),d(this,`needsLocale`,!0)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.map((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(r.isError())return r;if(i.isError())return i;let a=+e.getValue(),c=+r.getValue(),l=+i.getValue();if(Number.isNaN(a)||Number.isNaN(c)||Number.isNaN(l))return E.create(p.VALUE);if(l===0)return E.create(p.DIV_BY_ZERO);let u=(a-c)/l;return t===0&&n===0?R.create(u,Pr(this.getLocale())):R.create(u)});return r===1&&i===1?c.get(0,0):c}},Up=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4),d(this,`needsLocale`,!0)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.map((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);if(r.isError())return r;if(i.isError())return i;if(a.isError())return a;let o=+e.getValue(),u=+r.getValue(),d=+i.getValue(),f=+a.getValue();if(Number.isNaN(o)||Number.isNaN(u)||Number.isNaN(d)||Number.isNaN(f))return E.create(p.VALUE);if(u<0||d<=0||f>d)return E.create(p.NUM);let m=(o-u)*(d-f+1)*2/(d*(d+1));return t===0&&n===0?R.create(m,Pr(this.getLocale())):R.create(m)});return i===1&&a===1?u.get(0,0):u}},Wp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=nc(e,t,n);if(r)return i;let[o,s,c]=a,l=k(o);if(typeof l!=`number`)return l;let u=k(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return E.create(p.VALUE);if(d<=0||l>=u)return E.create(p.NUM);let f=Math.floor(u)-Math.floor(l);if(f>Te(O(l).getUTCFullYear()))return E.create(p.NUM);let m=365*d/(360-d*f);if(f>182){let e=100*(1-d*f/360),t=f/365;if(m=(-t+Math.sqrt(t*t-(t*2-1)*(1-100/e)))/(t-.5),Number.isNaN(m))return E.create(p.NUM)}return m<0?E.create(p.NUM):R.create(m)}},Gp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3),d(this,`needsLocale`,!0)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=nc(e,t,n);if(r)return i;let[o,s,c]=a,l=k(o);if(typeof l!=`number`)return l;let u=k(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return E.create(p.VALUE);if(d<=0||l>=u)return E.create(p.NUM);let f=Math.floor(u)-Math.floor(l);if(f>Te(O(l).getUTCFullYear()))return E.create(p.NUM);let m=100*(1-d*f/360);return m<0?E.create(p.NUM):R.create(m,Pr(this.getLocale()))}},Kp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=nc(e,t,n);if(r)return i;let[o,s,c]=a,l=k(o);if(typeof l!=`number`)return l;let u=k(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return E.create(p.VALUE);if(d<=0||l>=u)return E.create(p.NUM);let f=Math.floor(u)-Math.floor(l);if(f>Te(O(l).getUTCFullYear()))return E.create(p.NUM);let m=(100-d)/d*360/f;return R.create(m)}},qp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,5),d(this,`maxParams`,7),d(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a,o){let s=a==null?R.create(2):a;s.isNull()&&(s=R.create(2));let c=o==null?L.create(!1):o;c.isNull()&&(c=L.create(!1));let l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=V(l,u,e,E.create(p.NA)),f=V(l,u,t,E.create(p.NA)),m=V(l,u,n,E.create(p.NA)),h=V(l,u,r,E.create(p.NA)),g=V(l,u,i,E.create(p.NA)),_=V(l,u,s,E.create(p.NA)),v=V(l,u,c,E.create(p.NA));return this._getResultArray(d,f,m,h,g,_,v,l,u)}_getResultArray(e,t,n,r,i,a,o,s,c){let l=e.map((e,s,c)=>{let{isError:l,errorObject:u,variants:d}=X(e,t.get(s,c),n.get(s,c),r.get(s,c),i.get(s,c),a.get(s,c),o.get(s,c));if(l)return u;let[f,m,h,g,_,v,y]=d,b=+f.getValue(),x=+m.getValue(),S=+h.getValue(),C=+g.getValue(),w=+_.getValue(),T=+v.getValue(),ee=+y.getValue();if(b<0||x<0||S<0||C<0||w<0||w>S||C>w||T<0)return E.create(p.NUM);if(S===0&&C===0&&w===0)return E.create(p.DIV_BY_ZERO);let te=this._getResult(b,x,S,C,w,T,ee);return s===0&&c===0?R.create(te,Pr(this.getLocale())):R.create(te)});return s===1&&c===1?l.get(0,0):l}_getResult(e,t,n,r,i,a,o){let s=Math.floor(r),c=Math.ceil(i),l=0;if(e<t){if(r>=1||o)return l;let n=Math.abs(e-t);return l=n*(i-r)>n?n:n*(i-r),-l}if(o)for(let o=s+1;o<=c;o++){let u=Qf(e,t,n,o,a);o===s+1?u*=Math.min(i,s+1)-r:o===c&&(u*=i+1-c),l+=u}else{let o=e-this._getVdb(e,t,n,n,r,a);l=this._getVdb(o,t,n,n-r,i-r,a)}return l}_getVdb(e,t,n,r,i,a){let o=Math.ceil(i),s=0,c=e-t,l=0,u=0,d=!1;for(let f=1;f<=o;f++){if(d)u=l;else{let i=Qf(e,t,n,f,a);l=c/(r-(f-1)),l>i?(u=l,d=!0):(u=i,c-=i)}f===o&&(u*=i+1-o),s+=u}return s}},Jp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull())return E.create(p.NA);let{isError:r,errorObejct:i,_values:a,_dates:o}=this._checkErrors(e,t);if(r)return i;let s=n==null?R.create(.1):n;s.isNull()&&(s=R.create(.1));let{isError:c,errorObject:l,variants:u}=Y(s);if(c)return l;let[d]=u,f=+d.getValue();if(Number.isNaN(f))return E.create(p.VALUE);let{positive:m,negative:h}=this._checkValues(a);if(!m||!h||(a==null?void 0:a.length)!==(o==null?void 0:o.length)||f<0)return E.create(p.NUM);let g=Yf(f,e=>this._iterF(a,o,e));return typeof g==`number`?R.create(g):g}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};let{isError:n,errorObejct:r,_values:i}=this._checkErrorValues(e);if(n)return{isError:n,errorObejct:r};let{isError:a,errorObejct:o,_dates:s}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:i,_dates:s}}_checkErrorValues(e){let n=[];if(e.isArray()){let t=!1,r=E.create(p.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return t=!0,r=i,!1;if(i.isBoolean())return t=!0,r=E.create(p.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return t=!0,r=E.create(p.VALUE),!1;n.push(a)}),t?{isError:t,errorObejct:r}:n.length<=1?{isError:!0,errorObejct:E.create(p.NA)}:{isError:t,_values:n}}else{let n=e.getValue();return e.isBoolean()||e.isString()&&!(0,t.isRealNum)(n)?{isError:!0,errorObejct:E.create(p.VALUE)}:{isError:!0,errorObejct:E.create(p.NA)}}}_checkErrorDates(e){let n=[];if(e.isArray()){let t=!1,r=E.create(p.VALUE);return e.iterator(e=>{if(e!=null&&e.isError())return t=!0,r=e,!1;if(e!=null&&e.isBoolean())return t=!0,r=E.create(p.VALUE),!1;let i=+e.getValue();if(Number.isNaN(i))return t=!0,r=E.create(p.VALUE),!1;if(i<0)return t=!0,r=E.create(p.NUM),!1;n.push(Math.floor(i))}),t?{isError:t,errorObejct:r}:n.length<=1?{isError:!0,errorObejct:E.create(p.NA)}:{isError:t,_dates:n}}else{let n=e.getValue();return e.isBoolean()||e.isString()&&!(0,t.isRealNum)(n)?{isError:!0,errorObejct:E.create(p.VALUE)}:+n<0?{isError:!0,errorObejct:E.create(p.NUM)}:{isError:!0,errorObejct:E.create(p.NA)}}}_checkValues(e){let t=!1,n=!1;for(let r=0;r<e.length;r++)e[r]>0&&(t=!0),e[r]<0&&(n=!0);return{positive:t,negative:n}}_iterF(e,t,n){return e.reduce((e,r,i)=>e+r/(1+n)**((t[i]-t[0])/365),0)}},Yp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull()||n.isNull())return E.create(p.NA);let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=+o.getValue();if(Number.isNaN(s))return E.create(p.VALUE);let{isError:c,errorObejct:l,_values:u,_dates:d}=this._checkErrors(t,n);if(c)return l;if(u=u,d=d,s<0||u.length!==d.length)return E.create(p.NUM);let f=0,m=d[0];for(let e=0;e<d.length;e++){let t=d[e],n=u[e];f+=n/(1+s)**((t-m)/365)}return R.create(f)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};let{isError:n,errorObejct:r,_values:i}=this._checkErrorValues(e);if(n)return{isError:n,errorObejct:r};let{isError:a,errorObejct:o,_dates:s}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:i,_dates:s}}_checkErrorValues(e){let t=[];if(e.isArray()){let n=!1,r=E.create(p.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isNull()||i.isBoolean()||i.isString()&&i.getValue()===``)return n=!0,r=E.create(p.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=E.create(p.VALUE),!1;t.push(a)}),n?{isError:n,errorObejct:r}:{isError:n,_values:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:E.create(p.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:E.create(p.VALUE)}:{isError:!1,_values:[t]}}}_checkErrorDates(e){let t=[];if(e.isArray()){let n=!1,r=E.create(p.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isNull()||i.isBoolean())return n=!0,r=E.create(p.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=E.create(p.VALUE),!1;if(a<0)return n=!0,r=E.create(p.NUM),!1;t.push(Math.floor(a))}),n?{isError:n,errorObejct:r}:{isError:n,_dates:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:E.create(p.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:E.create(p.VALUE)}:+t<0?{isError:!0,errorObejct:E.create(p.NUM)}:{isError:!1,_dates:[Math.floor(t)]}}}},Xp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,6),d(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?R.create(0):o;s.isNull()&&(s=R.create(0));let{isError:c,errorObject:l,variants:u}=nc(e,t,n,r,i,a,s);if(c)return l;let[d,f,m,h,g,_,v]=u,y=k(d);if(typeof y!=`number`)return y;let b=k(f);if(typeof b!=`number`)return b;let x=+m.getValue(),S=+h.getValue(),C=+g.getValue(),w=Math.floor(+_.getValue()),T=Math.floor(+v.getValue());if(Number.isNaN(x)||Number.isNaN(S)||Number.isNaN(C)||Number.isNaN(w)||Number.isNaN(T))return E.create(p.VALUE);if(x<0||S<=0||C<=0||![1,2,4].includes(w)||T<0||T>4||y>=b||!Kf(y,b,w))return E.create(p.NUM);let ee=this._getResult(y,b,x,S,C,w,T);return R.create(ee)}_getResult(e,t,n,r,i,a,o){if(Pf(e,t,a)>1){let s=n||.01,c=Zf(e,t,n,s,i,a,o),l=c-r;for(let u=0;u<100&&Math.abs(l)>1e-7;u++)c=Zf(e,t,n,1.01*s,i,a,o),s+=-l/(c-r-l)*s*.01,l=Zf(e,t,n,s,i,a,o)-r;return s}let s=jf(e,t,a,o),c=Mf(e,t,a,o),{days:l}=ge(e,t,o),u=r/100+s/c*n/a;return(i/100+n/a-u)/u*a*c/l}},Zp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?R.create(0):i;a.isNull()&&(a=R.create(0));let{isError:o,errorObject:s,variants:c}=nc(e,t,n,r,a);if(o)return s;let[l,u,d,f,m]=c,h=k(l);if(typeof h!=`number`)return h;let g=k(u);if(typeof g!=`number`)return g;let _=+d.getValue(),v=+f.getValue(),y=Math.floor(+m.getValue());if(Number.isNaN(_)||Number.isNaN(v)||Number.isNaN(y))return E.create(p.VALUE);if(_<=0||v<=0||y<0||y>4||h>=g)return E.create(p.NUM);let{days:b,yearDays:x}=ge(h,g,y),S=(v/_-1)/(b/x);return R.create(S)}},Qp=class extends Z{constructor(...e){super(...e),d(this,`minParams`,5),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=nc(e,t,n,r,i,o);if(s)return c;let[u,d,f,m,h,g]=l,_=k(u);if(typeof _!=`number`)return _;let v=k(d);if(typeof v!=`number`)return v;let y=k(f);if(typeof y!=`number`)return y;let b=+m.getValue(),x=+h.getValue(),S=Math.floor(+g.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S))return E.create(p.VALUE);let C=this._getDateCorrectOrder(v,_,y);if(b<0||x<=0||S<0||S>4||!C)return E.create(p.NUM);let w=Ee(_,S),{days:T}=ge(_,v,S),{days:ee}=ge(y,v,S),{days:te}=ge(y,_,S),ne=((1+ee/w*b)/(x/100+te/w*b)-1)/(T/w);return R.create(ne)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}};let $p=[[$f,W.ACCRINT],[ep,W.ACCRINTM],[tp,W.AMORLINC],[np,W.COUPDAYBS],[rp,W.COUPDAYS],[ip,W.COUPDAYSNC],[ap,W.COUPNCD],[op,W.COUPNUM],[sp,W.COUPPCD],[cp,W.CUMIPMT],[lp,W.CUMPRINC],[up,W.DB],[dp,W.DDB],[fp,W.DISC],[pp,W.DOLLARDE],[mp,W.DOLLARFR],[hp,W.DURATION],[gp,W.EFFECT],[_p,W.FV],[vp,W.FVSCHEDULE],[yp,W.INTRATE],[bp,W.IPMT],[xp,W.IRR],[Sp,W.ISPMT],[Cp,W.MDURATION],[wp,W.MIRR],[Tp,W.NOMINAL],[Ep,W.NPER],[Dp,W.NPV],[Op,W.ODDFPRICE],[kp,W.ODDFYIELD],[Ap,W.ODDLPRICE],[jp,W.ODDLYIELD],[Mp,W.PDURATION],[Np,W.PMT],[Pp,W.PPMT],[Fp,W.PRICE],[Ip,W.PRICEDISC],[Lp,W.PRICEMAT],[Rp,W.PV],[zp,W.RATE],[Bp,W.RECEIVED],[Vp,W.RRI],[Hp,W.SLN],[Up,W.SYD],[Wp,W.TBILLEQ],[Gp,W.TBILLPRICE],[Kp,W.TBILLYIELD],[qp,W.VDB],[Jp,W.XIRR],[Yp,W.XNPV],[Xp,W.YIELD],[Zp,W.YIELDDISC],[Qp,W.YIELDMAT]];var em=class extends Z{constructor(...e){super(...e),d(this,`needsReferenceObject`,!0),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isError())return n;if(n.isReferenceObject()&&(n=n.toArrayValueObject()),n.isArray()){let e=n.getRowCount(),r=n.getColumnCount();if(e===1&&r===1){let e=n.get(0,0);return this._handleSingleObject(e,t)}return n.map(e=>e.isError()?e:this._handleSingleObject(e,t,!0))}return this._handleSingleObject(n,t)}_handleSingleObject(e,n,r=!1){let i=n;if(i.isError())return i;if(!i.isReferenceObject())return E.create(p.NA);let{columnData:a,defaultColumnWidth:o}=i.getCurrentActiveSheetData();i=i.toArrayValueObject();let s=i.getCurrentRow(),c=i.getCurrentColumn();i=i.getFirstCell();let l=`${e.getValue()}`,u;switch(l.toLocaleLowerCase()){case`address`:return z.create(`$${t.Tools.chatAtABC(c)}$${s+1}`);case`col`:return R.create(c+1);case`color`:return R.create(0);case`contents`:return i;case`filename`:return E.create(p.VALUE);case`format`:return z.create(`G`);case`parentheses`:return R.create(0);case`prefix`:return z.create(``);case`protect`:return R.create(1);case`row`:return R.create(s+1);case`type`:return u=`v`,i.isNull()&&(u=`b`),i.isString()&&(u=`l`),z.create(u);case`width`:return this._getWidthResult(a,o,c,r);default:return E.create(p.VALUE)}}_getWidthResult(e,t,n,r){var i;let a=(i=e[n])==null?void 0:i.w;if(!a&&a!==0&&(a=t),r)return R.create(a);let o=[[a,a===t]];return B.createByArray(o)}},tm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1),d(this,`_errorTypeValueMap`,new Map([[p.NULL,1],[p.DIV_BY_ZERO,2],[p.VALUE,3],[p.REF,4],[p.NAME,5],[p.NUM,6],[p.NA,7],[p.CONNECT,8],[p.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e.getValue(),n=this._errorTypeValueMap.get(t);return n?R.create(n):E.create(p.NA)}},nm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=tc(e,t,n,r==null?L.create(!0):r,i==null?L.create(!0):i);if(a)return o;let[c,l,u,d,f]=s;if(d.isString()||f.isString())return E.create(p.VALUE);if(l.compare(u,`>`).getValue()===!0)return E.create(p.NUM);let m=+d.getValue(),h=+f.getValue(),g=m?`>=`:`>`,_=h?`<=`:`<`;return c.compare(l,g).getValue()===!1||c.compare(u,_).getValue()===!1?L.create(!1):L.create(!0)}},rm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isNull()?L.create(!0):e.isArray()?e.mapValue(e=>e.isNull()?L.create(!0):L.create(!1)):L.create(!1)}},im=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return E.create(p.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==``?L.create(le(t.getPattern())):t.isString()&&(se(`${t.getValue()}`)||ce(`${t.getValue()}`))?L.create(!0):L.create(!1)}},am=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let n=e;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);n=n.get(0,0)}if(n.isError())return n;if(n.isNull()||n.isBoolean()||n.isNumber())return L.create(!1);let r=`${n.getValue()}`;if(r.length>254)return L.create(!1);let i=t.Tools.topLevelDomainCombiningString(),a=RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${i})$`,`i`);return L.create(a.test(r))}},om=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.getValue()===p.NA?L.create(!1):e.isError()?L.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===p.NA?L.create(!1):e.isError()?L.create(!0):L.create(!1)):L.create(!1)}},sm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isError()?L.create(!0):e.isArray()?e.mapValue(e=>e.isError()?L.create(!0):L.create(!1)):L.create(!1)}},cm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return E.create(p.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return E.create(p.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return E.create(p.VALUE);let r=n%2==0;return L.create(r)}},lm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1),d(this,`needsReferenceObject`,!0)}calculate(e){var t;if(e.isError())return e;if(!e.isReferenceObject())return E.create(p.NA);let n=(t=e.getCurrentActiveSheetData())==null?void 0:t.cellData.getMatrix(),{startRow:r,startColumn:i}=e.getRangePosition(),a=e.toArrayValueObject(),o=a.mapValue((e,t,a)=>{var o;let s=n==null||(o=n[r+t])==null?void 0:o[i+a];return s!=null&&s.f||s!=null&&s.si?L.create(!0):L.create(!1)});return a.getRowCount()===1&&a.getColumnCount()===1?o.get(0,0):o}},um=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isBoolean()?L.create(!0):e.isArray()?e.mapValue(e=>e.isBoolean()?L.create(!0):L.create(!1)):L.create(!1)}},dm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.getValue()===p.NA?L.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===p.NA?L.create(!0):L.create(!1)):L.create(!1)}},fm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return!e.isArray()&&!e.isString()?L.create(!0):e.isArray()?e.mapValue(e=>e.isString()?L.create(!1):L.create(!0)):L.create(!1)}},pm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isNumber()?L.create(!0):e.isArray()?e.mapValue(e=>e.isNumber()?L.create(!0):L.create(!1)):L.create(!1)}},mm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return E.create(p.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return E.create(p.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return E.create(p.VALUE);let r=n%2!=0;return L.create(r)}},hm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1),d(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?L.create(!0):L.create(!1)}},gm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isString()?L.create(!0):e.isArray()?e.mapValue(e=>e.isString()?L.create(!0):L.create(!1)):L.create(!1)}},_m=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let n=e;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);n=n.get(0,0)}if(n.isError())return n;if(n.isNull()||n.isBoolean()||n.isNumber())return L.create(!1);let r=`${n.getValue()}`.replace(/^\s+|\s+$/g,``);if(r.length>1e3)return L.create(!1);let i=t.Tools.topLevelDomainCombiningString(),a=RegExp(`^(?:(?:https?|s?ftp|ftps|nfs|ssh)://+[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${i})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${i})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`,`i`);return L.create(a.test(r))}},vm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return R.create(0);let n=+t.getValue();return R.create(n)}},ym=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,0)}calculate(){return E.create(p.NA)}},bm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,1),d(this,`needsReferenceObject`,!0),d(this,`needsSheetsInfo`,!0)}calculate(e){var t;if(e!=null&&e.isError())return e;let{sheetOrder:n,sheetNameMap:r}=this.getSheetsInfo();if(!e){let e=n.findIndex(e=>e===this.subUnitId);return R.create(e+1)}if(e.isReferenceObject()){let t=e.getForcedSheetId(),r=e.getDefaultSheetId(),i=n.findIndex(e=>t?e===t:e===r);return R.create(i+1)}if(e.isArray())return E.create(p.NA);let i=`${e.getValue()}`.toLocaleLowerCase(),a=(t=Object.entries(r).find(([e,t])=>t.toLocaleLowerCase()===i))==null?void 0:t[0];if(!a)return E.create(p.NA);let o=n.findIndex(e=>e===a);return R.create(o+1)}},xm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,0),d(this,`needsSheetsInfo`,!0)}calculate(){let{sheetOrder:e}=this.getSheetsInfo();return R.create(e.length)}},Sm=class extends Z{constructor(...e){super(...e),d(this,`needsReferenceObject`,!0),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isReferenceObject()){let t=e.getRowCount(),n=e.getColumnCount();if(t===1&&n===1){let t=e.getFirstCell();if(t.isError())return R.create(16);if(t.isBoolean())return R.create(4);if(t.isString())return R.create(2);if(t.isNumber()||t.isNull())return R.create(1)}else return R.create(64)}else{if(e.isArray())return R.create(64);if(e.isError())return R.create(16);if(e.isBoolean())return R.create(4);if(e.isString())return R.create(2);if(e.isNumber()||e.isNull())return R.create(1)}return R.create(128)}};let Cm=[[em,zo.CELL],[tm,zo.ERROR_TYPE],[nm,zo.ISBETWEEN],[rm,zo.ISBLANK],[im,zo.ISDATE],[am,zo.ISEMAIL],[om,zo.ISERR],[sm,zo.ISERROR],[cm,zo.ISEVEN],[lm,zo.ISFORMULA],[um,zo.ISLOGICAL],[dm,zo.ISNA],[fm,zo.ISNONTEXT],[pm,zo.ISNUMBER],[mm,zo.ISODD],[hm,zo.ISREF],[gm,zo.ISTEXT],[_m,zo.ISURL],[vm,zo.N],[ym,zo.NA],[bm,zo.SHEET],[xm,zo.SHEETS],[Sm,zo.TYPE]];var wm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=!0,n=!0,r=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e!=null&&e.isError())return r=e,!1;(e!=null&&e.isBoolean()||e!=null&&e.isNumber())&&(t=t&&!!e.getValue(),n=!1)}),r)return r}else (i.isBoolean()||i.isNumber())&&(t=t&&!!i.getValue(),n=!1)}return n?E.create(p.VALUE):L.create(t)}},Tm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2),d(this,`needsReferenceObject`,!0)}calculate(e,t){let n=e,r=null;if(e.isReferenceObject()&&(n=e.toArrayValueObject(),r=e),n.isError())return n;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return E.create(p.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=V(a,o,n);let s=[[]];for(let e=0;e<o;e++){let t=[];for(let r=0;r<a;r++){let i=n.get(r,e);t.push([i])}let o=B.create({calculateValueList:t,rowCount:a,columnCount:1,unitId:``,sheetId:``,row:0,column:0});if(r){let{startRow:t,startColumn:n}=r.getRangePosition(),i={startRow:t,startColumn:n+e,endRow:t+a-1,endColumn:n+e};o=this.createReferenceObject(r,i)}let c=i.execute(o);if(c.isArray()){let e=c.getRowCount(),t=c.getColumnCount();if(e>1||t>1)return E.create(p.CALC);c=c.get(0,0)}c.isNull()&&(c=R.create(0)),s[0].push(c)}return o===1?s[0][0]:B.create({calculateValueList:s,rowCount:1,columnCount:o,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Em=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2),d(this,`needsReferenceObject`,!0)}calculate(e,t){let n=e,r=null;if(e.isReferenceObject()&&(n=e.toArrayValueObject(),r=e),n.isError())return n;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return E.create(p.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=V(a,o,n);let s=[];for(let e=0;e<a;e++){let t=[[]];for(let r=0;r<o;r++){let i=n.get(e,r);t[0].push(i)}let a=B.create({calculateValueList:t,rowCount:1,columnCount:o,unitId:``,sheetId:``,row:0,column:0});if(r){let{startRow:t,startColumn:n}=r.getRangePosition(),i={startRow:t+e,startColumn:n,endRow:t+e,endColumn:n+o-1};a=this.createReferenceObject(r,i)}let c=i.execute(a);if(c.isArray()){let e=c.getRowCount(),t=c.getColumnCount();if(e>1||t>1)return E.create(p.CALC);c=c.get(0,0)}c.isNull()&&(c=R.create(0)),s.push([c])}return a===1?s[0][0]:B.create({calculateValueList:s,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Dm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,0)}calculate(){return L.create(!1)}},Om=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n=L.create(!1)){let r=e;if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();t===1&&n===1&&(r=e.get(0,0))}if(!r.isArray())return this._handleSingleObject(r,t,n);let i=Math.max(r.isArray()?r.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(r.isArray()?r.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=V(i,a,r,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA));return o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return this._handleSingleObject(e,r,i)})}_handleSingleObject(e,t,n){return e.isError()?e:e.getValue()?t:n}},km=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(!e.isArray())return e.isError()?t:e;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&i.set(t,n,a.get(t,n))}),i}},Am=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==p.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===p.NA?t:e;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&e.getErrorType()===p.NA&&i.set(t,n,a.get(t,n))}),i}},jm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,255)}calculate(...e){if(e.length%2!=0)return E.create(p.NA);for(let t=0;t<e.length;t++)if(e[t].isError())return e[t];let t=Math.max(...e.map(e=>e.isArray()?e.getRowCount():1)),n=Math.max(...e.map(e=>e.isArray()?e.getColumnCount():1)),r=e.map(e=>V(t,n,e,E.create(p.NA))),i=r[0].map((e,t,n)=>{for(let e=0;e<r.length;e+=2){let i=r[e].get(t,n)||Ua.create(),a=r[e+1].get(t,n)||Ua.create();if(i.isNull())continue;if(i.isError())return i;let o=i.getValue();if(i.isString()){if(`${o}`.toLocaleUpperCase()===`TRUE`)return a;if(`${o}`.toLocaleUpperCase()===`FALSE`)continue;return E.create(p.VALUE)}if(+o)return a.isNull()?E.create(p.NA):a}return E.create(p.NA)});return t===1&&n===1?i.get(0,0):i}},Mm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){return E.create(p.VALUE)}},Nm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,255)}calculate(...e){return E.create(p.VALUE)}},Pm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(...e){let t=this.getIndexNumValue(e[0]);if(typeof t!=`number`)return t;let n=this.getIndexNumValue(e[1]);if(typeof n!=`number`)return n;if(!(e[2].isValueObject()&&e[2].isLambda()))return E.create(p.VALUE);let r=e[2],i=[];for(let e=0;e<t;e++){i[e]==null&&(i[e]=[]);for(let t=0;t<n;t++){let n=r.execute(R.create(e+1),R.create(t+1));n.isArray()&&(n=n.get(0,0)),i[e][t]=n}}return new io(i)}isAsync(){return!0}},Fm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,255),d(this,`needsReferenceObject`,!0)}calculate(...e){let t=[],n=null,r=0,i=0;for(let a=0;a<e.length;a++){let o=e[a],s=o;if(s.isReferenceObject()&&(s=o.toArrayValueObject()),s.isError())return s;if(a===e.length-1){if(!(o.isValueObject()&&o.isLambda()))return E.create(p.VALUE);n=o}else t.push(o),r=Math.max(r,s.isArray()?s.getRowCount():1),i=Math.max(i,s.isArray()?s.getColumnCount():1)}let a=this._getResultArray(t,n,r,i);return a instanceof E?a:r===1&&i===1?a[0][0]:B.create({calculateValueList:a,rowCount:r,columnCount:i,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArray(e,t,n,r){let i=[];for(let a=0;a<n;a++){let n=[];for(let i=0;i<r;i++){let r=[],o=!1;for(let t=0;t<e.length;t++){let s=e[t],c=null;if(s.isReferenceObject()&&(c=s,s=s.toArrayValueObject()),!s.isArray())if(a===0&&i===0){r.push(c||s);continue}else{n.push(E.create(p.NA)),o=!0;break}let l=s.get(a,i);if(!l){n.push(E.create(p.NA)),o=!0;break}if(c){let{startRow:e,startColumn:t}=c.getRangePosition(),n={startRow:e+a,startColumn:t+i,endRow:e+a,endColumn:t+i};l=this.createReferenceObject(c,n)}r.push(l)}if(o||r.length===0)continue;let s=t.execute(...r);if(s.isArray()){let e=s.getRowCount(),t=s.getColumnCount();if(e>1||t>1)return E.create(p.CALC);s=s.get(0,0)}s.isNull()&&(s=R.create(0)),n.push(s)}i.push(n)}return i}},Im=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t=+e.getValue();return Number.isNaN(t)?E.create(p.VALUE):L.create(!t)}},Lm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=!1,n=!0,r=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e!=null&&e.isError())return r=e,!1;(e!=null&&e.isBoolean()||e!=null&&e.isNumber())&&(t=t||!!e.getValue(),n=!1)}),r)return r}else (i.isBoolean()||i.isNumber())&&(t=t||!!i.getValue(),n=!1)}return n?new E(p.VALUE):new L(t)}},Rm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3),d(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r,i;e.isReferenceObject()?(r=e.toArrayValueObject(),i=e):(r=e,i=null);let a,o;return t.isReferenceObject()?(a=t.toArrayValueObject(),o=t):(a=t,o=null),r.isArray()?r.mapValue(e=>this._handleSingleValueObject(e,a,n,i,o)):this._handleSingleValueObject(r,a,n,i,o)}_handleSingleValueObject(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(!(n.isValueObject()&&n.isLambda()&&n.getLambdaPrivacyVarKeys().length===2))return E.create(p.VALUE);let a=n,o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,c=e;r&&(c=r);for(let e=0;e<o;e++)for(let n=0;n<s;n++){let r=t.isArray()?t.get(e,n):t;if(r.isError())return r;if(i){let{startRow:t,startColumn:a}=i.getRangePosition(),o={startRow:t+e,startColumn:a+n,endRow:t+e,endColumn:a+n};r=this.createReferenceObject(i,o)}let o=a.execute(c,r);if(o.isError())return o;o.isNull()&&(o=R.create(0)),c=o}return c.isReferenceObject()?c.toArrayValueObject():c}},zm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3),d(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e,i=null;e.isReferenceObject()&&(r=e.toArrayValueObject(),i=e),r=r;let a=t,o=null;if(t.isReferenceObject()&&(a=t.toArrayValueObject(),o=t),a=a,r.isError())return r;if(a.isError())return a;if(n.isError())return n;if(!(n.isValueObject()&&n.isLambda()&&n.getLambdaPrivacyVarKeys().length===2))return E.create(p.VALUE);if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return E.create(p.CALC);r=r.get(0,0)}return this._getResult(r,a,n,i,o)}_getResult(e,t,n,r,i){let a=[],o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,c=e;r&&(c=r);for(let e=0;e<o;e++){let r=[];for(let a=0;a<s;a++){if(c.isError()){r.push(c);continue}let o=t.isArray()?t.get(e,a):t;if(o.isError()){c=o,r.push(o);continue}if(i){let{startRow:t,startColumn:n}=i.getRangePosition(),r={startRow:t+e,startColumn:n+a,endRow:t+e,endColumn:n+a};o=this.createReferenceObject(i,r)}let s=n.execute(c,o);if(s.isArray()){let e=s.getRowCount(),t=s.getColumnCount();if(e>1||t>1)return E.create(p.CALC);s=s.get(0,0)}s.isNull()&&(s=R.create(0)),c=s,r.push(s)}a.push(r)}return o===1&&s===1?a[0][0]:B.create({calculateValueList:a,rowCount:o,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Bm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3)}calculate(e,...t){if(e.isError())return e;let n=t.length%2!=0,r=n?t[t.length-1]:Ua.create();return!e.isArray()&&!t.some(e=>e.isArray())?this._handleNonArrayInputs(e,t,r,n):this._handleArrayInputs(e,t,r,n)}_handleNonArrayInputs(e,t,n,r){for(let n=0;n<t.length-(r?1:0);n+=2){let r=t[n],i=t[n+1];if(!r.isNull()){if(r.isError())return r;if(`${e.getValue()}`.toLocaleLowerCase()===`${r.getValue()}`.toLocaleLowerCase())return i.isNull()?E.create(p.NA):i}}return n.isNull()?E.create(p.NA):n}_handleArrayInputs(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,...t.map(e=>e.isArray()?e.getRowCount():1),n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,...t.map(e=>e.isArray()?e.getColumnCount():1),n.isArray()?n.getColumnCount():1),o=V(i,a,e),s=t.map(e=>V(i,a,e,E.create(p.NA))),c=V(i,a,n,E.create(p.NA));return o.map((e,t,n)=>{for(let i=0;i<s.length-(r?1:0);i+=2){let r=s[i].get(t,n)||Ua.create(),a=s[i+1].get(t,n)||Ua.create();if(!r.isNull()){if(r.isError()||e.isError())return r.isError()?r:e;if(`${e.getValue()}`.toLocaleLowerCase()===`${r.getValue()}`.toLocaleLowerCase())return a.isNull()?E.create(p.NA):a}}let i=c.get(t,n)||Ua.create();return i.isNull()?E.create(p.NA):i})}},Vm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,0)}calculate(){return L.create(!0)}},Hm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=0,n=!0,r=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e!=null&&e.isError())return r=e,!1;(e!=null&&e.isBoolean()||e!=null&&e.isNumber())&&(e.getValue()&&t++,n=!1)}),r)return r}else (i.isBoolean()||i.isNumber())&&(i.getValue()&&t++,n=!1)}return n?E.create(p.VALUE):L.create(t%2==1)}};let Um=[[wm,Bo.AND],[Tm,Bo.BYCOL],[Em,Bo.BYROW],[Dm,Bo.FALSE],[Om,Bo.IF],[km,Bo.IFERROR],[Am,Bo.IFNA],[jm,Bo.IFS],[Mm,Bo.LAMBDA],[Nm,Bo.LET],[Pm,Bo.MAKEARRAY],[Fm,Bo.MAP],[Im,Bo.NOT],[Lm,Bo.OR],[Rm,Bo.REDUCE],[zm,Bo.SCAN],[Bm,Bo.SWITCH],[Vm,Bo.TRUE],[Hm,Bo.XOR]];var Wm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,5)}calculate(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n!=null&&n.isError())return n;if(r!=null&&r.isError())return r;if(i!=null&&i.isError())return i;let a=n==null?R.create(1):n,o=r==null?L.create(!0):r,s=i==null?z.create(``):i,c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,E.create(p.NA)),d=V(c,l,t,E.create(p.NA)),f=V(c,l,a,E.create(p.NA)),m=V(c,l,o,E.create(p.NA)),h=V(c,l,s,E.create(p.NA));return u.map((e,t,n)=>{let r=d.get(t,n)||E.create(p.NA),i=f.get(t,n)||E.create(p.NA),a=m.get(t,n)||E.create(p.NA),o=h.get(t,n)||E.create(p.NA);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:o.isError()?o:this._calculateSingleCell(e,r,i,a,o)})}_calculateSingleCell(e,t,n,r,i){let a=Number.parseInt(`${Number(e.getValue())-1}`),o=Number.parseInt(`${Number(t.getValue())-1}`),s=Number.parseInt(`${Number(n.getValue())}`);if(Number.isNaN(a)||Number.isNaN(o)||Number.isNaN(s)||s<1||s>4)return E.create(p.VALUE);let c=Gm(s),l=this.getZeroOrOneByOneDefault(r),u=nn(`${i.getValue()}`),d={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:c,endAbsoluteRefType:c},f=r&&!l?Qs(d):Ut(d);return z.create(u===``?f:`${u}!${f}`)}};function Gm(e){switch(e){case 1:return t.AbsoluteRefType.ALL;case 2:return t.AbsoluteRefType.ROW;case 3:return t.AbsoluteRefType.COLUMN;case 4:return t.AbsoluteRefType.NONE;default:return t.AbsoluteRefType.ALL}}var Km=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1),d(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?R.create(1):E.create(p.VALUE)}},qm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,255),d(this,`needsReferenceObject`,!0)}calculate(e,...t){let n=e;if(n.isError())return n;if(n.isReferenceObject()&&(n=n.toArrayValueObject()),!n.isArray()){let e=n.convertToNumberObjectValue();return e.isError()?e:t[Math.trunc(+e.getValue())-1]||E.create(p.VALUE)}let r=n.isArray()?n.getRowCount():1,i=n.isArray()?n.getColumnCount():1;t.forEach((e,t)=>{if(e.isArray()){let t=e;r=Math.max(r,t.getRowCount()),i=Math.max(i,t.getColumnCount())}else r=Math.max(r,1),i=Math.max(i,1)});let a=V(r,i,n,E.create(p.NA)),o=t.map(e=>{let t=e;return t.isReferenceObject()&&(t=t.toArrayValueObject()),V(r,i,t,E.create(p.NA))});return a.map((e,t,n)=>{if(e.isError())return e;let r=e.convertToNumberObjectValue();if(r.isError())return r;let i=o[Math.trunc(+r.getValue())-1],a=(i==null?void 0:i.get(t,n))||E.create(p.VALUE);return a!=null&&a.isNull()&&(a=R.create(0)),a})}},Jm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,255)}calculate(e,...t){if(e.isError())return e;let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=[];for(let a=0;a<t.length;a++){let o=t[a];if(o.isArray()){let e=o.getRowCount(),t=o.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);o=o.get(0,0)}if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;let s=Math.trunc(+o.getValue());if(s===0||Math.abs(s)>r)return E.create(p.VALUE);let c=e;r>1&&(c=s<0?e.slice(void 0,[s+r,s+1+r]):e.slice(void 0,[s-1,s]));for(let t=0;t<n;t++)i[t]||(i[t]=[]),e.isArray()?i[t].push(c.get(t,0)):i[t].push(e)}return B.create({calculateValueList:i,rowCount:i.length,columnCount:i[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Ym=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,255)}calculate(e,...t){if(e.isError())return e;let n=e.isArray()?e.getRowCount():1,r=[];for(let i=0;i<t.length;i++){let a=t[i];if(a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);a=a.get(0,0)}if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=Math.trunc(+a.getValue());if(o===0||Math.abs(o)>n)return E.create(p.VALUE);let s=e;n>1&&(s=o<0?e.slice([o+n,o+1+n]):e.slice([o-1,o])),e.isArray()?r.push(s.getArrayValue()[0]):r.push([e])}return B.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Xm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,1)}calculate(e){if(e==null)return R.create(this.column+1);if(e.isError())return e;if(!e.isArray())return E.create(p.NA);let t=e.getCurrentColumn(),n=e.getColumnCount(),r=[];for(let e=0;e<n;e++)r.push(R.create(t+e+1));let i={calculateValueList:[r],rowCount:1,columnCount:n,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column};return B.create(i)}},Zm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return E.create(p.NA);let t=e.getColumnCount();return R.create(t)}},Qm=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(0):n,i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),c=V(o,s,t,E.create(p.NA)),l=V(o,s,r,E.create(p.NA));if(o>1||s>1)return c.mapValue((t,n,r)=>{let o=l.get(n,r);if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,i,a);return s?c:e.isArray()?E.create(p.VALUE):e});if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);let u=t.isArray()?t.get(0,0):t,d=r.isArray()?r.get(0,0):r,{isError:f,errorObject:m,rowsValue:h,columnsValue:g}=this._checkRowsColumns(u,d,i,a);return f?m:this._getResultArray(e,h,g,i,a)}_checkRowsColumns(e,t,n,r){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let i=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(i)||Number.isNaN(a)?{isError:!0,errorObject:E.create(p.VALUE)}:Math.abs(i)>=n||Math.abs(a)>=r?{isError:!0,errorObject:E.create(p.CALC)}:{isError:!1,rowsValue:i,columnsValue:a}}_getResultArray(e,t,n,r,i){let a=t>=0?[t,r]:[0,r+t],o=n>=0?[n,i]:[0,i+n],s;return s=t===0&&n===0?e:t===0?e.slice(void 0,o):n===0?e.slice(a,void 0):e.slice(a,o),s=s.map(e=>e.isNull()?R.create(0):e),r-t===1&&i-n===1?s.get(0,0):s}},$m=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t,s=n==null?R.create(a):n,c=r==null?E.create(p.NA):r;t.isNull()&&(o=R.create(i)),s.isNull()&&(s=R.create(a));let l=Math.max(o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),d=V(l,u,o,E.create(p.NA)),f=V(l,u,s,E.create(p.NA));if(l>1||u>1)return d.mapValue((t,n,r)=>{let o=f.get(n,r);if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);let{isError:s,errorObject:l}=this._checkRowsColumnsPadWith(t,o,c,i,a);return s?l:e.isArray()?e.get(0,0):e});if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);let m=o.isArray()?o.get(0,0):o,h=s.isArray()?s.get(0,0):s,{isError:g,errorObject:_,rowsValue:v,columnsValue:y,padWithObject:b}=this._checkRowsColumnsPadWith(m,h,c,i,a);return g?_:this._getResultArray(e,v,y,b,i,a)}_checkRowsColumnsPadWith(e,t,n,r,i){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let a=Math.trunc(+e.getValue()),o=Math.trunc(+t.getValue());if(Number.isNaN(a)||Number.isNaN(o)||Math.abs(a)<r||Math.abs(o)<i)return{isError:!0,errorObject:E.create(p.VALUE)};let s=n;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:E.create(p.VALUE)};s=n.get(0,0)}return{isError:!1,rowsValue:a,columnsValue:o,padWithObject:s}}_getResultArray(e,t,n,r,i,a){let o=[];o=e.isArray()?e.map(e=>e.isNull()?R.create(0):e).getArrayValue():[[e]];let s=Math.max(0,t-i),c=Math.max(0,n-a);for(let e=0;e<s;e++)o.push(Array(a).fill(r));for(let e=0;e<c;e++)o.forEach(e=>{e.push(r)});return t===1&&n===1?o[0][0]:B.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},eh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?E.create(p.CALC):n;if(e.isError())return e;if(t.isError())return t;let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1;return o>1&&s>1||o===1&&s!==a||s===1&&o!==i?E.create(p.VALUE):i===1&&a===1?this._getResultArrayByR1C1(e,t,r):o===1?s===a?this._getResultArrayByR1(i,a,e,t,r):E.create(p.VALUE):s===1?o===i?this._getResultArrayByC1(i,a,e,t,r):E.create(p.VALUE):r}_getResultArrayByR1C1(e,t,n){let r=e,i=t;return r.isArray()&&(r=r.get(0,0)),i.isArray()&&(i=i.get(0,0)),i.isString()&&(i=i.convertToNumberObjectValue()),i.isError()?i:+i.getValue()?r:n}_getResultArrayByR1(e,t,n,r,i){let a=[];for(let i=0;i<t;i++){let t=r.get(0,i);if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;if(+t.getValue())for(let t=0;t<e;t++){a[t]||(a[t]=[]);let e=n.get(t,i);a[t].push(e)}}return a.length===0?i:B.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArrayByC1(e,t,n,r,i){let a=[];for(let i=0;i<e;i++){let e=r.get(i,0);if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return e;if(!+e.getValue())continue;let o=[];for(let e=0;e<t;e++){let t=n.get(i,e);o.push(t)}a.push(o)}return a.length===0?i:B.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},th=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1),d(this,`needsReferenceObject`,!0),d(this,`needsFormulaDataModel`,!0)}calculate(e){var t;if(!e.isReferenceObject())return E.create(p.NA);let n=e.getUnitId(),r=e.getSheetId(),i=(t=e.getUnitData()[n])==null||(t=t[r])==null?void 0:t.cellData,{startRow:a,startColumn:o}=e.getRangePosition(),s=e.toArrayValueObject().mapValue((e,t,s)=>{let c=i.getValue(a+t,o+s);if(c!=null&&c.f||c!=null&&c.si){let e=this._formulaDataModel.getFormulaStringByCell(a+t,o+s,r,n);return z.create(e)}return E.create(p.NA)});return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}},nh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return E.create(p.REF);if(!t.isArray()||n.isError()||r!=null&&r.isError())return E.create(p.NA);let i=this.getZeroOrOneByOneDefault(r);if(i==null)return E.create(p.VALUE);let a=this.getIndexNumValue(n);if(a instanceof E)return a;let o=t.slice([0,1]),s=t.slice([a-1,a]);return o==null||s==null?E.create(p.REF):e.isArray()?e.map(e=>this._handleSingleObject(e,o,s,i)):this._handleSingleObject(e,o,s,i)}_handleSingleObject(e,t,n,r){return r===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}},rh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=Math.max(...e.map(e=>e.isArray()?e.getRowCount():1)),n=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<t;e++){n[e]||(n[e]=[]);for(let t=0;t<o;t++){let r=i;i.isArray()&&(r=i.get(e,t)),e>a-1||!r?n[e].push(E.create(p.NA)):n[e].push(r)}}}return B.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},ih=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=e;if(e.isArray()&&(n=e.get(0,0)),n.isError())return n;let r=t;if(t!=null&&t.isArray()&&(r=t.get(0,0)),r!=null&&r.isError())return r;let i=`${n.getValue()}`;n.isNull()&&(i=``);let a=i;return r&&(a=`${r.getValue()}`,r.isNull()?a=`0`:r.isBoolean()&&(a=a.toLocaleUpperCase())),z.create(a,{isHyperlink:!0,hyperlinkUrl:i})}},ah=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1,i!=null&&i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1,i!=null&&i.isArray()?i.getColumnCount():1),s=V(a,o,e,E.create(p.NA)),c=t?V(a,o,t,E.create(p.NA)):void 0,l=n?V(a,o,n,E.create(p.NA)):void 0,u=r?V(a,o,r,E.create(p.NA)):void 0,d=i?V(a,o,i,E.create(p.NA)):void 0,f=s.mapValue((e,t,n)=>{if(e.isError())return e;let r=c?c.get(t,n):void 0;if(r!=null&&r.isError())return r;let i=l?l.get(t,n):void 0;if(i!=null&&i.isError())return i;let a=u?u.get(t,n):void 0;if(a!=null&&a.isError())return a;let o=d?d.get(t,n):void 0;return o!=null&&o.isError()?o:this._handleSingleObject(e,r,i,a,o)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,n,r,i){if(!e.isString())return E.create(p.VALUE);let a=e.getValue(),o=``;t&&(t.isBoolean()?o=t.getValue()?`TRUE`:`FALSE`:t.isNull()||(o=`${t.getValue()}`));let s=n==null?R.create(0):n;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let c=Math.abs(Math.trunc(+s.getValue()));if(c<0||c>3||[0,1,2].includes(c)&&(r||i))return E.create(p.VALUE);let l=r==null?R.create(0):r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=Math.ceil(+l.getValue()),d=i==null?R.create(0):i;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;let f=Math.ceil(+d.getValue());return c===3&&u<1&&f<1?E.create(p.VALUE):z.create(``,{isImage:!0,imageInfo:{source:a,altText:o,sizing:c,height:u,width:f}})}},oh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,4),d(this,`needsReferenceObject`,!0)}calculate(e,t,n,r){if(e.isError())return e;let i=this._getReferenceCounts(e),a=t;t.isReferenceObject()&&(a=t.toArrayValueObject());let o=n;o!=null&&o.isReferenceObject()&&(o=n.toArrayValueObject());let s=r==null?R.create(1):r;s.isReferenceObject()&&(s=r.toArrayValueObject());let c=Math.max(a.isArray()?a.getRowCount():1,o!=null&&o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(a.isArray()?a.getColumnCount():1,o!=null&&o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(c===1&&l===1)return this._handleSingleObject(e,a.isArray()?a.get(0,0):a,o?o.isArray()?o.get(0,0):o:void 0,s.isArray()?s.get(0,0):s,i);{let t=V(c,l,a,E.create(p.NA)),n=o?V(c,l,o,E.create(p.NA)):[],r=V(c,l,s,E.create(p.NA));return t.mapValue((t,a,s)=>{let c=o?n.get(a,s):void 0,l=r.get(a,s),u=this._handleSingleObject(e,t,c,l,i);return u.isReferenceObject()?u.getCellByPosition():u})}}_handleSingleObject(e,t,n,r,i){let a,o,s;if(n){let{isError:e,errorObject:i,variants:c}=X(t,n,r);if(e)return i;a=c[0],o=c[1],s=c[2]}else{let{isError:e,errorObject:n,variants:i}=X(t,r);if(e)return n;a=i[0],s=i[1]}let c=Math.floor(+s.getValue());if(c<0)return E.create(p.VALUE);if(c>i.length)return E.create(p.REF);let l=i[c-1],u=0,d=0;if(l.rowCount===1&&!n?d=Math.floor(+a.getValue()):(u=Math.floor(+a.getValue()),n&&(d=Math.floor(+o.getValue()))),u<0||d<0)return E.create(p.VALUE);if(u>l.rowCount||d>l.columnCount)return E.create(p.REF);let f=e;return c>1&&(f=e.getCubeValues()[c-1]),f.isReferenceObject()?this._calculateReferenceObject(f,u,d):this._calculateArrayObject(f,u,d)}_getReferenceCounts(e){let t=[{rowCount:1,columnCount:1}];return e.isReferenceObject()?t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]:e.isCube()?t=e.getCubeValues().map(e=>({rowCount:e.getRowCount(),columnCount:e.getColumnCount()})):e.isArray()&&(t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]),t}_calculateReferenceObject(e,t,n){let{startRow:r,endRow:i,startColumn:a,endColumn:o}=e.getRangePosition(),s=0,c=0,l=0,u=0;if(t===0?(s=r,c=i):s=c=r+t-1,n===0?(l=a,u=o):l=u=a+n-1,s>i||l>o)return E.create(p.REF);let d={startRow:s,startColumn:l,endRow:c,endColumn:u};return this.createReferenceObject(e,d)}_calculateArrayObject(e,t,n){return!e.isArray()||t===0&&n===0?e:t===0?e.slice(void 0,[n-1,n]):n===0?e.slice([t-1,t],void 0):e.get(t-1,n-1)}},sh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;let n=this.getZeroOrOneByOneDefault(t);n==null&&(n=1);let r=e;if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();if(t>1||n>1)return e.map(()=>E.create(p.VALUE));r=e.getFirstCell()}return this._handleSingleObject(r,n)}_handleSingleObject(e,n){let r=`${e.getValue()}`;if(r.trim()===``)return E.create(p.REF);let i=this._convertToDefinedName(r);if(n===0){let{range:e,sheetName:t,unitId:n}=Zs(i),r=new ao(e);return r.setForcedUnitIdDirect(n),r.setForcedSheetName(t),this._setDefault(r)}if(vt(i))return this._setDefault(new oo(i));if(bt(i))return this._setDefault(new co(i));if(xt(i))return this._setDefault(new so(i));let{range:a,sheetName:o,unitId:s}=Gn(i);if(Number.isNaN(a.startRow)||a.endRow+1>t.MAX_ROW_COUNT||Number.isNaN(a.startColumn)||a.endColumn+1>t.MAX_COLUMN_COUNT)return E.create(p.REF);let c=new ao(a);return c.setForcedUnitIdDirect(s),c.setForcedSheetName(o),this._setDefault(c)}_setDefault(e){return this.unitId==null||this.subUnitId==null?E.create(p.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){let t=this.getDefinedName(e);if(t==null)return e;let n=t.formulaOrRefString;return n==null?e:n.startsWith(_.EQUALS)?n.slice(1):n}},ch=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3),d(this,`needsExpandParams`,!0)}calculate(e,t,n){return e.isError()?e:t.isError()?E.create(p.REF):t.isArray()?n!=null&&n.isError()?n:t.getColumnCount()===1||t.getRowCount()===1?n!=null&&!n.isArray()?E.create(p.REF):this._handleVector(e,t,n):this._handleArray(e,t):E.create(p.VALUE)}_handleVector(e,t,n){let r=n;if(r==null)r=t;else if(r.getRowCount()!==t.getRowCount()||r.getColumnCount()!==t.getColumnCount())return E.create(p.REF);return e.isArray()?e.map(e=>this.binarySearch(e,t,r)):this.binarySearch(e,t,r)}_handleArray(e,t){let n=t.getRowCount(),r=t.getColumnCount(),i,a;return r>n?(i=t.slice([0,1]),a=t.slice([n-1,n])):(i=t.slice(void 0,[0,1]),a=t.slice(void 0,[r-1,r])),i==null||a==null?E.create(p.VALUE):e.isArray()?e.map(e=>this.binarySearch(e,i,a)):this.binarySearch(e,i,a)}},lh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return E.create(p.REF);if(!t.isArray())return E.create(p.VALUE);let r=t.getRowCount(),i=t.getColumnCount();if(r!==1&&i!==1||n!=null&&n.isError())return E.create(p.NA);let a=this.getMatchTypeValue(n);return a==null?E.create(p.VALUE):e.isArray()?e.map(e=>this._handleSingleObject(e,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,n){let r=e.isNull()?R.create(0):e,i=this._getSearchModeValue(n),a=t.orderSearch(r,i);if(a==null)return E.create(p.NA);if(a instanceof E)return a;let o=t.getRowCount()===1?a.column+1:a.row+1;return R.create(o)}_getSearchModeValue(e){switch(e){case 1:return yr.MIN;case 0:return yr.NORMAL;case-1:return yr.MAX}}},uh=class extends no{constructor(e,t=[]){super(e),d(this,`_areas`,[]),this._areas=t}dispose(){this._areas.forEach(e=>{e.forEach(e=>e.dispose())}),this._areas=[],super.dispose()}getAreas(){return this._areas}setAreas(e){this._areas=e}addArea(e){Array.isArray(e)?this._areas.push(e):this._areas.push([e])}_flatAreas(){return this._areas.flat()}isMultiArea(){return!0}isRange(){return!1}isCell(){return!1}isRow(){return!1}isColumn(){return!1}getRowCount(){let e=0;for(let t of this._flatAreas())t.isError()||(e+=t.getRowCount());return e}getColumnCount(){let e=0;for(let t of this._flatAreas())t.isError()||(e+=t.getColumnCount());return e}isExceedRange(){return this._flatAreas().some(e=>e.isError()?!1:e.isExceedRange())}setRefOffset(e=0,t=0){super.setRefOffset(e,t),this._flatAreas().forEach(n=>{n.isError()||n.setRefOffset(e,t)})}_getReferenceArea(){return this._flatAreas().find(e=>!e.isError())}getUnitId(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getUnitId())==null?super.getUnitId():e}getSheetId(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getSheetId())==null?super.getSheetId():e}getActiveSheetRowCount(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getActiveSheetRowCount())==null?0:e}getActiveSheetColumnCount(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getActiveSheetColumnCount())==null?0:e}iterator(e){for(let t of this._areas){let n=!1;for(let r of t){if(r.isError())continue;let t=!1;if(r.iterator((r,i,a)=>{let o=e(r,i,a);return o===!1?(t=!0,n=!0,!1):o}),t)break}if(n)return}}getFirstCell(){let e=this._getReferenceArea();return e?e.getFirstCell():super.getFirstCell()}toArrayValueObject(){var e,t;let n=this._areas.length;if(n===0)return lo([],0,0);let r=(e=(t=this._areas[0])==null?void 0:t.length)==null?0:e,i=[];for(let e=0;e<n;e++){let t=this._areas[e];if(t){i[e]=i[e]||[];for(let n=0;n<r;n++){let r=t[n];if(!r)continue;if(r.isError()){i[e][n]=r;continue}let a=null;r.iterator(e=>(a=e==null?null:e,!1)),a!=null&&(i[e][n]=a),i[e][n]=Ua.create()}}}return lo(i,n,r)}getRangePosition(){let e=this._flatAreas();if(!e.length)return super.getRangePosition();let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e){if(a.isError())continue;let{startRow:e,startColumn:o,endRow:s,endColumn:c}=a.getRangePosition();!Number.isFinite(e)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(c)||(e<t&&(t=e),o<n&&(n=o),s>r&&(r=s),c>i&&(i=i<c?c:i))}return!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?super.getRangePosition():{startRow:t,startColumn:n,endRow:r,endColumn:i}}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}getRangeData(){let e=this._flatAreas();if(!e.length)return super.getRangeData();let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e){if(a.isError())continue;let{startRow:e,startColumn:o,endRow:s,endColumn:c}=a.getRangeData();!Number.isFinite(e)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(c)||(e<t&&(t=e),o<n&&(n=o),s>r&&(r=s),c>i&&(i=c))}return!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?super.getRangeData():{startRow:t,startColumn:n,endRow:r,endColumn:i}}},dh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,5),d(this,`needsReferenceObject`,!0)}isAddress(){return!0}calculate(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r!=null&&r.isError())return r;if(i!=null&&i.isError())return i;if(!e.isReferenceObject())return E.create(p.VALUE);let a=e.getRowCount(),o=e.getColumnCount(),s=t;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=n;c.isReferenceObject()&&(c=c.toArrayValueObject());let l=r==null?R.create(a):r;l.isReferenceObject()&&(l=l.toArrayValueObject()),l.isNull()&&(l=R.create(a));let u=i==null?R.create(o):i;u.isReferenceObject()&&(u=u.toArrayValueObject()),u.isNull()&&(u=R.create(o));let d=Math.max(s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1),f=Math.max(s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1);if(s=s,c=c,l=l,u=u,d===1&&f===1)return s=s.isArray()?s.get(0,0):s,c=c.isArray()?c.get(0,0):c,l=l.isArray()?l.get(0,0):l,u=u.isArray()?u.get(0,0):u,this._handleSingleObject(e,s,c,l,u);let m=V(d,f,s,E.create(p.NA)),h=V(d,f,c,E.create(p.NA)),g=V(d,f,l,E.create(p.NA)),_=V(d,f,u,E.create(p.NA)),v=[];return m.iterator((t,n,r)=>{let i=h.get(n,r),a=g.get(n,r),o=_.get(n,r);if(v[n]=v[n]||[],t==null){v[n][r]=E.create(p.NA);return}if(t.isError()){v[n][r]=t;return}if(i.isError()){v[n][r]=i;return}if(a.isError()){v[n][r]=a;return}if(o.isError()){v[n][r]=o;return}let s=this._handleSingleObject(e,t,i,a,o);v[n][r]=s}),new uh(``,v)}_handleSingleObject(e,n,r,i,a){let{startRow:o,startColumn:s}=e.getRangePosition(),c=n;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;let l=r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+c.getValue(),d=+l.getValue();if(typeof u!=`number`||typeof d!=`number`)return E.create(p.VALUE);let f=o+u,m=s+d;if(f<0||m<0||f>=t.MAX_ROW_COUNT||m>=t.MAX_COLUMN_COUNT)return E.create(p.REF);let h=this.getIndexNumValue(i),g=this.getIndexNumValue(a);if(typeof h!=`number`||typeof g!=`number`)return E.create(p.VALUE);if(h===0||g===0)return E.create(p.REF);let _=h>0?f+h-1:f+h+1,v=g>0?m+g-1:m+g+1;if(_<0||v<0||_>=t.MAX_ROW_COUNT||v>=t.MAX_COLUMN_COUNT)return E.create(p.REF);let y={startRow:f<_?f:_,startColumn:m<v?m:v,endRow:f>_?f:_,endColumn:m>v?m:v};return this.createReferenceObject(e,y)}},fh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,1)}calculate(e){if(e==null)return R.create(this.row+1);if(e.isError())return e;if(!e.isArray())return E.create(p.NA);let t=e.getCurrentRow(),n=e.getRowCount(),r=[];for(let e=0;e<n;e++)r.push([R.create(t+e+1)]);let i={calculateValueList:r,rowCount:n,columnCount:1,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column};return B.create(i)}},ph=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return E.create(p.NA);let t=e.getRowCount();return R.create(t)}},mh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=t==null?R.create(1):t,a=n==null?R.create(1):n,o=r==null?L.create(!1):r;if(i.isNull()&&(i=R.create(1)),o.isArray()){let t=o.getRowCount(),n=o.getColumnCount();if(t===1&&n===1){let t=o.get(0,0);return this._handleSingleObject(e,i,a,t)}return o.map(t=>{let n=this._handleSingleObject(e,i,a,t);return n.isArray()?n.get(0,0):n})}return this._handleSingleObject(e,i,a,o)}_handleSingleObject(e,t,n,r){if(e.isError())return e;let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=this._checkArrayError(t);if(o.isError())return o;let s=Math.floor(+o.getValue());if(s<1)return E.create(p.VALUE);let c=this._checkArrayError(n);if(c.isError())return c;let l=Math.floor(+c.getValue());if(l!==-1&&l!==1)return E.create(p.VALUE);let u=r;if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(!e.isArray()||i===1&&a===1)return e;let d=+u.getValue();return this._getResult(e,s,l,d,i,a)}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return E.create(p.VALUE);t=t.get(0,0)}return t.isString()&&(t=t.convertToNumberObjectValue()),t}_getResult(e,t,n,r,i,a){if(r){if(t>i)return E.create(p.VALUE);let r=e.transpose().getArrayValue();return r.sort(this._sort(t-1,n)),B.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}).transpose()}else{if(t>a)return E.create(p.VALUE);let r=e.getArrayValue();return r.sort(this._sort(t-1,n)),B.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}_sort(e,t=1){let n=br();return t===1?this._sortAsc(e,n):this._sortDesc(e,n)}_sortAsc(e,t){return(n,r)=>{let i=n[e],a=r[e];if(i==null||i.isNull())return 1;if(a==null||a.isNull())return-1;if(i.isError()&&a.isError())return 0;if(i.isError())return 1;if(a.isError())return-1;let o=i.getValue(),s=a.getValue();return i.isBoolean()&&o===!0?1:a.isBoolean()&&s===!0?-1:i.isBoolean()&&o===!1?1:a.isBoolean()&&s===!1?-1:i.isNumber()&&a.isNumber()?o-+s:t(o,s)}}_sortDesc(e,t){return(n,r)=>{let i=n[e],a=r[e];if(i==null||i.isNull())return 1;if(a==null||a.isNull())return-1;if(i.isError()&&a.isError())return 0;if(i.isError())return-1;if(a.isError())return 1;let o=i.getValue(),s=a.getValue();return i.isBoolean()&&o===!0?-1:a.isBoolean()&&s===!0?1:i.isBoolean()&&o===!1?-1:a.isBoolean()&&s===!1?1:i.isNumber()&&a.isNumber()?s-+o:t(s,o)}}},hh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,255)}calculate(e,...t){t.length===1&&t.push(R.create(1));let n=this._getVariantsError(e,...t),{maxRowLength:r,maxColumnLength:i}=_o(t);if(n.isError()){let e=V(r,i,n);return r===1&&i===1?e.get(0,0):e}let a=t.map((e,t)=>t%2==0?e:V(r,i,e,E.create(p.NA))),o=this._getResultArray(e,a,r,i);return r===1&&i===1?o[0][0]:B.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getVariantsError(e,...t){if(e.isError())return e;for(let e=0;e<t.length;e++){let n=t[e];if(n.isError())return n}if(t.length<2||t.length%2!=0)return E.create(p.VALUE);let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t[0].isArray()?t[0].getRowCount():1,a=t[0].isArray()?t[0].getColumnCount():1;if((i>1||a>1)&&(i>1&&a>1||i===1&&a!==r||a===1&&i!==n))return E.create(p.VALUE);for(let e=2;e<t.length;e++){if(e%2==1)continue;let n=t[e].isArray()?t[e].getRowCount():1,r=t[e].isArray()?t[e].getColumnCount():1;if(n!==i||r!==a)return E.create(p.VALUE)}return L.create(!0)}_getResultArray(e,t,n,r){let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t[0].isArray()?t[0].getRowCount():1,s=t[0].isArray()?t[0].getColumnCount():1,c=[];for(let l=0;l<n;l++){c[l]=[];for(let u=0;u<r;u++){let{isError:d,errorObject:f,byArrays:p,sortOrders:m}=this._getByArraysAndSortOrders(t,l,u,s);if(d){c[l].push(f);continue}if(!e.isArray()||i===1&&a===1){c[l].push(e);continue}let h=e.getArrayValue();o===1&&s===1||(o===1?(h=h.concat(p),h=this._transposeArray(h),h.sort(this._sort(i,m)),h=this._transposeArray(h).slice(0,i)):s===1&&(h=this._transposeArray(h),h=h.concat(p),h=this._transposeArray(h),h.sort(this._sort(a,m)),h=h.map(e=>e.slice(0,a))));let g=B.create({calculateValueList:h,rowCount:h.length,columnCount:h[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column});if(n>1||r>1){c[l].push(g.get(0,0));continue}c[l].push(g)}}return c}_getByArraysAndSortOrders(e,t,n,r){let i=[],a=[],o=!1,s=null;for(let c=0;c<e.length;c++){if(c%2==1)continue;let l=e[c],u=e[c+1].get(t,n);if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError()){o=!0,s=u;break}let d=Math.floor(+u.getValue());if(d!==-1&&d!==1){o=!0,s=E.create(p.VALUE);break}if(a.push(d),l.isArray()){let e=l.getArrayValue();r===1&&(e=this._transposeArray(e)),i.push(e[0])}else i.push([l])}return{isError:o,errorObject:s,byArrays:i,sortOrders:a}}_transposeArray(e){let t=e.length,n=e[0].length,r=[];for(let i=0;i<n;i++){r[i]=[];for(let n=0;n<t;n++)r[i][n]=e[n][i]}return r}_sort(e,t){let n=br();return(r,i)=>{let a=r[e],o=i[e],s=this._compare(a,o,t[0],n);if(s===0&&t.length>1){for(let c=1;c<t.length;c++)if(a=r[e+c],o=i[e+c],s=this._compare(a,o,t[c],n),s!==0)return s}return s}}_compare(e,t,n,r){return n===1?this._asc(e,t,r):this._desc(e,t,r)}_asc(e,t,n){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return 1;if(t.isError())return-1;let r=e.getValue(),i=t.getValue();return e.isBoolean()&&r===!0?1:t.isBoolean()&&i===!0?-1:e.isBoolean()&&r===!1?1:t.isBoolean()&&i===!1?-1:e.isNumber()&&t.isNumber()?r-+i:n(r,i)}_desc(e,t,n){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return-1;if(t.isError())return 1;let r=e.getValue(),i=t.getValue();return e.isBoolean()&&r===!0?-1:t.isBoolean()&&i===!0?1:e.isBoolean()&&r===!1?-1:t.isBoolean()&&i===!1?1:e.isNumber()&&t.isNumber()?i-+r:n(i,r)}},gh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=t,o=n==null?R.create(i):n;t.isNull()&&(a=R.create(r)),o.isNull()&&(o=R.create(i));let s=Math.max(a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,a,E.create(p.NA)),u=V(s,c,o,E.create(p.NA));if(s>1||c>1)return l.mapValue((t,n,a)=>{let o=u.get(n,a);if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,r,i);return s?c:e.isArray()?E.create(p.VALUE):e});if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);let d=a.isArray()?a.get(0,0):a,f=o.isArray()?o.get(0,0):o,{isError:m,errorObject:h,rowsValue:g,columnsValue:_}=this._checkRowsColumns(d,f,r,i);return m?h:this._getResultArray(e,g,_,r,i)}_checkRowsColumns(e,t,n,r){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let i=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(i)||Number.isNaN(a)?{isError:!0,errorObject:E.create(p.VALUE)}:Math.abs(i)===0||Math.abs(a)===0?{isError:!0,errorObject:E.create(p.CALC)}:(i>n&&(i=n),a>r&&(a=r),{isError:!1,rowsValue:i,columnsValue:a})}_getResultArray(e,t,n,r,i){if(!e.isArray())return e;let a=t>=0?[0,t]:[r+t,r],o=n>=0?[0,n]:[i+n,i],s;return s=t===r&&n===i?e:t===r?e.slice(void 0,o):n===i?e.slice(a,void 0):e.slice(a,o),s=s.map(e=>e.isNull()?R.create(0):e),t===1&&n===1?s.get(0,0):s}},_h=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(0):t,i=n==null?L.create(!1):n,a=Math.max(r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,r,E.create(p.NA)),c=V(a,o,i,E.create(p.NA)),l=s.mapValue((t,n,r)=>{let i=c.get(n,r);if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);if(t.isError())return t;if(i.isError())return i;let s=Math.trunc(+t.getValue()),l=+i.getValue();if(Number.isNaN(s)||s<0||s>3||Number.isNaN(l))return E.create(p.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?E.create(p.CALC):a>1||o>1||u.length===1?u[0]:B.create({calculateValueList:u.map(e=>[e]),rowCount:u.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?l.get(0,0):l}_getArrayValueByColumn(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<i;e++)for(let i=0;i<r;i++){let r=n.get(i,e);this._isIgnore(r,t)||a.push(r.isNull()?R.create(0):r)}return a}_getArrayValueByRow(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<r;e++)for(let r=0;r<i;r++){let i=n.get(e,r);this._isIgnore(i,t)||a.push(i.isNull()?R.create(0):i)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}},vh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(0):t,i=n==null?L.create(!1):n,a=Math.max(r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,r,E.create(p.NA)),c=V(a,o,i,E.create(p.NA)),l=s.mapValue((t,n,r)=>{let i=c.get(n,r);if(e.isError())return e;if(t.isError())return t;if(i.isError())return i;let s=Math.trunc(+t.getValue()),l=+i.getValue();if(Number.isNaN(s)||s<0||s>3||Number.isNaN(l)||e.isNull())return E.create(p.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?E.create(p.CALC):a>1||o>1||u.length===1?u[0]:B.create({calculateValueList:[u],rowCount:1,columnCount:u.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?l.get(0,0):l}_getArrayValueByColumn(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<i;e++)for(let i=0;i<r;i++){let r=n.get(i,e);this._isIgnore(r,t)||a.push(r.isNull()?R.create(0):r)}return a}_getArrayValueByRow(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<r;e++)for(let r=0;r<i;r++){let i=n.get(e,r);this._isIgnore(i,t)||a.push(i.isNull()?R.create(0):i)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}},yh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();return t===1&&n===1?e.get(0,0):e.transpose()}return e}},bh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?L.create(!1):t,i=n==null?L.create(!1):n,a=e.isArray()?e.getRowCount():1,o=e.isArray()?e.getColumnCount():1,s=Math.max(r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),c=Math.max(r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),l=V(s,c,r,E.create(p.NA)),u=V(s,c,i,E.create(p.NA)),d=l.map((t,n,r)=>{let i=t,l=u.get(n,r);if(e.isError())return e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let d=+i.getValue(),f=+l.getValue(),p;return p=!d&&a===1||d&&o===1?e:this._getResult(e,d,f),(s>1||c>1)&&p!=null&&p.isArray()?p.get(0,0):p});return s===1&&c===1?d.get(0,0):d}_getResult(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=e.getArrayValue(),o=r,s=i;t&&(a=this._transposeArray(a),o=i,s=r);let c=this._getRepeatRows(a,o,s);if(c.length>0){let e=[];c.forEach(t=>{t.forEach((t,r)=>{(r!==0||n)&&e.push(t)})}),a=a.filter((t,n)=>!e.includes(n))}return a.length===0?E.create(p.CALC):(t&&(a=this._transposeArray(a)),B.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}))}_getRepeatRows(e,t,n){let r=[];for(let i=0;i<n;i++)if(i===0){let n=Array(t).fill(null).map((t,n)=>({r:n,valueObject:e[n][i]}));r=this._getRepeatRowsByObjects(n)}else{if(r.length===0)break;let t=[];r.forEach(n=>{let r=n.map(t=>({r:t,valueObject:e[t][i]})),a=this._getRepeatRowsByObjects(r);t=t.concat(a)}),r=t}return r}_getRepeatRowsByObjects(e){let n=new Map;return e.forEach(e=>{let r=e.r,i=e.valueObject,a=i.getValue();if(i.isNull()?a=null:i.isString()&&(0,t.isRealNum)(a)&&(a=+a),!n.has(a))n.set(a,[r]);else{let e=n.get(a);e.push(r),n.set(a,e)}}),Array.from(n.values()).filter(e=>e.length>1)}_transposeArray(e){let t=e.length,n=e[0].length,r=[];for(let i=0;i<n;i++){r[i]=[];for(let n=0;n<t;n++)r[i][n]=e[n][i]}return r}},xh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return E.create(p.VALUE);if(n.isError())return n;if(r!=null&&r.isError())return r;let i=r==null?L.create(!0):r;return ho(e)&&ho(i)&&n.isArray()?this._handleArrayColIndexNum(e,t,n,i):this._handleNonArrayColIndexNum(e,t,n,i)}_handleArrayColIndexNum(e,t,n,r){let i=e.isArray()?e.getFirstCell():e,a=this.getZeroOrOneByOneDefault(r);if(a==null)return E.create(p.VALUE);let o,s=[];return n.iterator((e,n,r)=>{if(e==null)return o=E.create(p.VALUE),!1;let c=this._handleTableArray(i,t,e,a);if(c.isError())return o=c,!1;s[n]===void 0&&(s[n]=[]),s[n][r]=c}),o||lo(s,s.length,s[0].length,this.unitId||``,this.subUnitId||``)}_handleNonArrayColIndexNum(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e),s=V(i,a,r);return o.map((e,r,i)=>{if(e.isError())return e;let a=s.get(r,i);if(a==null)return E.create(p.VALUE);if(a.isError())return a;let o=this.getZeroOrOneByOneDefault(a);return o==null?E.create(p.VALUE):this._handleTableArray(e,t,n,o)})}_handleTableArray(e,t,n,r){let i=this.getIndexNumValue(n);if(i instanceof E)return i;if(i=Math.floor(i),i<1)return E.create(p.VALUE);let a=t.slice(void 0,[0,1]);if(a==null)return E.create(p.VALUE);let o=t.slice(void 0,[i-1,i]);return o==null?E.create(p.REF):this._handleSingleObject(e,a,o,r)}_handleSingleObject(e,t,n,r){return r===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}},Sh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=Math.max(...e.map(e=>e.isArray()?e.getColumnCount():1)),n=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<a;e++){let r=[];for(let n=0;n<t;n++){let t=i;i.isArray()&&(t=i.get(e,n)),n>o-1||!t?r.push(E.create(p.NA)):r.push(t)}n.push(r)}}return B.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Ch=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?E.create(p.NA):n;r.isNull()&&(r=E.create(p.NA));let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),c=V(o,s,t,E.create(p.NA)),l=V(o,s,r,E.create(p.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return E.create(p.VALUE);if(u<1)return E.create(p.NUM);let d=e.isArray()?e.getArrayValue().flat():[e],f=this._getWrapArray(d,u,c);return o>1||s>1||f.length===1&&f[0].length===1?f[0][0]:B.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&s===1?u.get(0,0):u}_getWrapArray(e,t,n){let r=Math.ceil(e.length/t),i=r>1?t:e.length,a=[];for(let t=0;t<r;t++)for(let r=0;r<i;r++){a[r]||(a[r]=[]);let o=t*i+r;o<e.length?a[r].push(e[o].isNull()?R.create(0):e[o]):a[r].push(n)}return a}},wh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?E.create(p.NA):n;r.isNull()&&(r=E.create(p.NA));let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),c=V(o,s,t,E.create(p.NA)),l=V(o,s,r,E.create(p.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return E.create(p.VALUE);if(u<1)return E.create(p.NUM);let d=e.isArray()?e.getArrayValue().flat():[e],f=this._getWrapArray(d,u,c);return o>1||s>1||f.length===1&&f[0].length===1?f[0][0]:B.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&s===1?u.get(0,0):u}_getWrapArray(e,t,n){let r=Math.ceil(e.length/t),i=r>1?t:e.length,a=[];for(let t=0;t<r;t++){let r=[];for(let a=0;a<i;a++){let o=t*i+a;o<e.length?r.push(e[o].isNull()?R.create(0):e[o]):r.push(n)}a.push(r)}return a}},Th=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?E.create(p.NA):r;r!=null&&r.isNull()&&(o=E.create(p.NA));let s=i==null?R.create(0):i;i!=null&&i.isNull()&&(s=R.create(0));let c=a==null?R.create(1):a;if(a!=null&&a.isNull()&&(c=R.create(1)),e.isError())return e;let l=t.isArray()?t.getRowCount():1,u=t.isArray()?t.getColumnCount():1,d=n.isArray()?n.getRowCount():1,f=n.isArray()?n.getColumnCount():1;if(l!==1&&u!==1||l===1&&u>1&&u!==f||u===1&&l>1&&l!==d)return E.create(p.VALUE);if(s.isError())return s;if(c.isError())return c;let m=this.getIndexNumValue(s);if(m instanceof E)return m;let h=this.getIndexNumValue(c);return h instanceof E?h:this._getResult(e,yo(t),yo(n),o,m,h,l,u,d,f)}_getResult(e,t,n,r,i,a,o,s,c,l){let u=e.isArray()?e.getRowCount():1,d=e.isArray()?e.getColumnCount():1;if(u>1||d>1){let s;return s=o===1?n.slice([0,1]):n.slice(void 0,[0,1]),s==null?E.create(p.NA):e.map(e=>{let n=this._checkErrorCombination(i,a);if(n)return n;let o=this._handleSingleObject(e,t,s,i,a);return o.isError()?r:o})}let f=e.isArray()?e.get(0,0):e;if(s===l&&o===c){let e=this._checkErrorCombination(i,a);if(e)return e;let o=this._handleSingleObject(f,t,n,i,a);return o.isError()?r:o}let m=0;s===l&&(m=1);let h=this._handleExpandObject(f,t,n,i,a,m);return h==null?E.create(p.NA):h}_handleExpandObject(e,t,n,r,i,a=0){if((i===2||i===-2)&&r!==2){let o=Dr(i),s=Er(r);return this.binarySearchExpand(e,t,n,a,o,s)}return r===2?this.fuzzySearchExpand(e,t,n,i!==-1,a):r===-1||r===1?this.orderSearchExpand(e,t,n,r===1?yr.MAX:yr.MIN,i===-1,a):this.equalSearchExpand(e,t,n,i!==-1,a)}_handleSingleObject(e,t,n,r,i){if((i===2||i===-2)&&r!==2){let a=Dr(i),o=Er(r);return this.binarySearch(e,t,n,a,o)}return r===2?this.fuzzySearch(e,t,n,i!==-1):r===-1||r===1?this.orderSearch(e,t,n,r===1?yr.MAX:yr.MIN,i===-1):this.equalSearch(e,t,n,i!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?E.create(p.VALUE):null}},Eh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=R.create(0);n&&!n.isNull()&&(i=n);let a=R.create(1);r&&!r.isNull()&&(a=r);let o=Math.max(e.isArray()?e.getRowCount():1,i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=V(o,s,e,E.create(p.NA)),l=V(o,s,i,E.create(p.NA)),u=V(o,s,a,E.create(p.NA)),d=c.mapValue((e,n,r)=>{if(e.isError())return e;let i=l.get(n,r),a=u.get(n,r);return i.isError()?i:a.isError()?a:this._handleSingleObject(e,t,i,a)});return o===1&&s===1?d.get(0,0):d}_handleSingleObject(e,t,n,r){let i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(i!==1&&a!==1)return E.create(p.VALUE);let o=n;if((n.isString()||n.isBoolean()||n.isNull())&&(o=n.convertToNumberObjectValue()),o.isError())return o;let s=r;if((r.isString()||r.isBoolean()||r.isNull())&&(s=r.convertToNumberObjectValue()),s.isError())return s;let c=o.getValue(),l=s.getValue();return![-1,0,1,2].includes(c)||![-1,1,2].includes(l)?E.create(p.VALUE):this._getResult(e,t,c,l)}_getResult(e,t,n,r){let i=yo(t),a;if((r===2||r===-2)&&n!==2){let t=Dr(r),o=Er(n);a=i.binarySearch(e,t,o)}else if(n===2){let t=i.compare(e,v.EQUALS),n;if(n=r===-1?t.getLastTruePosition():t.getFirstTruePosition(),n==null)return E.create(p.NA);a=i.getRowCount()===1?n.column:n.row}else if(n===-1||n===1){let t=i.orderSearch(e,n===1?yr.MAX:yr.MIN,r===-1);if(t==null)return E.create(p.NA);if(t instanceof E)return t;a=i.getRowCount()===1?t.column:t.row}else{let t=i.isEqual(e),n;if(n=r===-1?t.getLastTruePosition():t.getFirstTruePosition(),n==null)return E.create(p.NA);a=i.getRowCount()===1?n.column:n.row}return a==null?E.create(p.NA):R.create(a+1)}};let Dh=[[Wm,G.ADDRESS],[Km,G.AREAS],[qm,G.CHOOSE],[Jm,G.CHOOSECOLS],[Ym,G.CHOOSEROWS],[Xm,G.COLUMN],[Zm,G.COLUMNS],[Qm,G.DROP],[$m,G.EXPAND],[eh,G.FILTER],[th,G.FORMULATEXT],[nh,G.HLOOKUP],[rh,G.HSTACK],[ih,G.HYPERLINK],[ah,G.IMAGE],[oh,G.INDEX],[sh,G.INDIRECT],[ch,G.LOOKUP],[lh,G.MATCH],[dh,G.OFFSET],[fh,G.ROW],[ph,G.ROWS],[mh,G.SORT],[hh,G.SORTBY],[gh,G.TAKE],[_h,G.TOCOL],[vh,G.TOROW],[yh,G.TRANSPOSE],[bh,G.UNIQUE],[xh,G.VLOOKUP],[Sh,G.VSTACK],[Ch,G.WRAPCOLS],[wh,G.WRAPROWS],[Th,G.XLOOKUP],[Eh,G.XMATCH]];var Oh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}},kh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}},Ah=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}},jh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(e=>e.isError()?e:Mh(e)):Mh(t)}};function Mh(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return E.create(p.VALUE);t=Number(t);let n=Math.atan(1/t);return t<0&&(n+=Math.PI),Number.isNaN(n)?E.create(p.VALUE):R.create(n)}var Nh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(e=>e.isError()?e:Ph(e)):Ph(t)}};function Ph(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return E.create(p.VALUE);if(t=Number(t),Math.abs(t)<=1)return E.create(p.NUM);let n=1/2*Math.log((t+1)/(t-1));return Number.isNaN(n)?E.create(p.VALUE):R.create(n)}let Fh={1:Q.AVERAGE,2:Q.COUNT,3:Q.COUNTA,4:Q.MAX,5:Q.MIN,6:Q.PRODUCT,7:Q.STDEV_S,8:Q.STDEV_P,9:Q.SUM,10:Q.VAR_S,11:Q.VAR_P,12:Q.MEDIAN,13:Q.MODE_SNGL};var Ih=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,255),d(this,`needsReferenceObject`,!0),d(this,`needsFilteredOutRows`,!0),d(this,`needsFormulaDataModel`,!0)}calculate(e,t,...n){let{isError:r,multiAreaRefs:i,normalRefs:a}=Al(n),o;o=e.isReferenceObject()?e.toArrayValueObject():e;let s;s=t.isReferenceObject()?t.toArrayValueObject():t;let c=Math.max(o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,o,E.create(p.NA)),d=V(c,l,s,E.create(p.NA)),f=u.mapValue((e,t,o)=>{if(e.isError())return e;let s=d.get(t,o);return s.isError()?s:i.length>0?E.create(p.VALUE):this._handleSingleObject(e,s,n,r,a)});return f.getRowCount()===1&&f.getColumnCount()===1?f.get(0,0):f}_handleSingleObject(e,t,n,r,i){let a=e;if(e.isString()&&(a=e.convertToNumberObjectValue()),a.isError())return a;let o=Math.floor(+a.getValue());if(o<1||o>19||o>=1&&o<=13&&r||o>=14&&o<=19&&n.length!==2)return E.create(p.VALUE);let s=t;if(t.isString()&&(s=t.convertToNumberObjectValue()),s.isError())return s;let c=Math.floor(+s.getValue());if(c<0||c>7)return E.create(p.VALUE);let l=this._getAggregateOptions(c);return o>=14&&o<=19?this._handleLargeSmallPercentileQuartile(o,l,n[0],n[1]):Pl({type:Fh[o],...l,formulaDataModel:this._formulaDataModel},i)}_getAggregateOptions(e){switch(e){case 1:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!0};case 2:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!0};case 3:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!0};case 4:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!1};case 5:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!1};case 6:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!1};case 7:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!1};default:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!0}}}_handleLargeSmallPercentileQuartile(e,t,n,r){let i;if(i=r.isReferenceObject()?r.toArrayValueObject():r,i.isError())return i;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);i=i.get(0,0)}let a=Fl(n,t,this._formulaDataModel);if(!Array.isArray(a))return a;let o=+i.getValue();switch(e){case 14:return Ll(a,o);case 15:return Rl(a,o);case 16:return zl(a,o);case 17:return Vl(a,o);case 18:return Bl(a,o);case 19:return Hl(a,o);default:return E.create(p.VALUE)}}},Lh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return R.create(0);if(e.isBoolean()||e.isNumber())return E.create(p.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return E.create(p.VALUE);let n=t.startsWith(`-`);n&&(t=t.slice(1));let r=0;for(let e=0;e<t.length;e++){let n=Nc.get(t[e])||0,i=Nc.get(t[e+1])||0,a=Nc.get(t[e+2])||0,o=Nc.get(t[e+3])||0;if(!n||a>=i&&a>n||n===i&&n===a&&n===o||n===i/2)return E.create(p.VALUE);n<i?r-=n:r+=n}return R.create(n?-r:r)}},Rh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}},zh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}},Bh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}},Vh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e,r=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:r.atan2(n))}},Hh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}},Uh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(0):n;if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let i=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=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,r,E.create(p.NA)),l=o.map((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return this._handleSingleObject(e,r,i)});return l.getRowCount()===1&&l.getColumnCount()===1?l.getArrayValue()[0][0]:l}_handleSingleObject(e,t,n){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=t;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let a=n;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=Math.floor(+r.getValue()),s=Math.floor(+i.getValue()),c=Math.floor(+a.getValue());if(o<0||o>=2**53||s<2||s>36||c<0)return E.create(p.NUM);let l=o.toString(s);return l.length<c&&(l=Array(c-l.length+1).join(`0`)+l),z.create(l.toLocaleUpperCase())}},Wh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.map((e,t,n)=>{let r=e,i=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o>0&&s<0)return E.create(p.NUM);if(o===0||s===0)return R.create(0);let c=ka(o/s,0)*s;return R.create(c)});return o.getRowCount()===1&&o.getColumnCount()===1?o.getArrayValue()[0][0]:o}},Gh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(1):t,i=n==null?R.create(0):n;if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let a=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,E.create(p.NA)),c=V(a,o,r,E.create(p.NA)),l=V(a,o,i,E.create(p.NA)),u=s.map((e,t,n)=>{let r=e,i=c.get(t,n),a=l.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=+r.getValue(),s=+i.getValue(),u=+a.getValue();return o===0||s===0?R.create(0):this._getResult(o,s,u)});return a===1&&o===1?u.get(0,0):u}_getResult(e,t,n){let r;return r=e<0&&n!==0?(t<0?ka(Math.abs(e)/Math.abs(t),0):-ka(Math.abs(e)/t,0))*t:(t<0?-ka(e/Math.abs(t),0):ka(e/t,0))*t,R.create(r)}},Kh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue();if(a===0||s===0)return R.create(0);let c=(s<0?-ka(a/Math.abs(s),0):ka(a/s,0))*s;return R.create(c)});return r===1&&i===1?s.get(0,0):s}},qh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=e,i=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),i.isString()&&(i=i.convertToNumberObjectValue()),r.isError())return r;if(i.isError())return i;let o=Math.floor(+r.getValue()),s=Math.floor(+i.getValue());if(o<0||s<0||o<s)return E.create(p.NUM);let c=hc(o,s);return Number.isNaN(c)||!Number.isFinite(c)?E.create(p.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},Jh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=e,i=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),i.isString()&&(i=i.convertToNumberObjectValue()),r.isError())return r;if(i.isError())return i;let o=Math.floor(+r.getValue()),s=Math.floor(+i.getValue());if(o<0||s<0||o===0&&o<s)return E.create(p.NUM);let c=hc(o+s-1,o-1);return Number.isNaN(c)||!Number.isFinite(c)?E.create(p.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},Yh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}},Xh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}},Zh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Math.abs(n)>=2**27?E.create(p.NUM):n===0?E.create(p.DIV_BY_ZERO):t.tan().getReciprocal()}},Qh=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:+t.getValue()==0?E.create(p.DIV_BY_ZERO):t.tanh().getReciprocal()}},$h=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Math.abs(n)>=2**27?E.create(p.NUM):n===0?E.create(p.DIV_BY_ZERO):t.sin().getReciprocal()}},eg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return n===0?E.create(p.DIV_BY_ZERO):!Number.isNaN(n)&&!Number.isFinite(Math.sinh(n))?R.create(0):t.sinh().getReciprocal()}},tg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,n){if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.map((e,n,r)=>{if(e.isError())return e;let i=o.get(n,r);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let a=`${e.getValue()}`,s=Math.floor(+i.getValue());if((0,t.isRealNum)(a)&&(+a<0||+a>=2**53||!Number.isInteger(+a))||a.toLocaleLowerCase()===`true`||a.toLocaleLowerCase()===`false`||s<2||s>36)return E.create(p.NUM);if(a.replace(/\s/g,``)===``)return R.create(0);if(!this._isValidCharForRadix(a,s))return E.create(p.NUM);let c=Number.parseInt(a,s);return Number.isNaN(c)?E.create(p.NUM):R.create(c)});return r===1&&i===1?s.get(0,0):s}_isValidCharForRadix(e,t){for(let n of e){let e=n.toUpperCase().charCodeAt(0);if(t<=10&&!(e>=48&&e<48+t)||t>10&&!(e>=48&&e<58||e>=65&&e<65+t-10))return!1}return!0}},ng=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return E.create(p.VALUE);let r=n*(180/Math.PI);return Number.isNaN(r)?E.create(p.VALUE):R.create(r)}},rg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return E.create(p.VALUE);let r=(n<0?-ka(Math.abs(n)/2,0):ka(n/2,0))*2;return Number.isNaN(r)?E.create(p.VALUE):r===0?R.create(0):R.create(r)}},ig=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}},ag=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=mc(Math.floor(+t.getValue()));return Number.isNaN(n)||!Number.isFinite(n)?E.create(p.NUM):R.create(n)}},og=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return E.create(p.VALUE);t=e.get(0,0)}return this._handleSingleObject(t)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=mc(Math.floor(+t.getValue()),2);return Number.isNaN(n)||!Number.isFinite(n)?E.create(p.NUM):R.create(n)}},sg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.map((e,t,n)=>{let r=a.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let o=+i.getValue(),s=+r.getValue();if(o>0&&s<0)return E.create(p.NUM);if(o===0)return R.create(0);if(s===0)return E.create(p.DIV_BY_ZERO);let c=Oa(o/s,0)*s;return R.create(c)});return n===1&&r===1?o.get(0,0):o}},cg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(1):t,i=n==null?R.create(0):n,a=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,E.create(p.NA)),c=V(a,o,r,E.create(p.NA)),l=V(a,o,i,E.create(p.NA)),u=s.map((e,t,n)=>{let r=e,i=c.get(t,n),a=l.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=+r.getValue(),s=+i.getValue(),u=+a.getValue();if(o===0||s===0)return R.create(0);let d;return d=o<0&&u!==0?(s<0?Oa(Math.abs(o)/Math.abs(s),0):-Oa(Math.abs(o)/s,0))*s:(s<0?-Oa(o/Math.abs(s),0):Oa(o/s,0))*s,R.create(d)});return a===1&&o===1?u.get(0,0):u}},lg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue();if(a===0||s===0)return R.create(0);let c=(s<0?-Oa(a/Math.abs(s),0):Oa(a/s,0))*s;return R.create(c)});return r===1&&i===1?s.get(0,0):s}},ug=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull())if(r.isArray()){let e=!1,n=E.create(p.VALUE);if(r.iterator(r=>{if(r!=null&&r.isNull())return!0;let{isError:i,errorObject:a,number:o}=this._handleSingleObject(r);if(i)return e=!0,n=a,!1;t=gc(t,o)}),e)return n}else{let{isError:e,errorObject:n,number:i}=this._handleSingleObject(r);if(e)return n;t=gc(t,i)}}return R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:E.create(p.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let n=Math.floor(+t.getValue());return n<0||n>=2**53?{isError:!0,errorObject:E.create(p.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},dg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=Math.floor(+t.getValue());return R.create(n)}},fg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=1,n=!0;for(let r=0;r<e.length;r++){let i=e[r];if(!i.isNull())if(i.isArray()){let e=!1,r=E.create(p.VALUE);if(i.iterator(i=>{if(i!=null&&i.isNull())return!0;let{isError:a,errorObject:o,number:s}=this._handleSingleObject(i);if(a)return e=!0,r=o,!1;t=_c(t,s),n=!1}),e)return r}else{let{isError:e,errorObject:r,number:a}=this._handleSingleObject(i);if(e)return r;t=_c(t,a),n=!1}}return n?R.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?E.create(p.VALUE):R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:E.create(p.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let n=Math.floor(+t.getValue());return n<0?{isError:!0,errorObject:E.create(p.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},pg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}},mg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(10):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue();if(a<=0||s<=0)return E.create(p.NUM);let c=Math.log(s);if(c===0)return E.create(p.DIV_BY_ZERO);let l=Math.log(a)/c;return R.create(l)});return r===1&&i===1?s.get(0,0):s}},hg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}},gg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<n;r++){let n=e.isArray()?e.get(i,r):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())return E.create(p.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}if(t!==n)return E.create(p.VALUE);let i=vc(r);return R.create(i)}},_g=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<n;r++){let n=e.isArray()?e.get(i,r):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())return E.create(p.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}if(t!==n)return E.create(p.VALUE);let i=yc(r);return i===null?E.create(p.NUM):B.createByArray(i)}},vg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(r!==i)return E.create(p.VALUE);let o=this._getMatrix(e,n,r),s=this._getMatrix(t,i,a);if(o instanceof E)return o;if(s instanceof E)return s;let c=Sc(o,s);return B.createByArray(c)}_getMatrix(e,t,n){let r=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<n;r++){let n=e.isArray()?e.get(i,r):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())return E.create(p.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}return r}},yg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.mod(r)}},bg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);n=n.get(0,0)}if(n.isError())return n;let r=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return E.create(p.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return E.create(p.VALUE);if(a===0)return R.create(0);if(i>0&&a<0||i<0&&a>0)return E.create(p.NUM);let o=Da(i/a,0)*a;return R.create(o)}},xg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=0,n=1;for(let r=0;r<e.length;r++){let i=e[r];if(!i.isNull())if(i.isArray()){let e=!1,r=E.create(p.VALUE);if(i.iterator(i=>{if(i!=null&&i.isNull())return!0;let{isError:a,errorObject:o,number:s}=this._handleSingleObject(i);if(a)return e=!0,r=o,!1;if(t+=s,t>170)return e=!0,r=E.create(p.NUM),!1;n*=mc(s)}),e)return r}else{let{isError:e,errorObject:r,number:a}=this._handleSingleObject(i);if(e)return r;if(t+=a,t>170)return E.create(p.NUM);n*=mc(a)}}let r=mc(t)/n;return R.create(r)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:E.create(p.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let n=Math.floor(+t.getValue());return n<0?{isError:!0,errorObject:E.create(p.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},Sg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount(),r=e.mapValue(e=>{let r=this._handleSingleObject(e);return r.isError()?r:t>1||n>1?r.get(0,0):r});return t===1&&n===1?r.get(0,0):r}return this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=Math.floor(+t.getValue());if(n<=0)return E.create(p.VALUE);let r=[];for(let e=0;e<n;e++){r[e]=[];for(let t=0;t<n;t++)r[e][t]=e===t?1:0}return B.createByArray(r)}},Cg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return E.create(p.VALUE);let r=n<0?-ka(Math.abs(n),0):ka(n,0);return Number.isNaN(r)?E.create(p.VALUE):(Math.abs(r)%2==0&&(n<0?r--:r++),R.create(r))}},wg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,0)}calculate(){return R.create(Math.PI)}},Tg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.pow(r)}},Eg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(1),n=!0;for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;if(i.isArray()){let e=!1,r=null;if(i.iterator(i=>{if(i!=null&&i.isError())return e=!0,r=i,!1;if(!i||i.isNull()||i.isString()||i.isBoolean())return!0;t=t.multiply(i),n=!1}),e)return r}else{if(i.isNull())continue;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;t=t.multiply(i),n=!1}if(t.isError())return t}return n?R.create(0):t}},Dg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return E.create(p.VALUE);if(c===0)return E.create(p.DIV_BY_ZERO);let l=Math.trunc(s/c);return R.create(l)}},Og=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return E.create(p.VALUE);let r=n*(Math.PI/180);return Number.isNaN(r)?E.create(p.VALUE):R.create(r)}},kg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,0)}calculate(){return R.create(Math.random())}},Ag=class extends Z{constructor(...e){super(...e),d(this,`minParams`,0),d(this,`maxParams`,5),d(this,`needsSheetRowColumnCount`,!0)}calculate(e,t,n,r,i){if(e!=null&&e.isError())return e;if(t!=null&&t.isError())return t;if(n!=null&&n.isError())return n;if(r!=null&&r.isError())return r;if(i!=null&&i.isError())return i;let a=e==null?R.create(1):e,o=t==null?R.create(1):t,s=n==null?R.create(0):n,c=r==null?R.create(1):r,l=i==null?R.create(0):i;return this._calculateResult(a,o,s,c,l)}_calculateResult(e,t,n,r,i){let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(a===1&&o===1)return this._calculateSingleCell(e,t,n,r,i);let s=V(a,o,e,E.create(p.NA)),c=V(a,o,t,E.create(p.NA)),l=V(a,o,n,E.create(p.NA)),u=V(a,o,r,E.create(p.NA)),d=V(a,o,i,E.create(p.NA));return s.map((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n),a=u.get(t,n),o=d.get(t,n),s=this._handleError(e,r,i,a,o);if(s.errorObject)return s.errorObject;let{minValue:f,maxValue:m,wholeNumberValue:h}=s,g;return h?(f=Math.ceil(f),m=Math.floor(m),g=Math.floor(Math.random()*(m-f+1))+f):g=Math.random()*(m-f)+f,g<f||g>m?E.create(p.VALUE):R.create(g)})}_calculateSingleCell(e,t,n,r,i){let a=e;a.isArray()&&(a=a.get(0,0));let o=t;o.isArray()&&(o=o.get(0,0));let s=n;s.isArray()&&(s=s.get(0,0));let c=r;c.isArray()&&(c=c.get(0,0));let l=i;l.isArray()&&(l=l.get(0,0));let u=this._handleError(a,o,s,c,l);if(u.errorObject)return u.errorObject;let{rowsValue:d,columnsValue:f,minValue:m,maxValue:h,wholeNumberValue:g}=u;if(g&&(m=Math.ceil(m),h=Math.floor(h),m>h))return E.create(p.VALUE);let _=[];for(let e=0;e<d;e++){let e=[];for(let t=0;t<f;t++)g?e.push(Math.floor(Math.random()*(h-m+1))+m):e.push(Math.random()*(h-m)+m);_.push(e)}return d===1&&f===1?R.create(_[0][0]):B.createByArray(_)}_handleError(e,t,n,r,i){let a=e;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return{errorObject:a};let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return{errorObject:o};let s=n;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return{errorObject:s};let c=r;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return{errorObject:c};let l=i;return l.isString()&&(l=l.convertToNumberObjectValue()),l.isError()?{errorObject:l}:this._getValue(a,o,s,c,l)}_getValue(e,t,n,r,i){let a=Math.floor(+e.getValue()),o=Math.floor(+t.getValue());if(a===0||o===0)return{errorObject:E.create(p.CALC)};let s=this._rowCount-this.row,c=this._columnCount-this.column;if(a<0||o<0||a*o>10**7)return{errorObject:E.create(p.VALUE)};if(a>s||o>c)return{errorObject:E.create(p.REF)};let l=+n.getValue(),u=+r.getValue(),d=+i.getValue();return l>u||d&&(!Number.isInteger(l)||!Number.isInteger(u))?{errorObject:E.create(p.VALUE)}:{rowsValue:a,columnsValue:o,minValue:l,maxValue:u,wholeNumberValue:d}}},jg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);n=n.get(0,0)}if(n.isError())return n;let r=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return E.create(p.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return E.create(p.VALUE);if(i>a)return E.create(p.NUM);i=Math.ceil(i),a=Math.floor(a);let o=Math.floor(Math.random()*(a-i+1))+i;return R.create(o)}},Mg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e);if(n)return r;let[a]=i,o=Math.floor(+a.getValue()),s=t;if(s.isString()&&(s=s.convertToNumberObjectValue(),s.isError()))return s;let c=Math.floor(+s.getValue());if(s.isBoolean()&&(c=s.getValue()?0:4),o<0||o>3999||c<0||c>4)return E.create(p.VALUE);let l=Fc[c],u=l.length-1,d=``;for(;o>0;){u=this._binarySearch(o,0,u,l);let e=l[u];o-=e,d+=Pc.get(e)}return z.create(d)}_binarySearch(e,t,n,r){let i=t,a=n;for(;a-i>1;){let t=Math.floor((i+a)/2),n=r[t];if(n===e)return t;n>e?a=t:i=t}return i!==a&&r[a]<=e?a:i}},Ng=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.round(r)}},Pg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let{isError:i,errorObject:o,variants:s}=X(e,r);if(i)return o;let[c,l]=s,u=+c.getValue(),d=Math.trunc(+l.getValue()),f=this._roundBank(u,d);return R.create(f)});return n===1&&r===1?o.get(0,0):o}_roundBank(e,t){if(t>16)return e;if(t<-16)return 0;let n=1e-8,r=10**t,i=+(e*r).toFixed(8),a=Math.floor(i),o=i-a,s=Math.round(i);return o>.5-n&&o<.5+n&&(s=a%2==0?a:a+1),t?s/r:s}},Fg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.floor(r)}},Ig=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.ceil(r)}},Lg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Math.abs(n)>=2**27?E.create(p.NUM):t.cos().getReciprocal()}},Rg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Number.isFinite(Math.cosh(n))?Math.abs(n)>=2**27?E.create(p.NUM):t.cosh().getReciprocal():R.create(0)}},zg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,4),d(this,`needsSheetRowColumnCount`,!0)}calculate(e,t,n,r){let i=e,a=t==null?R.create(1):t,o=n==null?R.create(1):n,s=r==null?R.create(1):r;i.isNull()&&(i=R.create(1)),a.isNull()&&(a=R.create(1)),o.isNull()&&(o=R.create(1)),s.isNull()&&(s=R.create(1));let c=Math.max(i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,i,E.create(p.NA)),d=V(c,l,a,E.create(p.NA)),f=V(c,l,o,E.create(p.NA)),m=V(c,l,s,E.create(p.NA)),h=u.mapValue((e,t,n)=>{let r=d.get(t,n),i=f.get(t,n),a=m.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._getResult(e,r,i,a,c,l)});return c===1&&l===1?h.get(0,0):h}_getResult(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=X(e,t,n,r);if(o)return s;let[l,u,d,f]=c,m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue()),g=+d.getValue(),_=+f.getValue();if(m<0||h<0||m*h>10**7)return E.create(p.VALUE);if(m===0||h===0)return E.create(p.CALC);let v=this._rowCount-this.row,y=this._columnCount-this.column;if(m>v||h>y)return E.create(p.REF);let b=[];for(let e=0;e<m;e++){b[e]=[];for(let t=0;t<h;t++)b[e][t]=g+(e*h+t)*_}return i>1||a>1?R.create(b[0][0]):B.createByArray(b)}},Bg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isNull()||t.isNull()||n.isNull()||r.isNull())return E.create(p.NA);let{isError:i,errorObject:a,variants:o}=Y(e,t,n);if(i)return a;let{isError:s,errorObject:c,variants:l}=X(...o);if(s)return c;let[u,d,f]=l,m=+u.getValue(),h=+d.getValue(),g=+f.getValue(),_=[];if(r.isArray()){let e=!1,t=E.create(p.VALUE);if(r.iterator(n=>{let{isError:r,errorObject:i,coefficientsObject:a}=this._handleSingleObject(n);if(r)return e=!0,t=i,!1;let o=+a.getValue();_.push(o)}),e)return t}else{let{isError:e,errorObject:t,coefficientsObject:n}=this._handleSingleObject(r);if(e)return t;let i=+n.getValue();_.push(i)}let v=0;for(let e=0;e<_.length;e++)v+=_[e]*m**(h+e*g);return Number.isNaN(v)||!Number.isFinite(v)?E.create(p.NUM):R.create(v)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:E.create(p.VALUE),coefficientsObject:null};let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?{isError:!0,errorObject:t,coefficientsObject:null}:{isError:!1,errorObject:null,coefficientsObject:t}}},Vg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();return a>0?R.create(1):a<0?R.create(-1):R.create(0)}},Hg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}},Ug=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}},Wg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}},Gg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return E.create(p.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(n<0)return E.create(p.NUM);let r=Math.sqrt(n*Math.PI);return R.create(r)}};let Kg={1:Q.AVERAGE,2:Q.COUNT,3:Q.COUNTA,4:Q.MAX,5:Q.MIN,6:Q.PRODUCT,7:Q.STDEV,8:Q.STDEVP,9:Q.SUM,10:Q.VAR,11:Q.VARP};var qg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,255),d(this,`needsReferenceObject`,!0),d(this,`needsFilteredOutRows`,!0),d(this,`needsFormulaDataModel`,!0)}calculate(e,...t){let n;n=e.isReferenceObject()?e.toArrayValueObject():e;let{isError:r,multiAreaRefs:i,normalRefs:a}=Al(t);if(!r&&i.length>0)return this._handleMultiAreaRefs(n,i,t);if(n.isArray()){let e=n.mapValue(e=>this._handleSingleObject(e,{isError:r,refs:a}));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,{isError:r,refs:a})}_handleSingleObject(e,t){let{isError:n=!1,refs:r}=t,i=e;if(e.isString()&&(i=e.convertToNumberObjectValue()),i.isError())return i;if(n)return E.create(p.VALUE);let a=Math.floor(+i.getValue());if(a<1||a>11&&a<101||a>111)return E.create(p.VALUE);let o=!1;return a>=101&&(a-=100,o=!0),Pl({type:Kg[a],ignoreRowHidden:o,ignoreErrorValues:!1,ignoreNested:!0,formulaDataModel:this._formulaDataModel},r)}_handleMultiAreaRefs(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,{multiAreaInfoMap:a,maxAreasLen:o}=this._getMultiAreaInfo(t),s=Math.max(r,o),c=[];for(let t=0;t<s;t++){let o=t<r?t:r-1,s=[];for(let c=0;c<i;c++){if(r>1&&t>=r){s.push(E.create(p.NA));continue}let i=e.isArray()?e.get(o,c):e,l=[];for(let e=0;e<n.length;e++){let r=n[e],i=a.get(r);if(i){let e=t<i.rowAreas.length?t:i.rowAreas.length-1,n=i.rowAreas[e];if(n.isError()){s.push(n);break}l.push(n);continue}l.push(r)}let u=this._handleSingleObject(i,{isError:!1,refs:l});s.push(u)}c.push(s)}return c.length===1?c[0][0]:lo(c,c.length,i)}_getMultiAreaInfo(e){let t=new Map,n=1;return e.forEach(e=>{let r=e.getAreas().map(t=>{if(!t||t.length===0)return e;let n=t.find(e=>!e.isError());return n==null?t[0]:n});t.set(e,{ref:e,rowAreas:r}),n=Math.max(n,r.length||1)}),{multiAreaInfoMap:t,maxAreasLen:n}}},Jg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(0);for(let n=0;n<e.length;n++){let r=e[n];if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()||(r.isArray()&&(r=r.sum()),r.isError()))return r;if(t=t.plus(r),t.isError())return t}return t}},Yg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3),d(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return E.create(p.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){let t=r.mapValue(t=>this._handleSingleObject(e,t,n));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,r,n)}_handleSingleObject(e,t,n){let r=e.toArrayValueObject(),i=fo(r,t);i=xo(i,r,t);let a=r.getRowCount(),o=r.getColumnCount(),s=r;if(n){s=n.toArrayValueObject();let e=s.getRowCount(),t=s.getColumnCount();if(a!==e||o!==t){let e=n.getRangeData();e.endRow=e.startRow+a-1,e.endColumn=e.startColumn+o-1,n.setRangeData(e),s=n.toArrayValueObject()}}return s.pick(i).sum()}},Xg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,255),d(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=vo(t,e);if(n)return r;if(i)return a===1&&o===1?E.create(p.VALUE):V(a,o,E.create(p.VALUE));let l=bo(c,{formulaName:`SUMIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Zg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(e,...t){if(e.isError())return e;let n=this._initArray1(e);if(t.length===0)return n.sum();let r=n.getRowCount(),i=n.getColumnCount(),a=this._getResultArrayByArray1(r,i,n);if(a instanceof E)return a;let o=a;return this._validateVariants(t,r,i)||this._sumProduct(o,t,r,i)}_validateVariants(e,t,n){for(let r of e){if(r.isError())return r;if(r.isArray()){let e=r,i=e.getRowCount(),a=e.getColumnCount();if(i!==t&&a!==n)return E.create(p.VALUE)}}return null}_sumProduct(e,t,n,r){let i=0;for(let a=0;a<n;a++)for(let n=0;n<r;n++){let r=e[a][n];for(let e=0;e<t.length;e++){let i=t[e],o=this._getVariantCell(i,a,n);if(!o)return E.create(p.VALUE);if(o.isError())return o;o.isNumber()?r*=o.getValue():r=0}i+=r}return R.create(i)}_getVariantCell(e,t,n){if(!e.isArray())return e;let r=e.get(t,n);return r==null?null:r}_initArray1(e){let t=e;return t.isArray()||(t=B.create({calculateValueList:[[t]],rowCount:1,columnCount:1,unitId:``,sheetId:``,row:0,column:0})),t}_getResultArrayByArray1(e,t,n){let r=[];for(let i=0;i<e;i++){let e=[];for(let r=0;r<t;r++){let t=n.get(i,r);if(t.isError())return t;t.isNumber()?e.push(t.getValue()):e.push(0)}r.push(e)}return r}},Qg=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(2);for(let r=0;r<e.length;r++){let i=e[r];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()?i.iterator(e=>{if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e.isError())return t=e,!1;t=t.plus(e.pow(n))}):t=t.plus(i.pow(n)),t.isError())return t}return t}},$g=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(n!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return E.create(p.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=Ua.create(),a=[],o=[],s=0;return n.iterator((e,t,n)=>{let c=r.get(t,n);if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e!=null&&e.isError())return i=e,!1;if(c==null||c.isString()||c.isBoolean()||c.isNull())return!0;if(c!=null&&c.isError())return i=c,!1;let l=+e.getValue(),u=+c.getValue();a.push(l),o.push(u),s+=l**2-u**2}),i.isError()?i:a.length===0||o.length===0?E.create(p.DIV_BY_ZERO):R.create(s)}}_calculateSingleCell(e,n){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let i=n;if(i.isArray()&&(i=i.get(0,0)),i.isError())return i;if(r.isNull()||i.isNull())return E.create(p.VALUE);let a=+r.getValue(),o=+i.getValue();if(r.isString()&&!(0,t.isRealNum)(a)||r.isBoolean()||i.isString()&&!(0,t.isRealNum)(o)||i.isBoolean())return E.create(p.DIV_BY_ZERO);let s=a**2-o**2;return R.create(s)}},e_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(n!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return E.create(p.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=Ua.create(),a=[],o=[],s=0;return n.iterator((e,t,n)=>{let c=r.get(t,n);if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e!=null&&e.isError())return i=e,!1;if(c==null||c.isString()||c.isBoolean()||c.isNull())return!0;if(c!=null&&c.isError())return i=c,!1;let l=+e.getValue(),u=+c.getValue();a.push(l),o.push(u),s+=l**2+u**2}),i.isError()?i:a.length===0||o.length===0?E.create(p.DIV_BY_ZERO):R.create(s)}}_calculateSingleCell(e,n){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let i=n;if(i.isArray()&&(i=i.get(0,0)),i.isError())return i;if(r.isNull()||i.isNull())return E.create(p.VALUE);let a=+r.getValue(),o=+i.getValue();if(r.isString()&&!(0,t.isRealNum)(a)||r.isBoolean()||i.isString()&&!(0,t.isRealNum)(o)||i.isBoolean())return E.create(p.DIV_BY_ZERO);let s=a**2+o**2;return R.create(s)}},t_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(n!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return E.create(p.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=Ua.create(),a=[],o=[],s=0;return n.iterator((e,t,n)=>{let c=r.get(t,n);if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e!=null&&e.isError())return i=e,!1;if(c==null||c.isString()||c.isBoolean()||c.isNull())return!0;if(c!=null&&c.isError())return i=c,!1;let l=+e.getValue(),u=+c.getValue();a.push(l),o.push(u),s+=(l-u)**2}),i.isError()?i:a.length===0||o.length===0?E.create(p.DIV_BY_ZERO):R.create(s)}}_calculateSingleCell(e,n){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let i=n;if(i.isArray()&&(i=i.get(0,0)),i.isError())return i;if(r.isNull()||i.isNull())return E.create(p.VALUE);let a=+r.getValue(),o=+i.getValue();if(r.isString()&&!(0,t.isRealNum)(a)||r.isBoolean()||i.isString()&&!(0,t.isRealNum)(o)||i.isBoolean())return E.create(p.DIV_BY_ZERO);let s=(a-o)**2;return R.create(s)}},n_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}},r_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}},i_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue(),c=10**Math.trunc(s),l=Aa(a,c),u=Math.trunc(Ta(a,c)+l)/c;return R.create(u)});return r===1&&i===1?s.get(0,0):s}};let a_=[[Oh,K.ABS],[kh,K.ACOS],[Ah,K.ACOSH],[jh,K.ACOT],[Nh,K.ACOTH],[Ih,K.AGGREGATE],[Lh,K.ARABIC],[Rh,K.ASIN],[zh,K.ASINH],[Bh,K.ATAN],[Vh,K.ATAN2],[Hh,K.ATANH],[Uh,K.BASE],[Wh,K.CEILING],[Gh,K.CEILING_MATH],[Kh,K.CEILING_PRECISE],[qh,K.COMBIN],[Jh,K.COMBINA],[Yh,K.COS],[Xh,K.COSH],[Zh,K.COT],[Qh,K.COTH],[$h,K.CSC],[eg,K.CSCH],[tg,K.DECIMAL],[ng,K.DEGREES],[rg,K.EVEN],[ig,K.EXP],[ag,K.FACT],[og,K.FACTDOUBLE],[sg,K.FLOOR],[cg,K.FLOOR_MATH],[lg,K.FLOOR_PRECISE],[ug,K.GCD],[dg,K.INT],[fg,K.LCM],[pg,K.LN],[mg,K.LOG],[hg,K.LOG10],[gg,K.MDETERM],[_g,K.MINVERSE],[vg,K.MMULT],[yg,K.MOD],[bg,K.MROUND],[xg,K.MULTINOMIAL],[Sg,K.MUNIT],[Cg,K.ODD],[wg,K.PI],[Tg,K.POWER],[Eg,K.PRODUCT],[Dg,K.QUOTIENT],[Og,K.RADIANS],[kg,K.RAND],[Ag,K.RANDARRAY],[jg,K.RANDBETWEEN],[Mg,K.ROMAN],[Ng,K.ROUND],[Pg,K.ROUNDBANK],[Fg,K.ROUNDDOWN],[Ig,K.ROUNDUP],[Lg,K.SEC],[Rg,K.SECH],[Bg,K.SERIESSUM],[zg,K.SEQUENCE],[Vg,K.SIGN],[Hg,K.SIN],[Ug,K.SINH],[Wg,K.SQRT],[Gg,K.SQRTPI],[qg,K.SUBTOTAL],[Jg,K.SUM],[Yg,K.SUMIF],[Xg,K.SUMIFS],[Zg,K.SUMPRODUCT],[Qg,K.SUMSQ],[$g,K.SUMX2MY2],[e_,K.SUMX2PY2],[t_,K.SUMXMY2],[n_,K.TAN],[r_,K.TANH],[i_,K.TRUNC]];var o_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2),d(this,`_compareType`,v.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}},s_=class e extends ee{static create(t){return new e(t)}isCube(){return!0}constructor(e){super(``),d(this,`_values`,[]),this._values=e}dispose(){this._values.forEach(e=>{e.dispose()}),this._values=[]}getCubeValues(){return this._values}getCubeCount(){return this._values.length}sum(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=R.create(-1/0);return this._values.forEach(t=>{let n=t.max();e.isLessThan(n)&&(e=n)}),e}min(){let e=R.create(1/0);return this._values.forEach(t=>{let n=t.max();e.isGreaterThan(n)&&(e=n)}),e}count(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}},c_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isError())return r;if(!r.isArray())return E.create(p.VALUE);t.push(r)}return s_.create(t)}},l_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?E.create(p.DIV_BY_ZERO):e.divided(t)}},u_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}},d_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}},f_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}};let p_=[[o_,Xo.COMPARE],[l_,Xo.DIVIDED],[u_,Xo.MINUS],[d_,Xo.MULTIPLY],[f_,Xo.PLUS],[c_,Xo.CUBE]],m_=new Set([K.ACOT,K.ACOTH,K.ARABIC,K.BASE,K.CEILING_MATH,K.CEILING_PRECISE,K.COMBINA,K.COT,K.COTH,K.CSC,K.CSCH,K.DECIMAL,K.FLOOR_MATH,K.FLOOR_PRECISE,K.MUNIT,K.RANDARRAY,K.SEC,K.SECH,K.SEQUENCE,G.CHOOSECOLS,G.CHOOSEROWS,G.DROP,G.EXPAND,G.FILTER,G.FORMULATEXT,G.HSTACK,G.SORT,G.SORTBY,G.TAKE,G.TOCOL,G.TOROW,G.UNIQUE,G.VSTACK,G.WRAPCOLS,G.WRAPROWS,G.XLOOKUP,G.XMATCH,U.BITAND,U.BITLSHIFT,U.BITOR,U.BITRSHIFT,U.BITXOR,U.ERF_PRECISE,U.ERFC_PRECISE,U.IMCOSH,U.IMCOT,U.IMCSC,U.IMCSCH,U.IMSEC,U.IMSECH,U.IMSINH,U.IMTAN,zo.ISFORMULA,zo.SHEET,zo.SHEETS,Bo.IFNA,Bo.IFS,Bo.SWITCH,Bo.XOR,q.BETA_DIST,q.BETA_INV,q.BINOM_DIST,q.BINOM_DIST_RANGE,q.BINOM_INV,q.CHISQ_DIST,q.CHISQ_DIST_RT,q.CHISQ_INV,q.CHISQ_INV_RT,q.CHISQ_TEST,q.CONFIDENCE_NORM,q.CONFIDENCE_T,q.COVARIANCE_P,q.COVARIANCE_S,q.EXPON_DIST,q.F_DIST,q.F_DIST_RT,q.F_INV,q.F_INV_RT,q.F_TEST,q.FORECAST_LINEAR,q.GAMMA,q.GAMMA_DIST,q.GAMMA_INV,q.GAMMALN_PRECISE,q.GAUSS,q.HYPGEOM_DIST,q.LOGNORM_DIST,q.LOGNORM_INV,q.MAXIFS,q.MINIFS,q.MODE_MULT,q.MODE_SNGL,q.NEGBINOM_DIST,q.NORM_DIST,q.NORM_INV,q.NORM_S_DIST,q.NORM_S_INV,q.PERCENTILE_EXC,q.PERCENTILE_INC,q.PERCENTRANK_EXC,q.PERCENTRANK_INC,q.PERMUTATIONA,q.PHI,q.POISSON_DIST,q.QUARTILE_EXC,q.QUARTILE_INC,q.RANK_AVG,q.RANK_EQ,q.SKEW_P,q.STDEV_P,q.STDEV_S,q.T_DIST,q.T_DIST_2T,q.T_DIST_RT,q.T_INV,q.T_INV_2T,q.T_TEST,q.VAR_P,q.VAR_S,q.WEIBULL_DIST,q.Z_TEST,J.ARRAYTOTEXT,Vo.ENCODEURL,J.NUMBERVALUE,J.TEXTAFTER,J.TEXTBEFORE,J.TEXTJOIN,J.TEXTSPLIT,J.UNICHAR,J.UNICODE,J.VALUETOTEXT,Ro.DAYS,Ro.ISOWEEKNUM,W.PDURATION,W.RRI,Bo.BYCOL,Bo.BYROW,Bo.MAKEARRAY,Bo.MAP,Bo.REDUCE,Bo.SCAN]);var h_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(0);for(let r=0;r<e.length;r++){let i=e[r];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(i=g_(i),i.isError())return i;if(e[r]=i,t=t.plus(i.sum()),t.isError())return t;n=n.plus(i.count())}else i.isNull()||(t=t.plus(i),n=n.plus(R.create(1)))}if(n.getValue()===0)return E.create(p.NUM);let r=t.divided(n);if(r.isError())return r;let i=R.create(0);for(let t=0;t<e.length;t++){let n=e[t];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()){if(i=i.plus(n.minus(r).abs().sum()),i.isError())return i}else n.isNull()||(i=i.plus(n.minus(r).abs()))}return i.divided(n)}};function g_(e){let t=[];t[0]=[];let n=null;return e.iterator((e,r,i)=>{if(e!=null&&e.isError())return n=e,!1;e!=null&&e.isNumber()&&t[0].push(e)}),n||lo(t,1,t[0].length)}var __=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(0);for(let r=0;r<e.length;r++){let i=e[r];if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(t=t.plus(i.sum()),t.isError())return t;n=n.plus(i.count())}else i.isNull()||(t=t.plus(i),n=n.plus(R.create(1)))}return t.divided(n)}},v_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,254)}calculate(...e){let t=!1,n;e.length%2!=0&&(t=!0,n=E.create(p.NA));let r=[],i=[];for(let a=0;a<e.length;a+=2){let o=e[a],s=o.isArray()?o.getRowCount():1,c=o.isArray()?o.getColumnCount():1;for(let e=0;e<s;e++)for(let n=0;n<c;n++){let i=o.isArray()?o.get(e,n):o;if(i.isError())return i;if(t)continue;let a=i.isNull()?``:i.getValue();r.push(a)}if(a+1>=e.length)continue;let l=e[a+1],u=l.isArray()?l.getRowCount():1,d=l.isArray()?l.getColumnCount():1;(u!==s||d!==c)&&(t=!0,n=E.create(p.VALUE));for(let e=0;e<u;e++)for(let n=0;n<d;n++){let r=l.isArray()?l.get(e,n):l;if(r.isError())return r;if(t)continue;let a=r.isNull()?``:r.getValue();i.push(a)}}return t?n:this._getResult(r,i)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++){let n=e[a],o=t[a];if(!(typeof n!=`number`&&typeof o!=`number`)){if(typeof n!=`number`||typeof o!=`number`||o<0)return E.create(p.VALUE);r+=n*o,i+=o}}if(i===0)return E.create(p.DIV_BY_ZERO);let a=r/i;return R.create(a)}},y_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(0);for(let r=0;r<e.length;r++){let i=e[r];if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e==null||e.isNull())return!0;let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue(),r.isError()&&(r=R.create(0))),r.isBoolean()&&(r=r.convertToNumberObjectValue()),r.isError())return t=r,!1;t=t.plus(r),n=n.plus(R.create(1))}),t.isError())return t}else i.isNull()||(t=t.plus(i),n=n.plus(R.create(1)))}return t.divided(n)}},b_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3),d(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return E.create(p.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){let t=r.mapValue(t=>this._handleSingleObject(e,t,n));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,r,n)}_handleSingleObject(e,t,n){let r=e.toArrayValueObject(),i=fo(r,t);i=xo(i,r,t);let a=r.getRowCount(),o=r.getColumnCount(),s=r;if(n){s=n.toArrayValueObject();let e=s.getRowCount(),t=s.getColumnCount();if(a!==e||o!==t){let e=n.getRangeData();e.endRow=e.startRow+a-1,e.endColumn=e.startColumn+o-1,n.setRangeData(e),s=n.toArrayValueObject()}}let c=s.pick(i),l=c.sum(),u=c.count();return l.divided(u)}},x_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,255),d(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=vo(t,e);if(n)return r;if(i)return a===1&&o===1?E.create(p.VALUE):V(a,o,E.create(p.VALUE));let l=bo(c,{formulaName:`AVERAGEIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},S_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=i==null?R.create(0):i,s=a==null?R.create(1):a;o.isNull()&&(o=R.create(0)),s.isNull()&&(s=R.create(1));let c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,E.create(p.NA)),d=V(c,l,t,E.create(p.NA)),f=V(c,l,n,E.create(p.NA)),m=V(c,l,r,E.create(p.NA)),h=V(c,l,o,E.create(p.NA)),g=V(c,l,s,E.create(p.NA)),_=u.mapValue((e,t,n)=>{let r=d.get(t,n),i=f.get(t,n),a=m.get(t,n),o=h.get(t,n),s=g.get(t,n);return this._handleSingleObject(e,r,i,a,o,s)});return c===1&&l===1?_.get(0,0):_}_handleSingleObject(e,t,n,r,i,a){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r.isError())return r;if(i.isError())return i;if(a.isError())return a;let{isError:o,errorObject:s,variants:c}=X(e,t,n,r,i,a);if(o)return s;let[l,u,d,f,m,h]=c,g=+l.getValue(),_=+u.getValue(),v=+d.getValue(),y=+f.getValue(),b=+m.getValue(),x=+h.getValue();if(_<=0||v<=0||g<b||g>x||b===x)return E.create(p.NUM);let S;return S=y?Ic((g-b)/(x-b),_,v):Lc((g-b)/(x-b),_,v)/(x-b),R.create(S)}},C_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=r==null?n:r;i.isNull()&&(i=n);let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,E.create(p.NA)),c=V(a,o,t,E.create(p.NA)),l=V(a,o,n,E.create(p.NA)),u=V(a,o,i,E.create(p.NA)),d=s.mapValue((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n),a=u.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return a===1&&o===1?d.get(0,0):d}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=+c.getValue(),m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue());if(d<0||f<0||f>1||m<0||m>d||h<0||h<m||h>d)return E.create(p.NUM);let g=0;for(let e=m;e<=h;e++)g+=Wc(e,d,f);return R.create(g)}},w_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=+c.getValue();if(l<0||u<1||u>10**10)return E.create(p.NUM);let f;return f=d?Gc(l,u):Kc(l,u),R.create(f)}},T_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||s>1||c<1||c>10**10)return E.create(p.NUM);let l=qc(s,c);return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},E_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:c,variants:l}=X(e,r,i);if(a)return c;let[u,d,f]=l,m=+u.getValue(),h=+d.getValue(),g=Math.floor(+f.getValue());if(m<=0||m>=1||h<=0||g<1)return E.create(p.NUM);if(g===1)return E.create(p.DIV_BY_ZERO);let _=Math.abs(xl(m/2,g-1)*h/Math.sqrt(g));return R.create(_)});return r===1&&i===1?c.get(0,0):c}},D_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?E.create(p.VALUE):E.create(p.DIV_BY_ZERO);if(n*r!==i*a)return E.create(p.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?l:f?E.create(p.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++){let n=e[r]-a,i=t[r]-o;s+=n*i,c+=n**2,l+=i**2}let u=Math.sqrt(c*l);return u===0?E.create(p.DIV_BY_ZERO):R.create(s/u)}},O_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(0);for(let n=0;n<e.length;n++){let r=e[n];r.isError()||(r.isArray()?t=t.plus(r.count()):r.isString()?r.convertToNumberObjectValue().isError()||(t=t.plus(R.create(1))):r.isNull()||(t=t.plus(R.create(1))))}return t}},k_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(0);for(let n=0;n<e.length;n++){let r=e[n];if(r.isError()){t=t.plus(R.create(1));continue}r.isArray()?(r=r.countA(),t=t.plus(r)):r.isNull()||(t=t.plus(R.create(1)))}return t}},A_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.getValue()===``||e.isNull()?R.create(1):e.isArray()?e.countBlank():R.create(0)}},j_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2),d(this,`needsReferenceObject`,!0)}calculate(e,t){if(!e.isReferenceObject())return E.create(p.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){let t=n.mapValue(t=>this._handleSingleObject(e,t));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,n)}_handleSingleObject(e,t){let n=e.toArrayValueObject(),r=fo(n,t);r=xo(r,n,t);let i=n.pick(r);return this._countA(i)}_countA(e){let t=R.create(0);return e.iterator(e=>{if(e==null)return!0;t=t.plusBy(1)}),t}},M_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,255),d(this,`needsReferenceObject`,!0)}calculate(...e){let{isError:t,errorObject:n,rangeIsDifferentSize:r,criteriaMaxRowLength:i,criteriaMaxColumnLength:a,variants:o}=vo(e);if(t)return n;if(r)return i===1&&a===1?E.create(p.VALUE):V(i,a,E.create(p.VALUE));let s=bo(o,{formulaName:`COUNTIFS`,maxRowLength:i,maxColumnLength:a,isNumberSensitive:!0});return s.length===1&&s[0].length===1?s[0][0]:B.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},N_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return E.create(p.VALUE);if(n*r!==i*a)return E.create(p.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?l:f?E.create(p.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length<=1)return E.create(p.DIV_BY_ZERO);let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0;for(let r=0;r<n;r++){let n=e[r]-a,i=t[r]-o;s+=n*i}return R.create(s/(n-1))}},P_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=[],n=0,r=!0;for(let i=0;i<e.length;i++){let a=e[i];if(a.isArray()){let e=!1,i=E.create(p.VALUE);if(a.iterator(a=>{let o=this._handleSingleObject(a);if(o.isError())return e=!0,i=o,!1;if(o.isNull())return!0;let s=o.getValue();t.push(s),n+=s,r=!1}),e)return i}else{let e=this._handleSingleObject(a);if(e.isError())return e;if(e.isNull())continue;let i=e.getValue();t.push(i),n+=i,r=!1}}if(r)return E.create(p.NUM);let i=n/t.length,a=0;for(let e=0;e<t.length;e++)a+=(t[e]-i)**2;return R.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return Ua.create();let n=e.getValue();return(0,t.isRealNum)(n)?R.create(+n):Ua.create()}},F_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue()),h=+u.getValue();if(d<0||f<1||f>10**10||m<1||m>10**10)return E.create(p.NUM);let g;return g=h?Jc(d,f,m):Yc(d,f,m),Number.isNaN(g)||!Number.isFinite(g)?E.create(p.NUM):R.create(g)}},I_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||l>1||u<1||u>10**10||d<1||d>10**10)return E.create(p.NUM);let f=Xc(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?E.create(p.NUM):R.create(f)}},L_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=i.getValue();if(a<=-1||a>=1)return E.create(p.NUM);let o=Math.log((1+a)/(1-a))/2;return R.create(o)}},R_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.exp(2*a)-1,s=Math.exp(2*a)+1;return!Number.isFinite(o)&&o>0&&!Number.isFinite(s)&&s>0?R.create(1):R.create(o/s)}},z_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=t.isArray()?t.getRowCount():1,i=t.isArray()?t.getColumnCount():1,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1,s=t;t.isArray()&&r===1&&i===1&&(s=t.get(0,0));let c=n;return n.isArray()&&a===1&&o===1&&(c=n.get(0,0)),e.isArray()?e.mapValue(e=>this._handleSingleObject(e,s,c,r,i,a,o)):this._handleSingleObject(e,s,c,r,i,a,o)}_handleSingleObject(e,t,n,r,i,a,o){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;let s=e;if(e.isString()&&(s=e.convertToNumberObjectValue()),s.isError())return s;let c=+s.getValue();if((r*i===1||a*o===1)&&(t.isNull()||n.isNull()))return E.create(p.VALUE);if(r*i!==a*o)return E.create(p.NA);let{isError:l,errorObject:u,array1Values:d,array2Values:f,noCalculate:m}=Sl(t,n,r*i,i,o);if(l)return u;if(m)return E.create(p.DIV_BY_ZERO);let h=$c(c,d,f);return Number.isFinite(h)?R.create(h):E.create(p.DIV_BY_ZERO)}},B_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,values:i}=this._getValues(e);if(n)return r;if(e.isNull()||t.isNull())return E.create(p.VALUE);let{values:a}=this._getValues(t,!0);a.length===0&&(a=[0]);let o=this._getNewBinsArrayValues(a),s=Array(o.length).fill(0);for(let e=0;e<i.length;e++){let t=i[e],n=o.findIndex(e=>t>e.start&&t<=e.end);s[n]++}return B.createByArray(s.map(e=>[e]))}_getValues(e,n=!1){let r=[],i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1;for(let o=0;o<i;o++)for(let i=0;i<a;i++){let a=e.isArray()?e.get(o,i):e;if(a.isError()){if(!n)return{isError:!0,errorObject:a,values:r};continue}if(a.isNull()||a.isBoolean())continue;let s=a.getValue();(0,t.isRealNum)(s)&&r.push(+s)}return{isError:!1,errorObject:null,values:r}}_getNewBinsArrayValues(e){let t=e.map((e,t)=>({value:e,index:t})).sort((e,t)=>e.value-t.value),n=[];for(let e=0;e<t.length;e++){let r=t[e].index;if(e===0){n[r]={start:-1/0,end:t[e].value};continue}n[r]={start:t[e-1].value,end:t[e].value}}return n.push({start:t[t.length-1].value,end:1/0}),n}},V_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();if(a===0||a<0&&a%1==0)return E.create(p.NUM);let o=el(a);return Number.isNaN(o)||!Number.isFinite(o)?E.create(p.NUM):R.create(o)}},H_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0)return E.create(p.NUM);let o=il(a);return Math.abs(o)<1e-15?R.create(0):R.create(o)}},U_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=ml(+i.getValue(),0,1)-.5;return R.create(a)}},W_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n=1,r=0,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(o.isArray()){let e=!1,a=E.create(p.VALUE);if(o.iterator(o=>{if(o!=null&&o.isError())return e=!0,a=o,!1;if(o!=null&&o.isNull()||o!=null&&o.isBoolean())return!0;let s=o.getValue();if(!(0,t.isRealNum)(s))return!0;+s<=0&&(i=!0),n*=+s,r++}),e)return a}else{if(o.isError())return o;if(o.isString()){let e=o.convertToNumberObjectValue();if(e.isError())return e}if(o.isNull()||o.isBoolean())continue;let e=o.getValue();if(!(0,t.isRealNum)(e))continue;+e<=0&&(i=!0),n*=+e,r++}}if(r===0||i)return E.create(p.NUM);let a=n**(1/r);return R.create(a)}},G_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Cl(e,t,n);if(i)return a;let o=wl(e);if(o instanceof E)return o;let s=this._getKnownXsValues(o,t);if(s instanceof E)return s;let c=this._getNewXsValues(s,n);if(c instanceof E)return c;let l=r==null?L.create(!0):r;if(l.isArray()&&(l=l.get(0,0)),l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+l.getValue();return this._getResult(o,s,c,u)}_getResult(e,t,n,r){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?E.create(p.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=e.length===1&&e[0].length>1,a=kl(e,t,n,r,!0);if(a instanceof E)return a;let{coefficients:o,newX:s}=a,c=o[0].length,l=o[0][c-1],u=[];for(let e=0;e<s.length;e++){u[e]=[];let t=l;for(let n=c-2;n>=0;n--)t*=o[0][c-2-n]**s[e][n];u[e].push(t)}return i&&(u=Cc(u)),B.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=El(t.flat(),i,r,!0),s=n.map(e=>e.map(e=>o*a**e));return B.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Tl(e.length,e[0].length):wl(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:wl(t)}},K_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n=0,r=0,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(o.isArray()){let e=!1,a=E.create(p.VALUE);if(o.iterator(o=>{if(o!=null&&o.isError())return e=!0,a=o,!1;if(o!=null&&o.isNull()||o!=null&&o.isBoolean())return!0;let s=o.getValue();if(!(0,t.isRealNum)(s))return!0;+s<=0&&(i=!0),n+=1/s,r++}),e)return a}else{if(o.isError())return o;if(o.isString()){let e=o.convertToNumberObjectValue();if(e.isError())return e}if(o.isNull()||o.isBoolean())continue;let e=o.getValue();if(!(0,t.isRealNum)(e))continue;+e<=0&&(i=!0),n+=1/e,r++}}if(r===0)return E.create(p.NA);if(i)return E.create(p.NUM);let a=r/n;return R.create(a)}},q_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,5),d(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,E.create(p.NA)),c=V(a,o,t,E.create(p.NA)),l=V(a,o,n,E.create(p.NA)),u=V(a,o,r,E.create(p.NA)),d=V(a,o,i,E.create(p.NA)),f=s.mapValue((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n),a=u.get(t,n),o=d.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:o.isError()?o:this._handleSingleObject(e,r,i,a,o)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=X(e,t,n,r,i);if(a)return o;let[c,l,u,d,f]=s,m=Math.floor(+c.getValue()),h=Math.floor(+l.getValue()),g=Math.floor(+u.getValue()),_=Math.floor(+d.getValue()),v=+f.getValue();if(m<0||m>h||m>g||m<h-_+g||h<=0||h>_||g<=0||g>_||_<=0)return E.create(p.NUM);let y;return y=v?sl(m,h,g,_):cl(m,h,g,_),Number.isNaN(y)&&(y=0),R.create(y)}},J_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?E.create(p.VALUE):E.create(p.DIV_BY_ZERO);if(n*r!==i*a)return E.create(p.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?l:f?E.create(p.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=$c(0,e,t);return Number.isFinite(n)?R.create(n):E.create(p.DIV_BY_ZERO)}},Y_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n=[],r=0;for(let i=0;i<e.length;i++){let a=e[i];if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}let o=a.isArray()?a.getRowCount():1,s=a.isArray()?a.getColumnCount():1;for(let e=0;e<o;e++)for(let i=0;i<s;i++){let o=a.isArray()?a.get(e,i):a;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;let s=o.getValue();(0,t.isRealNum)(s)&&(n.push(+s),r+=+s)}}return n.length<=3?E.create(p.DIV_BY_ZERO):this._getResult(n,r)}_getResult(e,t){let n=e.length,r=t/n,i=0;for(let t=0;t<n;t++)i+=(e[t]-r)**2;let a=Math.sqrt(i/(n-1));if(a===0)return E.create(p.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**4;let s=n*(n+1)/((n-1)*(n-2)*(n-3))*o-3*(n-1)**2/((n-2)*(n-3));return R.create(s)}},X_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Fl(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return Ll(e,+a.getValue())}},Z_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Cl(e,t);if(i)return a;let o=wl(e);if(o instanceof E)return o;let s=this._getKnownXsValues(o,t);if(s instanceof E)return s;let c=n==null?L.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?L.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=X(c,l);if(u)return d;let[p,m]=f;return this._getResult(o,s,+p.getValue(),+m.getValue())}_getResult(e,t,n,r){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?E.create(p.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=kl(e,t,t,n,!1);if(i instanceof E)return i;let{coefficients:a,X:o,XTXInverse:s}=i,c=[];if(r){let t=e.flat(),r=t.length,i=n?t.reduce((e,t)=>e+t,0)/r:0,l=s.length,u=r-l,d=a[0].length,f=Array(d-2).fill(p.NA),m=a[0][d-1],h=[];for(let e=0;e<o.length;e++){let t=m;for(let n=d-2;n>=0;n--)t+=a[0][d-2-n]*o[e][n];h.push(t)}let g=0,_=0;for(let e=0;e<r;e++)g+=(t[e]-i)**2,_+=(t[e]-h[e])**2;let v=g-_,y=g===0?0:v/g,b=[];for(let e=l-1;e>=0;e--){let t=u>0?Math.sqrt(_/u*s[e][e]):0;b.push(t)}if(n){let e=b.shift();b.push(e)}else b.push(p.NA);let x=u>0?Math.sqrt(_/u):0,S=u>0?v/(d-1)/(_/u):p.NUM;c=[a[0],[...b],[y,x,...f],[S,u,...f],[v,_,...f]]}else c=[a[0]];return B.createByArray(c)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s}=El(a,i,n,!1);if(Number.isNaN(o))return E.create(p.NA);let c=[];if(r){let e=i.length,t=0,r=0,l=e-1;if(n){let n=0,o=0;for(let t=0;t<e;t++)n+=i[t],o+=a[t];t=n/e,r=o/e,l=e-2}let u=0,d=0,f=0;for(let n=0;n<e;n++)u+=(i[n]-t)**2,d+=(i[n]-(o*a[n]+s))**2,f+=(a[n]-r)**2;let m=u-d,h=m===u?1:m/u,g=0,_=0,v=0;l>0&&(f>0&&(g=Math.sqrt(d/l/f),_=Math.sqrt(d/l*(1/e+r**2/f))),v=Math.sqrt(d/l));let y=l>0?m/1/(d/l):p.NUM;n||(_=p.NA),c=[[o,s],[g,_],[h,v],[y,l],[m,d]]}else c=[[o,s]];return B.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?Tl(e.length,e[0].length):wl(t)}},Q_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Cl(e,t);if(i)return a;let o=wl(e);if(o instanceof E)return o;let s=this._getKnownXsValues(o,t);if(s instanceof E)return s;let c=n==null?L.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?L.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=X(c,l);if(u)return d;let[p,m]=f;return this._getResult(o,s,+p.getValue(),+m.getValue())}_getResult(e,t,n,r){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?E.create(p.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=kl(e,t,t,n,!0);if(i instanceof E)return i;let{coefficients:a,Y:o,X:s,XTXInverse:c}=i,l=[];if(r){let e=o.flat(),t=e.length,r=n?e.reduce((e,t)=>e+t,0)/t:0,i=c.length,u=t-i,d=a[0].length,f=Array(d-2).fill(p.NA),m=a[0][d-1],h=[];for(let e=0;e<s.length;e++){let t=m;for(let n=d-2;n>=0;n--)t*=a[0][d-2-n]**s[e][n];h.push(Math.log(t))}let g=0,_=0;for(let i=0;i<t;i++)g+=(e[i]-r)**2,!(!n&&!Number.isFinite(h[i]))&&(_+=(e[i]-h[i])**2);Number.isFinite(_)||(_=0);let v=g-_,y=g===0?0:v/g,b=[];for(let e=i-1;e>=0;e--){let t=u>0?Math.sqrt(_/u*c[e][e]):0;b.push(t)}if(n){let e=b.shift();b.push(e)}else b.push(p.NA);let x=u>0?Math.sqrt(_/u):0,S=u>0?v/(d-1)/(_/u):p.NUM;l=[a[0],[...b],[y,x,...f],[S,u,...f],[v,_,...f]]}else l=[a[0]];return B.createByArray(l)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s,Y:c}=El(a,i,n,!0);if(Number.isNaN(o))return E.create(p.NA);let l=[];if(r){let e=c.length,t=0,r=0,i=e-1;if(n){let n=0,o=0;for(let t=0;t<e;t++)n+=c[t],o+=a[t];t=n/e,r=o/e,i=e-2}let u=0,d=0,f=0;for(let n=0;n<e;n++)u+=(c[n]-t)**2,d+=(c[n]-Math.log(s*o**a[n]))**2,f+=(a[n]-r)**2;let m=u-d,h=u===0?0:m/u,g=0,_=0,v=0,y=0;i>0&&(f>0&&(g=Math.sqrt(d/i/f),_=Math.sqrt(d/i*(1/e+r**2/f))),v=Math.sqrt(d/i),y=m/1/(d/i)),n||(_=p.NA),l=[[o,s],[g,_],[h,v],[y,i],[m,d]]}else l=[[o,s]];return B.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?Tl(e.length,e[0].length):wl(t)}},$_=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),m=+l.getValue(),h=+u.getValue();if(d<=0||m<=0)return E.create(p.NUM);let g;return g=h?ll(d,f,m):ul(d,f,m),R.create(g)}},ev=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=this._getRangeValues(e);if(n instanceof E)return n;let r=ec(t);if(r.isError())return r;let{isError:i,errorObject:a,variants:o}=X(r);if(i)return a;let[s]=o,c=+s.getValue();if(c<=0||c>=1)return E.create(p.NUM);if(n.length<2)return E.create(p.DIV_BY_ZERO);let l=1-c,u=n.length,d=n.reduce((e,t)=>e+t,0)/u,f=n.reduce((e,t)=>e+(t-d)**2,0)/(u-1),m=Math.sqrt(f);if(m<=0)return E.create(p.NUM);let h=Math.abs(xl(l/2,u-1)*m/Math.sqrt(u));return R.create(h)}_getRangeValues(e){let t=[],n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let i=0;i<n;i++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(i,n):e;if(r.isError())return r;r.isNull()||r.isBoolean()||r.isString()||t.push(+r.getValue())}return t}},tv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(-1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isArray()&&(r=r.max()),r.isError())return r;t=this._validator(t,r)}}return t.getValue()===-1/0?R.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},nv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(-1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(r.isArray()&&r.iterator(e=>{let n=e;if((n==null||n.isNull()||n.isString())&&(n=R.create(0)),n.isBoolean()&&(n=n.convertToNumberObjectValue()),n.isError())return t=n,!1;t=this._validator(t,n)}),t.isError())return t;t=this._validator(t,r)}}return t.getValue()===-1/0?R.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},rv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,255),d(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=vo(t,e);if(n)return r;if(i)return a===1&&o===1?E.create(p.VALUE):V(a,o,E.create(p.VALUE));let l=bo(c,{formulaName:`MAXIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},iv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.isArray()){let e=!1,r=E.create(p.VALUE);if(i.iterator(i=>{if(i!=null&&i.isError())return e=!0,r=i,!1;if(i!=null&&i.isNull()||i!=null&&i.isBoolean())return!0;let a=i.getValue();if(!(0,t.isRealNum)(a))return!0;n.push(+a)}),e)return r}else{if(i.isError())return i;if(i.isNull()||i.isBoolean())continue;if(i.isString()){let e=i.convertToNumberObjectValue();if(e.isError())return e}let e=i.getValue();if(!(0,t.isRealNum)(e))continue;n.push(+e)}}return n.length===0?E.create(p.NUM):Il(n)}},av=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isArray()&&(r=r.min()),r.isError())return r;t=this._validator(t,r)}}return t.getValue()===1/0?R.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},ov=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=R.create(1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(r.isArray()&&r.iterator(e=>{let n=e;if((n==null||n.isNull()||n.isString())&&(n=R.create(0)),n.isBoolean()&&(n=n.convertToNumberObjectValue()),n.isError())return t=n,!1;t=this._validator(t,n)}),t.isError())return t;t=this._validator(t,r)}}return t.getValue()===1/0?R.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},sv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,255),d(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=vo(t,e);if(n)return r;if(i)return a===1&&o===1?E.create(p.VALUE):V(a,o,E.create(p.VALUE));let l=bo(c,{formulaName:`MINIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},cv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n={},r=0,i=1;for(let a=0;a<e.length;a++){let o=e[a];if(o.isError())return o;if(o.isString()){let e=o.convertToNumberObjectValue();if(e.isError())return e}let s=o.isArray()?o.getRowCount():1,c=o.isArray()?o.getColumnCount():1;for(let e=0;e<s;e++)for(let a=0;a<c;a++){let s=o.isArray()?o.get(e,a):o;if(s.isError())return s;if(s.isNull()||s.isBoolean()||s.isString())continue;let c=s.getValue();(0,t.isRealNum)(c)&&(n[+c]?(n[+c].count++,n[+c].count>i&&(i=n[+c].count)):n[+c]={count:1,order:r++})}}return r===0||i===1?new E(p.NA):this._getResult(n,i)}_getResult(e,t){let n=Object.entries(e).filter(([e,{count:n}])=>n===t).sort((e,t)=>e[1].order-t[1].order).map(([e])=>+e);return n.length===1?R.create(n[0]):B.createByArray(n.map(e=>[e]))}},lv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=Math.floor(+c.getValue()),m=+l.getValue(),h=+u.getValue();if(d<0||f<1||m<=0||m>=1)return E.create(p.NUM);let g;return g=h?fl(d,f,m):pl(d,f,m),R.create(g)}},uv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue(),l;return l=c?ml(s,0,1):hl(s,0,1),R.create(l)}},dv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?E.create(p.VALUE):E.create(p.DIV_BY_ZERO);if(n*r!==i*a)return E.create(p.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?l:f?E.create(p.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(e[r]-a)**2,l+=(t[r]-o)**2;if(c===0||l===0)return E.create(p.DIV_BY_ZERO);let u=s/Math.sqrt(c*l);return R.create(u)}},fv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Fl(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return Bl(e,+a.getValue())}},pv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?R.create(3):n;i.isNull()&&(i=R.create(3));let a=Math.max(t.isArray()?t.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,t,E.create(p.NA)),c=V(a,o,i,E.create(p.NA)),l=s.mapValue((e,t,n)=>{let i=c.get(t,n);return e.isError()?e:i.isError()?i:this._handleSingleObject(r,e,i)});return a===1&&o===1?l.get(0,0):l}_handleSingleObject(e,t,n){if(e instanceof E)return e;let{isError:r,errorObject:i,variants:a}=X(t,n);if(r)return i;let[o,s]=a,c=+o.getValue(),l=Math.floor(+s.getValue()),u=e.length;if(u===0||c<e[0]||c>e[u-1])return E.create(p.NA);if(u===1)return c===e[0]?R.create(1):E.create(p.NA);let d=0,f=!1,m=0;for(;!f&&m<u;)c===e[m]?(d=(m+1)/(u+1),f=!0):c>e[m]&&m+1<u&&c<e[m+1]&&(d=(m+1+(c-e[m])/(e[m+1]-e[m]))/(u+1),f=!0),m++;return f?l<1?E.create(p.NUM):(d=Oa(d,l),R.create(d)):E.create(p.NA)}_getValues(e){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=[];for(let a=0;a<n;a++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(a,n):e;if(r.isError())return r;if(r.isNull()||r.isBoolean())continue;let o=r.getValue();(0,t.isRealNum)(o)&&i.push(+o)}return i.sort((e,t)=>e-t)}},mv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let{isError:i,errorObject:o,variants:s}=X(e,r);if(i)return o;let[c,l]=s,u=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(u<0||u>=2147483647||d<0||u<d)return E.create(p.NUM);let f=1;for(let e=u-d+1;e<=u;e++)f*=e;return Number.isFinite(f)?R.create(f):E.create(p.NUM)});return n===1&&r===1?o.get(0,0):o}},hv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let{isError:i,errorObject:o,variants:s}=X(e,r);if(i)return o;let[c,l]=s,u=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(u<0||u>=2147483647||d<0)return E.create(p.NUM);if(u===0)return d===0?R.create(1):R.create(0);let f=u**d;return Number.isFinite(f)?R.create(f):E.create(p.NUM)});return n===1&&r===1?o.get(0,0):o}},gv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return R.create(o)}},_v=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,xRangeValues:o,probRangeValues:s}=this._handleXRangeAndProbRange(e,t),c=r==null?n:r;r!=null&&r.isNull()&&(c=n);let l=Math.max(n.isArray()?n.getRowCount():1,c.isArray()?c.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=V(l,u,n,E.create(p.NA)),f=V(l,u,c,E.create(p.NA)),m=d.mapValue((n,r,c)=>{let l=f.get(r,c);return e.isError()?e:t.isError()?t:n.isError()?n:l.isError()?l:i?a:this._handleSingleObject(o,s,n,l)});return l===1&&u===1?m.get(0,0):m}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(n,r);if(i)return a;let[s,c]=o,l=+s.getValue(),u=+c.getValue();if(t.reduce((e,t)=>e+t,0)!==1)return E.create(p.NUM);let d=0;for(let n=0;n<e.length;n++)e[n]>=l&&e[n]<=u&&(d+=t[n]);return R.create(d)}_handleXRangeAndProbRange(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,xRangeValues:[],probRangeValues:[]};let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return{isError:!0,errorObject:s,xRangeValues:[],probRangeValues:[]};if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return{isError:!0,errorObject:E.create(p.VALUE),xRangeValues:[],probRangeValues:[]};if(n*r!==i*a)return{isError:!0,errorObject:E.create(p.NA),xRangeValues:[],probRangeValues:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,xRangeValues:[],probRangeValues:[]}:f?{isError:!0,errorObject:E.create(p.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:u,probRangeValues:d}}},vv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Fl(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return Hl(e,Math.floor(+a.getValue()))}},yv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3),d(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e;r.isReferenceObject()&&(r=r.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=n==null?R.create(0):n;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,r,E.create(p.NA)),d=V(c,l,s,E.create(p.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return E.create(p.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();return Number.isNaN(c)||Number.isNaN(l)?E.create(p.VALUE):this._getResult(c,l,o)});return c===1&&l===1?f.get(0,0):f}_getResult(e,t,n){let r=n.sort((e,n)=>t?e-n:n-e),i=r.indexOf(e),a=[];for(;i>=0;){let t=i+1;a.push(t),i=r.indexOf(e,t)}if(a.length===0)return E.create(p.NA);let o=a.reduce((e,t)=>e+t,0)/a.length;return R.create(o)}_checkRefReferenceObject(e){let t=!1,n=E.create(p.NA),r=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,n=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;r.push(a)}),{refHasError:t,refErrorObject:n,refNumbers:r}):{refHasError:!0,refErrorObject:n,refNumbers:r}}},bv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3),d(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e;r.isReferenceObject()&&(r=r.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=n==null?R.create(0):n;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,r,E.create(p.NA)),d=V(c,l,s,E.create(p.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return E.create(p.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return E.create(p.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?E.create(p.NA):R.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=E.create(p.NA),r=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,n=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;r.push(a)}),{refHasError:t,refErrorObject:n,refNumbers:r}):{refHasError:!0,refErrorObject:n,refNumbers:r}}},xv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return E.create(p.VALUE);if(n*r!==i*a)return E.create(p.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?l:f?E.create(p.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return E.create(p.DIV_BY_ZERO);let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(e[r]-a)**2,l+=(t[r]-o)**2;if(c===0||l===0)return E.create(p.DIV_BY_ZERO);let u=(s/Math.sqrt(c*l))**2;return R.create(u)}},Sv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n=[],r=0;for(let i=0;i<e.length;i++){let a=e[i];if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}let o=a.isArray()?a.getRowCount():1,s=a.isArray()?a.getColumnCount():1;for(let e=0;e<o;e++)for(let i=0;i<s;i++){let o=a.isArray()?a.get(e,i):a;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;let s=o.getValue();(0,t.isRealNum)(s)&&(n.push(+s),r+=+s)}}return n.length<=2?E.create(p.DIV_BY_ZERO):this._getResult(n,r)}_getResult(e,t){let n=e.length,r=t/n,i=0;for(let t=0;t<n;t++)i+=(e[t]-r)**2;let a=Math.sqrt(i/(n-1));if(a===0)return E.create(p.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**3;let s=n/((n-1)*(n-2))*o;return R.create(s)}},Cv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let n=[],r=0;for(let i=0;i<e.length;i++){let a=e[i];if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}let o=a.isArray()?a.getRowCount():1,s=a.isArray()?a.getColumnCount():1;for(let e=0;e<o;e++)for(let i=0;i<s;i++){let o=a.isArray()?a.get(e,i):a;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;let s=o.getValue();(0,t.isRealNum)(s)&&(n.push(+s),r+=+s)}}return n.length<=2?E.create(p.DIV_BY_ZERO):this._getResult(n,r)}_getResult(e,t){let n=e.length,r=t/n,i=0;for(let t=0;t<n;t++)i+=(e[t]-r)**2;let a=Math.sqrt(i/n);if(a===0)return E.create(p.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**3;let s=o/n;return R.create(s)}},wv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?E.create(p.VALUE):E.create(p.DIV_BY_ZERO);if(n*r!==i*a)return E.create(p.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?l:f?E.create(p.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(t[r]-o)**2;if(c===0)return E.create(p.DIV_BY_ZERO);let l=s/c;return R.create(l)}},Tv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Fl(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return Rl(e,+a.getValue())}},Ev=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(d<=0)return E.create(p.NUM);let f=(l-u)/d;return R.create(f)}},Dv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}},Ov=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std()}},kv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return E.create(p.VALUE);if(n*r!==i*a)return E.create(p.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Sl(e,t,n*r,r,a);return c?l:f?E.create(p.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length;if(n<=2)return E.create(p.DIV_BY_ZERO);let r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(e[r]-a)**2,l+=(t[r]-o)**2;if(l===0)return E.create(p.DIV_BY_ZERO);let u=Math.sqrt((c-s**2/l)/(n-2));return Number.isNaN(u)||!Number.isFinite(u)?E.create(p.NUM):R.create(u)}},Av=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=+c.getValue();if(u<1)return E.create(p.NUM);let f;return f=d?yl(l,u):bl(l,u),Number.isNaN(f)||!Number.isFinite(f)?E.create(p.NUM):R.create(f)}},jv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||c<1||c>10**10)return E.create(p.NUM);let l=yl(-s,c)*2;return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},Mv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(c<1||c>10**10)return E.create(p.NUM);let l=yl(-s,c);return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},Nv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<=0||s>1||c<1||c>10**10)return E.create(p.NUM);let l=xl(s,c);return Number.isNaN(l)||!Number.isFinite(l)?E.create(p.NUM):R.create(l)}},Pv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Cl(e,t,n);if(i)return a;let o=wl(e);if(o instanceof E)return o;let s=this._getKnownXsValues(o,t);if(s instanceof E)return s;let c=this._getNewXsValues(s,n);if(c instanceof E)return c;let l=r==null?L.create(!0):r;if(l.isArray()&&(l=l.get(0,0)),l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+l.getValue();return this._getResult(o,s,c,u)}_getResult(e,t,n,r){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?E.create(p.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=e.length===1&&e[0].length>1,a=kl(e,t,n,r,!1);if(a instanceof E)return a;let{coefficients:o,newX:s}=a,c=o[0].length,l=o[0][c-1],u=[];for(let e=0;e<s.length;e++){u[e]=[];let t=l;for(let n=c-2;n>=0;n--)t+=o[0][c-2-n]*s[e][n];u[e].push(t)}return i&&(u=Cc(u)),B.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=El(t.flat(),i,r,!1);if(Number.isNaN(a))return E.create(p.NA);let s=n.map(e=>e.map(e=>a*e+o));return B.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Tl(e.length,e[0].length):wl(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:wl(t)}},Fv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=this._getValues(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(e instanceof E)return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i,o=+a.getValue();if(o<0||o>=1)return E.create(p.NUM);let s=Oa(e.length*o/2,0)*2,c=e.slice(s/2,e.length-s/2),l=c.reduce((e,t)=>e+t,0)/c.length;return R.create(l)}_getValues(e){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=[];for(let a=0;a<n;a++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(a,n):e;if(r.isError())return r;if(r.isNull()||r.isBoolean())continue;let o=r.getValue();(0,t.isRealNum)(o)&&i.push(+o)}return i.length===0?E.create(p.NUM):i.sort((e,t)=>e-t)}},Iv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}},Lv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var()}};let Rv=[[h_,q.AVEDEV],[__,q.AVERAGE],[v_,q.AVERAGE_WEIGHTED],[y_,q.AVERAGEA],[b_,q.AVERAGEIF],[x_,q.AVERAGEIFS],[S_,q.BETA_DIST],[Ul,q.BETA_INV],[Wl,q.BINOM_DIST],[C_,q.BINOM_DIST_RANGE],[Gl,q.BINOM_INV],[w_,q.CHISQ_DIST],[Kl,q.CHISQ_DIST_RT],[T_,q.CHISQ_INV],[ql,q.CHISQ_INV_RT],[Jl,q.CHISQ_TEST],[Yl,q.CONFIDENCE_NORM],[E_,q.CONFIDENCE_T],[D_,q.CORREL],[O_,q.COUNT],[k_,q.COUNTA],[A_,q.COUNTBLANK],[j_,q.COUNTIF],[M_,q.COUNTIFS],[Xl,q.COVARIANCE_P],[N_,q.COVARIANCE_S],[P_,q.DEVSQ],[Zl,q.EXPON_DIST],[F_,q.F_DIST],[Ql,q.F_DIST_RT],[I_,q.F_INV],[$l,q.F_INV_RT],[eu,q.F_TEST],[L_,q.FISHER],[R_,q.FISHERINV],[z_,q.FORECAST],[z_,q.FORECAST_LINEAR],[B_,q.FREQUENCY],[V_,q.GAMMA],[tu,q.GAMMA_DIST],[nu,q.GAMMA_INV],[H_,q.GAMMALN],[H_,q.GAMMALN_PRECISE],[U_,q.GAUSS],[W_,q.GEOMEAN],[G_,q.GROWTH],[K_,q.HARMEAN],[q_,q.HYPGEOM_DIST],[J_,q.INTERCEPT],[Y_,q.KURT],[X_,q.LARGE],[Z_,q.LINEST],[Q_,q.LOGEST],[$_,q.LOGNORM_DIST],[ru,q.LOGNORM_INV],[ev,q.MARGINOFERROR],[tv,q.MAX],[nv,q.MAXA],[rv,q.MAXIFS],[iv,q.MEDIAN],[av,q.MIN],[ov,q.MINA],[sv,q.MINIFS],[cv,q.MODE_MULT],[iu,q.MODE_SNGL],[lv,q.NEGBINOM_DIST],[au,q.NORM_DIST],[ou,q.NORM_INV],[uv,q.NORM_S_DIST],[su,q.NORM_S_INV],[dv,q.PEARSON],[fv,q.PERCENTILE_EXC],[cu,q.PERCENTILE_INC],[pv,q.PERCENTRANK_EXC],[lu,q.PERCENTRANK_INC],[mv,q.PERMUT],[hv,q.PERMUTATIONA],[gv,q.PHI],[uu,q.POISSON_DIST],[_v,q.PROB],[vv,q.QUARTILE_EXC],[du,q.QUARTILE_INC],[yv,q.RANK_AVG],[bv,q.RANK_EQ],[xv,q.RSQ],[Sv,q.SKEW],[Cv,q.SKEW_P],[wv,q.SLOPE],[Tv,q.SMALL],[Ev,q.STANDARDIZE],[fu,q.STDEV_P],[pu,q.STDEV_S],[Dv,q.STDEVA],[Ov,q.STDEVPA],[kv,q.STEYX],[Av,q.T_DIST],[jv,q.T_DIST_2T],[Mv,q.T_DIST_RT],[Nv,q.T_INV],[mu,q.T_INV_2T],[hu,q.T_TEST],[Pv,q.TREND],[Fv,q.TRIMMEAN],[gu,q.VAR_P],[_u,q.VAR_S],[Iv,q.VARA],[Lv,q.VARPA],[vu,q.WEIBULL_DIST],[yu,q.Z_TEST]];var zv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t;if(t!=null&&t.isNull()&&(n=R.create(0)),n.isArray()){let t=n.mapValue(t=>this._handleSingleObject(e,t));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,n)}_handleSingleObject(e,t){let n=this._checkArray(e);if(n.isError())return n;let{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=+o.getValue(),c=e.isArray()?e.getRowCount():1,l=e.isArray()?e.getColumnCount():1,u=``;for(let t=0;t<c;t++)for(let n=0;n<l;n++){let r=e.isArray()?e.get(t,n):e,i=`${r.getValue()}`;r.isNull()&&(i=``),r.isBoolean()&&(i=i.toLocaleUpperCase()),r.isString()&&s?u+=`"${i}"`:u+=i,t===c-1&&n===l-1||(s?n===l-1?u+=`;`:u+=`,`:u+=`, `)}return s&&(u=`{${u}}`),u.length>32767?E.create(p.CALC):z.create(u)}_checkArray(e){if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();return t>1||n>1?e:e.get(0,0)}return e}},Bv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;let t=e.getValue().toLocaleString(),n=``;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);r===12288?r=32:r>=65281&&r<=65374&&(r-=65248),n+=String.fromCharCode(r)}return z.create(n)}},Vv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.abs(Number.parseInt(a.toString(),10)),s=Number.parseFloat((Math.abs(a)-o).toFixed(2)),c=``;return c=o===0?s===0?`ศูนย์บาทถ้วน`:`${a<0?`ลบ`:``}${this._convertNumberToThaiText(s*100)}สตางค์`:s===0?`${a<0?`ลบ`:``}${this._convertNumberToThaiText(o)}บาทถ้วน`:`${a<0?`ลบ`:``}${this._convertNumberToThaiText(o)}บาท${this._convertNumberToThaiText(s*100)}สตางค์`,z.create(c)}_convertNumberToThaiText(e){let t=[`ล้าน`,`สิบ`,`ร้อย`,`พัน`,`หมื่น`,`แสน`,``],n=[`ศูนย์`,`หนึ่ง`,`สอง`,`สาม`,`สี่`,`ห้า`,`หก`,`เจ็ด`,`แปด`,`เก้า`],r=[`ลบ`,`บาท`,`ถ้วน`,`สตางค์`,`ยี่`,`เอ็ด`,`,`,` `,`฿`],i=e.toString(),a=i.length,o=``;for(let e=a;e>0;e--){let s=Number.parseInt(i.charAt(a-e),10),c=n[s],l=e>1?(e-1)%6:6;if(l===1&&s===2&&(c=r[4]),s===1)switch(l){case 0:case 6:o+=e<a?r[5]:c;break;case 1:break;default:o+=c;break}else if(s===0){l===0&&(o+=t[l]);continue}else o+=c;o+=t[l]}return o}};let Hv=Object.values(t.DataStreamTreeTokenType).filter(e=>[t.DataStreamTreeTokenType.TABLE_START,t.DataStreamTreeTokenType.TABLE_ROW_START,t.DataStreamTreeTokenType.TABLE_CELL_START,t.DataStreamTreeTokenType.TABLE_CELL_END,t.DataStreamTreeTokenType.TABLE_ROW_END,t.DataStreamTreeTokenType.TABLE_END,t.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(e));var Uv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<=0)return E.create(p.VALUE);let o=String.fromCharCode(a);return Hv.some(e=>e===o)&&(o=``),z.create(o)}},Wv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isBoolean()||e.isNumber())return e;if(e.isNull())return z.create(``);let t=`${e.getValue()}`.replace(/[\0-\x1F]/g,``);return z.create(t)}},Gv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t===``)return E.create(p.VALUE);let n=t.charCodeAt(0);return R.create(n)}},Kv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=``,n=null;for(let r of e)if(r.isArray()){if(r.iterator(e=>{if(e==null||e.isNull())return!0;if(e.isError())return n=e,!1;e.isBoolean()?t+=`${e.getValue()}`.toLocaleUpperCase():(e.isString()||e.isNumber())&&(t+=e.getValue())}),n)return n}else !r.isError()&&!r.isNull()&&(t+=r.getValue());return z.create(t)}},qv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,255)}calculate(...e){let t=0,n=0;e.forEach(e=>{if(e.isArray()){let r=e;t=Math.max(t,r.getRowCount()),n=Math.max(n,r.getColumnCount())}else t=Math.max(t,1),n=Math.max(n,1)});let r=null;for(let i of e)r=V(t,n,i,E.create(p.NA)).mapValue((e,t,n)=>{var i,a;let o=r&&r.get(t,n);if(o!=null&&o.isError())return o;if(e.isError())return e;let s=o==null?void 0:o.getValue(),c=e==null?void 0:e.getValue();o!=null&&o.isBoolean()&&(s=`${s}`.toLocaleUpperCase()),e!=null&&e.isBoolean()&&(c=`${c}`.toLocaleUpperCase());let l=o!=null&&o.isNull()||(i=s)==null?``:i,u=e!=null&&e.isNull()||(a=c)==null?``:a;return z.create(`${l}${u}`)});return r||E.create(p.VALUE)}},Jv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return z.create(``);let t=`${e.getValue()}`;e.isBoolean()&&(t=t.toLocaleUpperCase());let n=``;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);r>=33&&r<=126?n+=String.fromCharCode(r+65248):r===32?n+=` `:n+=t.charAt(e)}return z.create(n)}},Yv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2),d(this,`needsLocale`,!0)}calculate(e,t){let n=t==null?R.create(2):t;n.isNull()&&(n=R.create(2));let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.trunc(+o.getValue());if(c>127)return E.create(p.VALUE);c<0&&(s=`${s}`.length<Math.abs(c)?0:s<0?-Da(Math.abs(s),c):Da(s,c),c=0);let l=Fr(this.getLocale(),s,c);return z.create(l)}},Xv=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,Ua.create()),a=V(n,r,t,Ua.create()),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){if(e.isNull()||t.isNull()){let n=e.isNull()&&t.isNull();return L.create(n)}let n=`${e.getValue()}`;e.isBoolean()&&(n=n.toLocaleUpperCase());let r=`${t.getValue()}`;t.isBoolean()&&(r=r.toLocaleUpperCase());let i=n===r;return L.create(i)}};let Zv=(e,n)=>t.numfmt.format(e,n,{throws:!1}),Qv=e=>{let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),e.isNumber()&&(t=e.getPattern()===``?`${Va(+e.getValue())}`:Zv(e.getPattern(),+e.getValue())),t};var $v=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=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=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,r,E.create(p.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=Qv(e),i=Qv(t),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return E.create(p.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);return u===-1?E.create(p.VALUE):R.create(u+1)}};function ey(e){let t=0;for(let n=0;n<e.length;n++)t+=ty(e,n);return t}function ty(e,t,n=`ltr`){return ay(e,t,n)>255?2:1}function ny(e){return e>=55296&&e<=56319}function ry(e){return e>=56320&&e<=57343}function iy(e,t){return((e&1023)<<10)+(t&1023)+65536}function ay(e,t,n=`ltr`){let r=e.charCodeAt(t);if(n===`ltr`&&ny(r)&&t+1<e.length){let n=e.charCodeAt(t+1);if(ry(n))return iy(r,n)}if(n===`rtl`&&ry(r)&&t-1>=0){let n=e.charCodeAt(t-1);if(ny(n))return iy(n,r)}return r}var oy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=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=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,r,E.create(p.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=Qv(e),i=Qv(t),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return E.create(p.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);if(u===-1)return E.create(p.VALUE);let d=ey(i.substring(0,u))+1;return R.create(d)}},sy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(2):t;r.isNull()&&(r=R.create(2));let i=n==null?L.create(!1):n;i.isNull()&&(i=L.create(!1));let a=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,E.create(p.NA)),c=V(a,o,r,E.create(p.NA)),l=V(a,o,i,E.create(p.NA)),u=s.mapValue((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return a===1&&o===1?u.get(0,0):u}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.trunc(+s.getValue()),d=+c.getValue();if(u>127)return E.create(p.VALUE);u<0&&(l=`${l}`.length<Math.abs(u)?0:l<0?-Da(Math.abs(l),u):Da(l,u),u=0);let f=d?`###0`:`#,##0`;u>0&&(f+=`.${`0`.repeat(u)}`);let m=Zv(f,l);return z.create(m)}},cy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=Qv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return E.create(p.VALUE);if(e.isNull()||s===0)return z.create(``);if(s>=n.length)return z.create(n);let c=n.substring(0,s);return z.create(c)}},ly=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,Ua.create()),o=V(r,i,n,Ua.create()),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=Qv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return E.create(p.VALUE);if(e.isNull()||s===0)return z.create(``);let c=0,l=0,u=``;for(;l<s&&c<n.length;)l+=ty(n,c),u+=n.charAt(c),c++;return z.create(u)}},uy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleText(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;let t=Qv(e);return R.create(t.length)}},dy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleText(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;let t=ey(Qv(e));return R.create(t)}},fy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return z.create(``);let t=`${e.getValue()}`.toLocaleLowerCase();return z.create(t)}},py=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let r=Qv(e),{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return E.create(p.VALUE);if(e.isNull()||l>r.length||u===0)return z.create(``);let d=r.substring(l-1,l-1+u);return z.create(d)}},my=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,t,E.create(p.NA)),s=V(r,i,n,E.create(p.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let r=Qv(e),{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return E.create(p.VALUE);if(e.isNull()||l>r.length||u===0)return z.create(``);r=r.substring(l-1);let d=0,f=0,m=``;for(;f<u&&d<r.length;)f+=ty(r,d),m+=r.charAt(d),d++;return z.create(m)}};let hy=[`〇`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],gy=[`零`,`壹`,`贰`,`叁`,`肆`,`伍`,`陆`,`柒`,`捌`,`玖`],_y=[``,`十`,`百`,`千`],vy=[``,`拾`,`佰`,`仟`],yy=[``,`万`,`亿`,`兆`];var by=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let n=e.convertToNumberObjectValue();if(n.isError())return n;let r=t.convertToNumberObjectValue();if(r.isError())return r;let i=n.getValue(),a=Math.trunc(r.getValue());if(i<0||![1,2,3].includes(a))return E.create(p.NUM);i=Math.round(i);let o=i.toString(),s=o.length,c=``,l=!1;for(let e=0;e<s;e++){let t=Number(o[e]);if(s===1&&t===0){c+=a===2?gy[0]:hy[0];break}if(a===3){c+=hy[t];continue}let n=s-e-1,r=n%4,i=Math.trunc(n/4);if(s>=17&&i>2){if(c+=a===1?hy[t]:gy[t],i>3)continue}else t===0?l=r!==0:(l&&(c+=a===1?hy[0]:gy[0],l=!1),c+=a===1?hy[t]+_y[r]:gy[t]+vy[r]);r===0&&i>0&&o.slice(Math.max(0,e-3),e+1)!==`0000`&&(c+=yy[i])}return z.create(c)}},xy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,n){let r=t==null?z.create(`.`):t,i=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,r,E.create(p.NA)),c=n?V(i,a,n,E.create(p.NA)):void 0,l=o.mapValue((e,t,r)=>{let i=s.get(t,r),a=n?c.get(t,r):void 0;return e.isError()?e:i.isError()?i:a!=null&&a.isError()?a:i.isNull()||a!=null&&a.isNull()?E.create(p.VALUE):e.isNull()?R.create(0):this._handleSingleObject(e,i,a)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,n,r){let i=`${e.getValue()}`;i=i.replace(/\s+/g,``);let a=`${n.getValue()}`;n.isBoolean()&&(a=a.toLocaleUpperCase()),a=a.charAt(0);let o;if(r&&(o=`${r.getValue()}`,r.isBoolean()&&(o=o.toLocaleUpperCase()),o=o.charAt(0),a===o))return E.create(p.VALUE);if(i.trim()===``)return R.create(0);if(!i.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return E.create(p.VALUE);let s=i.split(a);if(s.length>2)return E.create(p.VALUE);let c=s[0].replace(/,/g,``);r&&(c=c.split(o).join(``));let l=0;if(s.length===1){a===`,`&&(c=c.replace(/\./g,``));let e=0;for(;c.endsWith(`%`);)c=c.slice(0,-1),e++;l=e>0?c/100**e:+c}else{if(!(0,t.isRealNum)(c))return E.create(p.VALUE);let e=s[1],n=0;for(;e.endsWith(`%`);)e=e.slice(0,-1),n++;let r=`${c}.${e}`;if(!(0,t.isRealNum)(r))return E.create(p.VALUE);l=n>0?r/100**n:+r}return Number.isNaN(l)?E.create(p.VALUE):R.create(l)}},Sy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;let t=e.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g,e=>e.toLocaleUpperCase());return z.create(t)}},$=function(e){return e[e.ROOT=0]=`ROOT`,e[e.GROUP=1]=`GROUP`,e[e.POSITION=2]=`POSITION`,e[e.SET=3]=`SET`,e[e.RANGE=4]=`RANGE`,e[e.REPETITION=5]=`REPETITION`,e[e.REFERENCE=6]=`REFERENCE`,e[e.CHAR=7]=`CHAR`,e}($||{});let Cy=()=>[{type:$.RANGE,from:48,to:57}],wy=()=>[{type:$.CHAR,value:95},{type:$.RANGE,from:97,to:122},{type:$.RANGE,from:65,to:90},{type:$.RANGE,from:48,to:57}],Ty=()=>[{type:$.CHAR,value:9},{type:$.CHAR,value:10},{type:$.CHAR,value:11},{type:$.CHAR,value:12},{type:$.CHAR,value:13},{type:$.CHAR,value:32},{type:$.CHAR,value:160},{type:$.CHAR,value:5760},{type:$.RANGE,from:8192,to:8202},{type:$.CHAR,value:8232},{type:$.CHAR,value:8233},{type:$.CHAR,value:8239},{type:$.CHAR,value:8287},{type:$.CHAR,value:12288},{type:$.CHAR,value:65279}],Ey=()=>({type:$.SET,set:wy(),not:!1}),Dy=()=>({type:$.SET,set:wy(),not:!0}),Oy=()=>({type:$.SET,set:Cy(),not:!1}),ky=()=>({type:$.SET,set:Cy(),not:!0}),Ay=()=>({type:$.SET,set:Ty(),not:!1}),jy=()=>({type:$.SET,set:Ty(),not:!0}),My=()=>({type:$.SET,set:[{type:$.CHAR,value:10},{type:$.CHAR,value:13},{type:$.CHAR,value:8232},{type:$.CHAR,value:8233}],not:!0});function Ny(e){let t={type:$.ROOT,stack:[]},n=t,r=t.stack,i=[],a=[],o=0,s=t=>{throw SyntaxError(`Invalid regular expression: /${e}/: Nothing to repeat at column ${t-1}`)},c=Fy(e),l=0,u;for(;l<c.length;)switch(u=c[l++],u){case`\\`:if(l===c.length)throw SyntaxError(`Invalid regular expression: /${e}/: \\ at end of pattern`);switch(u=c[l++],u){case`b`:r.push({type:$.POSITION,value:`b`});break;case`B`:r.push({type:$.POSITION,value:`B`});break;case`w`:r.push(Ey());break;case`W`:r.push(Dy());break;case`d`:r.push(Oy());break;case`D`:r.push(ky());break;case`s`:r.push(Ay());break;case`S`:r.push(jy());break;default:if(/\d/.test(u)){for(;/\d/.test(c[l])&&l<c.length;)u+=c[l++];let e=Number.parseInt(u,10);r.push({type:$.REFERENCE,value:e}),a.push({reference:{type:$.REFERENCE,value:e},stack:r,index:r.length-1})}else r.push({type:$.CHAR,value:u.charCodeAt(0)})}break;case`^`:r.push({type:$.POSITION,value:`^`});break;case`$`:r.push({type:$.POSITION,value:`$`});break;case`[`:{let t=c[l]===`^`;t&&l++;let n=Py(c.slice(l),e);l+=n[1],r.push({type:$.SET,set:n[0],not:t});break}case`.`:r.push(My());break;case`(`:{let t={type:$.GROUP,stack:[],remember:!0};if(c[l]===`?`){let n=c[l+1];if(l+=2,n===`=`)t.followedBy=!0;else if(n===`!`)t.notFollowedBy=!0;else if(n!==`:`)throw SyntaxError(`Invalid regular expression: /${e}/: Invalid group, character '${n}' after '?' at column ${l-1}`);t.remember=!1}else o+=1;r.push(t),i.push(n),n=t,r=t.stack;break}case`)`:if(i.length===0)throw SyntaxError(`Invalid regular expression: /${e}/: Unmatched ) at column ${l-1}`);n=i.pop(),r=n.options?n.options[n.options.length-1]:n.stack;break;case`|`:{n.options||(n.options=[n.stack],delete n.stack);let e=[];n.options.push(e),r=e;break}case`{`:{let e=/^(\d+)(,(\d+)?)?\}/.exec(c.slice(l));if(e){r.length===0&&s(l);let t=Number.parseInt(e[1],10),n=e[2]?e[3]?Number.parseInt(e[3],10):1/0:t;l+=e[0].length,r.push({type:$.REPETITION,min:t,max:n,value:r.pop()})}else r.push({type:$.CHAR,value:123});break}case`?`:r.length===0&&s(l),r.push({type:$.REPETITION,min:0,max:1,value:r.pop()});break;case`+`:r.length===0&&s(l),r.push({type:$.REPETITION,min:1,max:1/0,value:r.pop()});break;case`*`:r.length===0&&s(l),r.push({type:$.REPETITION,min:0,max:1/0,value:r.pop()});break;default:r.push({type:$.CHAR,value:u.charCodeAt(0)})}if(i.length>0)throw SyntaxError(`Invalid regular expression: /${e}/: Unterminated group`);return Iy(a,o),t}function Py(e,t){let n,r=[],i=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(n=i.exec(e))!==null;){let e=null,[,t,a,o,s,c,l,u,d,f,p]=n;if(t||a||o||s||c||l?e=(()=>{let e={type:$.SET,set:[],not:!1};return t?e=Ey():a?e=Oy():o?e=Ay():s?e=Dy():c?e=ky():l&&(e=jy()),e})():u&&p?e={type:$.RANGE,from:(d||f).charCodeAt(0),to:p.charCodeAt(p.length-1)}:n[16]&&(e={type:$.CHAR,value:n[16].charCodeAt(0)}),!e)return[r,i.lastIndex];r.push(e)}throw SyntaxError(`Invalid regular expression: /${t}/: Unterminated character class`)}function Fy(e){return e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(e,t,n,r,i,a,o)=>{if(n)return e;let s;s=t?8:r?Number.parseInt(r,16):i?Number.parseInt(i,16):a?`@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?`.indexOf(a):{0:0,t:9,n:10,v:11,f:12,r:13}[o];let c=String.fromCharCode(s);return/[[\]{}^$.|?*+()]/.test(c)?`\\${c}`:c})}function Iy(e,t){for(let n of e.reverse()){let e=n.reference.value;if(t<e){n.reference.type=$.CHAR;let t=e.toString();if(n.reference.value=Number.parseInt(t,8),!/^[0-7]+$/.test(t)){let e=0;for(;t[e]!==`8`&&t[e]!==`9`&&e<t.length;)e+=1;if(e===0?(n.reference.value=t.charCodeAt(0),e+=1):n.reference.value=Number.parseInt(t.slice(0,e),8),t.length>e){let r=n.stack.splice(n.index+1);for(let r of t.slice(e))n.stack.push({type:$.CHAR,value:r.charCodeAt(0)});n.stack.push(...r)}}}}}function Ly(e,t){if(!Ry(e))return{isError:!0,regExp:null};try{let n=new RegExp(e,t?`ug`:`u`);return zy(n)?{isError:!1,regExp:n}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function Ry(e){return!(/\(\?<=.*?\)/g.test(e)&&!/\[.*?(\?<=.*?)\]/g.test(e)||/\(\?<!.*?\)/g.test(e)&&!/\[.*?(\?<!.*?)\]/g.test(e))}function zy(e,t){var n;let r=(n=t==null?void 0:t.limit)==null?25:n,i;Object.prototype.toString.call(e)===`[object RegExp]`?i=e.source:e&&typeof e!=`string`&&(i=`${e}`);let a;try{a=Ny(i)}catch{return!1}let o=0,s=(e,t)=>{let n=t;if(e.type===$.REPETITION){if(t>0&&(e.min===0||e.max===1/0)||By(e)&&(o++,o>r))return!1;n=t+1}if(e.options){for(let t of e.options)if(!s({stack:t},n))return!1}let i=e.stack||e.value&&e.value.stack;if(!i)return!0;for(let e of i)if(!s(e,n))return!1;return!0};return s(a,0)}function By(e){let t=e.stack||e.value&&e.value.stack;return t?Vy(t):!1}function Vy(e){for(let t of e){if(t.options&&t.options.length>0)return!0;let e=t.stack||t.value&&t.value.stack;if(e&&Vy(e))return!0}return!1}var Hy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=tc(e,t);if(n)return r;let[a,o]=i,s=a.getValue();a.isNull()&&(s=``),a.isBoolean()&&(s=s?`TRUE`:`FALSE`),s=`${s}`;let c=o.getValue();o.isNull()&&(c=``),o.isBoolean()&&(c=c?`TRUE`:`FALSE`),c=`${c}`;let{isError:l,regExp:u}=Ly(c,!1);if(l)return E.create(p.REF);let d=s.match(u);if(d===null)return E.create(p.NA);if(d.length>1){let e=d.slice(1).map(e=>z.create(e));return e.length>1?B.create({calculateValueList:[e],rowCount:1,columnCount:e.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):e[0]}return z.create(d[0])}},Uy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=tc(e,t);if(n)return r;let[a,o]=i,s=a.getValue();a.isNull()&&(s=``),a.isBoolean()&&(s=s?`TRUE`:`FALSE`),s=`${s}`;let c=o.getValue();o.isNull()&&(c=``),o.isBoolean()&&(c=c?`TRUE`:`FALSE`),c=`${c}`;let{isError:l,regExp:u}=Ly(c,!1);return l?E.create(p.REF):s.match(u)===null?L.create(!1):L.create(!0)}},Wy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=tc(e,t,n);if(r)return i;let[o,s,c]=a,l=o.getValue();o.isNull()&&(l=``),o.isBoolean()&&(l=l?`TRUE`:`FALSE`),l=`${l}`;let u=s.getValue();s.isNull()&&(u=``),s.isBoolean()&&(u=u?`TRUE`:`FALSE`),u=`${u}`;let d=c.getValue();c.isNull()&&(d=``),c.isBoolean()&&(d=d?`TRUE`:`FALSE`),d=`${d}`;let{isError:f,regExp:m}=Ly(u,!0);if(f)return E.create(p.REF);let h=l.replace(m,d);return z.create(h)}},Gy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return E.create(p.VALUE);let d=Qv(e),f=Qv(r),m=d.substring(0,l-1)+f+d.substring(l-1+u);return z.create(m)}},Ky=class extends Z{constructor(...e){super(...e),d(this,`minParams`,4),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=V(i,a,r,E.create(p.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return E.create(p.VALUE);let d=Qv(e),f=Qv(r),m=d.substring(0,l-1);d=d.substring(l-1);let h=0,g=0;for(;g<u&&h<d.length;)g+=ty(d,h),h++;return m+=f+d.substring(h),z.create(m)}},qy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,E.create(p.NA)),a=V(n,r,t,E.create(p.NA)),o=i.map((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;let i=e.getValue();if(e.isNull()&&(i=``),e.isBoolean()&&(i=i?`TRUE`:`FALSE`),i+=``,r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let o=Math.floor(+r.getValue());if(o<0||o>32767/i.length)return E.create(p.VALUE);let s=i.repeat(o);return z.create(s)});return n===1&&r===1?o.get(0,0):o}},Jy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=Qv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return E.create(p.VALUE);if(e.isNull()||s===0)return z.create(``);if(s>=n.length)return z.create(n);let c=n.substring(n.length-s);return z.create(c)}},Yy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=Qv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return E.create(p.VALUE);if(e.isNull()||s===0)return z.create(``);let c=n.length-1,l=0,u=``;for(;l<s&&c>=0;)l+=ty(n,c,`rtl`),u=n.charAt(c)+u,c--;return z.create(u)}},Xy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=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=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,r,E.create(p.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=Qv(e).toLocaleUpperCase(),i=Qv(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return E.create(p.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);return u===-1?E.create(p.VALUE):R.create(u+1)}},Zy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=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=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,r,E.create(p.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=Qv(e).toLocaleUpperCase(),i=Qv(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return E.create(p.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);if(u===-1)return E.create(p.VALUE);let d=ey(i.substring(0,u))+1;return R.create(d)}},Qy=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=V(i,a,e,E.create(p.NA)),s=V(i,a,t,E.create(p.NA)),c=V(i,a,n,E.create(p.NA)),l=r?V(i,a,r,E.create(p.NA)):void 0,u=o.mapValue((e,t,n)=>{let i=s.get(t,n),a=c.get(t,n),o=r?l.get(t,n):void 0;return e.isError()?e:i.isError()?i:a.isError()?a:o!=null&&o.isError()?o:o!=null&&o.isNull()||o!=null&&o.isBoolean()?E.create(p.VALUE):(o!=null&&o.isString()&&(o=o.convertToNumberObjectValue()),o!=null&&o.isError()?o:this._handleSingleObject(e,i,a,o))});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let i=this._getObjectString(e),a=this._getObjectString(t),o=this._getObjectString(n),s=r?Math.floor(+r.getValue()):void 0;if(r&&s<=0)return E.create(p.VALUE);if(a===``)return z.create(i);let c=``,l=0;for(let e=0;e<i.length;e++){let t=i.substr(e,a.length);if(t===a||t.length===a.length&&t.trim()===a.trim()){if(l++,l===s){c=i.substr(0,e)+o+i.substr(e+a.length);break}s===void 0&&(c+=o),e+=a.length-1}else s===void 0&&(c+=i[e])}return s&&l<s&&(c=i),z.create(c)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}},$y=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1),d(this,`needsReferenceObject`,!0)}calculate(e){let t=e;return e.isReferenceObject()&&(t=e.toArrayValueObject().get(0,0)),t.isArray()?t.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(t)}_handleSingleObject(e){return e.isError()?e:e.isNull()||e.isBoolean()||e.isNumber()?z.create(``):e}},eb=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,2)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,n){if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e),o=V(r,i,n),s=a.map((e,n,r)=>{if(e.isError())return e;let i=o.get(n,r)||z.create(` `);if(i.isError())return i;if(i.isBoolean())return E.create(p.VALUE);if(e.isBoolean())return e;let a=e.getValue();if(e.isNull()&&(a=0),e.isString())if((0,t.isRealNum)(a))a=Number(a);else{let e=(0,t.getNumfmtParseValueFilter)(`${a}`);e&&e.v!=null&&typeof e.v==`number`&&(a=e.v)}i.isNull()&&(i=z.create(` `));let s=`${i.getValue()}`,c=Zv(s,a);return z.create(s===` `?c.trimEnd():c)});return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}},tb=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?R.create(1):n;s.isNull()&&(o=!0,s=R.create(1));let c=!r,l=r==null?R.create(0):r,u=i==null?R.create(0):i,d=a==null?E.create(p.NA):a,f=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1,d.isArray()?d.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1,d.isArray()?d.getColumnCount():1),h=V(f,m,e,E.create(p.NA)),g=V(f,m,s,E.create(p.NA)),_=V(f,m,l,E.create(p.NA)),v=V(f,m,u,E.create(p.NA)),y=V(f,m,d,E.create(p.NA)),b=this._getResultArray(h,t,g,_,v,y,o,c);return f===1&&m===1?b.get(0,0):b}_getResultArray(e,t,n,r,i,a,o,s){return e.map((e,c,l)=>{let u=n.get(c,l),d=r.get(c,l),f=i.get(c,l),m=a.get(c,l),h=this._checkVariantsError(e,u,d,f);if(h.isError())return h;let g=this._getStringValue(e),_=this._getDelimiterValue(t);if(_ instanceof E)return _;let v=this._getVariantsNumberFloorValue(u,d,f);if(v instanceof E)return v;let[y,b,x]=v;return y===0||b<0||b>1||x<0||x>1?E.create(p.VALUE):_.includes(``)?y>0?z.create(g):z.create(``):!o&&Math.abs(y)>g.length?E.create(p.VALUE):_.every(e=>e.length>g.length)?E.create(p.NA):this._getResult(g,_,y,b,x,m,s)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return L.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){let t=[];if(e.isArray()){let n=!1,r=E.create(p.VALUE);if(e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;t.push(this._getStringValue(i))}),n)return r}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=Math.floor(+r.getValue());t.push(i)}return t}_getResult(e,t,n,r,i,a,o){let s=r?e.toLocaleLowerCase():e,c=r?t.map(e=>e.toLocaleLowerCase()):t,l=0,u=0,d=0;for(let e=0;e<Math.abs(n);e++)if(n<0){let e=c.map(e=>({index:s.lastIndexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>t.index-e.index)[0];if(!e)break;l=e.index,s=s.substr(0,e.index),d=e.length,u++}else{let e=c.map(e=>({index:s.indexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>e.index-t.index)[0];if(!e)break;l+=e.index+d,s=s.substr(e.index+e.length),d=e.length,u++}if(u&&u<Math.abs(n)&&o)return E.create(p.NA);if(!u||u<Math.abs(n))return i?n>0?z.create(``):z.create(e):a;let f=e.substr(l+d);return z.create(f)}},nb=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?R.create(1):n;s.isNull()&&(o=!0,s=R.create(1));let c=!r,l=r==null?R.create(0):r,u=i==null?R.create(0):i,d=a==null?E.create(p.NA):a,f=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1,d.isArray()?d.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1,d.isArray()?d.getColumnCount():1),h=V(f,m,e,E.create(p.NA)),g=V(f,m,s,E.create(p.NA)),_=V(f,m,l,E.create(p.NA)),v=V(f,m,u,E.create(p.NA)),y=V(f,m,d,E.create(p.NA)),b=this._getResultArray(h,t,g,_,v,y,o,c);return f===1&&m===1?b.get(0,0):b}_getResultArray(e,t,n,r,i,a,o,s){return e.map((e,c,l)=>{let u=n.get(c,l),d=r.get(c,l),f=i.get(c,l),m=a.get(c,l),h=this._checkVariantsError(e,u,d,f);if(h.isError())return h;let g=this._getStringValue(e),_=this._getDelimiterValue(t);if(_ instanceof E)return _;let v=this._getVariantsNumberFloorValue(u,d,f);if(v instanceof E)return v;let[y,b,x]=v;return y===0||b<0||b>1||x<0||x>1?E.create(p.VALUE):_.includes(``)?y>0?z.create(``):z.create(g):!o&&Math.abs(y)>g.length?E.create(p.VALUE):_.every(e=>e.length>g.length)?E.create(p.NA):this._getResult(g,_,y,b,x,m,s)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return L.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){let t=[];if(e.isArray()){let n=!1,r=E.create(p.VALUE);if(e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;t.push(this._getStringValue(i))}),n)return r}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=Math.floor(+r.getValue());t.push(i)}return t}_getResult(e,t,n,r,i,a,o){let s=r?e.toLocaleLowerCase():e,c=r?t.map(e=>e.toLocaleLowerCase()):t,l=0,u=0,d=0;for(let e=0;e<Math.abs(n);e++)if(n<0){let e=c.map(e=>({index:s.lastIndexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>t.index-e.index)[0];if(!e)break;l=e.index,s=s.substr(0,e.index),u++}else{let e=c.map(e=>({index:s.indexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>e.index-t.index)[0];if(!e)break;l+=e.index+d,s=s.substr(e.index+e.length),d=e.length,u++}if(u&&u<Math.abs(n)&&o)return E.create(p.NA);if(!u||u<Math.abs(n))return i?n>0?z.create(e):z.create(``):a;let f=e.substr(0,l);return z.create(f)}},rb=class extends Z{constructor(...e){super(...e),d(this,`minParams`,3),d(this,`maxParams`,255)}calculate(e,t,...n){let r=this._getDelimiterValues(e),i=this._getTextValues(n);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(r,e,i));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}let a=t;if(a.isString()){let e=`${a.getValue()}`.toLocaleUpperCase();if(e===`TRUE`)return this._handleSingleObject(r,L.create(!0),i);if(e===`FALSE`)return this._handleSingleObject(r,L.create(!1),i)}return this._handleSingleObject(r,t,i)}_handleSingleObject(e,t,n){if(e instanceof E)return e;let{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;if(n instanceof E)return n;let[o]=a,s=+o.getValue(),c=n;s&&(c=n.filter(e=>e!==null&&e!==``));let l=``;for(let t=0;t<c.length;t++)c[t]!==null&&(l+=c[t]),t<c.length-1&&(l+=e[t%e.length]);return z.create(l)}_getDelimiterValues(e){let t=[],n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let i=0;i<n;i++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(i,n):e;if(r.isError())return r;let a=`${r.getValue()}`;r.isNull()&&(a=``),r.isBoolean()&&(a=a.toLocaleUpperCase()),t.push(a)}return t}_getTextValues(e){let t=[];for(let n of e){let e=n.isArray()?n.getRowCount():1,r=n.isArray()?n.getColumnCount():1;for(let i=0;i<e;i++)for(let e=0;e<r;e++){let r=n.isArray()?n.get(i,e):n;if(r.isError())return r;if(r.isNull()){t.push(null);continue}let a=`${r.getValue()}`;r.isBoolean()&&(a=a.toLocaleUpperCase()),t.push(a)}}return t}},ib=class extends Z{constructor(...e){super(...e),d(this,`minParams`,2),d(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=n==null?z.create(`\\s`):n,s=r==null?R.create(0):r,c=i==null?R.create(0):i,l=a==null?z.create(p.NA):a,{_variant:u,values:d}=this._getStringValues(t),{_variant:f,values:m}=this._getStringValues(o,!1);o=f;let h=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1),g=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1),_=V(h,g,e,E.create(p.NA)),v=V(h,g,s,E.create(p.NA)),y=V(h,g,c,E.create(p.NA)),b=this._getResultArray(_,u,o,v,y,l,d,m);return h===1&&g===1?b.get(0,0):b.map(e=>e.get(0,0))}_getStringValues(e,t=!0){let n=e,r=[];if(n.isArray())n.iterator(e=>{if(e!=null&&e.isError())return n=e,!1;if(e!=null&&e.isNull()&&t)return n=E.create(p.VALUE),!1;let i=this._getRegExpStringValue(e);if(i===``)return n=E.create(p.VALUE),!1;r.push(i)});else{n.isNull()&&t&&(n=E.create(p.VALUE));let e=this._getRegExpStringValue(n);e===``&&(n=E.create(p.VALUE)),r.push(e)}return{_variant:n,values:r}}_getResultArray(e,t,n,r,i,a,o,s){return e.map((e,c,l)=>{let u=r.get(c,l),d=i.get(c,l),f=this._checkVariantsError(e,t,n,u,d);if(f.isError())return f;if(e.isNull())return E.create(p.VALUE);let m=a;if(m.isArray()){let e=m.getRowCount(),t=m.getColumnCount();if(e>1||t>1)return E.create(p.VALUE);m=m.get(0,0)}let h=`${e.getValue()}`;if(e.isBoolean()&&(h=h.toLocaleUpperCase()),u.isString()&&(u=u.convertToNumberObjectValue(),u.isError()))return u;let g=Math.floor(+u.getValue());if(d.isString()&&(d=d.convertToNumberObjectValue(),d.isError()))return d;let _=Math.floor(+d.getValue());if(_<0||_>1)return E.create(p.VALUE);let v=`${m.getValue()}`;return m.isBoolean()&&(v=v.toLocaleUpperCase()),this._getResult(h,o,s,g,_,v)})}_getResult(e,t,n,r,i,a){let o=new RegExp(n.join(`|`),`g${i?`i`:``}`),s=new RegExp(t.join(`|`),`g${i?`i`:``}`),c=e.split(o),l=1,u=c.map(e=>{let t=e.split(s);return r&&(t=t.filter(e=>e!==``)),l=Math.max(l,t.length),t});return u=u.map(e=>{let t=e;return t.length<l&&(t=t.concat(Array(l-t.length).fill(a))),t}),B.createByArray(u)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return L.create(!0)}_getRegExpStringValue(e){let t=e.getValue();return e.isNull()&&(t=`\\s`),e.isBoolean()&&(t=t?`TRUE`:`FALSE`),t+=``,this._escapeRegExp(t)}_escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}},ab=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return z.create(``);let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g,` `),z.create(t)}};let ob=Object.values(t.DataStreamTreeTokenType).filter(e=>[t.DataStreamTreeTokenType.TABLE_START,t.DataStreamTreeTokenType.TABLE_ROW_START,t.DataStreamTreeTokenType.TABLE_CELL_START,t.DataStreamTreeTokenType.TABLE_CELL_END,t.DataStreamTreeTokenType.TABLE_ROW_END,t.DataStreamTreeTokenType.TABLE_END,t.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(e));var sb=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<1||a>1114111)return E.create(p.VALUE);if(a===1114111||a===1114110)return E.create(p.NA);let o=String.fromCharCode(a);return ob.some(e=>e===o)&&(o=``),z.create(o)}},cb=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return E.create(p.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());let n=t.charCodeAt(0);return R.create(n)}},lb=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return z.create(``);let t=`${e.getValue()}`.toLocaleUpperCase();return z.create(t)}},ub=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isBoolean())return E.create(p.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;let n=+t.getValue();return R.create(n)}},db=class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,E.create(p.NA)),o=V(r,i,n,E.create(p.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i,o=Math.floor(+a.getValue());if(o<0||o>1)return E.create(p.VALUE);if(e.isNull())return z.create(``);if(e.isBoolean())return e;if(e.isNumber())return R.create(e.getValue());let s=o?`"${e.getValue()}"`:`${e.getValue()}`;return z.create(s)}};let fb=[[Bv,J.ASC],[zv,J.ARRAYTOTEXT],[Vv,J.BAHTTEXT],[Uv,J.CHAR],[Wv,J.CLEAN],[Gv,J.CODE],[Kv,J.CONCAT],[qv,J.CONCATENATE],[Jv,J.DBCS],[Yv,J.DOLLAR],[Xv,J.EXACT],[$v,J.FIND],[oy,J.FINDB],[sy,J.FIXED],[cy,J.LEFT],[ly,J.LEFTB],[uy,J.LEN],[dy,J.LENB],[fy,J.LOWER],[py,J.MID],[my,J.MIDB],[by,J.NUMBERSTRING],[xy,J.NUMBERVALUE],[Hy,J.REGEXEXTRACT],[Uy,J.REGEXMATCH],[Wy,J.REGEXREPLACE],[Sy,J.PROPER],[Gy,J.REPLACE],[Ky,J.REPLACEB],[qy,J.REPT],[Jy,J.RIGHT],[Yy,J.RIGHTB],[Xy,J.SEARCH],[Zy,J.SEARCHB],[Qy,J.SUBSTITUTE],[$y,J.T],[eb,J.TEXT],[tb,J.TEXTAFTER],[nb,J.TEXTBEFORE],[rb,J.TEXTJOIN],[ib,J.TEXTSPLIT],[ab,J.TRIM],[sb,J.UNICHAR],[cb,J.UNICODE],[lb,J.UPPER],[ub,J.VALUE],[db,J.VALUETOTEXT]],pb=[],mb=function(e){return e}({});function hb(e){return e.map(e=>e.map(e=>typeof e==`number`?Va(e):e))}function gb(e,t=!1){if(e.isReferenceObject()){let n=e.toArrayValueObject().toValue();return t?hb(n):n}else if(e.isArray()){let n=e.toValue();return t?hb(n):n}else if(e.isNumber()){let n=e.getValue();return t?Va(n):n}return e.getValue()}let _b=[[class extends Z{constructor(...e){super(...e),d(this,`minParams`,1),d(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t=Qv(e),n=encodeURIComponent(t).replace(/[!~'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return z.create(n)}},Vo.ENCODEURL]];var vb=`@univerjs/engine-formula`,yb=`0.18.0`,bb=class extends t.Disposable{constructor(...e){super(...e),d(this,`_allSubjects`,[]),d(this,`_computingStatus$`,new n.BehaviorSubject(!0)),d(this,`computingStatus$`,this._computingStatus$.pipe((0,n.distinctUntilChanged)())),d(this,`_computingSubscription`,void 0)}get computingStatus(){return this._computingStatus$.getValue()}dispose(){var e;super.dispose(),(e=this._computingSubscription)==null||e.unsubscribe(),this._computingStatus$.next(!0),this._computingStatus$.complete(),this._allSubjects.forEach(e=>{e.complete()})}pushComputingStatusSubject(e){return this._allSubjects.push(e),this._updateComputingObservable(),{dispose:()=>{let t=this._allSubjects.indexOf(e);t!==-1&&this._allSubjects.splice(t,1),this._updateComputingObservable()}}}_updateComputingObservable(){var e;if((e=this._computingSubscription)==null||e.unsubscribe(),this._allSubjects.length===0){this._computingStatus$.next(!0);return}this._computingSubscription=(0,n.combineLatest)(this._allSubjects).pipe((0,n.map)(e=>e.every(e=>e))).subscribe(e=>this._computingStatus$.next(e))}};let xb=class extends t.Disposable{constructor(e,r){super(),this._commandService=e,this._globalComputingSrv=r,d(this,`_computingCompleted$`,new n.Observable(e=>{this._commandService.onCommandExecuted(t=>{if(t.id!==Cn.id)return;let n=t.params;if(n.stageInfo)return e.next(n.stageInfo.stage===Oo.IDLE||n.stageInfo.stage===Oo.CALCULATION_COMPLETED)})}).pipe((0,n.distinctUntilChanged)(),(0,n.shareReplay)()));let i=new t.DisposableCollection,a=new n.BehaviorSubject(!0);i.add(this._globalComputingSrv.pushComputingStatusSubject(a)),i.add(this._computingCompleted$.subscribe(e=>a.next(e))),i.add(()=>a.complete()),this.disposeWithMe(i)}};xb=un([A(0,t.ICommandService),A(1,(0,t.Inject)(bb))],xb);let Sb=class extends t.Disposable{constructor(e,t,n,r){super(),this._commandService=e,this._functionService=t,this._configService=n,this._dataSyncPrimaryController=r,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Nn,Lt,Pn,vn,yn,bn,xn,kn,An,Sn,Cn,wn,jn,Mn,Tn,En,Dn,On,mn,hn,gn,_n,Fn,In,zn,Bn,Vn,It].forEach(e=>{var t;this._commandService.registerCommand(e),(t=this._dataSyncPrimaryController)==null||t.registerSyncingMutations(e)})}_registerFunctions(){var e;let t=this._configService.getConfig(Hn),n=[...oc,...Ou,...ku,...Xu,...wd,...Af,...$p,...Cm,...Um,...Dh,...a_,...p_,...Rv,...fb,...pb,..._b].concat((e=t==null?void 0:t.function)==null?[]:e).map(e=>{let t=e[0],n=e[1];return new t(n)});this._functionService.registerExecutors(...n)}};Sb=un([A(0,t.ICommandService),A(1,Jo),A(2,t.IConfigService),A(3,(0,t.Optional)(r.DataSyncPrimaryController))],Sb);let Cb=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._dependencyManagerService=t,this._featureCalculationManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(e=>{let{unitId:t,subUnitId:n,featureIds:r}=e;this._dependencyManagerService.removeFeatureFormulaDependency(t,n,r)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===_n.id){let t=e.params;if(t==null)return;let{featureIds:n,unitId:r,subUnitId:i}=t;this._dependencyManagerService.removeFeatureFormulaDependency(r,i,n)}else if(e.id===gn.id){let t=e.params;if(t==null)return;let{featureId:n,calculationParam:r}=t,{unitId:i,subUnitId:a}=r;this._dependencyManagerService.removeFeatureFormulaDependency(i,a,[n])}else if(e.id===In.id){let t=e.params;if(t==null)return;this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,t.formulaIdList)}else if(e.id===Fn.id){let t=e.params;if(t==null)return;let n=t.formulaMap,r=[];Object.keys(n).forEach(e=>{r.push(e)}),this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,r)}else if(e.id===Nn.id){let n=e.params.formulaData;Object.keys(n).forEach(e=>{let r=n[e];if(r!==void 0){if(r===null){this._dependencyManagerService.clearFormulaDependency(e);return}Object.keys(r).forEach(n=>{let i=r[n];if(i!==void 0){if(i===null)return this._dependencyManagerService.clearFormulaDependency(e,n),!0;new t.ObjectMatrix(i).forValue((t,r)=>{this._dependencyManagerService.removeFormulaDependency(e,n,t,r)})}})}})}else e.id===mn.id&&this._handleSetDefinedName(e)}))}_handleSetDefinedName(e){let t=e.params;if(t==null)return;let{unitId:n,name:r}=t;this._dependencyManagerService.removeFormulaDependencyByDefinedName(n,r)}};Cb=un([A(0,t.ICommandService),A(1,Ns),A(1,js),A(2,Ns)],Cb);let wb=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._featureCalculationManagerService=t,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===gn.id){let t=e.params;if(t==null)return;let{featureId:n,calculationParam:r}=t,{unitId:i,subUnitId:a}=r;this._featureCalculationManagerService.register(i,a,n,r)}else if(e.id===_n.id){let t=e.params;if(t==null)return;let{featureIds:n,unitId:r,subUnitId:i}=t;this._featureCalculationManagerService.remove(r,i,n)}}))}};wb=un([A(0,t.ICommandService),A(1,Ns)],wb);let Tb=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._otherFormulaManagerService=t,this._dependencyManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Fn.id){let t=e.params;if(t==null)return;let n={[t.unitId]:{[t.subUnitId]:t.formulaMap}};this._otherFormulaManagerService.batchRegister(n)}else if(e.id===In.id){let t=e.params;if(t==null)return;let n={};t.formulaIdList.forEach(e=>n[e]=!0);let r={[t.unitId]:{[t.subUnitId]:n}};this._otherFormulaManagerService.batchRemove(r)}}))}};Tb=un([A(0,t.ICommandService),A(1,Fs),A(2,js)],Tb);var Eb=class extends t.Disposable{constructor(...e){super(...e),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}};let Db=(0,t.createIdentifier)(`univer.formula.active-dirty-manager.service`),Ob=function(e){return e[e.NOT_REGISTER=1]=`NOT_REGISTER`,e[e.SUCCESS=2]=`SUCCESS`,e[e.WAIT=3]=`WAIT`,e[e.ERROR=4]=`ERROR`,e}({}),kb=function(e){return e.DEFAULT=`default`,e.DATA_VALIDATION=`dv`,e.DATA_VALIDATION_CUSTOM=`dv-custom`,e.CONDITIONAL_FORMATTING=`cf`,e.DOC=`doc`,e.SLIDE=`slide`,e}({}),Ab=class extends t.Disposable{constructor(e,t,r){super(),this._commandService=e,this._activeDirtyManagerService=t,this._lifecycleService=r,d(this,`_formulaCacheMap`,new Map),d(this,`_formulaChangeWithRange$`,new n.Subject),d(this,`formulaChangeWithRange$`,this._formulaChangeWithRange$.asObservable()),d(this,`_formulaResult$`,new n.Subject),d(this,`formulaResult$`,this._formulaResult$.asObservable()),d(this,`calculateStarted$`,new n.BehaviorSubject(!1)),this._initFormulaRegister(),this._initFormulaCalculationResultChange()}dispose(){super.dispose(),this._formulaChangeWithRange$.complete(),this._formulaResult$.complete(),this.calculateStarted$.complete()}_ensureCacheMap(e,t){let n=this._formulaCacheMap.get(e);n||(n=new Map,this._formulaCacheMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_createFormulaId(e,n,r,i){return`formula.${e}_${n}_${r}_${i}_${(0,t.generateRandomId)(8)}`}_initFormulaRegister(){this._activeDirtyManagerService.register(Ft.id,{commandId:Ft.id,getDirtyData(e){return{dirtyUnitOtherFormulaMap:e.params}}});let e=e=>{let{unitId:t,subUnitId:n,formulaText:r,formulaId:i,ranges:a}=e;if(!this._ensureCacheMap(t,n).has(i))return;let o={unitId:t,subUnitId:n,formulaMap:{[i]:{f:r,ranges:a}}};this._commandService.executeCommand(Fn.id,o,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(Ft.id,{[t]:{[n]:{[i]:!0}}},{onlyLocal:!0})})};this.disposeWithMe(this._formulaChangeWithRange$.pipe((0,n.bufferWhen)(()=>this.calculateStarted$.pipe((0,n.filter)(e=>e)))).subscribe(t=>t.forEach(e))),this.disposeWithMe(this._formulaChangeWithRange$.pipe((0,n.filter)(()=>this.calculateStarted$.getValue())).subscribe(e))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===wn.id){let{unitOtherData:n}=e.params,r={};for(let e in n){let i=n[e],a={};r[e]=a;for(let n in i){let r=this._ensureCacheMap(e,n),o=i[n],s=[];a[n]=s;for(let e in o){let n=o[e];if(r.has(e)){let i=r.get(e);if(!i)continue;i.result||(i.result={});let a=new t.ObjectMatrix(n),o=new t.ObjectMatrix(i.result);a.forValue((e,t,n)=>{o.setValue(e,t,n)}),i.status=Ob.SUCCESS,i.callbacks.forEach(e=>{e(n)}),i.callbacks.clear(),s.push(i)}}}}this._formulaResult$.next(r)}}))}registerFormulaWithRange(e,t,n,r=[{startRow:0,endRow:0,startColumn:0,endColumn:0}],i,a=kb.DEFAULT,o=``){let s=this._createFormulaId(e,t,a,o);return this._ensureCacheMap(e,t).set(s,{result:void 0,status:Ob.WAIT,formulaId:s,callbacks:new Set,extra:i}),this._formulaChangeWithRange$.next({unitId:e,subUnitId:t,formulaText:n,formulaId:s,ranges:r}),s}deleteFormula(e,t,n){let r={unitId:e,subUnitId:t,formulaIdList:n};this._commandService.executeCommand(In.id,r,{onlyLocal:!0});let i=this._ensureCacheMap(e,t);n.forEach(e=>i.delete(e))}getFormulaValue(e,t,n){let r=this._ensureCacheMap(e,t),i=r.get(n);return i?i.status===Ob.SUCCESS||i.status===Ob.ERROR?Promise.resolve(i):new Promise(e=>{i.callbacks.add(()=>{e(r.get(n))})}):Promise.resolve(null)}getFormulaValueSync(e,t,n){return this._ensureCacheMap(e,t).get(n)}markFormulaDirty(e,t,n){let r=this.getFormulaValueSync(e,t,n);r&&(r.status=Ob.WAIT,this._commandService.executeCommand(Ft.id,{[e]:{[t]:{[n]:!0}}},{onlyLocal:!0}))}};Ab=un([A(0,t.ICommandService),A(1,Db),A(2,(0,t.Inject)(t.LifecycleService))],Ab);let jb=class extends t.Plugin{constructor(e=Un,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},Un,this._config);this._configService.setConfig(Hn,i)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var e;(0,t.touchDependencies)(this._injector,[[Sb]]),(e=this._config)!=null&&e.notExecuteFormula||(0,t.touchDependencies)(this._injector,[[Tb],[wb],[Cb],[qs]])}onRendered(){var e;(e=this._config)!=null&&e.notExecuteFormula||(0,t.touchDependencies)(this._injector,[[Gs],[Us]])}_initialize(){let e=!this._config.notExecuteFormula,t=[[Jo,{useClass:Yo}],[fn,{useClass:dn}],[Db,{useClass:Eb}],[Ab],[Do,{useClass:Eo}],[ur,{useClass:lr}],[Rn,{useClass:Ln}],[bb],[nr],[Sb],[xb]];e&&t.push([Fs,{useClass:Ps}],[jo,{useClass:Ao}],[fr,{useClass:dr}],[Ns,{useClass:Ms}],[qs],[Tb],[Cb],[wb],[rs],[Os],[pr],[Lo],[ns],[fs],[hs],[vs],[Qo],[xs],[Cs],[Ts],[Ds]),t.forEach(e=>this._injector.add(e))}_initializeWithOverride(){var e;this._injector.add([$n,{useClass:$n}]),(e=this._config)!=null&&e.notExecuteFormula||[[Gs,{useClass:Ks}],[js,{useClass:As}],[Us,{useClass:Ws}]].forEach(e=>this._injector.add(e))}};d(jb,`pluginName`,`UNIVER_ENGINE_FORMULA_PLUGIN`),d(jb,`packageName`,vb),d(jb,`version`,yb),jb=un([A(1,(0,t.Inject)(t.Injector)),A(2,t.IConfigService)],jb),e.ActiveDirtyManagerService=Eb,e.ArrayValueObject=B,e.AstRootNodeFactory=Lo,Object.defineProperty(e,`AstTreeBuilder`,{enumerable:!0,get:function(){return Os}}),e.AsyncArrayObject=io,e.AsyncCustomFunction=Mu,e.AsyncObject=ro,e.BaseFunction=Z,e.BaseReferenceObject=no,e.BaseValueObject=ee,e.BooleanValue=i,e.BooleanValueObject=L,Object.defineProperty(e,`CalculateController`,{enumerable:!0,get:function(){return qs}}),Object.defineProperty(e,`CalculateFormulaService`,{enumerable:!0,get:function(){return Ks}}),e.CustomFunction=ju,e.DEFAULT_INTERVAL_COUNT=500,e.DEFAULT_TOKEN_LAMBDA_FUNCTION_NAME=Nt,e.DEFAULT_TOKEN_LET_FUNCTION_NAME=`LET`,e.DEFAULT_TOKEN_TYPE_LAMBDA_PARAMETER=`L_1`,e.DEFAULT_TOKEN_TYPE_PARAMETER=`P_1`,e.DEFAULT_TOKEN_TYPE_ROOT=`R_1`,Object.defineProperty(e,`DefinedNamesService`,{enumerable:!0,get:function(){return dn}}),e.DependencyManagerBaseService=ks,e.DependencyManagerService=As,e.ENGINE_FORMULA_CYCLE_REFERENCE_COUNT=`CYCLE_REFERENCE_COUNT`,e.ENGINE_FORMULA_PLUGIN_CONFIG_KEY=Hn,e.ENGINE_FORMULA_RETURN_DEPENDENCY_TREE=`RETURN_DEPENDENCY_TREE`,e.ERROR_TYPE_SET=m,e.ErrorType=p,e.ErrorValueObject=E,e.FUNCTION_NAMES_ARRAY=ac,e.FUNCTION_NAMES_COMPATIBILITY=xu,e.FUNCTION_NAMES_CUBE=Au,e.FUNCTION_NAMES_DATABASE=Yu,e.FUNCTION_NAMES_DATE=Ro,e.FUNCTION_NAMES_ENGINEERING=U,e.FUNCTION_NAMES_FINANCIAL=W,e.FUNCTION_NAMES_INFORMATION=zo,e.FUNCTION_NAMES_LOGICAL=Bo,e.FUNCTION_NAMES_LOOKUP=G,e.FUNCTION_NAMES_MATH=K,e.FUNCTION_NAMES_STATISTICAL=q,e.FUNCTION_NAMES_TEXT=J,e.FUNCTION_NAMES_UNIVER=mb,e.FUNCTION_NAMES_WEB=Vo,e.FeatureCalculationManagerService=Ms,Object.defineProperty(e,`FormulaCurrentConfigService`,{enumerable:!0,get:function(){return dr}}),Object.defineProperty(e,`FormulaDataModel`,{enumerable:!0,get:function(){return nr}}),Object.defineProperty(e,`FormulaDependencyGenerator`,{enumerable:!0,get:function(){return Ws}}),e.FormulaDependencyTree=Bs,e.FormulaDependencyTreeModel=Vs,e.FormulaDependencyTreeType=Ls,e.FormulaDependencyTreeVirtual=zs,e.FormulaExecuteStageType=Oo,e.FormulaExecutedStateType=ko,e.FormulaResultStatus=Ob,Object.defineProperty(e,`FormulaRuntimeService`,{enumerable:!0,get:function(){return Ao}}),Object.defineProperty(e,`FunctionNodeFactory`,{enumerable:!0,get:function(){return ns}}),e.FunctionService=Yo,e.FunctionType=Ae,e.GlobalComputingStatusService=bb,Object.defineProperty(e,`HyperlinkEngineFormulaService`,{enumerable:!0,get:function(){return Eo}}),e.IActiveDirtyManagerService=Db,e.ICalculateFormulaService=Gs,e.IDefinedNamesService=fn,e.IDependencyManagerService=js,e.IFeatureCalculationManagerService=Ns,e.IFormulaCurrentConfigService=fr,e.IFormulaDependencyGenerator=Us,e.IFormulaRuntimeService=jo,e.IFunctionService=Jo,e.IHyperlinkEngineFormulaService=Do,e.IOtherFormulaManagerService=Fs,e.ISheetRowFilteredService=ur,e.ISuperTableService=Rn,Object.defineProperty(e,`Interpreter`,{enumerable:!0,get:function(){return rs}}),Object.defineProperty(e,`LambdaNodeFactory`,{enumerable:!0,get:function(){return fs}}),e.LambdaParameterNodeFactory=hs,e.LambdaValueObjectObject=us,Object.defineProperty(e,`Lexer`,{enumerable:!0,get:function(){return pr}}),e.LexerNode=j,e.LexerTreeBuilder=$n,e.NEW_EXCEL_FUNCTIONS=m_,e.NullValueObject=Ua,e.NumberValueObject=R,e.OPERATOR_TOKEN_SET=b,Object.defineProperty(e,`OperatorNodeFactory`,{enumerable:!0,get:function(){return vs}}),e.OtherFormulaBizType=kb,e.OtherFormulaManagerService=Ps,e.OtherFormulaMarkDirty=Ft,Object.defineProperty(e,`PrefixNodeFactory`,{enumerable:!0,get:function(){return Qo}}),e.RangeReferenceObject=ao,Object.defineProperty(e,`ReferenceNodeFactory`,{enumerable:!0,get:function(){return xs}}),e.RegisterFunctionMutation=It,Object.defineProperty(e,`RegisterOtherFormulaService`,{enumerable:!0,get:function(){return Ab}}),e.RemoveDefinedNameMutation=hn,e.RemoveFeatureCalculationMutation=_n,e.RemoveOtherFormulaMutation=In,e.RemoveSuperTableMutation=Bn,e.SUFFIX_TOKEN_SET=w,e.SetArrayFormulaDataMutation=Lt,e.SetCellFormulaDependencyCalculationMutation=Dn,e.SetCellFormulaDependencyCalculationResultMutation=On,e.SetDefinedNameMutation=mn,e.SetDefinedNameMutationFactory=pn,e.SetFeatureCalculationMutation=gn,e.SetFormulaCalculationNotificationMutation=Cn,e.SetFormulaCalculationResultMutation=wn,e.SetFormulaCalculationStartMutation=vn,e.SetFormulaCalculationStopMutation=Sn,e.SetFormulaDataMutation=Nn,e.SetFormulaDependencyCalculationMutation=Tn,e.SetFormulaDependencyCalculationResultMutation=En,e.SetFormulaStringBatchCalculationMutation=bn,e.SetFormulaStringBatchCalculationResultMutation=xn,e.SetImageFormulaDataMutation=Pn,e.SetOtherFormulaMutation=Fn,e.SetQueryFormulaDependencyAllMutation=jn,e.SetQueryFormulaDependencyAllResultMutation=Mn,e.SetQueryFormulaDependencyMutation=kn,e.SetQueryFormulaDependencyResultMutation=An,e.SetSuperTableMutation=zn,e.SetSuperTableOptionMutation=Vn,e.SetTriggerFormulaCalculationStartMutation=yn,e.SheetRowFilteredService=lr,e.StringValueObject=z,Object.defineProperty(e,`SuffixNodeFactory`,{enumerable:!0,get:function(){return Cs}}),e.SuperTableService=Ln,Object.defineProperty(e,`UnionNodeFactory`,{enumerable:!0,get:function(){return Ts}}),Object.defineProperty(e,`UniverFormulaEnginePlugin`,{enumerable:!0,get:function(){return jb}}),e.ValueNodeFactory=Ds,e.ValueObjectFactory=$a,e.compareToken=v,e.convertUnitDataToRuntime=At,e.deserializeRangeForR1C1=Zs,e.deserializeRangeWithSheet=Yt,e.deserializeRangeWithSheetWithCache=Gn,e.excelDateSerial=D,e.extractFormulaError=gr,e.functionArray=oc,e.functionCompatibility=Ou,e.functionCube=ku,e.functionDatabase=Xu,e.functionDate=wd,e.functionEngineering=Af,e.functionFinancial=$p,e.functionInformation=Cm,e.functionLogical=Um,e.functionLookup=Dh,e.functionMath=a_,e.functionMeta=p_,e.functionStatistical=Rv,e.functionText=fb,e.functionUniver=pb,e.functionWeb=_b,e.generateAstNode=Go,e.generateExecuteAstNodeData=cs,e.generateRandomDependencyTreeId=Hs,e.generateStringWithSequence=Jn,e.getAbsoluteRefTypeWitString=Vt,e.getAbsoluteRefTypeWithSingleString=Bt,e.getObjectValue=gb,e.getRangeWithRefsString=$t,e.handleNumfmtInCell=kr,e.handleRefStringInfo=Jt,e.includeFormulaLexerToken=Ne,e.initSheetFormulaData=rr,e.isFormulaLexerToken=Me,e.isInDirtyRange=ke,e.isReferenceString=kt,e.isReferenceStringWithEffectiveColumn=Zt,e.isReferenceStrings=en,e.matchRefDrawToken=Fe,e.matchToken=S,e.needsQuoting=tn,e.normalizeSheetName=Pe,e.operatorToken=_,e.prefixToken=T,e.quoteSheetName=rn,e.sequenceNodeType=qn,e.serializeRange=Ut,e.serializeRangeToRefString=Kt,e.serializeRangeWithSheet=Wt,e.serializeRangeWithSpreadsheet=Gt,e.singleReferenceToGrid=qt,e.splitTableStructuredRef=ln,e.strip=za,e.stripErrorMargin=Va,e.unquoteSheetName=an});
|