@sheetxl/sdk 0.7.21 → 0.7.23-beta.2
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/THIRD-PARTY-NOTICES.md +34 -0
- package/browser/cjs/A5-b-7zx2sEOEcvl.cjs +33 -0
- package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +1 -0
- package/browser/cjs/Ccctey_HrpWuagT6.cjs +1 -0
- package/browser/cjs/CniTOg7oLRZwmgyM.cjs +57 -0
- package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +10 -0
- package/browser/cjs/E1pJfQiTbMva4WCz.cjs +1 -0
- package/browser/cjs/Y8ZGOM8g4sbsbA1Y.cjs +1 -0
- package/browser/cjs/index.cjs +3 -6
- package/browser/esm/BBJT6wXyXEvBQZKA.mjs +24 -0
- package/browser/esm/Ba8ViNCurmu-pQzB.mjs +818 -0
- package/browser/esm/Cnay4yeRx2XxT4Yp.mjs +50007 -0
- package/browser/esm/CrUqWGb8XSOVpWCS.mjs +109 -0
- package/browser/esm/DIqScru4YD2CC9q7.mjs +4436 -0
- package/browser/esm/DvShgCfX0MBnppXt.mjs +503 -0
- package/browser/esm/VD1vENLIu7_1r1UY.mjs +14 -0
- package/browser/esm/index.mjs +3225 -62
- package/licenses/dependencies.txt +74 -193
- package/node/esm/AiAlZ5mkssqXTadr.mjs +22 -0
- package/node/esm/Pg7h7EA11A6iLSIA.mjs +837 -0
- package/node/esm/index.mjs +53637 -23246
- package/node/esm/k4ZdzJqmTRplKGLv.mjs +114 -0
- package/package.json +19 -14
- package/resources/contents.json +21 -0
- package/resources/locales/contents.json +19 -0
- package/resources/locales/de/grammar.json +16 -0
- package/resources/locales/de/model.msg.json +510 -0
- package/resources/locales/en/model.msg.json +525 -0
- package/types/index.d.ts +2 -21284
- package/types/scripting-enums.json +1009 -0
- package/types/scripting.d.ts +26139 -31019
- package/types/src/address/AddressUtils.d.ts +252 -0
- package/types/src/address/AddressUtils.d.ts.map +1 -0
- package/types/src/address/_AddressMessages.d.ts +7 -0
- package/types/src/address/_AddressMessages.d.ts.map +1 -0
- package/types/src/address/index.d.ts +35 -0
- package/types/src/address/index.d.ts.map +1 -0
- package/types/src/anchored/AbstractAnchored.d.ts +200 -0
- package/types/src/anchored/AbstractAnchored.d.ts.map +1 -0
- package/types/src/anchored/Anchored.d.ts +154 -0
- package/types/src/anchored/Anchored.d.ts.map +1 -0
- package/types/src/anchored/AnchoredMap.d.ts +178 -0
- package/types/src/anchored/AnchoredMap.d.ts.map +1 -0
- package/types/src/anchored/IAnchored.d.ts +118 -0
- package/types/src/anchored/IAnchored.d.ts.map +1 -0
- package/types/src/anchored/IAnchoredMap.d.ts +207 -0
- package/types/src/anchored/IAnchoredMap.d.ts.map +1 -0
- package/types/src/anchored/_AnchorMessages.d.ts +3 -0
- package/types/src/anchored/_AnchorMessages.d.ts.map +1 -0
- package/types/src/anchored/index.d.ts +2 -0
- package/types/src/anchored/index.d.ts.map +1 -0
- package/types/src/autoFill/AutoFill.d.ts +161 -0
- package/types/src/autoFill/AutoFill.d.ts.map +1 -0
- package/types/src/autoFill/IAutoFill.d.ts +117 -0
- package/types/src/autoFill/IAutoFill.d.ts.map +1 -0
- package/types/src/autoFill/index.d.ts +3 -0
- package/types/src/autoFill/index.d.ts.map +1 -0
- package/types/src/border/IBorder.d.ts +284 -0
- package/types/src/border/IBorder.d.ts.map +1 -0
- package/types/src/border/index.d.ts +2 -0
- package/types/src/border/index.d.ts.map +1 -0
- package/types/src/calculation/Calculation.d.ts +440 -0
- package/types/src/calculation/Calculation.d.ts.map +1 -0
- package/types/src/calculation/FormulaLiterals.d.ts +18 -0
- package/types/src/calculation/FormulaLiterals.d.ts.map +1 -0
- package/types/src/calculation/ICalculation.d.ts +1016 -0
- package/types/src/calculation/ICalculation.d.ts.map +1 -0
- package/types/src/calculation/INamedFormulasCollection.d.ts +141 -0
- package/types/src/calculation/INamedFormulasCollection.d.ts.map +1 -0
- package/types/src/calculation/NamedFormulaCollection.d.ts +671 -0
- package/types/src/calculation/NamedFormulaCollection.d.ts.map +1 -0
- package/types/src/calculation/TokenType.d.ts +117 -0
- package/types/src/calculation/TokenType.d.ts.map +1 -0
- package/types/src/calculation/Types.d.ts +110 -0
- package/types/src/calculation/Types.d.ts.map +1 -0
- package/types/src/calculation/_CalculationMessages.d.ts +3 -0
- package/types/src/calculation/_CalculationMessages.d.ts.map +1 -0
- package/types/src/calculation/builtInNames.d.ts +2 -0
- package/types/src/calculation/builtInNames.d.ts.map +1 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts +180 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts.map +1 -0
- package/types/src/calculation/compiler/CompilerLocale.d.ts +69 -0
- package/types/src/calculation/compiler/CompilerLocale.d.ts.map +1 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts +331 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts.map +1 -0
- package/types/src/calculation/compiler/FormulaCompiler.d.ts +69 -0
- package/types/src/calculation/compiler/FormulaCompiler.d.ts.map +1 -0
- package/types/src/calculation/compiler/FormulaLexer.d.ts +85 -0
- package/types/src/calculation/compiler/FormulaLexer.d.ts.map +1 -0
- package/types/src/calculation/compiler/FormulaParser.d.ts +270 -0
- package/types/src/calculation/compiler/FormulaParser.d.ts.map +1 -0
- package/types/src/calculation/compiler/FormulaSeparators.d.ts +35 -0
- package/types/src/calculation/compiler/FormulaSeparators.d.ts.map +1 -0
- package/types/src/calculation/compiler/LiteTransform.d.ts +15 -0
- package/types/src/calculation/compiler/LiteTransform.d.ts.map +1 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +167 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts.map +1 -0
- package/types/src/calculation/compiler/SRLexer.d.ts +19 -0
- package/types/src/calculation/compiler/SRLexer.d.ts.map +1 -0
- package/types/src/calculation/compiler/SRParser.d.ts +38 -0
- package/types/src/calculation/compiler/SRParser.d.ts.map +1 -0
- package/types/src/calculation/compiler/Types.d.ts +274 -0
- package/types/src/calculation/compiler/Types.d.ts.map +1 -0
- package/types/src/calculation/compiler/index.d.ts +3 -0
- package/types/src/calculation/compiler/index.d.ts.map +1 -0
- package/types/src/calculation/executor/CalcExecutor.d.ts +115 -0
- package/types/src/calculation/executor/CalcExecutor.d.ts.map +1 -0
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +11 -0
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts.map +1 -0
- package/types/src/calculation/executor/index.d.ts +3 -0
- package/types/src/calculation/executor/index.d.ts.map +1 -0
- package/types/src/calculation/formula/Formula.d.ts +168 -0
- package/types/src/calculation/formula/Formula.d.ts.map +1 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +207 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts.map +1 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts +181 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts.map +1 -0
- package/types/src/calculation/formula/LambdaValue.d.ts +166 -0
- package/types/src/calculation/formula/LambdaValue.d.ts.map +1 -0
- package/types/src/calculation/formula/TokenUtils.d.ts +26 -0
- package/types/src/calculation/formula/TokenUtils.d.ts.map +1 -0
- package/types/src/calculation/formula/index.d.ts +4 -0
- package/types/src/calculation/formula/index.d.ts.map +1 -0
- package/types/src/calculation/functions/Operators.d.ts +30 -0
- package/types/src/calculation/functions/Operators.d.ts.map +1 -0
- package/types/src/calculation/functions/index.d.ts +2 -0
- package/types/src/calculation/functions/index.d.ts.map +1 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +22 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts.map +1 -0
- package/types/src/calculation/grid/CalcGrid.d.ts +205 -0
- package/types/src/calculation/grid/CalcGrid.d.ts.map +1 -0
- package/types/src/calculation/grid/CalcGridUtils.d.ts +172 -0
- package/types/src/calculation/grid/CalcGridUtils.d.ts.map +1 -0
- package/types/src/calculation/grid/ICalcGrid.d.ts +500 -0
- package/types/src/calculation/grid/ICalcGrid.d.ts.map +1 -0
- package/types/src/calculation/grid/index.d.ts +3 -0
- package/types/src/calculation/grid/index.d.ts.map +1 -0
- package/types/src/calculation/index.d.ts +5 -0
- package/types/src/calculation/index.d.ts.map +1 -0
- package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +25 -0
- package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts.map +1 -0
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +120 -0
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts.map +1 -0
- package/types/src/calculation/spatial/PrecedentSpatialValue.d.ts +115 -0
- package/types/src/calculation/spatial/PrecedentSpatialValue.d.ts.map +1 -0
- package/types/src/calculation/spatial/SpillEntry.d.ts +40 -0
- package/types/src/calculation/spatial/SpillEntry.d.ts.map +1 -0
- package/types/src/calculation/spatial/index.d.ts +5 -0
- package/types/src/calculation/spatial/index.d.ts.map +1 -0
- package/types/src/calculation/state/CalcNode.d.ts +71 -0
- package/types/src/calculation/state/CalcNode.d.ts.map +1 -0
- package/types/src/calculation/state/CalcScope.d.ts +35 -0
- package/types/src/calculation/state/CalcScope.d.ts.map +1 -0
- package/types/src/calculation/state/CalcState.d.ts +28 -0
- package/types/src/calculation/state/CalcState.d.ts.map +1 -0
- package/types/src/calculation/state/CalculationContext.d.ts +125 -0
- package/types/src/calculation/state/CalculationContext.d.ts.map +1 -0
- package/types/src/calculation/state/IContextContainer.d.ts +320 -0
- package/types/src/calculation/state/IContextContainer.d.ts.map +1 -0
- package/types/src/calculation/state/index.d.ts +6 -0
- package/types/src/calculation/state/index.d.ts.map +1 -0
- package/types/src/calculation/symbol/FunctionSymbolProvider.d.ts +44 -0
- package/types/src/calculation/symbol/FunctionSymbolProvider.d.ts.map +1 -0
- package/types/src/calculation/symbol/ISymbolRegistry.d.ts +93 -0
- package/types/src/calculation/symbol/ISymbolRegistry.d.ts.map +1 -0
- package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +144 -0
- package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts.map +1 -0
- package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +18 -0
- package/types/src/calculation/symbol/SheetSymbolProvider.d.ts.map +1 -0
- package/types/src/calculation/symbol/SymbolRegistry.d.ts +19 -0
- package/types/src/calculation/symbol/SymbolRegistry.d.ts.map +1 -0
- package/types/src/calculation/symbol/TableColumnSymbolProvider.d.ts +21 -0
- package/types/src/calculation/symbol/TableColumnSymbolProvider.d.ts.map +1 -0
- package/types/src/calculation/symbol/TableSymbolProvider.d.ts +19 -0
- package/types/src/calculation/symbol/TableSymbolProvider.d.ts.map +1 -0
- package/types/src/calculation/symbol/index.d.ts +9 -0
- package/types/src/calculation/symbol/index.d.ts.map +1 -0
- package/types/src/cell/ICell.d.ts +672 -0
- package/types/src/cell/ICell.d.ts.map +1 -0
- package/types/src/cell/ICellHeader.d.ts +142 -0
- package/types/src/cell/ICellHeader.d.ts.map +1 -0
- package/types/src/cell/ICellProtection.d.ts +41 -0
- package/types/src/cell/ICellProtection.d.ts.map +1 -0
- package/types/src/cell/index.d.ts +4 -0
- package/types/src/cell/index.d.ts.map +1 -0
- package/types/src/cellRange/ICellHeaderRange.d.ts +306 -0
- package/types/src/cellRange/ICellHeaderRange.d.ts.map +1 -0
- package/types/src/cellRange/ICellHeaderRanges.d.ts +107 -0
- package/types/src/cellRange/ICellHeaderRanges.d.ts.map +1 -0
- package/types/src/cellRange/ICellRange.d.ts +2509 -0
- package/types/src/cellRange/ICellRange.d.ts.map +1 -0
- package/types/src/cellRange/ICellRanges.d.ts +407 -0
- package/types/src/cellRange/ICellRanges.d.ts.map +1 -0
- package/types/src/cellRange/ICellRegion.d.ts +133 -0
- package/types/src/cellRange/ICellRegion.d.ts.map +1 -0
- package/types/src/cellRange/_GraphNode.d.ts +38 -0
- package/types/src/cellRange/_GraphNode.d.ts.map +1 -0
- package/types/src/cellRange/index.d.ts +6 -0
- package/types/src/cellRange/index.d.ts.map +1 -0
- package/types/src/chart/Chart.d.ts +53 -0
- package/types/src/chart/Chart.d.ts.map +1 -0
- package/types/src/chart/IChart.d.ts +42 -0
- package/types/src/chart/IChart.d.ts.map +1 -0
- package/types/src/chart/index.d.ts +5 -0
- package/types/src/chart/index.d.ts.map +1 -0
- package/types/src/collections/ArraysGrid.d.ts +72 -0
- package/types/src/collections/ArraysGrid.d.ts.map +1 -0
- package/types/src/collections/BooleanList.d.ts +67 -0
- package/types/src/collections/BooleanList.d.ts.map +1 -0
- package/types/src/collections/GridMap.d.ts +47 -0
- package/types/src/collections/GridMap.d.ts.map +1 -0
- package/types/src/collections/HashMap.d.ts +15 -0
- package/types/src/collections/HashMap.d.ts.map +1 -0
- package/types/src/collections/IGrid.d.ts +278 -0
- package/types/src/collections/IGrid.d.ts.map +1 -0
- package/types/src/collections/IList.d.ts +89 -0
- package/types/src/collections/IList.d.ts.map +1 -0
- package/types/src/collections/IMap.d.ts +45 -0
- package/types/src/collections/IMap.d.ts.map +1 -0
- package/types/src/collections/IReadableList.d.ts +120 -0
- package/types/src/collections/IReadableList.d.ts.map +1 -0
- package/types/src/collections/ISortedMap.d.ts +171 -0
- package/types/src/collections/ISortedMap.d.ts.map +1 -0
- package/types/src/collections/ISparseGrid.d.ts +61 -0
- package/types/src/collections/ISparseGrid.d.ts.map +1 -0
- package/types/src/collections/ISparseList.d.ts +103 -0
- package/types/src/collections/ISparseList.d.ts.map +1 -0
- package/types/src/collections/ISpatialMap.d.ts +515 -0
- package/types/src/collections/ISpatialMap.d.ts.map +1 -0
- package/types/src/collections/ISpatialMap3D.d.ts +116 -0
- package/types/src/collections/ISpatialMap3D.d.ts.map +1 -0
- package/types/src/collections/IWritableList.d.ts +41 -0
- package/types/src/collections/IWritableList.d.ts.map +1 -0
- package/types/src/collections/ImmutableList.d.ts +52 -0
- package/types/src/collections/ImmutableList.d.ts.map +1 -0
- package/types/src/collections/IteratorUtils.d.ts +91 -0
- package/types/src/collections/IteratorUtils.d.ts.map +1 -0
- package/types/src/collections/MixedTypedArrayList.d.ts +140 -0
- package/types/src/collections/MixedTypedArrayList.d.ts.map +1 -0
- package/types/src/collections/OverlappingRangeIterator.d.ts +91 -0
- package/types/src/collections/OverlappingRangeIterator.d.ts.map +1 -0
- package/types/src/collections/RTree.d.ts +111 -0
- package/types/src/collections/RTree.d.ts.map +1 -0
- package/types/src/collections/RepeatingList.d.ts +20 -0
- package/types/src/collections/RepeatingList.d.ts.map +1 -0
- package/types/src/collections/SortedMap.d.ts +396 -0
- package/types/src/collections/SortedMap.d.ts.map +1 -0
- package/types/src/collections/SparseGrid.d.ts +99 -0
- package/types/src/collections/SparseGrid.d.ts.map +1 -0
- package/types/src/collections/SparseList.d.ts +90 -0
- package/types/src/collections/SparseList.d.ts.map +1 -0
- package/types/src/collections/SpatialMap.d.ts +102 -0
- package/types/src/collections/SpatialMap.d.ts.map +1 -0
- package/types/src/collections/SpatialMap3D.d.ts +64 -0
- package/types/src/collections/SpatialMap3D.d.ts.map +1 -0
- package/types/src/collections/Tuple.d.ts +160 -0
- package/types/src/collections/Tuple.d.ts.map +1 -0
- package/types/src/collections/_CollectionUtils.d.ts +25 -0
- package/types/src/collections/_CollectionUtils.d.ts.map +1 -0
- package/types/src/collections/_GridUtils.d.ts +268 -0
- package/types/src/collections/_GridUtils.d.ts.map +1 -0
- package/types/src/collections/_RunUtils.d.ts +170 -0
- package/types/src/collections/_RunUtils.d.ts.map +1 -0
- package/types/src/collections/_SpatialUtils.d.ts +115 -0
- package/types/src/collections/_SpatialUtils.d.ts.map +1 -0
- package/types/src/collections/index.d.ts +21 -0
- package/types/src/collections/index.d.ts.map +1 -0
- package/types/src/color/Color.d.ts +120 -0
- package/types/src/color/Color.d.ts.map +1 -0
- package/types/src/color/ColorSpace.d.ts +45 -0
- package/types/src/color/ColorSpace.d.ts.map +1 -0
- package/types/src/color/IColor.d.ts +1110 -0
- package/types/src/color/IColor.d.ts.map +1 -0
- package/types/src/color/_BuiltInIndexDefs.d.ts +4 -0
- package/types/src/color/_BuiltInIndexDefs.d.ts.map +1 -0
- package/types/src/color/_BuiltInNamedDefs.d.ts +29 -0
- package/types/src/color/_BuiltInNamedDefs.d.ts.map +1 -0
- package/types/src/color/_BuiltInSchemeDefs.d.ts +7 -0
- package/types/src/color/_BuiltInSchemeDefs.d.ts.map +1 -0
- package/types/src/color/_ColorUtils.d.ts +93 -0
- package/types/src/color/_ColorUtils.d.ts.map +1 -0
- package/types/src/color/index.d.ts +3 -0
- package/types/src/color/index.d.ts.map +1 -0
- package/types/src/comment/IComment.d.ts +108 -0
- package/types/src/comment/IComment.d.ts.map +1 -0
- package/types/src/comment/index.d.ts +2 -0
- package/types/src/comment/index.d.ts.map +1 -0
- package/types/src/condition/AnchoredConditional.d.ts +263 -0
- package/types/src/condition/AnchoredConditional.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +83 -0
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/AfterOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/AndOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/AndOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/AverageOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/BlankOperator.d.ts +9 -0
- package/types/src/condition/BuiltInOperators/BlankOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/ColorOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +11 -0
- package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/ErrorOperator.d.ts +9 -0
- package/types/src/condition/BuiltInOperators/ErrorOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +17 -0
- package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/IconOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/IconOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +14 -0
- package/types/src/condition/BuiltInOperators/InSetOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/NotOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/NotOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/OrOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/OrOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +13 -0
- package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/TopNOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/UniqueOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/UniqueOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/ValidEmailOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/ValidEmailOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/ValidUrlOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/ValidUrlOperator.d.ts.map +1 -0
- package/types/src/condition/BuiltInOperators/index.d.ts +59 -0
- package/types/src/condition/BuiltInOperators/index.d.ts.map +1 -0
- package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +43 -0
- package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts.map +1 -0
- package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +14 -0
- package/types/src/condition/BuiltinSelectors/DateSelector.d.ts.map +1 -0
- package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +12 -0
- package/types/src/condition/BuiltinSelectors/ListSelector.d.ts.map +1 -0
- package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +16 -0
- package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts.map +1 -0
- package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +14 -0
- package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts.map +1 -0
- package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +14 -0
- package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts.map +1 -0
- package/types/src/condition/BuiltinSelectors/index.d.ts +18 -0
- package/types/src/condition/BuiltinSelectors/index.d.ts.map +1 -0
- package/types/src/condition/Condition.d.ts +123 -0
- package/types/src/condition/Condition.d.ts.map +1 -0
- package/types/src/condition/ICondition.d.ts +915 -0
- package/types/src/condition/ICondition.d.ts.map +1 -0
- package/types/src/condition/_ConditionUtils.d.ts +190 -0
- package/types/src/condition/_ConditionUtils.d.ts.map +1 -0
- package/types/src/condition/index.d.ts +3 -0
- package/types/src/condition/index.d.ts.map +1 -0
- package/types/src/conditionalFormat/ConditionalEntry.d.ts +20 -0
- package/types/src/conditionalFormat/ConditionalEntry.d.ts.map +1 -0
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +190 -0
- package/types/src/conditionalFormat/ConditionalFormat.d.ts.map +1 -0
- package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +20 -0
- package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts.map +1 -0
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +518 -0
- package/types/src/conditionalFormat/IConditionalFormat.d.ts.map +1 -0
- package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +70 -0
- package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts.map +1 -0
- package/types/src/conditionalFormat/_ConditionalMessages.d.ts +2 -0
- package/types/src/conditionalFormat/_ConditionalMessages.d.ts.map +1 -0
- package/types/src/conditionalFormat/index.d.ts +3 -0
- package/types/src/conditionalFormat/index.d.ts.map +1 -0
- package/types/src/dataValidation/DataValidation.d.ts +121 -0
- package/types/src/dataValidation/DataValidation.d.ts.map +1 -0
- package/types/src/dataValidation/DataValidationCollection.d.ts +20 -0
- package/types/src/dataValidation/DataValidationCollection.d.ts.map +1 -0
- package/types/src/dataValidation/IDataValidation.d.ts +327 -0
- package/types/src/dataValidation/IDataValidation.d.ts.map +1 -0
- package/types/src/dataValidation/IDataValidationCollection.d.ts +63 -0
- package/types/src/dataValidation/IDataValidationCollection.d.ts.map +1 -0
- package/types/src/dataValidation/_DataValidationMessages.d.ts +2 -0
- package/types/src/dataValidation/_DataValidationMessages.d.ts.map +1 -0
- package/types/src/dataValidation/_Utils.d.ts +10 -0
- package/types/src/dataValidation/_Utils.d.ts.map +1 -0
- package/types/src/dataValidation/index.d.ts +3 -0
- package/types/src/dataValidation/index.d.ts.map +1 -0
- package/types/src/date/DateUtils.d.ts +8 -0
- package/types/src/date/DateUtils.d.ts.map +1 -0
- package/types/src/date/_DateUtils.d.ts +122 -0
- package/types/src/date/_DateUtils.d.ts.map +1 -0
- package/types/src/date/index.d.ts +2 -0
- package/types/src/date/index.d.ts.map +1 -0
- package/types/src/externalBook/ExternalBookCollection.d.ts +36 -0
- package/types/src/externalBook/ExternalBookCollection.d.ts.map +1 -0
- package/types/src/externalBook/IExternalBook.d.ts +97 -0
- package/types/src/externalBook/IExternalBook.d.ts.map +1 -0
- package/types/src/externalBook/IExternalBookCollection.d.ts +29 -0
- package/types/src/externalBook/IExternalBookCollection.d.ts.map +1 -0
- package/types/src/externalBook/index.d.ts +3 -0
- package/types/src/externalBook/index.d.ts.map +1 -0
- package/types/src/fill/IEffect.d.ts +389 -0
- package/types/src/fill/IEffect.d.ts.map +1 -0
- package/types/src/fill/IFill.d.ts +597 -0
- package/types/src/fill/IFill.d.ts.map +1 -0
- package/types/src/fill/IStroke.d.ts +265 -0
- package/types/src/fill/IStroke.d.ts.map +1 -0
- package/types/src/fill/_BuiltInPatterns.d.ts +27 -0
- package/types/src/fill/_BuiltInPatterns.d.ts.map +1 -0
- package/types/src/fill/index.d.ts +4 -0
- package/types/src/fill/index.d.ts.map +1 -0
- package/types/src/filter/IFilter.d.ts +83 -0
- package/types/src/filter/IFilter.d.ts.map +1 -0
- package/types/src/filter/index.d.ts +2 -0
- package/types/src/filter/index.d.ts.map +1 -0
- package/types/src/font/CanvasFontMeasurer.d.ts +25 -0
- package/types/src/font/CanvasFontMeasurer.d.ts.map +1 -0
- package/types/src/font/ExtendedTextMetrics.d.ts +1 -0
- package/types/src/font/ExtendedTextMetrics.d.ts.map +1 -0
- package/types/src/font/Font.d.ts +19 -0
- package/types/src/font/Font.d.ts.map +1 -0
- package/types/src/font/FontKitFontMeasurer.d.ts +11 -0
- package/types/src/font/FontKitFontMeasurer.d.ts.map +1 -0
- package/types/src/font/FontUtils.d.ts +9 -0
- package/types/src/font/FontUtils.d.ts.map +1 -0
- package/types/src/font/IFont.d.ts +261 -0
- package/types/src/font/IFont.d.ts.map +1 -0
- package/types/src/font/IFontCollection.d.ts +31 -0
- package/types/src/font/IFontCollection.d.ts.map +1 -0
- package/types/src/font/SimpleFontMeasurer.d.ts +4 -0
- package/types/src/font/SimpleFontMeasurer.d.ts.map +1 -0
- package/types/src/font/_FontUtils.d.ts +22 -0
- package/types/src/font/_FontUtils.d.ts.map +1 -0
- package/types/src/font/index.d.ts +5 -0
- package/types/src/font/index.d.ts.map +1 -0
- package/types/src/history/IHistory.d.ts +110 -0
- package/types/src/history/IHistory.d.ts.map +1 -0
- package/types/src/history/index.d.ts +2 -0
- package/types/src/history/index.d.ts.map +1 -0
- package/types/src/hyperlink/IHyperlink.d.ts +96 -0
- package/types/src/hyperlink/IHyperlink.d.ts.map +1 -0
- package/types/src/hyperlink/_Hyperlink.d.ts +21 -0
- package/types/src/hyperlink/_Hyperlink.d.ts.map +1 -0
- package/types/src/hyperlink/index.d.ts +2 -0
- package/types/src/hyperlink/index.d.ts.map +1 -0
- package/types/src/i18n/LanguagePack.d.ts +97 -0
- package/types/src/i18n/LanguagePack.d.ts.map +1 -0
- package/types/src/i18n/LocaleProfile.d.ts +15 -0
- package/types/src/i18n/LocaleProfile.d.ts.map +1 -0
- package/types/src/i18n/_CurrencyData.d.ts +20 -0
- package/types/src/i18n/_CurrencyData.d.ts.map +1 -0
- package/types/src/i18n/functionLocales.d.ts +6 -0
- package/types/src/i18n/functionLocales.d.ts.map +1 -0
- package/types/src/i18n/index.d.ts +4 -0
- package/types/src/i18n/index.d.ts.map +1 -0
- package/types/src/i18n/locales.d.ts +3 -0
- package/types/src/i18n/locales.d.ts.map +1 -0
- package/types/src/index.d.ts +71 -0
- package/types/src/index.d.ts.map +1 -0
- package/types/src/io/AbstractBackingStore.d.ts +53 -0
- package/types/src/io/AbstractBackingStore.d.ts.map +1 -0
- package/types/src/io/ArrayBackingStore.d.ts +34 -0
- package/types/src/io/ArrayBackingStore.d.ts.map +1 -0
- package/types/src/io/IWorkbookIO.d.ts +1322 -0
- package/types/src/io/IWorkbookIO.d.ts.map +1 -0
- package/types/src/io/WorkbookIO.d.ts +91 -0
- package/types/src/io/WorkbookIO.d.ts.map +1 -0
- package/types/src/io/WorkbookOrigin.d.ts +114 -0
- package/types/src/io/WorkbookOrigin.d.ts.map +1 -0
- package/types/src/io/WorkbookRegistry.d.ts +49 -0
- package/types/src/io/WorkbookRegistry.d.ts.map +1 -0
- package/types/src/io/index.d.ts +5 -0
- package/types/src/io/index.d.ts.map +1 -0
- package/types/src/lib/file/file.browser.d.ts +41 -0
- package/types/src/lib/file/file.browser.d.ts.map +1 -0
- package/types/src/lib/file/file.node.d.ts +25 -0
- package/types/src/lib/file/file.node.d.ts.map +1 -0
- package/types/src/lib/utils/_Utils.d.ts +20 -0
- package/types/src/lib/utils/_Utils.d.ts.map +1 -0
- package/types/src/lib/utils/banner.d.ts +6 -0
- package/types/src/lib/utils/banner.d.ts.map +1 -0
- package/types/src/lib/utils/utils.browser.d.ts +28 -0
- package/types/src/lib/utils/utils.browser.d.ts.map +1 -0
- package/types/src/lib/utils/utils.node.d.ts +42 -0
- package/types/src/lib/utils/utils.node.d.ts.map +1 -0
- package/types/src/license/LicenseDetails.d.ts +22 -0
- package/types/src/license/LicenseDetails.d.ts.map +1 -0
- package/types/src/license/LicenseManager.d.ts +63 -0
- package/types/src/license/LicenseManager.d.ts.map +1 -0
- package/types/src/license/index.d.ts +3 -0
- package/types/src/license/index.d.ts.map +1 -0
- package/types/src/license/license-key.d.ts +33 -0
- package/types/src/license/license-key.d.ts.map +1 -0
- package/types/src/listener/IListener.d.ts +62 -0
- package/types/src/listener/IListener.d.ts.map +1 -0
- package/types/src/listener/ListenerEmitter.d.ts +47 -0
- package/types/src/listener/ListenerEmitter.d.ts.map +1 -0
- package/types/src/listener/index.d.ts +2 -0
- package/types/src/listener/index.d.ts.map +1 -0
- package/types/src/model/AbstractModel.d.ts +90 -0
- package/types/src/model/AbstractModel.d.ts.map +1 -0
- package/types/src/model/IModel.d.ts +108 -0
- package/types/src/model/IModel.d.ts.map +1 -0
- package/types/src/model/_ModelMessages.d.ts +2 -0
- package/types/src/model/_ModelMessages.d.ts.map +1 -0
- package/types/src/model/index.d.ts +3 -0
- package/types/src/model/index.d.ts.map +1 -0
- package/types/src/movable/CustomElement.d.ts +42 -0
- package/types/src/movable/CustomElement.d.ts.map +1 -0
- package/types/src/movable/ICustomElement.d.ts +29 -0
- package/types/src/movable/ICustomElement.d.ts.map +1 -0
- package/types/src/movable/IGroup.d.ts +30 -0
- package/types/src/movable/IGroup.d.ts.map +1 -0
- package/types/src/movable/IMovable.d.ts +327 -0
- package/types/src/movable/IMovable.d.ts.map +1 -0
- package/types/src/movable/IMovableCollection.d.ts +129 -0
- package/types/src/movable/IMovableCollection.d.ts.map +1 -0
- package/types/src/movable/IMovableSelection.d.ts +49 -0
- package/types/src/movable/IMovableSelection.d.ts.map +1 -0
- package/types/src/movable/Movable.d.ts +221 -0
- package/types/src/movable/Movable.d.ts.map +1 -0
- package/types/src/movable/MovableCollection.d.ts +29 -0
- package/types/src/movable/MovableCollection.d.ts.map +1 -0
- package/types/src/movable/_MovableUtils.d.ts +4 -0
- package/types/src/movable/_MovableUtils.d.ts.map +1 -0
- package/types/src/movable/index.d.ts +4 -0
- package/types/src/movable/index.d.ts.map +1 -0
- package/types/src/named/AbstractNamed.d.ts +41 -0
- package/types/src/named/AbstractNamed.d.ts.map +1 -0
- package/types/src/named/INamed.d.ts +225 -0
- package/types/src/named/INamed.d.ts.map +1 -0
- package/types/src/named/INamedCollection.d.ts +230 -0
- package/types/src/named/INamedCollection.d.ts.map +1 -0
- package/types/src/named/NamedCollection.d.ts +302 -0
- package/types/src/named/NamedCollection.d.ts.map +1 -0
- package/types/src/named/_BuiltInNamed.d.ts +6 -0
- package/types/src/named/_BuiltInNamed.d.ts.map +1 -0
- package/types/src/named/index.d.ts +3 -0
- package/types/src/named/index.d.ts.map +1 -0
- package/types/src/numFmt/BuiltInFormats.d.ts +49 -0
- package/types/src/numFmt/BuiltInFormats.d.ts.map +1 -0
- package/types/src/numFmt/IFormatEngine.d.ts +149 -0
- package/types/src/numFmt/IFormatEngine.d.ts.map +1 -0
- package/types/src/numFmt/NumberFormatBuilder.d.ts +46 -0
- package/types/src/numFmt/NumberFormatBuilder.d.ts.map +1 -0
- package/types/src/numFmt/NumberFormatParser.d.ts +168 -0
- package/types/src/numFmt/NumberFormatParser.d.ts.map +1 -0
- package/types/src/numFmt/NumberFormatStyles.d.ts +43 -0
- package/types/src/numFmt/NumberFormatStyles.d.ts.map +1 -0
- package/types/src/numFmt/NumberFormatType.d.ts +79 -0
- package/types/src/numFmt/NumberFormatType.d.ts.map +1 -0
- package/types/src/numFmt/NumfmtFormatEngine.d.ts +33 -0
- package/types/src/numFmt/NumfmtFormatEngine.d.ts.map +1 -0
- package/types/src/numFmt/_BuiltInNumberFormats.d.ts +12 -0
- package/types/src/numFmt/_BuiltInNumberFormats.d.ts.map +1 -0
- package/types/src/numFmt/_FormatCell.d.ts +52 -0
- package/types/src/numFmt/_FormatCell.d.ts.map +1 -0
- package/types/src/numFmt/_NumFmtUtils.d.ts +102 -0
- package/types/src/numFmt/_NumFmtUtils.d.ts.map +1 -0
- package/types/src/numFmt/index.d.ts +105 -0
- package/types/src/numFmt/index.d.ts.map +1 -0
- package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +15 -0
- package/types/src/numFmt/vendor/numfmt/index.d.ts +721 -0
- package/types/src/picture/IPicture.d.ts +69 -0
- package/types/src/picture/IPicture.d.ts.map +1 -0
- package/types/src/picture/Picture.d.ts +67 -0
- package/types/src/picture/Picture.d.ts.map +1 -0
- package/types/src/picture/index.d.ts +2 -0
- package/types/src/picture/index.d.ts.map +1 -0
- package/types/src/primitives/CompositeRangeStats.d.ts +63 -0
- package/types/src/primitives/CompositeRangeStats.d.ts.map +1 -0
- package/types/src/primitives/Criteria.d.ts +35 -0
- package/types/src/primitives/Criteria.d.ts.map +1 -0
- package/types/src/primitives/FormulaContext.d.ts +2 -0
- package/types/src/primitives/FormulaContext.d.ts.map +1 -0
- package/types/src/primitives/PrimitiveUtils.d.ts +255 -0
- package/types/src/primitives/PrimitiveUtils.d.ts.map +1 -0
- package/types/src/primitives/Range.d.ts +221 -0
- package/types/src/primitives/Range.d.ts.map +1 -0
- package/types/src/primitives/RangeStats.d.ts +48 -0
- package/types/src/primitives/RangeStats.d.ts.map +1 -0
- package/types/src/primitives/ReferenceRange.d.ts +19 -0
- package/types/src/primitives/ReferenceRange.d.ts.map +1 -0
- package/types/src/primitives/Runtime.d.ts +55 -0
- package/types/src/primitives/Runtime.d.ts.map +1 -0
- package/types/src/primitives/ScalarCollation.d.ts +174 -0
- package/types/src/primitives/ScalarCollation.d.ts.map +1 -0
- package/types/src/primitives/TextFold.d.ts +62 -0
- package/types/src/primitives/TextFold.d.ts.map +1 -0
- package/types/src/primitives/_PrimitiveMessages.d.ts +3 -0
- package/types/src/primitives/_PrimitiveMessages.d.ts.map +1 -0
- package/types/src/primitives/index.d.ts +7 -0
- package/types/src/primitives/index.d.ts.map +1 -0
- package/types/src/primitives/stats/AggregateStats.d.ts +119 -0
- package/types/src/primitives/stats/AggregateStats.d.ts.map +1 -0
- package/types/src/primitives/stats/Cancellation.d.ts +43 -0
- package/types/src/primitives/stats/Cancellation.d.ts.map +1 -0
- package/types/src/primitives/stats/FrequencyStats.d.ts +94 -0
- package/types/src/primitives/stats/FrequencyStats.d.ts.map +1 -0
- package/types/src/primitives/stats/Ranked.d.ts +26 -0
- package/types/src/primitives/stats/Ranked.d.ts.map +1 -0
- package/types/src/primitives/stats/ScalarOrder.d.ts +18 -0
- package/types/src/primitives/stats/ScalarOrder.d.ts.map +1 -0
- package/types/src/primitives/stats/SortedNumbers.d.ts +48 -0
- package/types/src/primitives/stats/SortedNumbers.d.ts.map +1 -0
- package/types/src/primitives/stats/index.d.ts +7 -0
- package/types/src/primitives/stats/index.d.ts.map +1 -0
- package/types/src/print/IPrint.d.ts +234 -0
- package/types/src/print/IPrint.d.ts.map +1 -0
- package/types/src/print/index.d.ts +2 -0
- package/types/src/print/index.d.ts.map +1 -0
- package/types/src/protectedRange/IProtectedRange.d.ts +239 -0
- package/types/src/protectedRange/IProtectedRange.d.ts.map +1 -0
- package/types/src/protectedRange/IProtectedRangeCollection.d.ts +73 -0
- package/types/src/protectedRange/IProtectedRangeCollection.d.ts.map +1 -0
- package/types/src/protectedRange/ProtectedRange.d.ts +101 -0
- package/types/src/protectedRange/ProtectedRange.d.ts.map +1 -0
- package/types/src/protectedRange/ProtectedRangeCollection.d.ts +21 -0
- package/types/src/protectedRange/ProtectedRangeCollection.d.ts.map +1 -0
- package/types/src/protectedRange/index.d.ts +3 -0
- package/types/src/protectedRange/index.d.ts.map +1 -0
- package/types/src/protection/DefaultProtection.d.ts +43 -0
- package/types/src/protection/DefaultProtection.d.ts.map +1 -0
- package/types/src/protection/IProtection.d.ts +170 -0
- package/types/src/protection/IProtection.d.ts.map +1 -0
- package/types/src/protection/PasswordHasher.d.ts +35 -0
- package/types/src/protection/PasswordHasher.d.ts.map +1 -0
- package/types/src/protection/index.d.ts +6 -0
- package/types/src/protection/index.d.ts.map +1 -0
- package/types/src/resource/IResource.d.ts +98 -0
- package/types/src/resource/IResource.d.ts.map +1 -0
- package/types/src/resource/IResourceCollection.d.ts +96 -0
- package/types/src/resource/IResourceCollection.d.ts.map +1 -0
- package/types/src/resource/Resource.d.ts +39 -0
- package/types/src/resource/Resource.d.ts.map +1 -0
- package/types/src/resource/ResourceCollection.d.ts +19 -0
- package/types/src/resource/ResourceCollection.d.ts.map +1 -0
- package/types/src/resource/_ResourceMessages.d.ts +4 -0
- package/types/src/resource/_ResourceMessages.d.ts.map +1 -0
- package/types/src/resource/index.d.ts +5 -0
- package/types/src/resource/index.d.ts.map +1 -0
- package/types/src/resource/resourceKinds.d.ts +23 -0
- package/types/src/resource/resourceKinds.d.ts.map +1 -0
- package/types/src/richData/index.d.ts +1 -0
- package/types/src/richData/index.d.ts.map +1 -0
- package/types/src/scripting/FunctionCollection.d.ts +88 -0
- package/types/src/scripting/FunctionCollection.d.ts.map +1 -0
- package/types/src/scripting/IFunctionCollection.d.ts +208 -0
- package/types/src/scripting/IFunctionCollection.d.ts.map +1 -0
- package/types/src/scripting/IModule.d.ts +82 -0
- package/types/src/scripting/IModule.d.ts.map +1 -0
- package/types/src/scripting/IModuleCollection.d.ts +79 -0
- package/types/src/scripting/IModuleCollection.d.ts.map +1 -0
- package/types/src/scripting/IScript.d.ts +289 -0
- package/types/src/scripting/IScript.d.ts.map +1 -0
- package/types/src/scripting/ITypedFunction.d.ts +61 -0
- package/types/src/scripting/ITypedFunction.d.ts.map +1 -0
- package/types/src/scripting/MacroFunction.d.ts +15 -0
- package/types/src/scripting/MacroFunction.d.ts.map +1 -0
- package/types/src/scripting/Module.d.ts +39 -0
- package/types/src/scripting/Module.d.ts.map +1 -0
- package/types/src/scripting/ModuleCollection.d.ts +56 -0
- package/types/src/scripting/ModuleCollection.d.ts.map +1 -0
- package/types/src/scripting/Runtime.d.ts +16 -0
- package/types/src/scripting/Runtime.d.ts.map +1 -0
- package/types/src/scripting/Scripts.d.ts +79 -0
- package/types/src/scripting/Scripts.d.ts.map +1 -0
- package/types/src/scripting/TypedFunction.d.ts +161 -0
- package/types/src/scripting/TypedFunction.d.ts.map +1 -0
- package/types/src/scripting/_FunctionIndex.d.ts +111 -0
- package/types/src/scripting/_FunctionIndex.d.ts.map +1 -0
- package/types/src/scripting/_FunctionMessages.d.ts +6 -0
- package/types/src/scripting/_FunctionMessages.d.ts.map +1 -0
- package/types/src/scripting/_ModuleUtils.d.ts +5 -0
- package/types/src/scripting/_ModuleUtils.d.ts.map +1 -0
- package/types/src/scripting/_ScriptUtils.d.ts +18 -0
- package/types/src/scripting/_ScriptUtils.d.ts.map +1 -0
- package/types/src/scripting/enumManifest.browser.d.ts +9 -0
- package/types/src/scripting/enumManifest.browser.d.ts.map +1 -0
- package/types/src/scripting/enumManifest.node.d.ts +13 -0
- package/types/src/scripting/enumManifest.node.d.ts.map +1 -0
- package/types/src/scripting/index.d.ts +4 -0
- package/types/src/scripting/index.d.ts.map +1 -0
- package/types/src/selection/IRangeSelection.d.ts +307 -0
- package/types/src/selection/IRangeSelection.d.ts.map +1 -0
- package/types/src/selection/RangeSelection.d.ts +144 -0
- package/types/src/selection/RangeSelection.d.ts.map +1 -0
- package/types/src/selection/_RangeSelectionUtils.d.ts +32 -0
- package/types/src/selection/_RangeSelectionUtils.d.ts.map +1 -0
- package/types/src/selection/index.d.ts +2 -0
- package/types/src/selection/index.d.ts.map +1 -0
- package/types/src/shape/IShape.d.ts +279 -0
- package/types/src/shape/IShape.d.ts.map +1 -0
- package/types/src/shape/Shape.d.ts +54 -0
- package/types/src/shape/Shape.d.ts.map +1 -0
- package/types/src/shape/index.d.ts +2 -0
- package/types/src/shape/index.d.ts.map +1 -0
- package/types/src/sheet/CellRegion.d.ts +106 -0
- package/types/src/sheet/CellRegion.d.ts.map +1 -0
- package/types/src/sheet/ICellContainerOptions.d.ts +97 -0
- package/types/src/sheet/ICellContainerOptions.d.ts.map +1 -0
- package/types/src/sheet/ISheet.d.ts +1074 -0
- package/types/src/sheet/ISheet.d.ts.map +1 -0
- package/types/src/sheet/ISheetCollection.d.ts +70 -0
- package/types/src/sheet/ISheetCollection.d.ts.map +1 -0
- package/types/src/sheet/NamedCellRange.d.ts +45 -0
- package/types/src/sheet/NamedCellRange.d.ts.map +1 -0
- package/types/src/sheet/NamedRange.d.ts +30 -0
- package/types/src/sheet/NamedRange.d.ts.map +1 -0
- package/types/src/sheet/Sheet.d.ts +1068 -0
- package/types/src/sheet/Sheet.d.ts.map +1 -0
- package/types/src/sheet/SheetCell.d.ts +335 -0
- package/types/src/sheet/SheetCell.d.ts.map +1 -0
- package/types/src/sheet/SheetCollection.d.ts +18 -0
- package/types/src/sheet/SheetCollection.d.ts.map +1 -0
- package/types/src/sheet/SheetRange.d.ts +362 -0
- package/types/src/sheet/SheetRange.d.ts.map +1 -0
- package/types/src/sheet/SheetRanges.d.ts +225 -0
- package/types/src/sheet/SheetRanges.d.ts.map +1 -0
- package/types/src/sheet/_CopyUtils.d.ts +33 -0
- package/types/src/sheet/_CopyUtils.d.ts.map +1 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +70 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts.map +1 -0
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +18 -0
- package/types/src/sheet/_SheetAutoFitUtils.d.ts.map +1 -0
- package/types/src/sheet/_SheetCoords.d.ts +54 -0
- package/types/src/sheet/_SheetCoords.d.ts.map +1 -0
- package/types/src/sheet/_SheetFilterUtils.d.ts +9 -0
- package/types/src/sheet/_SheetFilterUtils.d.ts.map +1 -0
- package/types/src/sheet/_SheetMessages.d.ts +11 -0
- package/types/src/sheet/_SheetMessages.d.ts.map +1 -0
- package/types/src/sheet/_SheetMutations.d.ts +137 -0
- package/types/src/sheet/_SheetMutations.d.ts.map +1 -0
- package/types/src/sheet/_SheetSortUtils.d.ts +9 -0
- package/types/src/sheet/_SheetSortUtils.d.ts.map +1 -0
- package/types/src/sheet/_SheetStateReader.d.ts +161 -0
- package/types/src/sheet/_SheetStateReader.d.ts.map +1 -0
- package/types/src/sheet/_SheetStateTypes.d.ts +446 -0
- package/types/src/sheet/_SheetStateTypes.d.ts.map +1 -0
- package/types/src/sheet/_SheetUtils.d.ts +265 -0
- package/types/src/sheet/_SheetUtils.d.ts.map +1 -0
- package/types/src/sheet/clipboard/IHTMLParser.d.ts +92 -0
- package/types/src/sheet/clipboard/IHTMLParser.d.ts.map +1 -0
- package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +55 -0
- package/types/src/sheet/clipboard/RangeClipboardItems.d.ts.map +1 -0
- package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +29 -0
- package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts.map +1 -0
- package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +46 -0
- package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts.map +1 -0
- package/types/src/sheet/clipboard/_ClipboardUtils.d.ts +10 -0
- package/types/src/sheet/clipboard/_ClipboardUtils.d.ts.map +1 -0
- package/types/src/sheet/clipboard/index.d.ts +2 -0
- package/types/src/sheet/clipboard/index.d.ts.map +1 -0
- package/types/src/sheet/index.d.ts +6 -0
- package/types/src/sheet/index.d.ts.map +1 -0
- package/types/src/sheet/listener/RangesListener.d.ts +32 -0
- package/types/src/sheet/listener/RangesListener.d.ts.map +1 -0
- package/types/src/sheet/listener/RangesListenerEntry.d.ts +19 -0
- package/types/src/sheet/listener/RangesListenerEntry.d.ts.map +1 -0
- package/types/src/sheet/listener/index.d.ts +3 -0
- package/types/src/sheet/listener/index.d.ts.map +1 -0
- package/types/src/sheet/spatial/MergeEntry.d.ts +17 -0
- package/types/src/sheet/spatial/MergeEntry.d.ts.map +1 -0
- package/types/src/sheet/spatial/index.d.ts +2 -0
- package/types/src/sheet/spatial/index.d.ts.map +1 -0
- package/types/src/sheet/style/SheetCellStyle.d.ts +540 -0
- package/types/src/sheet/style/SheetCellStyle.d.ts.map +1 -0
- package/types/src/sheet/style/SheetDirectStyle.d.ts +130 -0
- package/types/src/sheet/style/SheetDirectStyle.d.ts.map +1 -0
- package/types/src/sheet/style/SheetNamedStyle.d.ts +47 -0
- package/types/src/sheet/style/SheetNamedStyle.d.ts.map +1 -0
- package/types/src/sheet/style/SheetTableStyle.d.ts +47 -0
- package/types/src/sheet/style/SheetTableStyle.d.ts.map +1 -0
- package/types/src/sheet/style/UsedRangeSpatialMap.d.ts +80 -0
- package/types/src/sheet/style/UsedRangeSpatialMap.d.ts.map +1 -0
- package/types/src/sheet/style/_Resolvers.d.ts +41 -0
- package/types/src/sheet/style/_Resolvers.d.ts.map +1 -0
- package/types/src/sheet/style/_StyleUtils.d.ts +69 -0
- package/types/src/sheet/style/_StyleUtils.d.ts.map +1 -0
- package/types/src/sheet/style/index.d.ts +1 -0
- package/types/src/sheet/style/index.d.ts.map +1 -0
- package/types/src/sheetHeader/ISheetHeader.d.ts +217 -0
- package/types/src/sheetHeader/ISheetHeader.d.ts.map +1 -0
- package/types/src/sheetHeader/SheetCellHeader.d.ts +61 -0
- package/types/src/sheetHeader/SheetCellHeader.d.ts.map +1 -0
- package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +54 -0
- package/types/src/sheetHeader/SheetCellHeaderRange.d.ts.map +1 -0
- package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +46 -0
- package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts.map +1 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +257 -0
- package/types/src/sheetHeader/SheetHeader.d.ts.map +1 -0
- package/types/src/sheetHeader/_HeaderUtils.d.ts +94 -0
- package/types/src/sheetHeader/_HeaderUtils.d.ts.map +1 -0
- package/types/src/sheetHeader/_InvalidSheetHeaderRange.d.ts +7 -0
- package/types/src/sheetHeader/_InvalidSheetHeaderRange.d.ts.map +1 -0
- package/types/src/sheetHeader/index.d.ts +2 -0
- package/types/src/sheetHeader/index.d.ts.map +1 -0
- package/types/src/sheetProtection/ISheetProtection.d.ts +150 -0
- package/types/src/sheetProtection/ISheetProtection.d.ts.map +1 -0
- package/types/src/sheetProtection/SheetProtection.d.ts +39 -0
- package/types/src/sheetProtection/SheetProtection.d.ts.map +1 -0
- package/types/src/sheetProtection/index.d.ts +2 -0
- package/types/src/sheetProtection/index.d.ts.map +1 -0
- package/types/src/sheetView/ISheetView.d.ts +439 -0
- package/types/src/sheetView/ISheetView.d.ts.map +1 -0
- package/types/src/sheetView/SheetView.d.ts +113 -0
- package/types/src/sheetView/SheetView.d.ts.map +1 -0
- package/types/src/sheetView/_SheetViewUtils.d.ts +19 -0
- package/types/src/sheetView/_SheetViewUtils.d.ts.map +1 -0
- package/types/src/sheetView/index.d.ts +2 -0
- package/types/src/sheetView/index.d.ts.map +1 -0
- package/types/src/slicer/ISlicer.d.ts +38 -0
- package/types/src/slicer/ISlicer.d.ts.map +1 -0
- package/types/src/slicer/Slicer.d.ts +41 -0
- package/types/src/slicer/Slicer.d.ts.map +1 -0
- package/types/src/slicer/index.d.ts +2 -0
- package/types/src/slicer/index.d.ts.map +1 -0
- package/types/src/sort/ISort.d.ts +318 -0
- package/types/src/sort/ISort.d.ts.map +1 -0
- package/types/src/sort/Sort.d.ts +48 -0
- package/types/src/sort/Sort.d.ts.map +1 -0
- package/types/src/sort/_SortUtils.d.ts +12 -0
- package/types/src/sort/_SortUtils.d.ts.map +1 -0
- package/types/src/sort/index.d.ts +3 -0
- package/types/src/sort/index.d.ts.map +1 -0
- package/types/src/string/IStringCollection.d.ts +50 -0
- package/types/src/string/IStringCollection.d.ts.map +1 -0
- package/types/src/string/StringCollection.d.ts +26 -0
- package/types/src/string/StringCollection.d.ts.map +1 -0
- package/types/src/string/index.d.ts +3 -0
- package/types/src/string/index.d.ts.map +1 -0
- package/types/src/style/IStyle.d.ts +485 -0
- package/types/src/style/IStyle.d.ts.map +1 -0
- package/types/src/style/IStyleCollection.d.ts +292 -0
- package/types/src/style/IStyleCollection.d.ts.map +1 -0
- package/types/src/style/StyleCollection.d.ts +125 -0
- package/types/src/style/StyleCollection.d.ts.map +1 -0
- package/types/src/style/_BuiltInStyleDefs.d.ts +18 -0
- package/types/src/style/_BuiltInStyleDefs.d.ts.map +1 -0
- package/types/src/style/_BuiltInStyleNames.d.ts +20 -0
- package/types/src/style/_BuiltInStyleNames.d.ts.map +1 -0
- package/types/src/style/index.d.ts +5 -0
- package/types/src/style/index.d.ts.map +1 -0
- package/types/src/table/AnchoredTable.d.ts +349 -0
- package/types/src/table/AnchoredTable.d.ts.map +1 -0
- package/types/src/table/AutoTable.d.ts +64 -0
- package/types/src/table/AutoTable.d.ts.map +1 -0
- package/types/src/table/ITable.d.ts +714 -0
- package/types/src/table/ITable.d.ts.map +1 -0
- package/types/src/table/ITableCollection.d.ts +88 -0
- package/types/src/table/ITableCollection.d.ts.map +1 -0
- package/types/src/table/ITableStyle.d.ts +318 -0
- package/types/src/table/ITableStyle.d.ts.map +1 -0
- package/types/src/table/Table.d.ts +8 -0
- package/types/src/table/Table.d.ts.map +1 -0
- package/types/src/table/TableCollection.d.ts +20 -0
- package/types/src/table/TableCollection.d.ts.map +1 -0
- package/types/src/table/_AutoTableColumn.d.ts +27 -0
- package/types/src/table/_AutoTableColumn.d.ts.map +1 -0
- package/types/src/table/_BuiltInTableStyles.d.ts +9 -0
- package/types/src/table/_BuiltInTableStyles.d.ts.map +1 -0
- package/types/src/table/_FilterField.d.ts +30 -0
- package/types/src/table/_FilterField.d.ts.map +1 -0
- package/types/src/table/_NamedTable.d.ts +84 -0
- package/types/src/table/_NamedTable.d.ts.map +1 -0
- package/types/src/table/_NamedTableSource.d.ts +57 -0
- package/types/src/table/_NamedTableSource.d.ts.map +1 -0
- package/types/src/table/_SortField.d.ts +29 -0
- package/types/src/table/_SortField.d.ts.map +1 -0
- package/types/src/table/_TableColumn.d.ts +51 -0
- package/types/src/table/_TableColumn.d.ts.map +1 -0
- package/types/src/table/_TableMessages.d.ts +5 -0
- package/types/src/table/_TableMessages.d.ts.map +1 -0
- package/types/src/table/_TableUtils.d.ts +94 -0
- package/types/src/table/_TableUtils.d.ts.map +1 -0
- package/types/src/table/index.d.ts +5 -0
- package/types/src/table/index.d.ts.map +1 -0
- package/types/src/text/AutoNumberingScheme.d.ts +175 -0
- package/types/src/text/AutoNumberingScheme.d.ts.map +1 -0
- package/types/src/text/Bullet.d.ts +34 -0
- package/types/src/text/Bullet.d.ts.map +1 -0
- package/types/src/text/IText.d.ts +53 -0
- package/types/src/text/IText.d.ts.map +1 -0
- package/types/src/text/ITextFrame.d.ts +313 -0
- package/types/src/text/ITextFrame.d.ts.map +1 -0
- package/types/src/text/TextBoxAlignment.d.ts +141 -0
- package/types/src/text/TextBoxAlignment.d.ts.map +1 -0
- package/types/src/text/TextFrame.d.ts +43 -0
- package/types/src/text/TextFrame.d.ts.map +1 -0
- package/types/src/text/TextLine.d.ts +24 -0
- package/types/src/text/TextLine.d.ts.map +1 -0
- package/types/src/text/TextParagraph.d.ts +61 -0
- package/types/src/text/TextParagraph.d.ts.map +1 -0
- package/types/src/text/TextRotation.d.ts +106 -0
- package/types/src/text/TextRotation.d.ts.map +1 -0
- package/types/src/text/TextRun.d.ts +85 -0
- package/types/src/text/TextRun.d.ts.map +1 -0
- package/types/src/text/TextUtils.d.ts +165 -0
- package/types/src/text/TextUtils.d.ts.map +1 -0
- package/types/src/text/TextVisitor.d.ts +11 -0
- package/types/src/text/TextVisitor.d.ts.map +1 -0
- package/types/src/text/TextWrapper.d.ts +78 -0
- package/types/src/text/TextWrapper.d.ts.map +1 -0
- package/types/src/text/_TextUtils.d.ts +90 -0
- package/types/src/text/_TextUtils.d.ts.map +1 -0
- package/types/src/text/impl/Phrase.d.ts +3 -0
- package/types/src/text/impl/Phrase.d.ts.map +1 -0
- package/types/src/text/impl/TabStrategy.d.ts +9 -0
- package/types/src/text/impl/TabStrategy.d.ts.map +1 -0
- package/types/src/text/impl/WordWrapUtils.d.ts +6 -0
- package/types/src/text/impl/WordWrapUtils.d.ts.map +1 -0
- package/types/src/text/index.d.ts +7 -0
- package/types/src/text/index.d.ts.map +1 -0
- package/types/src/text/richtext/IStyledFont.d.ts +330 -0
- package/types/src/text/richtext/IStyledFont.d.ts.map +1 -0
- package/types/src/text/richtext/index.d.ts +2 -0
- package/types/src/text/richtext/index.d.ts.map +1 -0
- package/types/src/theme/ITheme.d.ts +252 -0
- package/types/src/theme/ITheme.d.ts.map +1 -0
- package/types/src/theme/IThemeCollection.d.ts +84 -0
- package/types/src/theme/IThemeCollection.d.ts.map +1 -0
- package/types/src/theme/ThemeCollection.d.ts +62 -0
- package/types/src/theme/ThemeCollection.d.ts.map +1 -0
- package/types/src/theme/_BuiltInColorSchemes.d.ts +3 -0
- package/types/src/theme/_BuiltInColorSchemes.d.ts.map +1 -0
- package/types/src/theme/_BuiltInFontSchemes.d.ts +3 -0
- package/types/src/theme/_BuiltInFontSchemes.d.ts.map +1 -0
- package/types/src/theme/_BuiltInThemeDefs.d.ts +3 -0
- package/types/src/theme/_BuiltInThemeDefs.d.ts.map +1 -0
- package/types/src/theme/_ThemeMessages.d.ts +3 -0
- package/types/src/theme/_ThemeMessages.d.ts.map +1 -0
- package/types/src/theme/_ThemeUtils.d.ts +3 -0
- package/types/src/theme/_ThemeUtils.d.ts.map +1 -0
- package/types/src/theme/index.d.ts +4 -0
- package/types/src/theme/index.d.ts.map +1 -0
- package/types/src/transaction/ITransaction.d.ts +594 -0
- package/types/src/transaction/ITransaction.d.ts.map +1 -0
- package/types/src/transaction/Transaction.d.ts +184 -0
- package/types/src/transaction/Transaction.d.ts.map +1 -0
- package/types/src/transaction/TransactionSaveStateManager.d.ts +85 -0
- package/types/src/transaction/TransactionSaveStateManager.d.ts.map +1 -0
- package/types/src/transaction/TransactionUndoManager.d.ts +60 -0
- package/types/src/transaction/TransactionUndoManager.d.ts.map +1 -0
- package/types/src/transaction/index.d.ts +5 -0
- package/types/src/transaction/index.d.ts.map +1 -0
- package/types/src/type/ICollection.d.ts +110 -0
- package/types/src/type/ICollection.d.ts.map +1 -0
- package/types/src/type/IProperties.d.ts +51 -0
- package/types/src/type/IProperties.d.ts.map +1 -0
- package/types/src/type/ITypes.d.ts +69 -0
- package/types/src/type/ITypes.d.ts.map +1 -0
- package/types/src/type/Registry.d.ts +66 -0
- package/types/src/type/Registry.d.ts.map +1 -0
- package/types/src/type/index.d.ts +5 -0
- package/types/src/type/index.d.ts.map +1 -0
- package/types/src/utils/GeomUtils.d.ts +61 -0
- package/types/src/utils/GeomUtils.d.ts.map +1 -0
- package/types/src/utils/ObjectPath.d.ts +9 -0
- package/types/src/utils/ObjectPath.d.ts.map +1 -0
- package/types/src/utils/Profiler.d.ts +38 -0
- package/types/src/utils/Profiler.d.ts.map +1 -0
- package/types/src/utils/_CSSUtils.d.ts +156 -0
- package/types/src/utils/_CSSUtils.d.ts.map +1 -0
- package/types/src/utils/_GeomUtils.d.ts +14 -0
- package/types/src/utils/_GeomUtils.d.ts.map +1 -0
- package/types/src/utils/_RangeCoordUtils.d.ts +84 -0
- package/types/src/utils/_RangeCoordUtils.d.ts.map +1 -0
- package/types/src/utils/_RangeSetUtils.d.ts +55 -0
- package/types/src/utils/_RangeSetUtils.d.ts.map +1 -0
- package/types/src/utils/index.d.ts +2 -0
- package/types/src/utils/index.d.ts.map +1 -0
- package/types/src/workbook/IWorkbook.d.ts +711 -0
- package/types/src/workbook/IWorkbook.d.ts.map +1 -0
- package/types/src/workbook/Workbook.d.ts +342 -0
- package/types/src/workbook/Workbook.d.ts.map +1 -0
- package/types/src/workbook/WorkbookRange.d.ts +25 -0
- package/types/src/workbook/WorkbookRange.d.ts.map +1 -0
- package/types/src/workbook/WorkbookRanges.d.ts +39 -0
- package/types/src/workbook/WorkbookRanges.d.ts.map +1 -0
- package/types/src/workbook/_WorkbookMessages.d.ts +8 -0
- package/types/src/workbook/_WorkbookMessages.d.ts.map +1 -0
- package/types/src/workbook/_WorkbookUtils.d.ts +35 -0
- package/types/src/workbook/_WorkbookUtils.d.ts.map +1 -0
- package/types/src/workbook/index.d.ts +3 -0
- package/types/src/workbook/index.d.ts.map +1 -0
- package/types/src/workbookProtection/IWorkbookProtection.d.ts +57 -0
- package/types/src/workbookProtection/IWorkbookProtection.d.ts.map +1 -0
- package/types/src/workbookProtection/WorkbookProtection.d.ts +14 -0
- package/types/src/workbookProtection/WorkbookProtection.d.ts.map +1 -0
- package/types/src/workbookProtection/index.d.ts +2 -0
- package/types/src/workbookProtection/index.d.ts.map +1 -0
- package/types/src/workbookView/IWorkbookView.d.ts +134 -0
- package/types/src/workbookView/IWorkbookView.d.ts.map +1 -0
- package/types/src/workbookView/WorkbookView.d.ts +49 -0
- package/types/src/workbookView/WorkbookView.d.ts.map +1 -0
- package/types/src/workbookView/index.d.ts +3 -0
- package/types/src/workbookView/index.d.ts.map +1 -0
- package/browser/cjs/B1wkCHMcDuFkMcC_.cjs +0 -6
- package/browser/cjs/B6GPcN051NmcYcIT.cjs +0 -124
- package/browser/cjs/BLBAZ-Bmj0EAhunn.cjs +0 -6
- package/browser/cjs/BP8dBZEDNeacQUNp.cjs +0 -7
- package/browser/cjs/BhNultME1o9xbmcX.cjs +0 -15
- package/browser/cjs/Bm_Mc6TDFCZ1OJNj.cjs +0 -6
- package/browser/cjs/Bo1CE3hgxUD5DGqu.cjs +0 -6
- package/browser/cjs/Btp8A0kzb6cHSEMD.cjs +0 -6
- package/browser/cjs/BvS2Hclafqxj6DCP.cjs +0 -6
- package/browser/cjs/CASsDxt2bA8JHiEW.cjs +0 -6
- package/browser/cjs/CI7HTC82ehwZZ7G9.cjs +0 -55
- package/browser/cjs/CNw4tHphpF3kplDH.cjs +0 -6
- package/browser/cjs/CO7SAK1ru6qnh7fr.cjs +0 -6
- package/browser/cjs/CdLUUmZCUY5uWnq5.cjs +0 -6
- package/browser/cjs/Cegi9isUAUZKUYFl.cjs +0 -6
- package/browser/cjs/CnlnOI_NWWeETB4i.cjs +0 -6
- package/browser/cjs/CphmaCdyCfgLRsS0.cjs +0 -6
- package/browser/cjs/D0Qme7PcsKfdtShi.cjs +0 -6
- package/browser/cjs/D74bWkyzhU8E2TDh.cjs +0 -6
- package/browser/cjs/DFQA35q7KQ-zS2eo.cjs +0 -6
- package/browser/cjs/DK27kwlwz0N4_IpD.cjs +0 -6
- package/browser/cjs/DMfUZBX5dMS-QcFB.cjs +0 -6
- package/browser/cjs/DTrbxLKRbIsj3mPI.cjs +0 -6
- package/browser/cjs/DUbyVNEdEpgkjI-U.cjs +0 -6
- package/browser/cjs/DUiZ8WcVcUyjfILT.cjs +0 -6
- package/browser/cjs/DzZ_6y4OF7HzFZLT.cjs +0 -6
- package/browser/cjs/vQgVD2EniUvkeXnq.cjs +0 -6
- package/browser/esm/B8depZMfw4f8vJ6H.mjs +0 -10
- package/browser/esm/B9z2sURkI9ThbLxE.mjs +0 -10
- package/browser/esm/BDSqdyFcw4FRrODg.mjs +0 -23823
- package/browser/esm/BLoU0uz84A8fWYom.mjs +0 -10
- package/browser/esm/BgKy-xWSJeSV_EyO.mjs +0 -10
- package/browser/esm/Bi2_8iLEY_M-v_34.mjs +0 -10
- package/browser/esm/Bzs_r45vqhZAtTZK.mjs +0 -10
- package/browser/esm/C39Yfk__mPOF8auo.mjs +0 -10
- package/browser/esm/C4EnSMaP8fTEJmhu.mjs +0 -10
- package/browser/esm/CWj2Ts01muSR6zp-.mjs +0 -12
- package/browser/esm/Cd2b3Z4DxOR0M3qa.mjs +0 -4022
- package/browser/esm/Cg7YNnt2uhmFG_3d.mjs +0 -10
- package/browser/esm/CkU9J_RtpNfpxh0y.mjs +0 -10
- package/browser/esm/D0Mb17_7UFEFNmkU.mjs +0 -426
- package/browser/esm/D6VvBNUOfq8QUBY5.mjs +0 -10
- package/browser/esm/DE0iHIHhP7sczC_y.mjs +0 -10
- package/browser/esm/DORXFXgRUsjkR1kA.mjs +0 -10
- package/browser/esm/DTPLUnlOvF2feqR4.mjs +0 -10
- package/browser/esm/DTzUiMAnLD_Zuf0f.mjs +0 -10
- package/browser/esm/D_lQo-PErOoj-8tN.mjs +0 -10
- package/browser/esm/DbK0GAKpj9hwwFwY.mjs +0 -10
- package/browser/esm/DflesN5VzS43jsHK.mjs +0 -5653
- package/browser/esm/DoMqoQP6F7OPue_g.mjs +0 -10
- package/browser/esm/DrIkV6ixO7gbuv7Q.mjs +0 -10
- package/browser/esm/mxYovIi79sCzcZtQ.mjs +0 -10
- package/browser/esm/oRsIla0R_H7slM9k.mjs +0 -10
- package/browser/esm/u5XTTNCFdsbCZ-ud.mjs +0 -10
- package/node/esm/3vOMW8PI4UI73pTa.mjs +0 -10
- package/node/esm/B9z2sURkI9ThbLxE.mjs +0 -10
- package/node/esm/BE2XMKirjoBI9zkt.mjs +0 -1072
- package/node/esm/BL_7m0SH43tASZc8.mjs +0 -10
- package/node/esm/BLoU0uz84A8fWYom.mjs +0 -10
- package/node/esm/BNoPG6CBaybfp_G7.mjs +0 -10
- package/node/esm/BgKy-xWSJeSV_EyO.mjs +0 -10
- package/node/esm/Bi2_8iLEY_M-v_34.mjs +0 -10
- package/node/esm/C4EnSMaP8fTEJmhu.mjs +0 -10
- package/node/esm/CS080xy3HgmgAFgx.mjs +0 -10
- package/node/esm/Cg7YNnt2uhmFG_3d.mjs +0 -10
- package/node/esm/D6VvBNUOfq8QUBY5.mjs +0 -10
- package/node/esm/D7cm1_99nK7c_-6L.mjs +0 -13
- package/node/esm/DE0iHIHhP7sczC_y.mjs +0 -10
- package/node/esm/DElHitSTYjDdkUx1.mjs +0 -10
- package/node/esm/DORXFXgRUsjkR1kA.mjs +0 -10
- package/node/esm/DP7a0Jrz8vTZnv2W.mjs +0 -10
- package/node/esm/DTzUiMAnLD_Zuf0f.mjs +0 -10
- package/node/esm/D_lQo-PErOoj-8tN.mjs +0 -10
- package/node/esm/DbK0GAKpj9hwwFwY.mjs +0 -10
- package/node/esm/DoMqoQP6F7OPue_g.mjs +0 -10
- package/node/esm/mxYovIi79sCzcZtQ.mjs +0 -10
- package/node/esm/oRsIla0R_H7slM9k.mjs +0 -10
- package/node/esm/sVuz1UjytOtK5gck.mjs +0 -2458
- package/node/esm/u5XTTNCFdsbCZ-ud.mjs +0 -10
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const e=require("./B7_pDFYCVzt-3hUs.cjs");let t=require("@sheetxl/primitives"),n=require("@sheetxl/utils"),r=require("@sheetxl/scripting");var i,a,o,s,c=class{constructor(e){this._items=new Map;let t=this._items;for(let n of Object.values(e))t.set(n.getName().toLowerCase(),n)}register(e){let t=e.getName().toLowerCase();this._items.set(t,e)}get(e){if(e)return this._items.get(e.toLowerCase())}getAll(){return Array.from(this._items.values())}has(e){return!!e&&this._items.has(e.toLowerCase())}},l=(e,t)=>{let n=new Map;return e.forEach((e,r)=>{t.get(r)!==e&&n.set(r,e)}),n},u=!1,d=e=>{if(typeof e!=`string`)throw Error(`A stateId (string) is required. Register with 'ITransaction.IStore.create'.`);return e},f=class extends Error{constructor(e,t,n){super(e===`open`?`Transaction conflict: a transaction is already open (expected commit '${t}').`:`Transaction conflict: expected commit '${t}' but current is '${n}'.`),this.name=`TransactionConflictError`,this.reason=e,this.expectedCommitId=t,this.actualCommitId=n}},p=class{constructor(e){this._record=e}getId(){return this._record.id}getDescription(){return this._record.description}getMeta(){return Object.freeze(this._record.meta)}getAuthor(){return this._record.author}getTimestamp(){return this._record.timestamp}getOperation(){return this._record.operation}},m=class{constructor(e){this._listeners=new Set,this._listenersState=new Map,this._commits=new Map,this._locked=!1,this._pending=null,this._versionCounter=0,this._isSync=e?.sync??u,this._isTransient=e?.transient??!1,this._author=e?.author,this._maxCommits=e?.maxCommits??1e3;let t={id:`0`,description:`initial`,meta:{},author:this._author,timestamp:Date.now(),states:new Map,version:0,previousId:null},n={record:t,commit:new p(t)};this._current=n,this._cacheId=null,this._cacheState=null,this._states=t.states,this._transactionStack=[],this._transactionOpen=!1;let r=new Map;r.set(t.id,n),this._commits=r,this._tipId=t.id}static{this.setDefaultSync=e=>{u=e}}getLog(e,t=100){let n=[],r=e;do{let e=this._commits.get(r);if(!e)throw Error(`Invalid commit id: '${r}'`);if(n.push(e.commit),r=e.record.previousId,!r)return n}while(n.length<t);return n}getCommitCount(){return this._commits.size}isOpenTransaction(){return this._transactionStack.length>0||this._transactionOpen}getPendingView(){let e=this._transactionStack;return e.length>0?e[0].getView():null}create(e){let t=n.CommonUtils.uuidV4();if(e!==void 0){let n=this.beginCommit();try{n.updateState(t,e),n.commit()}catch(e){throw n.rollback(),e}}return t}getState(e){d(e);let t=this._transactionStack;if(t.length===0){if(this._cacheId===e)return this._cacheState;let t=this._states.get(e);return this._cacheId=e,this._cacheState=t,t}return t[t.length-1].getState(e)}getCurrentCommit(e=!0){return(e?this._pending?.commit:null)??this._current.commit}getTipCommit(){return this._commits.get(this._tipId).commit}getVersionId(e){return d(e),this._states.get(e)?.version??0}restore(e,t){let n=this._getCommitContainer(e,t);if(this._current.commit.getId()===n.commit.getId())return n.commit;let r;t?.viewId&&t?.viewId!==`custom`||(r=n.record.viewAfter);let i=l(n.record.states,this._current.record.states);this._notifyStates(`onBeforeCommitStart`,this._current,i,r,!0,!1),this._current=n,this._states=this._current.record.states,this._cacheId=null,this._cacheState=null,this._notifyStates(`onAfterStateChange`,n,i,r,!1,!0,!0),this._notify(`onCommitChange`,n.commit,!0),this._transactionOpen=!0;try{this._notifyStates(`onRestoreOrRevert`,n,n.record.states,r,!1,!0)}finally{this._transactionOpen=!1}return n.commit}revert(e,t){let n=this._getCommitContainer(e,t),r=this._commits.get(n.record.previousId);if(!r)throw Error(`Invalid commit id: '${n.record.previousId}'`);let i;t?.viewId&&t?.viewId!==` custom`||(i=n.record.viewBefore??n.record.viewAfter);let a=l(r.record.states,this._current.record.states);this._notifyStates(`onBeforeCommitStart`,this._current,a,i,!0,!1),this._current=r,this._states=this._current.record.states,this._cacheId=null,this._cacheState=null,this._notifyStates(`onAfterStateChange`,r,a,i,!0,!1,!0),this._notify(`onCommitChange`,r.commit,!0),this._transactionOpen=!0;try{this._notifyStates(`onRestoreOrRevert`,r,r.record.states,i,!0,!0)}finally{this._transactionOpen=!1}return r.commit}_getCommitContainer(e,t){let n=this._commits.get(e);if(!n)throw Error(`Invalid commit id: '${e}'`);if(this._isTransient)throw Error(`Cannot revert transient store`);if(t?.force&&this._transactionStack.length>0&&this._transactionStack[0].rollback(),this._transactionStack.length!==0)throw Error(`Open transactions.`);return n}_pruneForwards(e){let t=this._tipId;for(;t&&t!==e;){let e=this._commits.get(t);if(!e)break;this._commits.delete(t),t=e.record.previousId}}_trimOldest(){if(this._commits.size<=this._maxCommits)return;let e=this._commits.get(this._tipId);for(let t=1;t<this._maxCommits&&e;t++){let t=e.record.previousId;e=t?this._commits.get(t):void 0}if(!e)return;let t=e.record.previousId;for(e.record.previousId=null;t;){let e=this._commits.get(t);if(!e)break;this._commits.delete(t),t=e.record.previousId}}beginCommit(e,t){let r=this._transactionStack,i=r.length;typeof e==`string`&&(e={description:e});let a=e?.expectedCommitId;if(a!==void 0){let e=this._current.record.id;if(i>0||this._transactionOpen)throw new f(`open`,a,e);if(e!==a)throw new f(`stale`,a,e)}if(this._locked)throw console.warn(`TransactionStore locked`,r),Error(`TransactionStore is locked by '${r[i-1].getDescription()}`);let o=e?.preventFurtherTransactions,s=this,c=(e,n,r)=>{let a=s._transactionStack;i!==a.length-1&&console.warn(`Transaction stack out of sync`,i,a.length,a),o&&(this._locked=!1),a.pop(),t?.(e,n,r),a.length===0&&(s._pending=null)},l;if(r.length===0){let t=this._current.record,r={states:new Map,id:n.CommonUtils.uuidV4(),description:typeof e==`string`?e:e?.description??null,meta:{},timestamp:Date.now(),author:(typeof e==`object`?e?.author:void 0)??this._author??null,version:t.version+1,previousId:t.id,viewBefore:null,viewAfter:{},operation:e?.operation},i={record:r,commit:new p(r)};this._pending=i,this._notify(`onCommitStart`,i.commit),l=new g(this,i,t?.states,e,c)}else l=r[r.length-1].beginTransaction(e,c);return o&&(this._locked=!0),this._transactionStack.push(l),l}doBatch(e,t,n){let r,i=this.beginCommit(t,n),a=this.getCurrentCommit();try{r=e?.(a);let n=()=>{i.commit(t)};if(r&&typeof r.then==`function`)return new Promise((e,t)=>{r.then(r=>{try{n(),e(r)}catch(e){t(e)}}).catch(e=>{i.rollback(),t(e)})});n()}catch(e){throw i.rollback(),e}return r}remove(e){d(e);let t=!1,n=this._listenersState.get(e);if(n){let r=this.getCurrentCommit();n.forEach(e=>{e.onClose?.(r)}),this._listenersState.delete(e),t=!0}this._current.record.states.delete(e)&&(t=!0),this._commits.forEach(n=>{n.record.states.delete(e)&&(t=!0)});let r=this._transactionStack;return r.length>0&&r[0]._purgeState(e),this._cacheId=null,this._cacheState=null,t}addListener(e){let t=this._listeners;return t.add(e),()=>{t.delete(e)}}addStateListener(e,t){if(d(e),!t)throw Error(`Listener is required`);let n=this._listenersState.get(e);return n||(n=new Set,this._listenersState.set(e,n)),n.add(t),()=>{n.delete(t),n.size===0&&this._listenersState.delete(e)}}dispatchEvents(e,t=!1){!t||this._isSync?e():setTimeout(e,0)}_commitRecord(e,t,n){let r=e.record,i=e.commit,a=++this._versionCounter;if(t.forEach((e,t)=>{e!=null&&((e,t,n)=>{Object.defineProperty(e,"id",{value:t,enumerable:!1,configurable:!0,writable:!1}),Object.defineProperty(e,"version",{value:n,enumerable:!1,configurable:!0,writable:!1})})(e,t,a)}),!this._isTransient){let t=!1;if(n){let n=this._commits.get(r.previousId);if(n){r.previousId=n.record.id;let a=n.record,o=a.states;o&&r.states.forEach((e,t)=>{o.set(t,e)}),a.viewAfter={...a.viewAfter,...r.viewAfter},a.meta={...a.meta,...r.meta},a.timestamp=r.timestamp,t=!0,r=a,i=n.commit,e={record:r,commit:i}}}this._commits.set(r.id,e),t||(r.previousId!==this._tipId&&this._pruneForwards(r.previousId),this._tipId=r.id,this._trimOldest())}this._current=e,this._states=this._current.record.states,this._cacheId=null,this._cacheState=null,n||this._notify(`onCommitChange`,i),this._notifyStates(`onAfterStateChange`,e,t,e.record.viewAfter,!1,!1,!0),n||this._notify(`onCommitEnd`,i,!0)}_notifyStates(e,t,n,r,i=!1,a=!1,o=!1){let s=t.commit,c=this._listenersState;n.forEach((t,n)=>{let l=c.get(n);l&&this.dispatchEvents(()=>{l.forEach(n=>{n[e]?.(t,r,s,i,a)})},o)})}_notify(e,t,n=!1){return this.dispatchEvents(()=>{this._listeners.forEach(n=>{n[e]?.(t)})},n)}},h=class{constructor(e,t,n){this._children=new Set,this._depth=0,this._closed=!1,this._readOnly=!1,this._store=e,this._container=t,n=typeof n==`string`?{description:n}:n,this._description=n?.description??``,this._readOnly=n?.readOnly??!1,n?.viewBefore!==void 0&&(t.record.viewBefore=t.record.viewBefore&&n.viewBefore?{...t.record.viewBefore,...n.viewBefore}:n.viewBefore),n?.viewAfter!==void 0&&(t.record.viewAfter=t.record.viewAfter&&n.viewAfter?{...t.record.viewAfter,...n.viewAfter}:n.viewAfter)}getView(){return this._container.record.viewAfter??this._container.record.viewBefore??null}getDepth(){return this._depth}getDescription(){return this._description}getStates(){return this._states}beginTransaction(e,t){this._ensureOpen();let n=new _(this._store,this,this._container,typeof e==`string`?{description:e}:e,t);return this._children||this._children,this._children.add(n),n}isReadOnly(){return this._readOnly}updateState(e,t){if(this._ensureOpen(),d(e),this._readOnly)throw Error(`Transaction is read-only`+(this._description?`: '${this._description}'`:``));let n=this.getState(e),r;if(typeof t==`function`){if(r=t(n),r===n)return n;r&&={...r}}else{if(t===void 0)return n;r={...n,...t}}if(r){let t=this._states;t||(t=new Map,this._states=t),t.set(e,r)}return r}commit(e){if(this._ensureOpen(),typeof e==`string`&&(e={description:e}),e){if(e.description&&(this._description=e.description),e.meta&&(this._meta=n.CommonUtils.mergeContentful(e.meta,this._meta)),e.viewAfter!==void 0){let t=this._container.record,n=e.viewAfter;if(n===null)t.viewAfter=null;else{let e=t.viewAfter;typeof n==`function`&&(n=n(e)),t.viewAfter={...e,...n}}}if(e.viewBefore!==void 0){let t=this._container.record,n=e.viewBefore;if(n===null)t.viewBefore=null;else{let e=t.viewBefore;typeof n==`function`&&(n=n(e)),t.viewBefore={...e,...n}}}}return this._children&&this._children.forEach(t=>{t.commit(e)}),this}isClose(){return this._closed}_ensureOpen(){if(this._closed)throw this._descriptions?console.warn(`stack: [${this._descriptions.join(`,`)}]`):this._description&&console.warn(`description: [${this._description}]`),Error(`Transaction already closed`)}_removeChild(e,t=!1){this._children.delete(e),t||this._mergeStates(e._states)}_purgeState(e){this._states?.delete(e),this._children.forEach(t=>{t._purgeState(e)})}_mergeStates(e){if(!e||e.size===0)return;let t=this._states;return t?(e.forEach((e,n)=>{t.set(n,e)}),t):(this._states=e,e)}},g=class extends h{constructor(e,t,n,r,i){super(e,t,r),this._prevStates=n,this._onClose=i,this._states=new Map,this._meta=t.record.meta}getId(){return this._container.commit.getId()}getParent(){return this}commit(e){let t=this._states,n=this._container,r=n.record.viewAfter;if(this._store._notifyStates(`onBeforeCommitStart`,n,t,r,!1,!1),super.commit(e),this._states.size===0)return this._closed=!0,this._onClose?.(this,!1,e),this;this._store._notifyStates(`onBeforeCommitEnd`,n,t,r,!1,!1);let i=new Map(this._prevStates);return this._states.forEach((e,t)=>{e===null?i.delete(t):i.set(t,e)}),this._states=i,this._description&&(n.record.description=this._description),this._meta&&(n.record.meta=this._meta),n.record.states=i,this._closed=!0,this._onClose?.(this,!1,e),this._store._commitRecord(n,t,e?.forceAmend??!1),this}rollback(){return this._ensureOpen(),this._children&&this._children.forEach(e=>{e.rollback()}),this._closed=!0,this._onClose?.(this,!0,null),this}updateState(e,t){let n=this.getState(e),r=super.updateState(e,t);return r===n||this._states.set(e,r),r}getState(e){d(e);let t=this._states.get(e);return t||=this._prevStates.get(e),t}},_=class extends h{constructor(e,t,n,r,i){if(super(e,n,r),!t)throw Error(`Parent transaction required`);this._parent=t,this._depth=this._parent.getDepth()+1,t.isReadOnly()&&(this._readOnly=!0),this._onClose=i}getId(){return this._parent.getId()}getParent(){return this._parent}getState(e){if(this._states){let t=this._states.get(e);if(t!==void 0)return t}return this._parent.getState(e)}commit(e){return super.commit(e),this._parent._removeChild(this),this._closed=!0,this._onClose?.(this,!1,e),this._parent??this}rollback(){return this._ensureOpen(),this._children&&this._children.forEach(e=>{e.rollback()}),this._parent._removeChild(this,!0),this._closed=!0,this._onClose?.(this,!0,null),this._parent??this}},v=class{constructor(e,t){this._listeners=new Set,this._pending=null,this._listeners=new Set,this._transactions=t??new m({transient:!0}),this._stateId=this._transactions.create(),this._src=e;let n=this;this._transactionsRemoveListener=this._transactions?.addListener({onCommitEnd(e){let t=n._pending;if(!t)return;n._pending=null;let r=e.getId(),i=new Set,a=t.length;for(let e=0;e<a;e++){let a=t[e];a.commitId===r&&n._doNotify(a.listeners,a.removes,a.options,i)}}})}addListeners(e,t){let n=t?.transactional??this._transactions.isOpenTransaction(),r={listeners:e},i=this,a=()=>{if(!n)return void i._listeners.delete(r);let e=i._transactions.getState(i._stateId)?.listeners,t=new Set(e);t.delete(r);let a=i._transactions.beginCommit();try{a.updateState(i._stateId,{listeners:t}),a.commit({forceAmend:!0})}catch(e){throw a.rollback(),e}};if(r.remove=t?.once?a:null,n){let e=i._transactions.getState(i._stateId)?.listeners,t=new Set(e);t.add(r);let n=this._transactions.beginCommit();try{n.updateState(i._stateId,{listeners:t}),n.commit({forceAmend:!0})}catch(e){throw n.rollback(),e}}else i._listeners.add(r);return a}async _doNotify(e,t=null,n,r){let i=n?.source??this._src,a=[],o=n?.params,s=e.length;for(let t=0;t<s;t++){let n=e[t];r&&r.has(n)||(r?.add(n),a.push(n(i,o)))}let c=null;if(t&&(c=()=>{let e=t.length;for(let n=0;n<e;n++)t[n]()}),n?.async)return new Promise(async(e,t)=>{try{let t=await Promise.all(a);c?.(),e(t)}catch(e){c?.(),t(e)}});c?.()}notify(e,t){let n=null,r=null,i=t=>{t.forEach(t=>{let i=t.listeners[e];i&&(n||=[],n.push(i),t.remove&&(r||=[],r.push(t.remove)))})},a=t?.transactional??this._transactions.isOpenTransaction();if(a){let e=this._transactions.getState(this._stateId)?.listeners;e&&i(e)}let o=n,s=r;n=null,r=null,i(this._listeners);let c=n,l=r;if(n=null,r=null,a){if(o&&this._doNotify(o,s,t),c){let e=this._pending;return e||(this._pending=e=[]),e.push({commitId:this._transactions.getCurrentCommit().getId(),listeners:c,removes:l,options:t}),this._doNotify(c,l,t)}}else if(c)return this._doNotify(c,l,t)}close(){this._transactions.remove(this._stateId),this._transactionsRemoveListener()}};(a=i||={}).SmallCaps={None:`none`,Small:`small`,All:`all`},a.StrikeStyle={None:`none`,Single:`single`,Double:`double`},(s=o||={}).TabStop=class{},s.HorizontalAlignment={General:`general`,Left:`left`,Center:`center`,Right:`right`,Justify:`justify`,Distributed:`distributed`,CenterContinuous:`centerContinuous`,Fill:`fill`},s.VerticalAlignment={Top:`top`,Center:`center`,Bottom:`bottom`,Justify:`justify`,Distributed:`distributed`},s.Orientation={Horizontal:`horizontal`,Vertical:`90`,Vertical270:`270`,Stacked:`stacked`},s.ReadingDirection={Auto:`auto`,LeftToRight:`ltr`,RightToLeft:`rtl`},s.Overflow={Visible:`visible`,Wrap:`wrap`,Clip:`clip`,Shrink:`shrink`,Ellipsis:`ellipsis`},s.Autofit={None:`none`,Normal:`normal`,Shape:`shape`},s.TabStopAlignment={Default:`default`,Left:`left`,Right:`right`,Center:`center`},s.toCSSHorizontalTextAlign=e=>e?e.toLowerCase():null;var y=e.n({DefaultUnQuoteRegEx:()=>j,camelToSnake:()=>T,capitalize:()=>x,clampString:()=>E,countDecimals:()=>D,findValidTextValue:()=>b,getBaseName:()=>C,getFileNameExtension:()=>S,isQuoted:()=>M,isValidEmail:()=>ee,isValidHttpUrl:()=>I,numberToAlphabet:()=>te,quote:()=>P,snakeToCamel:()=>w,splitUnquoted:()=>F,unquote:()=>N});function b(e,t,n=1e3){if(!e)throw Error(`A template string must be specified.`);if(t(e))return e;let r,i=new RegExp(/\d+/,`g`).exec(e),a=0;i===null?(a=1,r=`${e}_${a}`):(r=e,a=parseFloat(i[0]),isNaN(a)&&(a=0));let o=isNaN(a)?0:a;for(;a<o+n;)try{let e=r.replace(/\d+/g,()=>``+a++);if(t(e))return e}catch{}throw Error(`Unable to find valid name for '${e}'.`)}function x(e,t=!1){if(!e||e.length===0)return e;let n=e.charAt(0);if(n>=`a`&&n<=`z`){let r=String.fromCharCode(n.charCodeAt(0)-32);return t?r+e.slice(1).toLowerCase():r+e.slice(1)}return e}function S(e){if(!e||typeof e!=`string`)return``;let t=e.split(/[\\/]/).pop()||``,n=t.lastIndexOf(`.`);return t===``||n<1?``:t.slice(n+1)}function C(e,t=!1){if(!e||typeof e!=`string`)return``;let n=e.split(/[\\/]/).pop()||``;if(n===``)return``;let r=S(n),i=r.length===0?n:n.slice(0,n.length-r.length-1);return t?x(i,!0):i}function w(e){return e.toLowerCase().replace(/([-_][a-z])/g,e=>e.toUpperCase().replace(`-`,``).replace(`_`,``))}function T(e){return e&&e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function E(e,t=36){return e.substring(0,36)+(e.length>t?`…`:``)}function D(e){if(e===void 0)return 0;let t=e.toString().split(`.`);return t.length<=1?0:t[1].length||0}var O=new RegExp(/^["|'|`](.*)["|'|`]$/),k=RegExp(`^([a-zA-Z]+:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$`,`i`),A=(e=`,`,t=`'`)=>RegExp(`\\s*${e}\\s*(?=(?:[^${t}]*${t}[^${t}]*${t})*[^${t}]*$)`,`g`),j=A();function M(e){return!!e&&e.length>1&&O.test(e)&&e[0]===e[e.length-1]}function N(e){return e.replace(O,`$1`)}function P(e,t=`'`){return`${t}${e}${t}`}function F(e,t,n){let r=j;return t===void 0&&n===void 0||(r=A(t,n)),e.split(r)}function I(e){let t;try{t=new URL(e)}catch{return!1}return(t.protocol===`http:`||t.protocol===`https:`)&&k.test(e)}var L=new RegExp(/^[^\s@]+@[^\s@]+\.[^\s@]+$/i);function ee(e){return!!e.toLowerCase().startsWith(`mailto:`)||L.test(e)}function te(e){return((e>=26?te((e/26|0)-1):``)+`abcdefghijklmnopqrstuvwxyz`[e%26|0]).toUpperCase()}var R=e.n({getAdvance:()=>ae,getLineLength:()=>ie,isRotatedLayout:()=>re,layoutLines:()=>oe,normalizeAngle:()=>B}),ne=Math.PI/180,z=1e-6;function B(e){let t=e%360;return t<0?t+360:t}function re(e){return Math.abs(Math.sin(B(e)*ne))>=z}function ie(e,t,n){let r=B(n)*ne,i=Math.abs(Math.sin(r));return i<z?2**53-1:Math.max(1,(e-t*Math.abs(Math.cos(r)))/i)}function ae(e,t){let n=Math.sin(B(t)*ne);return Math.abs(n)<z?2**53-1:-e/n}function oe(e,t,n,r,i){let a=B(t),s=a*ne,c=Math.cos(s),l=Math.sin(s),u=e[0]?.height??0,d=ie(n.height,u,a),f=ae(u,a),p=Math.abs(c)<z,m=0;if(p){let e=l<0;i===o.VerticalAlignment.Top?m=+!!e:i===o.VerticalAlignment.Center?m=.5:i===o.VerticalAlignment.Bottom&&(m=+!e)}else r===o.HorizontalAlignment.Right?m=1:r!==o.HorizontalAlignment.Center&&r!==o.HorizontalAlignment.CenterContinuous||(m=.5);let h=e.length,g=Array(h),_=0,v=0,y=0,b=0;for(let t=0;t<h;t++){let n=e[t],r=(d-n.width)*m,i={x:t*f+r*c,y:r*l},a=n.width*c,o=n.width*l,s=-n.height*l,u=n.height*c,p={x:i.x+Math.min(0,a)+Math.min(0,s),y:i.y+Math.min(0,o)+Math.min(0,u),width:Math.abs(a)+Math.abs(s),height:Math.abs(o)+Math.abs(u)};g[t]={origin:i,size:n,bounds:p},t===0?(_=p.x,v=p.y,y=p.x+p.width,b=p.y+p.height):(_=Math.min(_,p.x),v=Math.min(v,p.y),y=Math.max(y,p.x+p.width),b=Math.max(b,p.y+p.height))}let x,S=n.x-_;r===o.HorizontalAlignment.Right?S=n.x+n.width-y:r!==o.HorizontalAlignment.Center&&r!==o.HorizontalAlignment.CenterContinuous||(S=n.x+(n.width-(y-_))/2-_),x=p?l<0?n.y+n.height:n.y:i===o.VerticalAlignment.Top?n.y-v:i===o.VerticalAlignment.Center?n.y+(n.height-(b-v))/2-v:n.y+n.height-b;for(let e=0;e<h;e++){let t=g[e];t.origin.x+=S,t.origin.y+=x,t.bounds.x+=S,t.bounds.y+=x}return{angle:a,lineLength:d,advance:f,lines:g,bounds:{x:_+S,y:v+x,width:y-_,height:b-v}}}var se=e.n({getBuildDate:()=>le,getBuildVersion:()=>ce});function ce(){try{return`0.7.23-beta.2`}catch{return``}}function le(){try{return`Sun Aug 23 2026`}catch{return``}}function ue(e,t){e-=125;let n=fe(),r=n[e];ue.YyPimq===void 0&&(ue.umALwj=function(e,t){let n,r,i=[],a=0,o=``;for(e=function(e){let t=``,n=``;for(let n,r,i=0,a=0;r=e.charAt(a++);~r&&(n=i%4?64*n+r:r,i++%4)&&(t+=String.fromCharCode(255&n>>(-2*i&6))))r=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(r);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),r=0;r<256;r++)i[r]=r;for(r=0;r<256;r++)a=(a+i[r]+t.charCodeAt(r%t.length))%256,n=i[r],i[r]=i[a],i[a]=n;r=0,a=0;for(let t=0;t<e.length;t++)r=(r+1)%256,a=(a+i[r])%256,n=i[r],i[r]=i[a],i[a]=n,o+=String.fromCharCode(e.charCodeAt(t)^i[(i[r]+i[a])%256]);return o},ue.qaxndL={},ue.YyPimq=!0);let i=e+n[0],a=ue.qaxndL[i];return a?r=a:(ue.qwQtFT===void 0&&(ue.qwQtFT=!0),r=ue.umALwj(r,t),ue.qaxndL[i]=r),r}(function(){function e(e,t,n,r,i){return ue(t-576,i)}function t(e,t,n,r,i){return ue(r- -566,t)}function n(e,t,n,r,i){return ue(n- -695,t)}function r(e,t,n,r,i){return ue(r-597,e)}let i=fe();for(;;)try{if(parseInt(t(0,`f0ta`,0,-419))/1+parseInt(e(0,717,0,0,`#p26`))/2+-parseInt(e(0,711,0,0,`ShNo`))/3+-parseInt(n(0,`M4*n`,-556))/4*(parseInt(e(0,719,0,0,`N]mD`))/5)+parseInt(n(0,`#p26`,-549))/6*(-parseInt(r(`jFP0`,0,0,724))/7)+-parseInt(n(0,`dZl5`,-570))/8+parseInt(r(`h7yA`,0,0,739))/9==613413)break;i.push(i.shift())}catch{i.push(i.shift())}})();var de=ge(-731,`weoz`,-723,-716,-726);function fe(){let e=[`WR4kwCo5ihVcR8k5`,`WR8ps8ohi37cK8kW`,`W5RcQGv0gLqBEsBdLSkwfv8`,`n8kUreldI8kryWKAq8oBW70`,`WQ96pSkyBaVdUW`,`j8kRkIdcGX5iEWBcU8ovW5xcIW`,`WOZdJmkzW5VcOXS4B3LJW7u+W5/dIa`,`hmk/a8kmWPDFW53cN8oOW6G/W5VdIq`,`vqJcPdpdOa/cHW`,`bCkge8k3WQdcQ8kQ`,`q3RdMKxdPGVdUCkGaCoAW7mN`,`k1FdRmkmWQbTbqlcTmksWRXE`,`rokuO+kxM+kwLUkuJUkvREkvTEkuSokxVUkvMokxPUkwPeXM4PAj4PEx4PsN4PAq4PAj4PEn4Ps74PA84PAy4PwL4PEx4Pws4Pwc4PsX4PAp4Ps04PAm4PAn4Pst4PsH4PA54PsV4PEx4PsV4PEr4PAU4PwX4PwJW7tILQtILPFIL7KsdokvQokwJ+kxLEkwQokxTEkwImkh4Pw24Pw04PEu4PwR4PED4PEq4PsP4PwJ4Pw24Pw74PE+WRnH4PwP4PEJ4PAR4PsS4PEs4PsF4Pw64PEd4PwM4Pw54PsX4PsJ4Psw4PAg4PEO4PAI4Ps24PAR4PwJ4Pwd4PEJ4PsO4Pwb4Pwi4PAq4Pss4Pst4PAAWRdIL5hILlFILOdIL7FILBdILPJILyZILylILkdIL5tILzrb4PsU4PED4PEt4PET4PE24PEr4PwJ4PEH4Psv4PAf4PEc4Pwt4Pwk4PEf4PE+4PwW4PE04PEM4PAj4PA94Pwm4PwbWOnj4PAK4PEC4PEI4PEE4Pwm4PEgW5tcH8orW73dQ+kuHokxU+kxPtVcQdL2w+kuJ+kvOokwQokvJEkxP+kwKctILzpIL5ZILO994PEb4PEh4PAP4PwA4Pwa4PAw4PsS4Psd4PsC4Pw84Ps44PE24PsX4PEU4PAC4PAD4PEQ4PsU4PwM4PAo4PsO4Psbv8k94PsV4PEw4Psn4Psu4PsX4PEbrNmjW4S04Pw34PA24PE4Dfn7WR/cTokwQEkuJ+kxUEkuLUkxI+kuJCkl4PwQ4PwP4PEvBUkuUEkxS+kwMEkwGUkvKUkvS+kvSEkxK+kvMEkwUEkvPCkGB+kwK+kxVokxPUkvRUkwGokxMUkwPEkxU+kwSUkwT+kuOEkxLEkuGUkwUEkvO+kvHokxLEkuRUkwV8kiemki4PAX4PEc4Ps1gSokCCkP4PAP4PwB4PEG4PsxW6VILQJIL5JILkhILiJIL47IL5/ILBlILk3IL5BIL4NILj7dKEkvIokvM+kvKUkvNokuHEkwQokxNEkvVUkwUokxSUkxJxNdOUkuOEkwPEkvU+kwN+kwHEkxG+kuV+kwNokuMokxJUkuKokvNEkuKUkwJ+kxR+kvPEkxKUkuVEkuS8o4FuNILA3ILixILPNdISoSW7ZdSUkxRokvPUkwRH9F4PAW4PES4PsJ4PAm4PAZ4PwG4Pws4Pw44PAC4PEC4PwP`,`eSkag8k4WQpdUCorsmoFWRBdGCo9`,`W5VcRGj2hLCEcbxdTSkTlx7dUq`,`eG4KuSkdcL/dVq`,`Fg7dGHRcO0NdGCkLwSk4WPqZtCociSoIW5NdTq4BWRSgWP/dU1/dK0u`,`faXdoCodFNVdQ8oEW5SHEW`,`fCkhBSoTW6dcImojvW`,`W7tcH1VdOSosygeoWOVcPmkvWOG`,`W63cLYxdOWJcN8ohDatdLX8TWRi`,`W4JcJJWctgRdGCkJtw3cPxW`,`D8k+WRZcKXiZv8oqW6O4pSom`];return(fe=function(){return e})()}var pe=ge(-722,`BN[#`,-734,-728,-722)+ce(),me=ue(137,`#p26`),he=ue(132,`RU*S`);function ge(e,t,n,r,i){return ue(i- -866,t)}var _e=ge(0,`BN[#`,0,0,-730),ve=e.n({claimFullLicensePrint:()=>je,findLicenseKey:()=>Te,getHostDetails:()=>ye,getKey:()=>De,getLocation:()=>xe,getOS:()=>Se,isDevEnv:()=>be,printBanner:()=>ke,printDetails:()=>Fe,printLicenseNotice:()=>Ne,setKey:()=>Ee});async function ye(){function e(e,t,n,r,i){return Me(n- -384,r)}let t=typeof window===e(0,0,-167,`45RB`)?window[e(0,0,-102,`bLcy`)][n(-177,-154,`bw!m`,-197,-107)]:e(0,0,-111,`Ry^W`);function n(e,t,n,r,i){return Me(t- -426,n)}return(t===n(0,-176,`GW10`)||t===e(0,0,-100,`bLcy`))&&(t=null),{domain:t}}async function be(){return(await ye())[e=`l1D8`,t=-289,Me(t- -585,e)]===null;var e,t}function xe(){function e(e,t,n,r,i){return Me(n-739,i)}return globalThis[e(0,0,1025,0,`%nG5`)]?.[e(0,0,988,0,`grZT`)]?.[t=`cwWN`,n=1032,Me(n-779,t)]??`/`;var t,n}function Se(){return n.CommonUtils[e=`$LJW`,t=-199,Me(t- -501,e)]();var e,t}function Ce(){let e=`eSo5i8kTwmoB.WPWDvJ/cUqxcJCkBWQOnaa.vNeXEK8hAq.WQbvWRFcQCombbbGfXW.vrBcRSohgSkGWQC.z8ofWPdcNXpcGW.W6XbFZy6W7NdPmkYamoIAW.WQJcPISiwcRdQmkJEddcSa.gtbtWPi0tMRcHW.D8ooW6BdIbqyW4BdNrq.CmoXW6hcKgGu.DZ/cQCoB.WRe7W5PCWO7cG3ddKW.WP/cISo0W7zxW4vBoSoZ.W5ddHd8Cy8ojWOb+WR5c.WOzJq8oYqIFcO8kKz8kUW6zGW7u.aCkeW4mECY4rWRzVW4uozCorF8k2W4e.WRlcMgLlymoBWRGK4OoAaCklW43dHgVdGCkloSohyw9XiSkZW4adimkeW79mlhj7W7NdIs/cKf7dSsNdKmoWuCoJAmodW70KkSkGW7ldLCozWOxdUmouWR4CB8o1WQJcKCk0W5mWoCkrW793twVdJmooaSob.dmoPFgabh8kSqmowWRrLW68.kCowbGDIW4BdTSkGDSkvi1VcI8oUjCosW6r0Bmk8k1xdP8oixmoWW4SiBKhcMq5BW6OIeWxcHuLCySoZfmk+zSoJW70Alvyh.WRu7W44.vcj7WPZcUSoX.W5NdR3tdVdNcKCoCAG.W6XbFZ4VW7xcH8k0bSkSCtpdHgvYz8o0ab7dQcldQ0CUlSkIW40eudmjCSocqfWIvCkwW7JcImkcWQpdILFdS8k5ECky.WOtcSIdcS33dLSkdkHO.W7CUymkPF8k8W4BcMcVcRCk7h8og.WO/cVfBdI8k5xq.phJcOmkcW6n5AmkGDmo/srVdQW.xCkRbxvAW6bKsmkSqSosFxK.rbX9W4ZdV8kR.eZ5ZWRJcRSoBW4i.W4HyhrhdUxhcNq.qCkwWPVcMKddNW.l0pcQmoojW.W6ZcTSoxfXhcLSkTEmkqW5/cO8o+.W67cRajqvt7dQCkNAthcRmkiWRFcUmklpb4.B8opWPpcMq7cHq.W7yKESkykSkQW47cHYpcTCkRsSofWPfCCCkVy0XmEczxWRuOjCoPW5O.kCkyWQlcNKuaWRpcIMGzWRhcRa.W4hcLL1EW5WVw8kGiJtcRGOA.W7dcQsHiqh/dR8kVzZ3dUCoxWQxcH8kD.eSo5i8kTwmoBW4zsW4npW6nAhq4kW57dL8kJWQ3dM8ofeSkVWP8.sXhcRCk9W6xcKWhcHcZdSuC.jCksWQRcKK0hW5BcM2SbWP7cR8kK.nIFdUCoBWQ9Hk8kFy8o+eLZcOCoawa.W6VcJ1OtW6G4W4m.WOtdNmojjG.W5KLySknA8kLW4VdIGBcSmkXfCogWO1x.WQSTE8kcC8oHW5ZcGZdcVmoOqCkAWO5kjq.CdNcOCoeWP8Zwa3cTSoG.fSkDW7NcOSo9WQldHYf7kSo3irKv.WONcU3BcHmohca.W43dOGZcNCoNrdHAa3zl.WR0remk8pgddVmkFmmoQWQa.F8oXW6O.W6WBW7zHEKfeWRmVW7VcHb7cI8kLWPS.lvRcVmohD8opW7a6W77cScFcGG.AJ7cHCoaWOOS.osNdV8oLWROviG.cqNcR8oBWOOPyrFdUmkO.mZRcVCothCoZW6GV.W7mKESkFAmkGW4RcVspcRCk6pSohWQ1DA8kUCeG.fJPuWQ0/vKhcKmoctG.wCkyW61Ylvq.WRvRkmogW6bsbSoblmkxzmk/dSkrW7rQWQpdVW.W79bCWe.AaBdTCkFy8oxWPWFW4ldGmoibSkzfG.W4a8A2JcQComW60+BmoErSkUpq.WQrwWRdcQCkkib5SnbBdUq.rbzVW68lW6dcUgBdGHhdSCoj.W4S8CuRcPCoh.W6XmzM3dMSktd1RdUZS.o1BcSmoJpmkkW49dW4NdSq.FSojW7JdJH9e.W7mKEmkdDCo2.WQZcSWjdW4KIW6y.gCoBW7xcNh9EdxZcT3zfWQ7cNrFdTa.tCkJva.WQ3cM3atW4O4W60.WPOhE8kpzSk4W4BcHstdO8oYvW.WPPLaa3dJuNcHmoozCoGW7G.d1tcLCkeW6RcLXVcKsBcO2eJWRW.iSkcWQmazCkBDwVdISoqiSk5zXSUB2ZcQtnBjwBdLxRdJrvJWPG.W6DlAbq+W6xdImkZ.r8ksW6PMiLNdLvRcVG.W5CSBeu.aZPtWOK2wwi.WObbw0q.W6ithGi.r8kCWPZcKW.vcz2WOhcUW.WQ3dKLm2WQbmWRWwW6NcNmk0l0u.W4xdTwtdTq.rrzUW6GcW6hdKLBdOq3dMCo6W6W`.split(`.`);return(Ce=function(){return e})()}(function(){function e(e,t,n,r,i){return Me(r- -938,t)}function t(e,t,n,r,i){return Me(r-287,e)}function n(e,t,n,r,i){return Me(t-787,e)}let r=Ce();function i(e,t,n,r,i){return Me(e-739,n)}function a(e,t,n,r,i){return Me(e- -213,i)}for(;;)try{if(parseInt(a(65,0,0,0,`Xhmp`))/1*(-parseInt(e(0,`kbB7`,0,-714))/2)+-parseInt(n(`FHal`,1044))/3*(parseInt(a(92,0,0,0,`ZTYt`))/4)+parseInt(t(`jp74`,0,0,578))/5*(-parseInt(n(`IYWb`,1046))/6)+parseInt(t(`%nG5`,0,0,505))/7*(parseInt(i(1002,0,`!CdX`))/8)+parseInt(i(1014,0,`C$iZ`))/9+-parseInt(e(0,`5bNm`,0,-640))/10+parseInt(t(`rtvx`,0,0,519))/11==923605)break;r.push(r.shift())}catch{r.push(r.shift())}})();var we=Oe(`[zk0`,930,865,946,910)[Ae(656,642,674,633,`Xr)g`)](``)[Ae(629,648,672,669,`GW10`)]((e,t)=>t+e,``);async function Te(){function e(e,t,n,r,i){return Oe(t,t-243,n-358,r-178,n- -652)}function t(e,t,n,r,i){return Oe(r,t-395,n-499,r-314,n- -705)}function n(e,t,n,r,i){return Oe(i,t-117,n-215,r-493,e- -1216)}function r(e,t,n,r,i){return Oe(n,t-358,n-68,r-356,t- -1016)}let i=!1;try{let a=await fetch(`./`+we),o=null;if(a[t(0,227,219,`Xr)g`)]===200){let s=(await a[e(0,`grZT`,222,180)]())[e(0,`rtvx`,284,284)](`
|
|
2
|
+
`);for(let a=0;!o&&a<s[r(0,-84,`GOfY`,-40)];a++){let c=s[a][r(0,-102,`0p6A`,-141)]();c[n(-308,-308,-267,-264,`l1D8`)]!==0&&(c[e(0,`0p6A`,300,322)](t(0,209,185,`$LJW`))?i=!0:o=c)}}if(i&&o)return{key:o,from:t(0,163,207,`5bNm`)+we+`')`}}catch{}return null}async function Ee(e,t=!1){}async function De(){throw Error(Oe(e=`grZT`,e-10,-509,(t=-396)-368,t- -1322));var e,t}function Oe(e,t,n,r,i){return Me(i-643,e)}async function ke(e){function t(e,t,n,r,i){return Pe(e-374,t-202,n- -144,r-171,t)}function r(e,t,n,r,i){return Pe(e-299,t-80,i- -493,r-183,r)}return await(e?console[t(785,`bw!m`,771,727)]:n.CommonUtils[t(675,`bRaW`,718,675)])(`%c`+de+pe+r(390,381,0,`cwWN`,396),r(436,416,0,`2^ma`,390)+me+(c=-118,l=`J)RH`,u=-113,d=-158,Pe(c-281,l-60,u- -1024,d-465,l))),Promise[i=-104,a=-104,o=-131,s=`ZTYt`,Pe(i-319,a-191,o- -1010,o-452,s)]();var i,a,o,s,c,l,u,d}function Ae(e,t,n,r,i){return Me(e-400,i)}async function je(){return!0}function Me(e,t){e-=217;let n=Ce(),r=n[e];Me.MawStD===void 0&&(Me.irlxdl=function(e,t){let n,r,i=[],a=0,o=``;for(e=function(e){let t=``,n=``;for(let n,r,i=0,a=0;r=e.charAt(a++);~r&&(n=i%4?64*n+r:r,i++%4)&&(t+=String.fromCharCode(255&n>>(-2*i&6))))r=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(r);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),r=0;r<256;r++)i[r]=r;for(r=0;r<256;r++)a=(a+i[r]+t.charCodeAt(r%t.length))%256,n=i[r],i[r]=i[a],i[a]=n;r=0,a=0;for(let t=0;t<e.length;t++)r=(r+1)%256,a=(a+i[r])%256,n=i[r],i[r]=i[a],i[a]=n,o+=String.fromCharCode(e.charCodeAt(t)^i[(i[r]+i[a])%256]);return o},Me.mcuaPD={},Me.MawStD=!0);let i=e+n[0],a=Me.mcuaPD[i];return a?r=a:(Me.WeKNll===void 0&&(Me.WeKNll=!0),r=Me.irlxdl(r,t),Me.mcuaPD[i]=r),r}async function Ne(){var e,t;console[e=`kN^z`,t=-137,Ae(t- -780,0,0,0,e)](Ae(677,0,0,0,`%qIE`))}function Pe(e,t,n,r,i){return Me(n-635,i)}async function Fe(e,t=!1,n=!1,r=!1){let i=`bRaW`;function a(e,t,n,r,i){return Pe(0,0,t- -325,0,r)}function o(e,t,n,r,i){return Pe(0,0,t- -345,0,e)}let s;function c(e,t,n,r,i){return Pe(0,0,r-250,0,n)}let l=console[c(0,0,`dztu`,1105)];function u(e,t,n,r,i){return Pe(0,0,i- -1605,0,t)}let d=[c(0,0,`dztu`,1155)+me+c(0,0,`tez#`,1106)];if(e[c(0,0,`0p6A`,1108)]())d[f(100,97,78,`NA7H`,123)](f(112,158,152,`bRaW`,114)+me+a(0,618,0,i)),s=a(0,605,0,`[zk0`),d[0]=o(`bRaW`,530)+he+a(0,610,0,`[zk0`),s+=o(`G^tN`,569);else{s=c(0,0,`^I8q`,1107)+(e[a(0,571,0,`30#B`)]()??f(77,124,171,`bRaW`,124));let t=e[c(0,0,i,1170)]()?.[o(`TVpQ`,520)]();t&&(s+=u(0,`Cxx1`,0,0,-733)+t);let n=e[a(0,548,0,`rtvx`)]();n&&n[u(0,`SMI8`,0,0,-678)]>0&&(s+=f(9,82,74,`0p6A`,42)+n[c(0,0,`SMI8`,1140)](`, `));let r=e[f(104,98,50,`grZT`,83)]();r>0&&(s+=c(0,0,`Loeo`,1149)+r)}if(!r&&e[o(`p^OD`,589)]()){d[c(0,0,`bLcy`,1143)](u(0,`xPqD`,0,0,-669)),s+=a(0,552,0,`dztu`);let t=e[o(`PRuT`,523)](),n=t[c(0,0,`PRuT`,1121)];for(let e=0;e<n;e++)s+=` `+t[e]}if(n){d[a(0,561,0,`PRuT`)](o(`xPqD`,550)+_e+u(0,`kbB7`,0,0,-666)),s+=`%c`,s+=o(`bRaW`,535)+Ie()+`'`;let t=e[c(0,0,`1WPb`,1113)]();t&&(s+=u(0,`C$iZ`,0,0,-751)+t+`'`)}function f(e,t,n,r,i){return Pe(0,0,i- -818,0,r)}return await l(``+s,...d),Promise[u(0,`1WPb`,0,0,-718)]()}var Ie=()=>{if(typeof window===t(-123,-172,`5bNm`,-140,-169))return window[t(-118,-187,`Loeo`,-153,-138)][e(712,`1WPb`,740,698,724)];function e(e,t,n,r,i){return Pe(0,0,n- -163,0,t)}function t(e,t,n,r,i){return Pe(0,0,r- -1014,0,n)}return n.CommonUtils[e(0,`jp74`,718)]()},Le=`general`,Re=`hash`,ze=`zero`,Be=`qmark`,Ve=`slash`,He=`group`,Ue=`scale`,We=`comma`,Ge=`break`,Ke=`text`,qe=`plus`,Je=`minus`,Ye=`point`,Xe=`space`,Ze=`percent`,Qe=`digit`,$e=`calendar`,et=`error`,tt=`datetime`,nt=`duration`,rt=`condition`,it=`dbnum`,at=`natnum`,ot=`locale`,st=`color`,ct=`modifier`,lt=`ampm`,ut=`escaped`,dt=`string`,ft=`skip`,pt=`fill`,mt=`paren`,ht=`char`,gt=`#000000.#FFFFFF.#FF0000.#00FF00.#0000FF.#FFFF00.#FF00FF.#00FFFF.#800000.#008000.#000080.#808000.#800080.#008080.#C0C0C0.#808080.#9999FF.#993366.#FFFFCC.#CCFFFF.#660066.#FF8080.#0066CC.#CCCCFF.#000080.#FF00FF.#FFFF00.#00FFFF.#800080.#800000.#008080.#0000FF.#00CCFF.#CCFFFF.#CCFFCC.#FFFF99.#99CCFF.#FF99CC.#CC99FF.#FFCC99.#3366FF.#33CCCC.#99CC00.#FFCC00.#FF9900.#FF6600.#666699.#969696.#003366.#339966.#003300.#333300.#993300.#993366.#333399.#333333`.split(`.`),_t=`¤.$.£.¥.֏.؋.৳.฿.៛.₡.₦.₩.₪.₫.€.₭.₮.₱.₲.₴.₸.₹.₺.₼.₽.₾.₿`.split(`.`),vt=RegExp(`[`+_t.join(``)+`]`),yt=Object.freeze({1078:`af`,1052:`sq`,1118:`am`,5121:`ar_DZ`,15361:`ar_BH`,3073:`ar_EG`,2049:`ar_IQ`,11265:`ar_JO`,13313:`ar_KW`,12289:`ar_LB`,4097:`ar_LY`,6145:`ar_MA`,8193:`ar_OM`,16385:`ar_QA`,1025:`ar_SA`,10241:`ar_SY`,7169:`ar_TN`,14337:`ar_AE`,9217:`ar_YE`,1067:`hy`,1101:`as`,2092:`az_AZ`,1068:`az_AZ`,1069:`eu`,1059:`be`,2117:`bn`,1093:`bn_IN`,5146:`bs`,1026:`bg`,1109:`my`,1027:`ca`,2052:`zh_CN`,3076:`zh_HK`,5124:`zh_MO`,4100:`zh_SG`,1028:`zh_TW`,1050:`hr`,1029:`cs`,1030:`da`,1125:`dv`,2067:`nl_BE`,1043:`nl_NL`,1126:`bin`,3081:`en_AU`,10249:`en_BZ`,4105:`en_CA`,9225:`en_CB`,2057:`en_GB`,16393:`en_IN`,6153:`en_IE`,8201:`en_JM`,5129:`en_NZ`,13321:`en_PH`,7177:`en_ZA`,11273:`en_TT`,1033:`en_US`,12297:`en_ZW`,1061:`et`,1071:`mk`,1080:`fo`,1065:`fa`,1124:`fil`,1035:`fi`,2060:`fr_BE`,11276:`fr_CM`,3084:`fr_CA`,9228:`fr_CG`,12300:`fr_CI`,1036:`fr_FR`,5132:`fr_LU`,13324:`fr_ML`,6156:`fr_MC`,14348:`fr_MA`,10252:`fr_SN`,4108:`fr_CH`,7180:`fr`,1122:`fy_NL`,2108:`gd_IE`,1084:`gd`,1110:`gl`,1079:`ka`,3079:`de_AT`,1031:`de_DE`,5127:`de_LI`,4103:`de_LU`,2055:`de_CH`,1032:`el`,1140:`gn`,1095:`gu`,1279:`en`,1037:`he`,1081:`hi`,1038:`hu`,1039:`is`,1136:`ig_NG`,1057:`id`,1040:`it_IT`,2064:`it_CH`,1041:`ja`,1099:`kn`,1120:`ks`,1087:`kk`,1107:`km`,1111:`kok`,1042:`ko`,1088:`ky`,1108:`lo`,1142:`la`,1062:`lv`,1063:`lt`,2110:`ms_BN`,1086:`ms_MY`,1100:`ml`,1082:`mt`,1112:`mni`,1153:`mi`,1102:`mr`,1104:`mn`,2128:`mn`,1121:`ne`,1044:`no_NO`,2068:`no_NO`,1096:`or`,1045:`pl`,1046:`pt_BR`,2070:`pt_PT`,1094:`pa`,1047:`rm`,2072:`ro_MO`,1048:`ro_RO`,1049:`ru`,2073:`ru_MO`,1083:`se`,1103:`sa`,3098:`sr_SP`,2074:`sr_SP`,1072:`st`,1074:`tn`,1113:`sd`,1115:`si`,1051:`sk`,1060:`sl`,1143:`so`,1070:`sb`,11274:`es_AR`,16394:`es_BO`,13322:`es_CL`,9226:`es_CO`,5130:`es_CR`,7178:`es_DO`,12298:`es_EC`,17418:`es_SV`,4106:`es_GT`,18442:`es_HN`,2058:`es_MX`,19466:`es_NI`,6154:`es_PA`,15370:`es_PY`,10250:`es_PE`,20490:`es_PR`,1034:`es_ES`,14346:`es_UY`,8202:`es_VE`,1089:`sw`,2077:`sv_FI`,1053:`sv_SE`,1114:`syc`,1064:`tg`,1097:`ta`,1092:`tt`,1098:`te`,1054:`th`,1105:`bo`,1073:`ts`,1055:`tr`,1090:`tk`,1058:`uk`,1056:`ur`,2115:`uz_UZ`,1091:`uz_UZ`,1075:`ve`,1066:`vi`,1106:`cy`,1076:`xh`,1085:`yi`,1077:`zu`}),bt=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,xt={},V=(e,t=``)=>e.replace(/~/g,t).split(`;`),St=(e,t=0,n=0)=>(e.mmm||=t<1?e.mmmm.concat():e.mmmm.map(e=>{let n=e.slice(0,t%10);return n+(t<10||e===n?``:`.`)}),e.ddd||=n<1?e.dddd.concat():e.dddd.map(e=>{let t=e.slice(0,n%10);return t+(n<10||e===t?``:`.`)}),!e.mmm6&&e.mmmm6&&(e.mmm6=e.mmmm6),e),Ct={group:`\xA0`,decimal:`.`,positive:`+`,negative:`-`,percent:`%`,exponent:`E`,nan:`NaN`,infinity:`∞`,ampm:V(`AM;PM`),mmmm6:V(`Muharram;Safar;Rabiʻ I;Rabiʻ II;Jumada I;Jumada II;Rajab;Shaʻban;Ramadan;Shawwal;Dhuʻl-Qiʻdah;Dhuʻl-Hijjah`),mmm6:V(`Muh.;Saf.;Rab. I;Rab. II;Jum. I;Jum. II;Raj.;Sha.;Ram.;Shaw.;Dhuʻl-Q.;Dhuʻl-H.`),mmmm:V(`January;February;March;April;May;June;July;August;September;October;November;December`),mmm:V(`Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec`),dddd:V(`Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday`),ddd:V(`Sun;Mon;Tue;Wed;Thu;Fri;Sat`),bool:V(`TRUE;FALSE`),preferMDY:!1};function wt(e){let t=bt.exec(e);if(!t)throw SyntaxError(`Malformed locale: ${e}`);return{lang:t[1]+(t[2]?`_`+t[2]:``),language:t[1],territory:t[2]||``}}function Tt(e){if(typeof e==`number`)return yt[65535&e]||null;let t=parseInt(e,16);return isFinite(t)&&yt[65535&t]?yt[65535&t]||null:bt.test(e)?e:null}function Et(e){let t=Tt(e),n=null;if(t){let e=wt(t);n=xt[e.lang]||xt[e.language]||null}return n}function Dt(e){return Object.assign({},Ct,e)}function H(e,t){let n=typeof t==`object`?t:wt(t);return xt[n.lang]=Dt(e),n.language===n.lang||xt[n.language]||(xt[n.language]=Dt(e)),xt[n.lang]}var Ot=Dt({group:`,`,preferMDY:!0});Ot.isDefault=!0,H({group:`,`,ampm:V(`上午;下午`),mmmm:V(`一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月`),mmm:V(`1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月`),dddd:V(`~日;~一;~二;~三;~四;~五;~六`,`星期`),ddd:V(`周日;周一;周二;周三;周四;周五;周六`)},`zh_CN`);var kt={group:`,`,ampm:V(`上午;下午`),mmmm:V(`1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月`),mmm:V(`1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月`),dddd:V(`~日;~一;~二;~三;~四;~五;~六`,`星期`),ddd:V(`周日;周一;周二;周三;周四;周五;周六`)};H({...kt,nan:`非數值`,dddd:V(`~日;~一;~二;~三;~四;~五;~六`,`星期`)},`zh_TW`),H({...kt,dddd:V(`~日;~一;~二;~三;~四;~五;~六`,`星期`)},`zh_HK`),H({...kt,ampm:V(`午前;午後`),dddd:V(`日~;月~;火~;水~;木~;金~;土~`,`曜日`),ddd:V(`日;月;火;水;木;金;土`)},`ja`),H({group:`,`,ampm:V(`오전;오후`),mmmm:V(`1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월`),mmm:V(`1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월`),dddd:V(`일요일;월요일;화요일;수요일;목요일;금요일;토요일`),ddd:V(`일;월;화;수;목;금;토`)},`ko`),H({group:`,`,ampm:V(`ก่อนเที่ยง;หลังเที่ยง`),mmmm:V(`มกร~;กุมภาพันธ์;มีน~;เมษายน;พฤษภ~;มิถุนายน;กรกฎ~;สิงห~;กันยายน;ตุล~;พฤศจิกายน;ธันว~`,`าคม`),mmm:V(`ม.ค.;ก.พ.;มี.ค.;เม.ย.;พ.ค.;มิ.ย.;ก.ค.;ส.ค.;ก.ย.;ต.ค.;พ.ย.;ธ.ค.`),dddd:V(`วันอาทิตย์;วันจันทร์;วันอังคาร;วันพุธ;วันพฤหัสบดี;วันศุกร์;วันเสาร์`),ddd:V(`อา.;จ.;อ.;พ.;พฤ.;ศ.;ส.`)},`th`),H(St({decimal:`,`,ampm:V(`dop.;odp.`),mmmm:V(`ledna;února;března;dubna;května;června;července;srpna;září;října;listopadu;prosince`),mmm:V(`I;II;III;IV;V;VI;VII;VIII;IX;X;XI;XII`),dddd:V(`neděle;pondělí;úterý;středa;čtvrtek;pátek;sobota`),bool:V(`PRAVDA;NEPRAVDA`)},-1,2),`cs`),H(St({group:`.`,decimal:`,`,mmmm:V(`januar;februar;marts;april;maj;juni;juli;august;september;oktober;november;december`),dddd:V(`søn~;man~;tirs~;ons~;tors~;fre~;lør~`,`dag`),bool:V(`SAND;FALSK`)},13,13),`da`),H(St({group:`.`,decimal:`,`,ampm:V(`a.m.;p.m.`),mmmm:V(`januari;februari;maart;april;mei;juni;juli;augustus;september;oktober;november;december`),mmm:V(`jan.;feb.;mrt.;apr.;mei;jun.;jul.;aug.;sep.;okt.;nov.;dec.`),dddd:V(`zondag;maandag;dinsdag;woensdag;donderdag;vrijdag;zaterdag`),bool:V(`WAAR;ONWAAR`)},-1,2),`nl`),H({group:`,`,preferMDY:!0},`en`),H({group:`,`,preferMDY:!0},`en_US`),H({group:`,`},`en_AU`),H({group:`,`},`en_CA`),H({group:`,`},`en_GB`),H({group:`,`,mmm:V(`Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sept;Oct;Nov;Dec`)},`en_IE`),H(St({decimal:`,`,nan:`epäluku`,ampm:V(`ap.;ip.`),mmmm:V(`tammi~;helmi~;maalis~;huhti~;touko~;kesä~;heinä~;elo~;syys~;loka~;marras~;joulu~`,`kuuta`),mmm:V(`tammik.;helmik.;maalisk.;huhtik.;toukok.;kesäk.;heinäk.;elok.;syysk.;lokak.;marrask.;jouluk.`),dddd:V(`sunnun~;maanan~;tiis~;keskiviikkona;tors~;perjan~;lauan~`,`taina`),bool:V(`TOSI;EPÄTOSI`)},-1,2),`fi`);var At=St({group:` `,decimal:`,`,mmmm:V(`janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre`),mmm:V(`janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.`),dddd:V(`~manche;lun~;mar~;mercre~;jeu~;vendre~;same~`,`di`),bool:V(`VRAI;FAUX`)},-1,13);H({...At},`fr`),H({...At,mmm:V(`janv.;févr.;mars;avr.;mai;juin;juill.;août;sept.;oct.;nov.;déc.`)},`fr_CA`),H({group:`'`,decimal:`.`,...At},`fr_CH`);var jt=St({mmmm:V(`Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember`),mmm:V(`Jan.;Feb.;März;Apr.;Mai;Juni;Juli;Aug.;Sept.;Okt.;Nov.;Dez.`),dddd:V(`Sonn~;Mon~;Diens~;Mittwoch;Donners~;Frei~;Sams~`,`tag`),bool:V(`WAHR;FALSCH`)},-1,12);H({group:`.`,decimal:`,`,...jt},`de`),H({group:`'`,decimal:`.`,...jt},`de_CH`),H(St({group:`.`,decimal:`,`,ampm:V(`π.μ.;μ.μ.`),mmmm:V(`Ιανουαρ~;Φεβρουαρ~;Μαρτ~;Απριλ~;Μαΐου;Ιουν~;Ιουλ~;Αυγούστου;Σεπτεμβρ~;Οκτωβρ~;Νοεμβρ~;Δεκεμβρ~`,`ίου`),mmm:V(`Ιαν;Φεβ;Μαρ;Απρ;Μαΐ;Ιουν;Ιουλ;Αυγ;Σεπ;Οκτ;Νοε;Δεκ`),dddd:V(`Κυριακή;Δευτέρα;Τρίτη;Τετάρτη;Πέμπτη;Παρασκευή;Σάββατο`)},-1,3),`el`),H({decimal:`,`,ampm:V(`de.;du.`),mmmm:V(`január;február;március;április;május;június;július;augusztus;szeptember;október;november;december`),mmm:V(`jan.;febr.;márc.;ápr.;máj.;jún.;júl.;aug.;szept.;okt.;nov.;dec.`),dddd:V(`vasárnap;hétfő;kedd;szerda;csütörtök;péntek;szombat`),ddd:V(`V;H;K;Sze;Cs;P;Szo`),bool:V(`IGAZ;HAMIS`)},`hu`),H(St({group:`.`,decimal:`,`,ampm:V(`f.h.;e.h.`),mmmm:V(`janúar;febrúar;mars;apríl;maí;júní;júlí;ágúst;september;október;nóvember;desember`),dddd:V(`sunnu~;mánu~;þriðju~;miðviku~;fimmtu~;föstu~;laugar~`,`dagur`)},13,13),`is`),H(St({group:`.`,decimal:`,`,mmmm:V(`Januari;Februari;Maret;April;Mei;Juni;Juli;Agustus;September;Oktober;November;Desember`),dddd:V(`Minggu;Senin;Selasa;Rabu;Kamis;Jumat;Sabtu`)},3,3),`id`);var Mt=St({mmmm:V(`gennaio;febbraio;marzo;aprile;maggio;giugno;luglio;agosto;settembre;ottobre;novembre;dicembre`),dddd:V(`domenica;lunedì;martedì;mercoledì;giovedì;venerdì;sabato`),bool:V(`VERO;FALSO`)},3,3);H({group:`.`,decimal:`,`,...Mt},`it`),H({group:`'`,decimal:`.`,...Mt},`it_CH`);var Nt={decimal:`,`,ampm:V(`a.m.;p.m.`),mmmm:V(`januar;februar;mars;april;mai;juni;juli;august;september;oktober;november;desember`),mmm:V(`jan.;feb.;mar.;apr.;mai;jun.;jul.;aug.;sep.;okt.;nov.;des.`),dddd:V(`søn~;man~;tirs~;ons~;tors~;fre~;lør~`,`dag`),bool:V(`SANN;USANN`)};H(St({...Nt},-1,13),`nb`),H(St({...Nt},-1,13),`no`),H(St({decimal:`,`,mmmm:V(`stycznia;lutego;marca;kwietnia;maja;czerwca;lipca;sierpnia;września;października;listopada;grudnia`),dddd:V(`niedziela;poniedziałek;wtorek;środa;czwartek;piątek;sobota`),ddd:V(`niedz.;pon.;wt.;śr.;czw.;pt.;sob.`),bool:V(`PRAWDA;FAŁSZ`)},3,-1),`pl`);var Pt={group:`.`,decimal:`,`,mmmm:V(`janeiro;fevereiro;março;abril;maio;junho;julho;agosto;setembro;outubro;novembro;dezembro`),dddd:V(`domingo;segunda-feira;terça-feira;quarta-feira;quinta-feira;sexta-feira;sábado`),bool:V(`VERDADEIRO;FALSO`)};H(St(Pt,13,13),`pt`),H(St(Pt,13,13),`pt_BR`),H({decimal:`,`,nan:`не\xA0число`,mmmm:V(`января;февраля;марта;апреля;мая;июня;июля;августа;сентября;октября;ноября;декабря`),mmm:V(`янв.;февр.;мар.;апр.;мая;июн.;июл.;авг.;сент.;окт.;нояб.;дек.`),dddd:V(`воскресенье;понедельник;вторник;среда;четверг;пятница;суббота`),ddd:V(`вс;пн;вт;ср;чт;пт;сб`),mmmm6:V(`рамадан;шавваль;зуль-каада;зуль-хиджжа;мухаррам;раби-уль-авваль;раби-уль-ахир;джумад-уль-авваль;джумад-уль-ахир;раджаб;шаабан;рамадан`),mmm6:V(`рам.;шав.;зуль-к.;зуль-х.;мух.;раб. I;раб. II;джум. I;джум. II;радж.;шааб.;рам.`),bool:V(`ИСТИНА;ЛОЖЬ`)},`ru`),H(St({decimal:`,`,mmmm:V(`januára;februára;marca;apríla;mája;júna;júla;augusta;septembra;októbra;novembra;decembra`),dddd:V(`nedeľa;pondelok;utorok;streda;štvrtok;piatok;sobota`)},3,2),`sk`);var Ft={group:`.`,decimal:`,`,ampm:V(`a.\xA0m.;p.\xA0m.`),mmmm:V(`enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiem~;octu~;noviem~;diciem~`,`bre`),mmm:V(`ene;feb;mar;abr;may;jun;jul;ago;sept;oct;nov;dic`),dddd:V(`domingo;lunes;martes;miércoles;jueves;viernes;sábado`),ddd:V(`dom;lun;mar;mié;jue;vie;sáb`),bool:V(`VERDADERO;FALSO`)},It=V(`ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic`),Lt=V(`ene.;feb.;mar.;abr.;may.;jun.;jul.;ago.;sept.;oct.;nov.;dic.`);H({...Ft},`es`),H({...Ft},`es_AR`),H({...Ft},`es_BO`),H({...Ft},`es_CL`),H({...Ft},`es_CO`),H({...Ft},`es_EC`),H({...Ft,mmm:It,ampm:V(`a.m.;p.m.`)},`es_MX`),H({...Ft,mmm:Lt},`es_PY`),H({...Ft,mmm:Lt},`es_UY`),H({...Ft,mmm:Lt,mmmm:V(`enero;febrero;marzo;abril;mayo;junio;julio;agosto;setiembre;octubre;noviembre;diciembre`)},`es_VE`),H({decimal:`,`,ampm:V(`fm;em`),mmmm:V(`januari;februari;mars;april;maj;juni;juli;augusti;september;oktober;november;december`),mmm:V(`jan.;feb.;mars;apr.;maj;juni;juli;aug.;sep.;okt.;nov.;dec.`),dddd:V(`sön~;mån~;tis~;ons~;tors~;fre~;lör~`,`dag`),ddd:V(`sön;mån;tis;ons;tors;fre;lör`)},`sv`),H(St({group:`.`,decimal:`,`,ampm:V(`ÖÖ;ÖS`),mmmm:V(`Ocak;Şubat;Mart;Nisan;Mayıs;Haziran;Temmuz;Ağustos;Eylül;Ekim;Kasım;Aralık`),mmm:V(`Oca;Şub;Mar;Nis;May;Haz;Tem;Ağu;Eyl;Eki;Kas;Ara`),dddd:V(`Pazar;Pazartesi;Salı;Çarşamba;Perşembe;Cuma;Cumartesi`),ddd:V(`Paz;Pzt;Sal;Çar;Per;Cum;Cmt`),bool:V(`DOĞRU;YANLIŞ`)},3,-1),`tr`),H({group:`,`,ampm:V(`yb;yh`),mmmm:V(`Ionawr;Chwefror;Mawrth;Ebrill;Mai;Mehefin;Gorffennaf;Awst;Medi;Hydref;Tachwedd;Rhagfyr`),mmm:V(`Ion;Chwef;Maw;Ebr;Mai;Meh;Gorff;Awst;Medi;Hyd;Tach;Rhag`),dddd:V(`Dydd Sul;Dydd Llun;Dydd Mawrth;Dydd Mercher;Dydd Iau;Dydd Gwener;Dydd Sadwrn`),ddd:V(`Sul;Llun;Maw;Mer;Iau;Gwen;Sad`)},`cy`),H({group:`.`,decimal:`,`,mmmm:V(`yanvar;fevral;mart;aprel;may;iyun;iyul;avqust;sentyabr;oktyabr;noyabr;dekabr`),mmm:V(`yan;fev;mar;apr;may;iyn;iyl;avq;sen;okt;noy;dek`),dddd:V(`bazar;bazar ertəsi;çərşənbə axşamı;çərşənbə;cümə axşamı;cümə;şənbə`),ddd:V(`B.;B.e.;Ç.a.;Ç.;C.a.;C.;Ş.`)},`az`),H(St({decimal:`,`,mmmm:V(`студзеня;лютага;сакавіка;красавіка;мая;чэрвеня;ліпеня;жніўня;верасня;кастрычніка;лістапада;снежня`),dddd:V(`нядзеля;панядзелак;аўторак;серада;чацвер;пятніца;субота`),ddd:V(`нд;пн;аў;ср;чц;пт;сб`)},3,-1),`be`),H({decimal:`,`,ampm:V(`пр.об.;сл.об.`),mmmm:V(`януари;февруари;март;април;май;юни;юли;август;септември;октомври;ноември;декември`),mmm:V(`яну;фев;март;апр;май;юни;юли;авг;сеп;окт;ное;дек`),dddd:V(`неделя;понеделник;вторник;сряда;четвъртък;петък;събота`),ddd:V(`нд;пн;вт;ср;чт;пт;сб`),bool:V(`ИСТИНА;ЛОЖЬ`)},`bg`),H({group:`.`,decimal:`,`,mmmm:V(`de gener;de febrer;de març;d’abril;de maig;de juny;de juliol;d’agost;de setembre;d’octubre;de novembre;de desembre`),mmm:V(`de gen.;de febr.;de març;d’abr.;de maig;de juny;de jul.;d’ag.;de set.;d’oct.;de nov.;de des.`),dddd:V(`diumenge;dilluns;dimarts;dimecres;dijous;divendres;dissabte`),ddd:V(`dg.;dl.;dt.;dc.;dj.;dv.;ds.`),ampm:V(`a.\xA0m.;p.\xA0m.`)},`ca`),H(St({group:`,`,decimal:`.`,mmmm:V(`Enero;Pebrero;Marso;Abril;Mayo;Hunyo;Hulyo;Agosto;Setyembre;Oktubre;Nobyembre;Disyembre`),dddd:V(`Linggo;Lunes;Martes;Miyerkules;Huwebes;Biyernes;Sabado`)},3,3),`fil`),H({group:`,`,decimal:`.`,mmmm:V(`જાન્યુઆરી;ફેબ્રુઆરી;માર્ચ;એપ્રિલ;મે;જૂન;જુલાઈ;ઑગસ્ટ;સપ્ટેમ્બર;ઑક્ટોબર;નવેમ્બર;ડિસેમ્બર`),mmm:V(`જાન્યુ;ફેબ્રુ;માર્ચ;એપ્રિલ;મે;જૂન;જુલાઈ;ઑગસ્ટ;સપ્ટે;ઑક્ટો;નવે;ડિસે`),dddd:V(`રવિ~;સોમ~;મંગળ~;બુધ~;ગુરુ~;શુક્ર~;શનિ~`,`વાર`),ddd:V(`રવિ;સોમ;મંગળ;બુધ;ગુરુ;શુક્ર;શનિ`)},`gu`),H({group:`,`,decimal:`.`,ampm:V(`לפנה״צ;אחה״צ`),dddd:V(`~ראשון;~שני;~שלישי;~רביעי;~חמישי;~שישי;~שבת`,`יום `),ddd:V(`~א׳;~ב׳;~ג׳;~ד׳;~ה׳;~ו׳;שבת`,`יום `),mmmm:V(`ינואר;פברואר;מרץ;אפריל;מאי;יוני;יולי;אוגוסט;ספטמבר;אוקטובר;נובמבר;דצמבר`),mmm:V(`ינו׳;פבר׳;מרץ;אפר׳;מאי;יוני;יולי;אוג׳;ספט׳;אוק׳;נוב׳;דצמ׳`),mmmm6:V(`רמדאן;שוואל;ד׳ו אל־קעדה;ד׳ו אל־חיג׳ה;מוחרם;רביע אל־אוול;רביע א־ת׳אני;ג׳ומאדא אל־אולא;ג׳ומאדא א־ת׳אניה;רג׳ב;שעבאן;רמדאן`),mmm6:V(`רמדאן;שוואל;ד׳ו אל־קעדה;ד׳ו אל־חיג׳ה;מוחרם;רביע א׳;רביע ב׳;ג׳ומאדא א׳;ג׳ומאדא ב׳;רג׳ב;שעבאן;רמדאן`)},`he`),H(St({group:`.`,decimal:`,`,mmmm:V(`siječnja;veljače;ožujka;travnja;svibnja;lipnja;srpnja;kolovoza;rujna;listopada;studenoga;prosinca`),mmm:V(`sij;velj;ožu;tra;svi;lip;srp;kol;ruj;lis;stu;pro`),dddd:V(`nedjelja;ponedjeljak;utorak;srijeda;četvrtak;petak;subota`)},-1,3),`hr`),H({decimal:`,`,mmmm:V(`հունվարի;փետրվարի;մարտի;ապրիլի;մայիսի;հունիսի;հուլիսի;օգոստոսի;սեպտեմբերի;հոկտեմբերի;նոյեմբերի;դեկտեմբերի`),mmm:V(`հնվ;փտվ;մրտ;ապր;մյս;հնս;հլս;օգս;սեպ;հոկ;նոյ;դեկ`),dddd:V(`կիրակի;երկուշաբթի;երեքշաբթի;չորեքշաբթի;հինգշաբթի;ուրբաթ;շաբաթ`),ddd:V(`կիր;երկ;երք;չրք;հնգ;ուր;շբթ`)},`hy`),H(St({decimal:`,`,mmmm:V(`იანვარი;თებერვალი;მარტი;აპრილი;მაისი;ივნისი;ივლისი;აგვისტო;სექტემბერი;ოქტომბერი;ნოემბერი;დეკემბერი`),dddd:V(`კვირა;ორშაბათი;სამშაბათი;ოთხშაბათი;ხუთშაბათი;პარასკევი;შაბათი`)},3,3),`ka`),H(St({decimal:`,`,mmmm:V(`қаңтар;ақпан;наурыз;сәуір;мамыр;маусым;шілде;тамыз;қыркүйек;қазан;қараша;желтоқсан`),dddd:V(`жексенбі;дүйсенбі;сейсенбі;сәрсенбі;бейсенбі;жұма;сенбі`),ddd:V(`жс;дс;сс;ср;бс;жм;сб`)},13,-1),`kk`),H({group:`,`,mmmm:V(`ಜನವರಿ;ಫೆಬ್ರವರಿ;ಮಾರ್ಚ್;ಏಪ್ರಿಲ್;ಮೇ;ಜೂನ್;ಜುಲೈ;ಆಗಸ್ಟ್;ಸೆಪ್ಟೆಂಬರ್;ಅಕ್ಟೋಬರ್;ನವೆಂಬರ್;ಡಿಸೆಂಬರ್`),mmm:V(`ಜನವರಿ;ಫೆಬ್ರವರಿ;ಮಾರ್ಚ್;ಏಪ್ರಿ;ಮೇ;ಜೂನ್;ಜುಲೈ;ಆಗಸ್ಟ್;ಸೆಪ್ಟೆಂ;ಅಕ್ಟೋ;ನವೆಂ;ಡಿಸೆಂ`),dddd:V(`ಭಾನು~;ಸೋಮ~;ಮಂಗಳ~;ಬುಧ~;ಗುರು~;ಶುಕ್ರ~;ಶನಿ~`,`ವಾರ`),ddd:V(`ಭಾನು;ಸೋಮ;ಮಂಗಳ;ಬುಧ;ಗುರು;ಶುಕ್ರ;ಶನಿ`),ampm:V(`ಪೂರ್ವಾಹ್ನ;ಅಪರಾಹ್ನ`)},`kn`),H({decimal:`,`,mmmm:V(`sausio;vasario;kovo;balandžio;gegužės;birželio;liepos;rugpjūčio;rugsėjo;spalio;lapkričio;gruodžio`),mmm:V(`saus.;vas.;kov.;bal.;geg.;birž.;liep.;rugp.;rugs.;spal.;lapkr.;gruod.`),dddd:V(`sekmadienis;pirmadienis;antradienis;trečiadienis;ketvirtadienis;penktadienis;šeštadienis`),ddd:V(`sk;pr;an;tr;kt;pn;št`),ampm:V(`priešpiet;popiet`)},`lt`),H({decimal:`,`,mmmm:V(`janvāris;februāris;marts;aprīlis;maijs;jūnijs;jūlijs;augusts;septembris;oktobris;novembris;decembris`),mmm:V(`janv.;febr.;marts;apr.;maijs;jūn.;jūl.;aug.;sept.;okt.;nov.;dec.`),dddd:V(`svētdiena;pirmdiena;otrdiena;trešdiena;ceturtdiena;piektdiena;sestdiena`),ddd:V(`svētd.;pirmd.;otrd.;trešd.;ceturtd.;piektd.;sestd.`),ampm:V(`priekšpusdienā;pēcpusdienā`)},`lv`),H({group:`,`,decimal:`.`,mmmm:V(`ജനുവരി;ഫെബ്രുവരി;മാർച്ച്;ഏപ്രിൽ;മേയ്;ജൂൺ;ജൂലൈ;ഓഗസ്റ്റ്;സെപ്റ്റംബർ;ഒക്ടോബർ;നവംബർ;ഡിസംബർ`),mmm:V(`ജനു;ഫെബ്രു;മാർ;ഏപ്രി;മേയ്;ജൂൺ;ജൂലൈ;ഓഗ;സെപ്റ്റം;ഒക്ടോ;നവം;ഡിസം`),dddd:V(`ഞായറാഴ്ച;തിങ്കളാഴ്ച;ചൊവ്വാഴ്ച;ബുധനാഴ്ച;വ്യാഴാഴ്ച;വെള്ളിയാഴ്ച;ശനിയാഴ്ച`),ddd:V(`ഞായർ;തിങ്കൾ;ചൊവ്വ;ബുധൻ;വ്യാഴം;വെള്ളി;ശനി`)},`ml`),H({group:`,`,decimal:`.`,mmmm:V(`нэгдүгээ~;хоёрдугаа~;гуравдугаа~;дөрөвдүгээ~;тавдугаа~;зургаадугаа~;долоодугаа~;наймдугаа~;есдүгээ~;аравдугаа~;арван нэгдүгээ~;арван хоёрдугаа~`,`р сар`),mmm:V(`1~;2~;3~;4~;5~;6~;7~;8~;9~;10~;11~;12~`,`-р сар`),dddd:V(`ням;даваа;мягмар;лхагва;пүрэв;баасан;бямба`),ddd:V(`Ня;Да;Мя;Лх;Пү;Ба;Бя`),ampm:V(`ү.ө.;ү.х.`)},`mn`),H({group:`,`,decimal:`.`,mmmm:V(`जानेवारी;फेब्रुवारी;मार्च;एप्रिल;मे;जून;जुलै;ऑगस्ट;सप्टेंबर;ऑक्टोबर;नोव्हेंबर;डिसेंबर`),mmm:V(`जाने;फेब्रु;मार्च;एप्रि;मे;जून;जुलै;ऑग;सप्टें;ऑक्टो;नोव्हें;डिसें`),dddd:V(`रविवार;सोमवार;मंगळवार;बुधवार;गुरुवार;शुक्रवार;शनिवार`),ddd:V(`रवि;सोम;मंगळ;बुध;गुरु;शुक्र;शनि`)},`mr`),H(St({group:`,`,decimal:`.`,mmmm:V(`ဇန်နဝါရီ;ဖေဖော်ဝါရီ;မတ်;ဧပြီ;မေ;ဇွန်;ဇူလိုင်;ဩဂုတ်;စက်တင်ဘာ;အောက်တိုဘာ;နိုဝင်ဘာ;ဒီဇင်ဘာ`),mmm:V(`ဇန်;ဖေ;မတ်;ဧ;မေ;ဇွန်;ဇူ;ဩ;စက်;အောက်;နို;ဒီ`),dddd:V(`တနင်္ဂနွေ;တနင်္လာ;အင်္ဂါ;ဗုဒ္ဓဟူး;ကြာသပတေး;သောကြာ;စနေ`),ampm:V(`နံနက်;ညနေ`)},-1,0),`my`),H({group:`,`,decimal:`.`,mmmm:V(`ਜਨਵਰੀ;ਫ਼ਰਵਰੀ;ਮਾਰਚ;ਅਪ੍ਰੈਲ;ਮਈ;ਜੂਨ;ਜੁਲਾਈ;ਅਗਸਤ;ਸਤੰਬਰ;ਅਕਤੂਬਰ;ਨਵੰਬਰ;ਦਸੰਬਰ`),mmm:V(`ਜਨ;ਫ਼ਰ;ਮਾਰਚ;ਅਪ੍ਰੈ;ਮਈ;ਜੂਨ;ਜੁਲਾ;ਅਗ;ਸਤੰ;ਅਕਤੂ;ਨਵੰ;ਦਸੰ`),dddd:V(`ਐਤਵਾਰ;ਸੋਮਵਾਰ;ਮੰਗਲਵਾਰ;ਬੁੱਧਵਾਰ;ਵੀਰਵਾਰ;ਸ਼ੁੱਕਰਵਾਰ;ਸ਼ਨਿੱਚਰਵਾਰ`),ddd:V(`ਐਤ;ਸੋਮ;ਮੰਗਲ;ਬੁੱਧ;ਵੀਰ;ਸ਼ੁੱਕਰ;ਸ਼ਨਿੱਚਰ`),ampm:V(`ਪੂ.ਦੁ.;ਬਾ.ਦੁ.`)},`pa`),H({group:`.`,decimal:`,`,mmmm:V(`ianuarie;februarie;martie;aprilie;mai;iunie;iulie;august;septem~;octom~;noiem~;decem~`,`brie`),mmm:V(`ian.;feb.;mar.;apr.;mai;iun.;iul.;aug.;sept.;oct.;nov.;dec.`),dddd:V(`duminică;luni;marți;miercuri;joi;vineri;sâmbătă`),ddd:V(`dum.;lun.;mar.;mie.;joi;vin.;sâm.`),ampm:V(`a.m.;p.m.`)},`ro`),H(St({group:`.`,decimal:`,`,mmmm:V(`januar;februar;marec;april;maj;junij;julij;avgust;september;oktober;november;december`),mmm:V(`jan.;feb.;mar.;apr.;maj;jun.;jul.;avg.;sep.;okt.;nov.;dec.`),dddd:V(`nedelja;ponedeljek;torek;sreda;četrtek;petek;sobota`),ampm:V(`dop.;pop.`)},-1,13),`sl`),H(St({group:`.`,decimal:`,`,mmmm:V(`јануар;фебруар;март;април;мај;јун;јул;август;септембар;октобар;новембар;децембар`),dddd:V(`недеља;понедељак;уторак;среда;четвртак;петак;субота`)},3,3),`sr`),H({group:`,`,decimal:`.`,mmmm:V(`ஜனவரி;பிப்ரவரி;மார்ச்;ஏப்ரல்;மே;ஜூன்;ஜூலை;ஆகஸ்ட்;செப்டம்பர்;அக்டோபர்;நவம்பர்;டிசம்பர்`),mmm:V(`ஜன.;பிப்.;மார்.;ஏப்.;மே;ஜூன்;ஜூலை;ஆக.;செப்.;அக்.;நவ.;டிச.`),dddd:V(`ஞாயிறு;திங்கள்;செவ்வாய்;புதன்;வியாழன்;வெள்ளி;சனி`),ddd:V(`ஞாயி.;திங்.;செவ்.;புத.;வியா.;வெள்.;சனி`)},`ta`),H({group:`,`,decimal:`.`,mmmm:V(`జనవరి;ఫిబ్రవరి;మార్చి;ఏప్రిల్;మే;జూన్;జులై;ఆగస్టు;సెప్టెంబర్;అక్టోబర్;నవంబర్;డిసెంబర్`),mmm:V(`జన;ఫిబ్ర;మార్చి;ఏప్రి;మే;జూన్;జులై;ఆగ;సెప్టెం;అక్టో;నవం;డిసెం`),dddd:V(`ఆదివారం;సోమవారం;మంగళవారం;బుధవారం;గురువారం;శుక్రవారం;శనివారం`),ddd:V(`ఆది;సోమ;మంగళ;బుధ;గురు;శుక్ర;శని`)},`te`),H({decimal:`,`,mmmm:V(`січня;лютого;березня;квітня;травня;червня;липня;серпня;вересня;жовтня;листопада;грудня`),mmm:V(`січ.;лют.;бер.;квіт.;трав.;черв.;лип.;серп.;вер.;жовт.;лист.;груд.`),dddd:V(`неділю;понеділок;вівторок;середу;четвер;пʼятницю;суботу`),ddd:V(`нд;пн;вт;ср;чт;пт;сб`),ampm:V(`дп;пп`)},`uk`),H({group:`.`,decimal:`,`,mmmm:V(`~1;~2;~3;~4;~5;~6;~7;~8;~9;~10;~11;~12`,`tháng `),mmm:V(`~1;~2;~3;~4;~5;~6;~7;~8;~9;~10;~11;~12`,`thg `),dddd:V(`Chủ Nhật;Thứ Hai;Thứ Ba;Thứ Tư;Thứ Năm;Thứ Sáu;Thứ Bảy`),ddd:V(`CN;Th 2;Th 3;Th 4;Th 5;Th 6;Th 7`),ampm:V(`SA;CH`)},`vi`),H(St({group:`٬`,decimal:`٫`,ampm:V(`ص;م`),mmmm:V(`يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر`),dddd:V(`الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت`),mmmm6:V(`رمضان;شوال;ذو القعدة;ذو الحجة;محرم;ربيع الأول;ربيع الآخرة;جمادى الأولى;جمادى الآخرة;رجب;شعبان;رمضان`)},0,0),`ar`),H({group:`,`,decimal:`.`,mmmm:V(`জানুয়ারী;ফেব্রুয়ারী;মার্চ;এপ্রিল;মে;জুন;জুলাই;আগস্ট;সেপ্টেম্বর;অক্টোবর;নভেম্বর;ডিসেম্বর`),mmm:V(`জানু;ফেব;মার্চ;এপ্রি;মে;জুন;জুল;আগ;সেপ্টেঃ;অক্টোঃ;নভেঃ;ডিসেঃ`),dddd:V(`রবিবার;সোমবার;মঙ্গলবার;বুধবার;বৃহস্পতিবার;শুক্রবার;শনিবার`),ddd:V(`রবি;সোম;মঙ্গল;বুধ;বৃহস্পতি;শুক্র;শনি`)},`bn`),H({group:`,`,decimal:`.`,mmmm:V(`जनवरी;फ़रवरी;मार्च;अप्रैल;मई;जून;जुलाई;अगस्त;सितंबर;अक्तूबर;नवंबर;दिसंबर`),mmm:V(`जन॰;फ़र॰;मार्च;अप्रैल;मई;जून;जुल॰;अग॰;सित॰;अक्तू॰;नव॰;दिस॰`),dddd:V(`रविवार;सोमवार;मंगलवार;बुधवार;गुरुवार;शुक्रवार;शनिवार`),ddd:V(`रवि;सोम;मंगल;बुध;गुरु;शुक्र;शनि`),ampm:V(`am;pm`)},`hi`);var Rt={overflow:`######`,dateErrorThrows:!1,dateErrorNumber:!0,bigintErrorNumber:!1,dateSpanLarge:!0,leap1900:!0,nbsp:!1,throws:!0,invalid:`######`,locale:``,ignoreTimezone:!1,grouping:[3,3],indexColors:!0,skipChar:``,repeatChar:``,digitChar:``};function zt(e,t=0){if(typeof e!=`number`)return e;if(e<0)return-zt(-e,t);if(t){let n=10**t||1;return zt(e*n,0)/n}return Math.round(e)}var Bt=Math.floor;function Vt(e,t=!0){if(t&&e>=0){if(e===0)return[1900,1,0];if(e===60)return[1900,2,29];if(e<60)return[1900,e<32?1:2,(e-1)%31+1]}let n=e+68569+2415019,r=Bt(4*n/146097);n-=Bt((146097*r+3)/4);let i=Bt(4e3*(n+1)/1461001);n=n-Bt(1461*i/4)+31;let a=Bt(80*n/2447),o=n-Bt(2447*a/80);return n=Bt(a/11),[100*(r-49)+i+n|0,0|a+2-12*n,0|o]}function Ht(e,t=0,n=!0){let r=Bt(e);return t===6?function(e){if(e===60)throw Error(`#VALUE!`);if(e<=1)return[1317,8,29];if(e<60)return[1317,e<32?9:10,1+(e-2)%30];let t=10631/30,n=.1335,r=e+466935,i=Bt(r/10631);r-=10631*i;let a=Bt((r-n)/t);r-=Bt(a*t+n);let o=Bt((r+28.5001)/29.5);return o===13?[30*i+a,12,30]:[30*i+a,o,r-Bt(29.5001*o-29)]}(r):t===-1?function(e){return Vt(e+1462)}(r):Vt(r,n)}var Ut=Math.floor,Wt=86400;function Gt(e,t){let n=null;if(Array.isArray(e)){let[t,r,i,a,o,s]=e;n=Date.UTC(t,r==null?0:r-1,i??1,a||0,o||0,s||0)}else if(e instanceof Date&&(n=1*e,!t?.ignoreTimezone)){let t=new Date;t.setUTCFullYear(e.getFullYear(),e.getMonth(),e.getDate()),t.setUTCHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n=1*t}if(n!=null&&isFinite(n)){let e=n/864e5;return e-(e<=-25509?-25568:-25569)}return null}function Kt(e,t){let n=0|e,r=Wt*(e-n),i=Ut(r);r-i>.9999&&(i+=1,i===Wt&&(i=0,n+=1));let a=i<0?Wt+i:i,[o,s,c]=Ht(e,0,t?.leap1900);return[o,s,c,Ut(a/60/60)%60,Ut(a/60)%60,Ut(a)%60]}var qt={},Jt={};function Yt(e,t,n=1){if(e){let r=e[0],i=e.slice(1);r===`!`?Yt(i,t,4):r===`?`?Yt(i,t,2):(t[r]=t[r]||{},Yt(i,t[r],n))}else t.$=n}function Xt(e,t){Yt(e,t),Yt(e+` x`,t),Yt(e+` l`,t),Yt(e+` l x`,t),Yt(`l `+e,t),Yt(`l `+e+` x`,t),Yt(e+` D`,t),Yt(e+` D x`,t),Yt(`D `+e,t),Yt(`D `+e+` x`,t)}`!d-m-y.!d-m-Y.!j-m-y.!j-m-Y.!d-n-y.!d-n-Y.!j-n-y.!j-n-Y.?m-d-y.?m-d-Y.?m-j-y.?m-j-Y.?n-d-y.?n-d-Y.?n-j-y.?n-j-Y.d-M-y.d-M-Y.j-M-y.j-M-Y.M-d-y.M-d-Y.M-j-y.M-j-Y.d-F-y.d-F-Y.F-d-y.F-d-Y.F-j-y.F-j-Y.j-F-y.j-F-Y.y-F-d.y-F-j.y-M-d.y-M-j.Y-F-d.Y-F-j.Y-M-d.Y-m-d.Y-M-j.Y-m-j.Y-n-d.Y-n-j.j-F.j-M.d-F.d-M.n-d.n-j.n-Y.m-d.m-j.m-Y.M-Y.M-y.F-y.F-Y.Y-M.Y-n.Y-m.Y-F.Y-M`.split(`.`).forEach(e=>{e.startsWith(`?`)||Xt(e,qt),e.startsWith(`!`)||Xt(e,Jt)}),new Date().getUTCFullYear();var Zt=` `,Qt=`\xA0`,$t=` `,en=`'`,tn=`٬`,nn={".":[`,`,Qt,$t,en,tn],",":[`.`,Qt,$t,en,tn],"٫":[`.`,Qt,$t,en,tn]},rn=e=>e?.length===1&&e>=`0`&&e<=`9`;function an(e,t,n){return t[n+`_max`]=e.length,t[n+`_min`]=e.replace(/#/g,``).length,t}function on(e,t){typeof e==`string`?t.push({type:`string`,value:e}):t.push(e)}function sn(e,t){let n=e?.type;return n===`hash`||n===`zero`||n===`qmark`||n===`digit`&&t===`den`}function cn(e){let t=[],n={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:1,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:t},r=`int`,i=null,a=[],o,s=!1,c=-1,l=!1,u=``,d=!1;for(;++c<e.length&&!l;){let f=e[c],p=f.type||`error`;if(u+=f.raw,p===`general`)n.general=!0,on(f,t);else if(sn(f,r)){let e=n[r+`_pattern`];sn(o,r)||o?.type===`group`?(e.push((e.pop()||``)+f.value),i.num+=f.value):(e.push(f.value),i={type:r,num:f.value},on(i,t))}else if(p===`paren`)f.value===`(`&&(n.parens=!0),on(f.value,t);else if(p===`digit`)on(f.value,t);else if(p===`slash`)if(d=!0,n[r+`_pattern`].length){if(!i)throw SyntaxError(`Format pattern is missing a numerator`);n.fractions=!0,n.num_pattern.push(n[r+`_pattern`].pop()),i.type=`num`,r=`den`,on({type:`div`},t)}else on(f.value,t);else if(p===`comma`)on(`,`,t);else if(p===`scale`)n.scale*=.001**f.raw.length;else if(p===`group`){if(r===`int`&&(n.grouping=!0),r===`den`)throw SyntaxError(`Cannot group denominator digits`)}else if(p===`space`)on(f,t);else{if(p===`break`){l=!0;break}if(p===`text`)n.text=!0,on(f,t);else if(p===`plus`||p===`minus`)on(f,t);else if(p===`duration`){let e=f.value.toLowerCase(),r=e[0],i={type:``,size:0,date:1,pad:e.length};r===`h`?(i.size=16,i.type=`hour-elap`):r===`m`?(i.size=32,i.type=`min-elap`):(i.size=64,i.type=`sec-elap`),n.date|=i.size,a.push(i),on(i,t)}else if(n.date&&p===`point`&&e[c+1]?.type===`zero`){let r=1;c++;let i=`0`;e[c+1]?.type===`zero`&&(i+=`0`,r=2,c++),e[c+1]?.type===`zero`&&(i+=`0`,r=3,c++),u+=i;let a=[64,128,256,512][r];n.date|=a,n.date_eval=!0,n.sec_decimals=Math.max(n.sec_decimals,r),on({type:`subsec`,size:a,decimals:r,date:1},t)}else if(p===`calendar`)s||(f.value===`B2`||f.value===`b2`?n.date_system=6:n.date_system=1);else if(p===`datetime`){let e={type:``,size:0,date:1},r=f.value.toLowerCase(),i=r[0];if(r===`y`||r===`yy`)e.size=2,e.type=`year-short`;else if(i===`y`||i===`e`)e.size=2,e.type=`year`;else if(r===`b`||r===`bb`)e.size=2,e.type=`b-year-short`;else if(i===`b`)e.size=2,e.type=`b-year`;else if(r===`d`||r===`dd`)e.size=8,e.type=`day`,e.pad=/dd/.test(r);else if(r===`ddd`||r===`aaa`)e.size=8,e.type=`weekday-short`;else if(i===`d`||i===`a`)e.size=8,e.type=`weekday`;else if(i===`h`)e.size=16,e.type=`hour`,e.pad=/hh/i.test(r);else if(i===`m`){r.length===3?(e.size=4,e.type=`monthname-short`):r.length===5?(e.size=4,e.type=`monthname-single`):r.length>=4&&(e.size=4,e.type=`monthname`);let t=a[a.length-1];!e.type&&t&&!t.used&&80&t.size&&(t.used=!0,e.size=32,e.type=`min`,e.pad=/mm/.test(r)),e.type||(e.size=4,e.type=`month`,e.pad=/mm/.test(r),e.indeterminate=!0)}else if(i===`s`){e.size=64,e.type=`sec`,e.pad=/ss/.test(r);let t=a[a.length-1];t&&32&t.size?e.used=!0:t?.indeterminate&&(delete t.indeterminate,t.size=32,t.type=`min`,e.used=!0)}n.date|=e.size,n.date_eval=!0,a.push(e),on(e,t)}else if(p===`ampm`)n.clock=12,n.date=16|n.date,n.date_eval=!0,f.short=f.value===`A/P`,on(f,t);else if(p===`string`||p===`escaped`||p===`char`)on(f.value,t);else if(p===`condition`)n.condition=[f.value[0],parseFloat(f.value[1]??`0`)];else if(p===`locale`){let e=f.value.split(`-`),r=e.length<2?``:e.slice(1).join(`-`),i=e[0];i&&on(i,t);let a=Tt(r);a&&(n.locale=a);let o=parseInt(r,16);isFinite(o)&&16711680&o&&(o>>16&255)==6&&(n.date_system=6),s=!0}else if(p===`color`){let e,t=f.value.toLowerCase();(e=/^color\s*(\d+)$/i.exec(t))&&(t=parseInt(e[1],10)),n.color=t}else if(p===`percent`)n.scale*=100,n.percent=!0,on(`%`,t);else if(p===`point`)on(f,t),n.date||(n.dec_fractions=!0,r=`frac`);else if(p===`exp`)n.exponential=!0,n.exp_plus=f.value.includes(`+`),r=`man`,on({type:`exp`,plus:n.exp_plus},t);else if(p===`skip`)on(f,t);else if(p===`fill`)on(f,t);else if(p!==`dbnum`&&p!==`natnum`)throw SyntaxError(p===`error`?`Illegal character: ${u}`:`Unknown token ${p} in ${u}`)}o=f}if(n.tokensUsed=c,n.pattern=u,/^((?:\[[^\]]+\])+)(;|$)/.test(n.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(n.pattern)&&on({type:`text`},t),n.fractions&&n.dec_fractions||n.grouping&&!n.int_pattern.length||n.fractions&&n.exponential||n.fractions&&n.den_pattern.length*n.num_pattern.length===0||d&&!n.fractions&&!n.date||n.exponential&&(n.int_pattern.length||n.frac_pattern.length)*n.man_pattern.length===0)throw SyntaxError(`Invalid pattern: ${u}`);let f=n.int_pattern.join(``),p=n.man_pattern.join(``),m=n.frac_pattern.join(``);an(f,n,`int`);let h=0;for(let e=0;e<f.length;e++){let t=f[f.length-1-e];/^[0-9?]/.test(t)&&(h=e+1)}n.int_min=h,an(m,n,`frac`),an(p,n,`man`);let g=n.num_pattern.join(``),_=n.den_pattern[0]||``;if(_.includes(`?`)||g.includes(`?`)?(_=_.replace(/\d/g,`?`),_=_.replace(/#$/g,`?`),an(g,n,`num`),an(_,n,`den`),g=g.replace(/#$/g,`?`)):(an(g,n,`num`),an(_,n,`den`)),n.int_p=f,n.man_p=p,n.num_p=g,n.den_p=_,n.den_pattern.length&&(n.denominator=parseInt(n.den_pattern.join(``).replace(/\D/g,``),10)),n.integer=!!f.length,!n.integer&&!n.exponential&&m.length){let e=n.tokens.findIndex(e=>e.type===`point`);n.tokens.splice(e,0,{type:`int`,value:`#`}),n.integer=!0,n.int_pattern=[`#`],n.int_p=`#`}if(n.fractions)for(let e=0;e<t.length-1;e++){let n=t[e];if(n.type!==`string`&&n.type!==`space`)continue;let r=t[e+1].type;r===`num`?n.rule=`num+int`:r===`div`?n.rule=`num`:r===`den`&&(n.rule=`den`)}return n.grouping&&n.int_pattern.length>1&&(n.grouping=!1),n}function ln(e,t=0){let n=Math.floor(Math.log10(e));return t>1?Math.floor(n/t)*t:n}function un(e,t=1){return t<-300?parseFloat(e.toExponential().split(`e`)[0]):e*10**-t}var dn={total:1,sign:0,period:0,int:1,frac:0},fn=(e,t)=>e.replace(/\./,t.decimal),pn=(e,t,n)=>{let r=Math.abs(t),i;return i=e===1?e:zt(e,5),[fn(i+``,n),n.exponent,t<0?n.negative:n.positive,r<10?`0`:``,r]};function mn(e,t,n,r){let i=0|n;if(typeof n==`string`)e.push(n);else if(n===i)e.push(Math.abs(i));else{let t=Math.abs(n),i=ln(t),a=un(t,i);a===10&&(a=1,i++);let o=function(e,t=!0){let n=Math.abs(e);if(!n)return dn;let r=t&&e<0?1:0,i=Math.floor(n),a=Math.floor(Math.log10(n)+1),o=0,s=0;if(i!==n){o=1;let e=String(zt(n*10**-a,15)),t=e.length,r=!0,i=0;for(;i<=e.length;){if(e[i]===`.`){t--;break}e[i]===`0`&&r?t--:r=!1,i++}s=t-a,s<0&&(s=0,o=0)}return{total:r+Math.max(a,1)+o+s,digits:Math.max(a,0)+s,sign:r,period:o,int:Math.max(a,1),frac:s}}(t);if(i>=-4&&i<=-1){let n=t.toPrecision(10+i).replace(/\.?0+$/,``);e.push(fn(n,r))}else if(i===10){let n=t.toFixed(10).slice(0,12).replace(/\.$/,``);e.push(fn(n,r))}else if(Math.abs(i)<=9)if(o.total<=11){let n=zt(t,9).toFixed(o.frac);e.push(fn(n,r))}else i===9?e.push(Math.floor(t)):i>=0&&i<9?e.push(fn(String(zt(t,9-i)),r)):e.push(...pn(a,i,r));else o.total>=12?e.push(...pn(a,i,r)):e.push(fn(zt(t,9).toFixed(o.frac),r))}return e}function hn(e,t=!1){return e===`0`?`0`:e===`?`?t?`\xA0`:` `:``}function gn(e){return typeof e==`number`&&isFinite(e)&&e!==0?Number(e.toPrecision(15)):e}function _n(e,t){return gn(zt(e,t))}function vn(e){let t=String(e),n=/^(-?)(\d)(?:\.(\d+))?e([+-]\d+)$/.exec(t);if(!n)return t;let r=n[1],i=n[2],a=n[3]||``,o=+n[4];if(o>=0){let e=o-a.length;return e>=0?r+i+a+`0`.repeat(e):r+i+a.slice(0,o)+`.`+a.slice(o)}return r+`0.`+`0`.repeat(-o-1)+i+a}var yn=86400;function bn(e,t,n,r){let i=``,a=``,o=``,s=``,c=``,l=``,u=0,d=0;if(typeof e==`bigint`){if(!(e<=2**53-1&&e>=-(2**53-1)))return n.bigintErrorNumber?String(e):n.overflow;d=e=Number(e)}else d=Math.trunc(e);let f=0,p=0,m=1,h=0,g=0,_=0,v=0,y=0,b=0,x=r||Ot;if(!t.text&&isFinite(t.scale)&&t.scale!==1&&(e=function(e){if(e===0)return e;let t=Math.ceil(Math.log10(e<0?-e:e)),n=10**(16-Math.floor(t));return isFinite(n)?Math.round(e*n)/n:0}(e*t.scale)),t.exponential){let n=Math.abs(e);n&&(u=ln(n,t.int_max)),e&&!t.integer&&u++,n=un(n,u),t.int_max===1&&zt(n,t.frac_max)===10&&(n=1,u++),e=e<0?-n:n,i+=Math.abs(u)}if(e=gn(e),t.integer){let n=Math.abs(_n(e,t.fractions?1:t.frac_max));l+=n<1?``:vn(Math.floor(n))}let S=n.grouping[0]??3,C=n.grouping[1]??S;t.dec_fractions&&(c=vn(_n(e,t.frac_max)).split(`.`)[1]||``);let w=!t.error&&(t.num_p.includes(`0`)||t.den_p.includes(`0`)),T=w;if(t.fractions){T=w||!!(e%1);let n=Math.abs(t.integer?e%1:e);if(n)if(T=!0,t.denominator&&isFinite(t.denominator))s+=t.denominator,o+=zt(n*t.denominator),o===`0`&&(o=``,s=``,T=w);else{let e=function(e,t=2,n=2){let r=e<0?-1:1,i=10**(t||2),a=10**(n||2),o,s,c=Math.abs(e),l=0,u=0,d=0,f=1;if((e=c)%1==0)s=[e*r,1];else if(e<1e-19)s=[r,0x8ac7230489e80000];else if(e>0x8ac7230489e80000)s=[0x8ac7230489e80000*r,1];else{do if(c=1/(c-Math.floor(c)),o=f,f=f*Math.floor(c)+l,l=o,u=d,d=Math.floor(e*f+.5),d>=i||f>=a)return[r*u,l];while(Math.abs(e-d/f)>=1e-13&&c!==Math.floor(c));s=[r*d,f]}return s}(n,1/0,t.den_max);o+=e[0],s+=e[1],t.integer&&o===`0`&&(o=``,s=``,T=w)}else e||t.integer||(T=!0,o=`0`,s=`1`);!t.integer||T||Math.trunc(e)||(l=`0`)}if(t.date){d=Math.trunc(e);let r=yn*(e-d);if(f=Math.floor(r),b=r-f,Math.abs(b)<1e-6?b=0:b>.9999&&(b=0,f+=1,f===yn&&(f=0,d+=1)),b){let e=512&t.date||256&t.date||128&t.date;(e===512&&b>.9995||e===256&&b>.995||e===128&&b>.95||!e&&b>=.5)&&(f++,b=0)}if(d||t.date_system){let r=Ht(e,t.date_system,n.leap1900);p=r[0],m=r[1],h=r[2]}if(f){let e=f<0?yn+f:f;y=Math.floor(e)%60,v=Math.floor(e/60)%60,_=Math.floor(e/60/60)%60}if(g=(6+d)%7,t.date_eval&&(E=e,D=d+f/yn,n.dateSpanLarge?E<-694324||D>=35830291:E<0||D>=2958466)){if(n.dateErrorThrows)throw Error(`Date out of bounds`);return n.dateErrorNumber?mn(e<0?[x.negative]:[],0,e,x).join(``):n.overflow}}var E,D;let O=hn(`?`,n.nbsp),k=e=>n.digitChar?n.digitChar+e:O,A=e=>n.digitChar&&e===`?`?n.digitChar+`0`:hn(e,n.nbsp);u<0?a=`-`:t.exp_plus&&(a=`+`);let j=[],M=(e,t,n,r)=>{let i=!r&&e.length>t.length?n.length+e.length-t.length:n.length;e.length<t.length&&(r+=e.length-t.length);for(let t=0;t<i;t++)j.push(e[t+r]||A(n[t]));return i},N=!1,P=-1;for(let e=0,n=t.tokens.length;e<n;e++){let n=t.tokens[e];if(n.date&&/^(?:year|b-year|month|weekday|day)/.test(n.type||``)){P=e;break}}let F={int:0,frac:0,man:0,num:0,den:0};for(let u=0,w=t.tokens.length;u<w;u++){let w=t.tokens[u],E=w.type,D=w.num?w.num.length:0;if(E===`string`)w.rule?w.rule===`num`?T?j.push(w.value.replace(/ /g,O)):(t.num_min>0||t.den_min>0)&&j.push(w.value.replace(/./g,e=>k(e))):w.rule===`num+int`?T&&l?j.push(w.value.replace(/ /g,O)):t.den_min>0&&(l||t.num_min)&&j.push(w.value.replace(/./g,e=>k(e))):w.rule===`den`&&(T?j.push(w.value.replace(/ /g,O)):(t.den_min>0||t.den_min>0)&&j.push(w.value.replace(/./g,e=>k(e)))):j.push(w.value.replace(/ /g,O));else if(E===`space`)w.rule===`num+int`?(T||t.num_min||t.den_min)&&(l||t.num_min)&&j.push(O):j.push(O);else if(E===`error`)j.push(n.invalid);else if(E===`point`)j.push(t.date?w.value:x.decimal);else if(E===`general`)mn(j,0,e,x);else if(E===`exp`)j.push(x.exponent);else if(E===`minus`)w.volatile&&t.date||w.volatile&&(e>=0||typeof e!=`number`)||(w.volatile&&!t.fractions&&(t.integer||t.dec_fractions)?(e<0&&l&&l!==`0`||c)&&j.push(x.negative):j.push(x.negative));else if(E===`plus`)j.push(x.positive);else if(E===`text`)j.push(e);else if(E===`fill`)n.fillChar&&j.push(n.fillChar,w.value);else if(E===`skip`)n.skipChar?j.push(n.skipChar,w.value):j.push(n.nbsp?`\xA0`:` `);else if(E===`div`)T?j.push(`/`):t.num_min>0||t.den_min>0?j.push(k(`/`)):j.push(hn(`#`,n.nbsp));else if(E===`int`)if(t.int_pattern.length===1){let e=t.int_p,n=``;for(let r=Math.max(t.int_min,l.length);r>0;r--){let i=l.charAt(l.length-r),a=i?``:e.charAt(e.length-r)||e[0],o=``;if(t.grouping){let e=r-1-S;e>=0&&!(e%C)&&(o=i||a===`0`?x.group:k(x.group))}n+=(i||A(a))+o}j.push(n)}else F.int+=M(l,t.int_p,w.num,F.int);else if(E===`frac`){let e=F.frac;for(let t=0;t<D;t++)j.push(c[t+e]||A(w.num[t]));F.frac+=D}else if(E===`man`)F[E]||F.man||j.push(a),F.man+=M(i,t.man_p,w.num,F.man);else if(E===`num`)F.num+=M(o,t.num_p,w.num,F.num);else if(E===`den`){let e=F.den;for(let t=0;t<D;t++){let n=s[t+e];if(!n){let e=w.num[t];`123456789`.includes(e)||N&&e===`0`?(N=!0,n=k(e)):n=N||t!==D-1||e!==`0`||s?A(e):`1`}j.push(n)}F.den+=D}else if(E===`year`)p<0&&j.push(x.negative),j.push(String(Math.abs(p)).padStart(4,`0`));else if(E===`year-short`){let e=p%100;j.push(e<10?`0`:``,e)}else if(E===`month`)j.push(w.pad&&m<10?`0`:``,m);else if(E===`monthname-single`)t.date_system===6?j.push(x.mmmm6[m-1].charAt(0)):j.push(x.mmmm[m-1].charAt(0));else if(E===`monthname-short`)t.date_system===6?j.push(x.mmm6[m-1]):j.push(x.mmm[m-1]);else if(E===`monthname`)t.date_system===6?j.push(x.mmmm6[m-1]):j.push(x.mmmm[m-1]);else if(w.type===`weekday-short`)j.push(x.ddd[g]);else if(E===`weekday`)j.push(x.dddd[g]);else if(E===`day`)j.push(w.pad&&h<10?`0`:``,h);else if(E===`hour`){let e=_%t.clock||(t.clock<24?t.clock:0);j.push(w.pad&&e<10?`0`:``,e)}else if(E===`min`)j.push(w.pad&&v<10?`0`:``,v);else if(E===`sec`)j.push(w.pad&&y<10?`0`:``,y);else if(E===`subsec`){j.push(x.decimal);let e=b.toFixed(t.sec_decimals);j.push(e.slice(2,2+w.decimals))}else if(E===`ampm`){let e=_<12?0:1;w.short&&!r?j.push(`AP`[e]):j.push(x.ampm[e])}else if(E===`hour-elap`){e<0&&j.push(x.negative);let t=P!==-1&&u>P?12:24*d+Math.floor(Math.abs(f)/3600);j.push(String(Math.abs(t)).padStart(w.pad,`0`))}else if(E===`min-elap`){e<0&&j.push(x.negative);let t=P!==-1&&u>P?720:1440*d+Math.floor(Math.abs(f)/60);j.push(String(Math.abs(t)).padStart(w.pad,`0`))}else if(E===`sec-elap`){e<0&&j.push(x.negative);let t=P!==-1&&u>P?43200:d*yn+Math.abs(f);j.push(String(Math.abs(t)).padStart(w.pad,`0`))}else if(E===`b-year`)j.push(p+543);else if(E===`b-year-short`){let e=(p+543)%100;j.push(e<10?`0`:``,e)}}return j.join(``)}var xn=cn([{type:Ke,value:`@`,raw:`@`}]);function Sn(e,t){for(let n=0;n<3;n++){let r=t[n];if(r){let t;if(r.condition){let n=r.condition[0],i=r.condition[1];n===`=`?t=e===i:n===`>`?t=e>i:n===`<`?t=e<i:n===`>=`?t=e>=i:n===`<=`?t=e<=i:n===`<>`&&(t=e!==i)}else t=!0;if(t)return r}}}function Cn(e){return!!(e[0]?.percent||e[1]?.percent||e[2]?.percent||e[3]?.percent)}function wn(e){return!!(e[0]?.date||e[1]?.date||e[2]?.date||e[3]?.date)}function Tn(e){let[t,n,r,i]=e;return!(t&&!t.generated||n&&!n.generated||r&&!r.generated||!i?.text||i.generated)}var En={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},Dn=[[`DMY`,1],[`DM`,2],[`MY`,3],[`MDY`,4],[`MD`,5],[`hmsa`,6],[`hma`,7],[`hms`,8],[`hm`,9]],On=[[Le,/^General/i,0],[Re,/^#/,0],[ze,/^0/,0],[Be,/^\?/,0],[Ve,/^\//,0],[Ge,/^;/,0],[Ke,/^@/,0],[qe,/^\+/,0],[Je,/^-/,0],[Ye,/^\./,0],[Xe,/^ /,0],[Ze,/^%/,0],[Qe,/^[1-9]/,0],[$e,/^(?:B[12])/i,0],[et,/^B$/,0],[tt,/^(?:[hH]+|[mM]+|[sS]+|[yY]+|[bB]+|[dD]+|[gG]+|[aA]{3,}|e+)/,0],[nt,/^(?:\[(h+|m+|s+)\])/i,1],[rt,/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+(?:[eE][+-]?\d+)?)?\]/,[1,2]],[it,/^\[(DBNum[0-4]?\d)\]/i,1],[at,/^\[(NatNum[0-4]?\d)\]/i,1],[ot,/^\[\$([^\]]+)\]/,1],[st,/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*\d+)\]/i,1],[ct,/^\[([^\]]+)\]/,1],[lt,/^(?:AM\/PM|am\/pm|A\/P)/,0],[ut,/^\\(.)/,1],[dt,/^"([^"]*?)"/,1],[ft,/^_(\\.|.)/,1],[`exp`,/^[Ee]([+-])/,1],[pt,/^\*(\\.|.)/,1],[mt,/^[()]/,0],[et,/^[EÈÉÊËèéêëĒēĔĕĖėĘęĚěȄȅȆȇȨȩNnÑñŃńŅņŇňǸǹ["*/\\_]/,0],[ht,/^./,0]],kn=e=>{let t=(e||`\0`).charCodeAt(0);return t===63||t===35||t>=48&&t<=57};function An(e){let t=0,n=[],r=[];for(;t<e.length;){let i=e.slice(t),a=0,o=/^(,+)(.)?/.exec(i);if(o){let i=o[1];a=i.length;let s=e[t-1]||``,c=!1,l=!1;kn(s)?(c=!0,l=!0):s===`.`&&(l=!0);let u=o[2]||``;if(!c||u&&u!==`;`||(c=!1),l&&kn(u)&&(l=!1),c&&!l)n.push({type:He,value:`,`,raw:i});else if(!c&&l)n.push({type:Ue,value:`,`,raw:i});else if(c&&l){let e={type:Ue,value:`,`,raw:i};n.push(e),r.push(e)}else n.push({type:We,value:`,`,raw:i})}else{let e;for(let[t,r,o]of On){let s=r.exec(i);if(s){e={type:t,value:Array.isArray(o)?o.map(e=>s[e]):s[o||0],raw:s[0]},n.push(e),a=s[0].length;break}}r.length&&e.raw===`;`&&(r.length=0),r.length&&e.raw===`.`&&(r.length=0),r.length&&kn(e.raw)&&(r.forEach(e=>e.type=He),r.length=0)}if(!a){let e=i[0];a=1,n.push({type:ht,value:e,raw:e})}t+=a}return n}var jn=e=>{let[t,n]=e.condition??[];n<0&&(t===`<`||t===`<=`||t===`=`)||n===0&&t===`<`||e.tokens.unshift({type:`minus`,volatile:!0})},Mn=(e,t=null)=>{let n={};for(let t in e)Array.isArray(e[t])?n[t]=[...e[t]]:n[t]=e[t];return t&&n.tokens.unshift(t),n.generated=!0,n},Nn=Object.create({});function Pn(e,t=!1){e||=`General`;let n=Nn[e];if(!n)try{n=function(e){let t=[],n,r=!1,i=null,a=0,o=!1,s=0,c=0,l=An(e);do{if(o=cn(l),(o.date||o.general)&&(o.int_pattern.length||o.frac_pattern.length||o.scale!==1||o.text))throw Error(`Illegal format`);if(o.condition&&(c++,r=!0),o.text){if(i)throw Error(`Unexpected partition`);i=o}o.locale&&(n=Tt(o.locale)),t.push(o),a=+(l[o.tokensUsed]?.type===`break`),l=l.slice(o.tokensUsed+a),s++}while(a&&s<4&&c<3);if(a)throw Error(`Unexpected partition`);if(c>2)throw Error(`Unexpected condition`);let u=t[3];if(u&&(u.int_pattern.length||u.frac_pattern.length||u.date))throw Error(`Unexpected partition`);if(r){t[0].condition||(t[0].condition=[`>`,0]);let e=t.length;if(e===1&&(t[1]=cn(An(`General`)),t[1].generated=!0),e<3){let e=t[0],n=t[1];if(jn(e),n.condition)jn(n);else{let t=e.condition;(t[0]===`=`||t[1]>=0&&(t[0]===`>`||t[0]===`>=`))&&n.tokens.unshift({type:`minus`,volatile:!0})}}else t.forEach(jn)}else{if(t.length<4&&i)for(let e=0,n=t.length;e<n;e++)t[e]===i&&t.splice(e,1);if(t.length<1&&i&&(t[0]=cn(An(`General`)),t[0].generated=!0),t.length<2&&t.push(Mn(t[0],{type:`minus`,volatile:!0})),t.length<3&&t.push(Mn(t[0])),t.length<4)if(i)t.push(i);else{let e=cn(An(`@`));e.generated=!0,t.push(e)}t[0].condition=[`>`,0],t[1].condition=[`<`,0],t[2].condition=null}return{pattern:e,partitions:t,locale:n}}(e),Nn[e]=n}catch(r){if(t)throw r;let i={tokens:[{type:`error`}],error:r.message};n={pattern:e,partitions:[i,i,i,i],error:r.message,locale:null}}return n}function Fn(e,t,n={}){let r=Object.assign({},Rt,n),i=Pn(e,r.throws);return function(e,t,n){let r=t.partitions,i=Et(t.locale||n.locale),a=r[3]?r[3]:xn;if(typeof e==`boolean`&&(e=(i||Ot).bool[+!e]),e==null)return``;let o=typeof e==`bigint`;if(typeof e!=`number`&&!o)return bn(e,a,n,i);if(!o&&!isFinite(e)){let t=i||Ot;return isNaN(e)?t.nan:(e<0?t.negative:``)+t.infinity}let s=Sn(e,r);return s?bn(e,s,n,i):n.overflow}(Gt(t,r)??t,i,r)}function In(e,t,n){let r=Object.assign({},Rt,n),i=Pn(e,r.throws);return function(e,t,n){let r=t.partitions,i=r[3],a=null;return typeof e!=`number`&&typeof e!=`bigint`||!isFinite(e)||(i=Sn(e,r)),i?.color&&(a=i.color),a&&typeof a==`number`&&n.indexColors&&(a=gt[a-1]||`#000`),a}(Gt(t,r)??t,i,r)}function Ln(e,t={}){let n=Pn(e,!1);return n.info||=function(e,t=null){let[n,r]=e,i=n.frac_max,a={type:`general`,isDate:wn(e),isText:Tn(e),isPercent:Cn(e),maxDecimals:n.general?9:i,scale:n.scale??1,color:0,parentheses:0,grouped:+!!n.grouping},o=!a.isDate&&!a.isText&&!n.error&&n.tokens.some(e=>e.type===`string`&&(t?e.value===t:vt.test(e.value))),s=`G`,c=i>=0?Math.min(15,i):``,l=``,u=``;if(r?.color&&(u=`-`,a.color=1),n.parens&&(l=`()`,a.parentheses=1),o)s=`C`,a.type=`currency`;else if(n.error)a.type=`error`,a.maxDecimals=0;else if(a.isDate){let e=0,t=0,r=``;n.tokens.forEach(n=>{let i=n.type;/^(b-)?year/.test(i)?(r+=`Y`,t++):i.startsWith(`month`)?(r+=`M`,t++):/^(week)?day/.test(i)?(r+=`D`,t++):i!==`hour`&&i!==`min`&&i!==`sec`&&i!==`ampm`||(r+=i[0],e++)}),a.type=`date`,t&&e?a.type=`datetime`:!t&&e&&(a.type=`time`);let i=Dn.find(e=>r.startsWith(e[0]));s=i?`D`:`G`,c=i?i[1]:``}else a.isText?(s=`G`,a.type=`text`,c=``,a.maxDecimals=0):n.general?(s=`G`,a.type=`general`,c=``):n.fractions?(s=`G`,a.type=`fraction`,c=``):n.exponential?(s=`S`,a.type=`scientific`):a.isPercent?(s=`P`,a.type=`percent`):n.grouping?(s=`,`,a.type=`grouped`):(n.int_max||i)&&(s=`F`,a.type=`number`);return a.code=s+c+u+l,a.level=En[a.type],Object.freeze(a)}(n.partitions,t?.currency),n.info}Object.freeze({AMPM:lt,BREAK:Ge,CALENDAR:$e,CHAR:ht,COLOR:st,COMMA:We,CONDITION:rt,DATETIME:tt,DBNUM:it,DIGIT:Qe,DURATION:nt,ERROR:et,ESCAPED:ut,EXP:`exp`,FILL:pt,GENERAL:Le,GROUP:He,HASH:Re,LOCALE:ot,MINUS:Je,MODIFIER:ct,NATNUM:at,PAREN:mt,PERCENT:Ze,PLUS:qe,POINT:Ye,QMARK:Be,SCALE:Ue,SKIP:ft,SLASH:Ve,SPACE:Xe,STRING:dt,TEXT:Ke,ZERO:ze});var Rn=Object.freeze({0:`General`,1:`0`,2:`0.00`,3:`#,##0`,4:`#,##0.00`,5:`$#,##0_);($#,##0)`,6:`$#,##0_);[Red]($#,##0)`,7:`$#,##0.00_);($#,##0.00)`,8:`$#,##0.00_);[Red]($#,##0.00)`,9:`0%`,10:`0.00%`,11:`0.00E+00`,12:`# ?/?`,13:`# ??/??`,14:`m/d/yy`,15:`d-mmm-yy`,16:`d-mmm`,17:`mmm-yy`,18:`h:mm AM/PM`,19:`h:mm:ss AM/PM`,20:`h:mm`,21:`h:mm:ss`,22:`m/d/yy h:mm`,23:`General`,24:`General`,25:`General`,26:`General`,27:`m/d/yyyy`,28:`m/d/yyyy`,29:`m/d/yyyy`,30:`m/d/yyyy`,31:`m/d/yyyy`,32:`h:mm:ss`,33:`h:mm:ss`,34:`h:mm:ss`,35:`h:mm:ss`,36:`m/d/yyyy`,37:`#,##0_);(#,##0)`,38:`#,##0_);[Red](#,##0)`,39:`#,##0.00_);(#,##0.00)`,40:`#,##0.00_);[Red](#,##0.00)`,41:`_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)`,42:`_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)`,43:`_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)`,44:`_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)`,45:`mm:ss`,46:`[h]:mm:ss`,47:`mmss.0`,48:`##0.0E+0`,49:`@`,50:`m/d/yyyy`,51:`m/d/yyyy`,52:`m/d/yyyy`,53:`m/d/yyyy`,54:`m/d/yyyy`,55:`m/d/yyyy`,56:`m/d/yyyy`,57:`m/d/yyyy`,58:`m/d/yyyy`,59:`00000`,60:`0.00`,61:`#,##0`,62:`#,##0.00`,63:`$#,##0_);($#,##0)`,64:`$#,##0_);[Red]($#,##0)`,65:`$#,##0.00_);($#,##0.00)`,66:`$#,##0.00_);[Red]($#,##0.00)`,67:`0%`,68:`0.00%`,69:`# ?/?`,70:`# ??/??`,71:`m/d/yyyy`,72:`m/d/yyyy`,73:`d-mmm-yy`,74:`d-mmm`,75:`mmm-yy`,76:`h:mm`,77:`h:mm:ss`,78:`m/d/yyyy h:mm`,79:`mm:ss`,80:`[h]:mm:ss`,81:`mm:ss.0`});function zn(e){return Rn[e]}function Bn(e){return typeof e==`number`?Rn[e]??`General`:e}var Vn=new Map;for(let e in Rn){let t=Number(e),n=Rn[t];Vn.has(n)||Vn.set(n,t)}var Hn={AD:`EUR`,AT:`EUR`,BE:`EUR`,CY:`EUR`,DE:`EUR`,EE:`EUR`,ES:`EUR`,FI:`EUR`,FR:`EUR`,GR:`EUR`,HR:`EUR`,IE:`EUR`,IT:`EUR`,LT:`EUR`,LU:`EUR`,LV:`EUR`,MC:`EUR`,ME:`EUR`,MT:`EUR`,NL:`EUR`,PT:`EUR`,SI:`EUR`,SK:`EUR`,SM:`EUR`,VA:`EUR`,XK:`EUR`,AL:`ALL`,BA:`BAM`,BG:`BGN`,BY:`BYN`,CH:`CHF`,CZ:`CZK`,DK:`DKK`,FO:`DKK`,GB:`GBP`,GE:`GEL`,GG:`GBP`,GI:`GIP`,IM:`GBP`,IS:`ISK`,JE:`GBP`,LI:`CHF`,MD:`MDL`,MK:`MKD`,NO:`NOK`,PL:`PLN`,RO:`RON`,RS:`RSD`,RU:`RUB`,SE:`SEK`,SJ:`NOK`,TR:`TRY`,UA:`UAH`,AG:`XCD`,AI:`XCD`,AR:`ARS`,AW:`AWG`,BB:`BBD`,BL:`EUR`,BM:`BMD`,BO:`BOB`,BQ:`USD`,BR:`BRL`,BS:`BSD`,BZ:`BZD`,CA:`CAD`,CL:`CLP`,CO:`COP`,CR:`CRC`,CU:`CUP`,CW:`XCG`,DM:`XCD`,DO:`DOP`,EC:`USD`,FK:`FKP`,GD:`XCD`,GF:`EUR`,GL:`DKK`,GP:`EUR`,GT:`GTQ`,GY:`GYD`,HN:`HNL`,HT:`HTG`,JM:`JMD`,KN:`XCD`,KY:`KYD`,LC:`XCD`,MF:`EUR`,MQ:`EUR`,MS:`XCD`,MX:`MXN`,NI:`NIO`,PA:`PAB`,PE:`PEN`,PM:`EUR`,PR:`USD`,PY:`PYG`,SR:`SRD`,SV:`USD`,SX:`XCG`,TC:`USD`,TT:`TTD`,US:`USD`,UY:`UYU`,VC:`XCD`,VE:`VES`,VG:`USD`,VI:`USD`,AE:`AED`,AF:`AFN`,AM:`AMD`,AZ:`AZN`,BD:`BDT`,BH:`BHD`,BN:`BND`,BT:`BTN`,CC:`AUD`,CN:`CNY`,CX:`AUD`,HK:`HKD`,ID:`IDR`,IL:`ILS`,IN:`INR`,IQ:`IQD`,IR:`IRR`,JO:`JOD`,JP:`JPY`,KG:`KGS`,KH:`KHR`,KP:`KPW`,KR:`KRW`,KW:`KWD`,KZ:`KZT`,LA:`LAK`,LB:`LBP`,LK:`LKR`,MM:`MMK`,MN:`MNT`,MO:`MOP`,MV:`MVR`,MY:`MYR`,NP:`NPR`,OM:`OMR`,PH:`PHP`,PK:`PKR`,PS:`ILS`,QA:`QAR`,SA:`SAR`,SG:`SGD`,SY:`SYP`,TH:`THB`,TJ:`TJS`,TL:`USD`,TM:`TMT`,TW:`TWD`,UZ:`UZS`,VN:`VND`,YE:`YER`,AO:`AOA`,BF:`XOF`,BI:`BIF`,BJ:`XOF`,BW:`BWP`,CD:`CDF`,CF:`XAF`,CG:`XAF`,CI:`XOF`,CM:`XAF`,CV:`CVE`,DJ:`DJF`,DZ:`DZD`,EG:`EGP`,EH:`MAD`,ER:`ERN`,ET:`ETB`,GA:`XAF`,GH:`GHS`,GM:`GMD`,GN:`GNF`,GQ:`XAF`,GW:`XOF`,KE:`KES`,KM:`KMF`,LR:`LRD`,LS:`LSL`,LY:`LYD`,MA:`MAD`,MG:`MGA`,ML:`XOF`,MR:`MRU`,MU:`MUR`,MW:`MWK`,MZ:`MZN`,NA:`NAD`,NE:`XOF`,NG:`NGN`,RE:`EUR`,RW:`RWF`,SC:`SCR`,SD:`SDG`,SH:`SHP`,SL:`SLE`,SN:`XOF`,SO:`SOS`,SS:`SSP`,ST:`STN`,SZ:`SZL`,TD:`XAF`,TG:`XOF`,TN:`TND`,TZ:`TZS`,UG:`UGX`,YT:`EUR`,ZA:`ZAR`,ZM:`ZMW`,ZW:`ZWG`,AS:`USD`,AU:`AUD`,CK:`NZD`,FJ:`FJD`,FM:`USD`,GU:`USD`,KI:`AUD`,MH:`USD`,MP:`USD`,NC:`XPF`,NF:`AUD`,NR:`AUD`,NU:`NZD`,NZ:`NZD`,PF:`XPF`,PG:`PGK`,PW:`USD`,SB:`SBD`,TK:`NZD`,TO:`TOP`,TV:`AUD`,VU:`VUV`,WF:`XPF`,WS:`WST`},Un=new Set([`ar`,`he`,`fa`,`ur`,`ps`,`sd`,`ug`,`dv`,`ku`]),Wn={US:{firstDay:0,weekend:[6,0]},CA:{firstDay:0,weekend:[6,0]},GB:{firstDay:1,weekend:[6,0]},DE:{firstDay:1,weekend:[6,0]},FR:{firstDay:1,weekend:[6,0]},ES:{firstDay:1,weekend:[6,0]},IT:{firstDay:1,weekend:[6,0]},BR:{firstDay:0,weekend:[6,0]},MX:{firstDay:0,weekend:[6,0]},JP:{firstDay:0,weekend:[6,0]},CN:{firstDay:1,weekend:[6,0]},IN:{firstDay:0,weekend:[6,0]},AE:{firstDay:6,weekend:[5,6]},SA:{firstDay:0,weekend:[5,6]}},Gn=new Set([`hi-IN`,`en-IN`,`bn-IN`,`gu-IN`,`mr-IN`,`ta-IN`,`te-IN`,`kn-IN`,`ml-IN`,`pa-IN`]);function Kn(e,t){let n=new Intl.DateTimeFormat(e,t),r=new Date(Date.UTC(2001,10,21,13,5,9)),i=n.formatToParts(r),a=n.resolvedOptions(),o=typeof a.hour12==`boolean`?a.hour12:a.hourCycle?/h1[12]/.test(a.hourCycle):i.some(e=>e.type===`dayPeriod`),s=(e,t)=>{switch(e){case`year`:return t.length>=4?`yyyy`:`yy`;case`month`:return/^\d+$/.test(t)?t.length===2?`MM`:`M`:t.length<=3?`MMM`:`MMMM`;case`day`:return t.length===2?`dd`:`d`;case`weekday`:return t.length<=3?`EEE`:`EEEE`;case`hour`:{let e=t.length===2;return o?e?`hh`:`h`:e?`HH`:`H`}case`minute`:return t.length===2?`mm`:`m`;case`second`:return t.length===2?`ss`:`s`;case`dayPeriod`:return`a`;case`era`:return t.length<=3?`G`:`GGGG`;case`timeZoneName`:return t.length>3?`zzzz`:`z`;default:return``}},c=``;for(let e of i)c+=e.type===`literal`?e.value:s(e.type,e.value);return c}function qn(e,t){let n=new Intl.DateTimeFormat(e,{month:t});return Array.from({length:12},(e,t)=>n.format(new Date(2020,t,1)))}function Jn(e,t){let n=new Intl.DateTimeFormat(e,{weekday:t});return Array.from({length:7},(e,t)=>n.format(new Date(2020,7,2+t)))}function Yn(e,t){let n=new Intl.NumberFormat(e).resolvedOptions().numberingSystem||`latn`,{decimal:r,group:i,minusSign:a,percentSign:o}=function(e){let t=new Intl.NumberFormat(e,{useGrouping:!0,maximumFractionDigits:1}).formatToParts(12345.6);return{decimal:t.find(e=>e.type===`decimal`)?.value??`.`,group:t.find(e=>e.type===`group`)?.value??`,`,minusSign:new Intl.NumberFormat(e).formatToParts(-1).find(e=>e.type===`minusSign`)?.value??`-`,percentSign:new Intl.NumberFormat(e,{style:`percent`,maximumFractionDigits:0}).formatToParts(50).find(e=>e.type===`percentSign`)?.value??`%`}}(e),s=Gn.has(e)?[3,2]:i===``?[]:function(e,t){let n=new Intl.NumberFormat(e,{useGrouping:!0}).format(1234567890123),r=[];for(let e=0;e<n.length;e++)n[e]===t&&r.push(e);if(r.length===0)return[];let i=r.map(e=>n.length-1-e).sort((e,t)=>e-t),a=[];for(let e=0;e<i.length;e++){let t=e===0?-1:i[e-1];a.push(i[e]-t-1)}if(a.every(e=>e===a[0]))return[a[0]];let o=a[a.length-1];return[a[a.length-2],o]}(e,i),{code:c,symbol:l,position:u,spacing:d}=function(e){let t;try{t=new Intl.Locale(e).maximize().region??``}catch{t=``}let n=Hn[t]??`USD`,r=new Intl.NumberFormat(e,{style:`currency`,currency:n}).formatToParts(12),i=r.map(e=>e.type),a=i.indexOf(`currency`),o=[i.indexOf(`integer`),i.indexOf(`nan`)].filter(e=>e!==-1),s=o.length>0?Math.min(...o):-1,c=a!==-1&&s!==-1&&a<s,l=r.some(e=>e.type===`literal`&&/\s/.test(e.value))?`space`:`tight`;return{code:n,symbol:r[a]?.value??n,position:c?`before`:`after`,spacing:l}}(e),f=Kn(e,{dateStyle:`short`}),p=Kn(e,{dateStyle:`medium`}),m=Kn(e,{dateStyle:`long`}),h=Kn(e,{timeStyle:`short`}),g=Kn(e,{timeStyle:`medium`}),{firstDay:_,weekend:v}=function(e){try{let t=new Intl.Locale(e);if(t.weekInfo)return{firstDay:t.weekInfo.firstDay,weekend:[t.weekInfo.weekend[0],t.weekInfo.weekend[t.weekInfo.weekend.length-1]]}}catch{}return Wn[function(e){let t=e.split(/[-_]/);return t.length>=2?t[1].toUpperCase():``}(e)]??{firstDay:1,weekend:[6,0]}}(e),{am:y,pm:b}=function(e){return{am:new Intl.DateTimeFormat(e,{hour:`numeric`,hour12:!0}).formatToParts(new Date(Date.UTC(2e3,0,1,9))).find(e=>e.type===`dayPeriod`)?.value,pm:new Intl.DateTimeFormat(e,{hour:`numeric`,hour12:!0}).formatToParts(new Date(Date.UTC(2e3,0,1,18))).find(e=>e.type===`dayPeriod`)?.value}}(e),x=qn(e,`long`),S=qn(e,`short`),C=Jn(e,`long`),w=Jn(e,`short`),T=function(e){return!!new Intl.DateTimeFormat(e,{hour:`numeric`}).resolvedOptions().hour12}(e),{list:E,csv:D}=function(e){let t=e===`,`?`;`:`,`;return{list:t,csv:t}}(r),O=function(e){let t=function(e){return e.split(/[-_]/)[0]}(e);return Un.has(t)}(e),k={tag:e,numberingSystem:n,decimal:r,group:i,grouping:s,minusSign:a,percentSign:o,permilleSign:`‰`,currencyCode:c,currencySymbol:l,currencyDisplay:`symbol`,currencyPosition:u,currencySpacing:d,date:{calendar:new Intl.DateTimeFormat(e).resolvedOptions().calendar||`gregory`,short:f,medium:p,long:m,timeShort:h,timeLong:g,am:y,pm:b,firstDay:_,weekend:v,monthsWide:x,monthsAbbr:S,weekdaysWide:C,weekdaysAbbr:w,hour12:T},listSeparator:E,csvDelimiter:D,rtl:O,collator:{sensitivity:`accent`,numeric:!1}};return t?function(e,t){let{date:n,...r}=t;return{...e,...r,tag:e.tag,date:n?{...e.date,...n}:e.date}}(k,t):k}function Xn(e){return typeof e!=`object`||!e?JSON.stringify(e)??`null`:Array.isArray(e)?`[`+e.map(Xn).join(`,`)+`]`:`{`+Object.keys(e).sort().map(t=>JSON.stringify(t)+`:`+Xn(e[t])).join(`,`)+`}`}var Zn=new Map;function Qn(e,t){let n=t?e+`\0`+Xn(t):e,r=Zn.get(n);return r||(r=Yn(e,t),Zn.set(n,r)),r}var $n=1462;function er(e){let t=(6+Math.floor(e))%7;return t===0?7:t}function tr(e,t,n){let r=function(e,t,n){let r=Math.floor((14-t)/12),i=e+4800-r,a=t+12*r-3;return n+Math.floor((153*a+2)/5)+365*i+Math.floor(i/4)-Math.floor(i/100)+Math.floor(i/400)-32045}(e,t,1)-2415019;return(r<=60?r-1:r)+n-1}function nr(e,t,n,r=0,i=0,a=0,o=0){let s=3600*r+60*i+a+o/1e3,c=Math.floor(s/86400);return tr(e,t,n)+c+(s-86400*c)/86400}function rr(e){let t=86400*(e-Math.floor(e)),n=t-Math.floor(t);return(n>.9999||n<1e-6)&&(n=0),Math.round(1e3*n)}function ir(e,t=!1){return e instanceof Date||Object.prototype.toString.call(e)===`[object Date]`?!isNaN(e.getTime()):!t&&typeof e==`number`&&!(e<0||e>2958465)}function ar(e,t,n){return n===`m`||n===`month`||n===`months`?(r=e,12*((i=t).getUTCFullYear()-r.getUTCFullYear())+(i.getUTCMonth()-r.getUTCMonth())+(i.getUTCDate()-r.getUTCDate()<0?-1:0)):n===`y`||n===`year`||n===`years`?function(e,t){return Math.abs(t.getFullYear()-e.getFullYear())}(e,t):n===`d`||n===`day`||n===`days`?function(e,t){return Math.floor((Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())-Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))/864e5)}(e,t):void console.warn(`invalid unit`+n);var r,i}var or=`d`,sr=`m`,cr=`y`;function lr(e,t,n){if(n===`m`||n===`month`||n===`months`){let n=new Date(e.getTime());return new Date(n.setMonth(n.getMonth()+t))}if(n===`y`||n===`year`||n===`years`){let n=new Date(e.getTime());return n.setFullYear(n.getFullYear()+t),n}if(n===`d`||n===`day`||n===`days`){let n=new Date(e.getTime());return n.setDate(n.getDate()+t),n}if(n===`hour`||n===`hours`||n===`h`){let n=new Date(e.getTime());return n.setHours(n.getHours()+t),n}return console.warn(`invalid unit`+n),null}function ur(e,t=!1,n){if(typeof e!=`number`||isNaN(e)||e<0)return null;let r=t?e+$n:e;if(r>2958465)return null;let[i,a,o,s,c,l]=Kt(r,{leap1900:!0}),u=rr(r),d=er(r),f=!0===n?dr:n||void 0;return f?(f.year=i,f.month=a,f.day=o,f.hour=s,f.minute=c,f.second=l,f.millis=u,f.dow=d,f.serial=e,f):{year:i,month:a,day:o,hour:s,minute:c,second:l,millis:u,dow:d,serial:e}}var dr={year:0,month:0,day:0,hour:0,minute:0,second:0,millis:0,dow:0,serial:0};function fr(e,t=!1){if(!e)return null;let n=nr(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millis);return t?n-$n:n}function pr(e,t=!1){if(typeof e!=`number`||isNaN(e)||e<0)return null;let n=t?e+$n:e;if(n>2958465)return null;let[r,i,a,o,s,c]=Kt(n,{leap1900:!0});return new Date(r,i-1,a,o,s,c,rr(n))}function mr(e,t=!1){if(isNaN(e))return null;let n=nr(e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds());return t?n-$n:n}var hr=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),gr=e=>e.map(hr).join(`|`),_r=/MMMM|MMM|MM|M|dd|d|yyyy|yyy|EEEE|EEE|[^MdyE]+/g,vr=``;function yr(e,t,n){let r=t.regex.exec(e);if(!r)return null;let i={};for(let e=0;e<t.fields.length;e++){let a=r[e+1];switch(t.fields[e]){case`monthName`:{let e=n.get(a.toLowerCase());if(!e)return null;i.month=e;break}case`monthNum`:{let e=parseInt(a,10);if(e<1||e>12)return null;i.month=e;break}case`day`:{let e=parseInt(a,10);if(e<1||e>31)return null;i.day=e;break}case`year`:i.year=parseInt(a,10)}}return i.month===void 0?null:i}var br=new Map;function xr(e){let t=br.get(e);if(t)return t;let{date:n}=Qn(e),r=new Map,i=[];for(let e=0;e<12;e++){let t=n.monthsWide[e],a=[n.monthsAbbr[e],t];for(let e=3;e<t.length;e++)a.push(t.slice(0,e));for(let t of a){let n=t.toLowerCase();r.has(n)||(r.set(n,e+1),i.push(t))}}i.sort((e,t)=>t.length-e.length);let a={mmm:i,mmmm:i,ddd:n.weekdaysAbbr,dddd:n.weekdaysWide},o=function(e){let t=e,n=[];for(let e=0;e<t.length;e++){let r=t[e][0],i=!r.startsWith(`~`);i||(r=r.slice(1));let a=/yyy(?!y)/.test(r),o=r.indexOf(`yyyy`)>-1,s=r.indexOf(`.`)>-1,c=r.indexOf(`-`)>-1;n.push({parseFormat:r,numberFormat:t[e][1],todaysYear:!a&&!o,windowYear:!o,excelOnly:i,containsDot:s,containsDash:c}),a&&n.push({parseFormat:r.replace(/yyy/g,`yyyy`),numberFormat:t[e][1],todaysYear:!1,windowYear:!1,excelOnly:i,containsDot:s,containsDash:c})}return n}([(s=function(e){let t=[];for(let n of e){let e=n===`d`||n===`D`?`d`:n===`M`||n===`L`?`M`:n===`y`||n===`Y`?`y`:null;e&&!t.includes(e)&&t.push(e)}let n=t.indexOf(`d`),r=t.indexOf(`M`);return{dayFirst:n!==-1&&r!==-1&&n<r,yearFirst:t[0]===`y`}}(n.short)).dayFirst?[`d-MM`,`d-mmm`]:[`MM-d`,`d-mmm`],[`MM-yyy`,`mmm-yy`],[`M-yyy`,`mmm-yy`],s.dayFirst?[`d-M-yyy`,`Short Date`]:[`M-d-yyy`,`Short Date`],[`yyyy-M-d`,`Short Date`],[`d.MMM`,`d-mmm`],[`d.MMMM`,`d-mmm`],[`d.MMM.yyy`,`d-mmm-yy`],[`d.MMMM.yyy`,`d-mmm-yy`],[`MMM.d`,`d-mmm`],[`MMMM.d`,`d-mmm`],[`MMM.yyy`,`mmm-yy`],[`MMMM.yyy`,`mmm-yy`],[`MMM dd, yyy`,`d-mmm-yy`],[`MMMM dd, yyy`,`d-mmm-yy`],[`~EEE, MMMM dd, yyy`,`[$-x-sysdate]ddd, mmmm dd, yyyy`],[`~EEEE, MMMM dd, yyy`,`[$-x-sysdate]dddd, mmmm dd, yyyy`]]);var s;let c=o.map(e=>function(e,t){let n=[],r=`^`;for(let i of e.match(_r)??[])switch(i){case`MMMM`:n.push(`monthName`),r+=`(${gr(t.mmmm)})`;break;case`MMM`:n.push(`monthName`),r+=`(${gr(t.mmm)})`;break;case`MM`:case`M`:n.push(`monthNum`),r+=`(\\d{1,2})`;break;case`dd`:case`d`:n.push(`day`),r+=`(\\d{1,2})`;break;case`yyyy`:n.push(`year`),r+=`(\\d{3,4})`;break;case`yyy`:n.push(`year`),r+=`(\\d{1,2})`;break;case`EEEE`:n.push(`weekday`),r+=`(${gr(t.dddd)})`;break;case`EEE`:n.push(`weekday`),r+=`(${gr(t.ddd)})`;break;default:r+=hr(i.replaceAll(`.`,vr))}return{regex:RegExp(r+`$`,`i`),fields:n}}(e.parseFormat,a)),l=function(e){let t=e.match(/[^a-zA-Z]/);return t?t[0]:`/`}(n.short),u=l===`/`||l===`-`?``:hr(l),d=RegExp(`[/${u}]`,`g`),f=RegExp(`[-/ ${u}]`,`g`);return t={formats:o,compiled:c,monthByName:r,weekdaysAbbr:n.weekdaysAbbr,weekdaysWide:n.weekdaysWide,numericSep:d,wildcardSep:f},br.set(e,t),t}var Sr={year:0,month:1,day:0,hour:0,minute:0,second:0,millis:0};function Cr(e,t){let n={...Sr,...t},r=e.isDate1904();return n.year=r?1904:1900,r&&t.day===void 0&&(n.day=1),n.serial=fr(n,r),n.dow=er(r?n.serial+$n:n.serial),n}var wr=RegExp(`([0-9]{1,2})\\s*(P[M]?|A[M]?)\\s*$`,`i`),Tr=RegExp(`([0-9]+)\\s*\\:$`,`i`),Er=RegExp(`(\\s*[0-9]{1,2})\\s+(P[M]?|A[M]?)\\s*$`,`i`),Dr=new Map;function Or(e,t,n=!1,r=!1){if(!t||t.trim().length<2||t.indexOf(`:`)===-1&&t.match(Er)===null)return null;let{mid:i,last:a,lastMeridiem:o,split:s}=function(e){let t=Dr.get(e);if(t)return t;let n=hr(e);return t={mid:RegExp(`(\\s*[0-9]{1,4})\\s*(${n}\\s*[0-9]+)?\\s*\\:`,`i`),last:RegExp(`(\\s*[0-9]{1,4})\\s*(${n}\\s*[0-9]*)?\\s*$`,`i`),lastMeridiem:RegExp(`(\\s*[0-9]{1,4})\\s*(${n}\\s*[0-9]*)?\\s+(P[M]?|A[M]?)\\s*$`,`i`),split:RegExp(`^(\\s*[0-9]{1,4}\\s*(?:${n}\\s*[0-9]*)?(?:\\s+[AP]M?)?)\\s+(\\S.*)$`,`i`)},Dr.set(e,t),t}(e.getLocaleProfile().decimal),c=null,l=null,u=null,d=!1,f=!1,p=`h:mm AM/PM`,m=[],h=t,g=null;do{let e=h.indexOf(`:`);e===-1?(m.push(h),h=null):(m.push(h.substring(0,e+1)),h=h.substring(e+1,h.length))}while(m.length<3&&h&&h.length>0);if((h?.length??0)>0)return null;let _=(e,t,n,r=!1)=>{let i=e.match(t);if(!i||r&&(i.index!==0||i[0].length!==e.length))return null;g===null&&(g=e.substring(0,i.index));let a=parseInt(i[1]);if(i[2]&&u===null){if(n){let e=parseFloat(i[2].substring(1,i[2].length));isNaN(e)||(l=e)}let e=parseFloat(`.`+i[2].substring(1,i[2].length).trim());isNaN(e)||(c=e),u=n}return a},v=(e,t,n=!1)=>{let r=e.match(t);if(!r||r.length!==3||n&&(r.index!==0||r[0].length!==e.length))return null;g===null&&(g=e.substring(0,r.index)),d=!0;let i=parseInt(r[1]);return f=r[2].charAt(0)===`p`||r[2].charAt(0)===`P`,i};m[m.length-1].trim().length===0&&m.pop();let y=[];if(m.length>0){let e=_(m[0],Tr,!1);if(e===null&&(e=v(m[0],wr)),e===null)return null;y.push(e)}if(m.length>2){let e=_(m[1],i,!0,!0);if(e===null&&(e=v(m[0],Er)),e===null)return null;y.push(e)}let b=``;if(m.length>1){let e=m[m.length-1],t=e=>{let t=_(e,i,!1,!0);return t===null&&(t=_(e,a,!1,!0)),t===null&&(t=v(e,Er,!0)),t===null&&(t=(e=>{let t=e.match(o);if(!t||t.index!==0||t[0].length!==e.length)return null;if(g===null&&(g=``),d=!0,f=t[3].charAt(0)===`p`||t[3].charAt(0)===`P`,t[2]&&u===null){let e=parseFloat(`.`+t[2].substring(1).trim());isNaN(e)||(c=e),u=!1}return parseInt(t[1])})(e)),t},n=t(e);if(n===null&&r){let r=e.match(s);r&&(n=t(r[1]),n!==null&&(b=r[2]))}if(n===null)return null;y.push(n)}if((g??``).length>0&&!n)return null;if(!0===u&&(y.length===2&&y.splice(1,0,0),y[2]=l||0),y.length===2&&c!==null&&!0!==u&&y.unshift(0),d){if(y[0]>12||y[1]>=60||y[2]>=60)return null;y[0]===12?y[0]=f?12:0:f&&(y[0]+=12),c!==null&&(p=`mm:ss.0`)}else p=m.length>2?`h:mm:ss`:`h:mm`,y[0]>23&&(p=`[h]:mm:ss`),c!==null&&(p=`mm:ss.0`),y[1]>=60&&(p=`General`),y[2]>=60&&(p=`General`);return p!==`General`&&(y.length===1&&y.push(0),y.length===2&&(c===null?y.push(0):y.unshift(0))),{numberFormat:p,parsed:Cr(e,{hour:y[0]??0,minute:y[1]??0,second:y[2]??0,millis:1e3*(c??0)}),leadingText:g,trailingText:b}}var kr=(e,t,n=null,r=!1,i=!1)=>{let a=new Date(n??Date.now()).getFullYear(),{formats:o,compiled:s,monthByName:c,weekdaysAbbr:l,weekdaysWide:u,numericSep:d,wildcardSep:f}=xr(e.getLocale()),p=t.replaceAll(/^ +| +$/g,``).replaceAll(/ +/g,` `);p=p.replaceAll(/ *([-/]) */g,`$1`);let m=p.replaceAll(f,vr),h=p.replaceAll(d,`-`),g=e.isDate1904();for(let e=0;e<o.length;e++){if(!o[e].excelOnly&&!i)continue;let t=p;o[e].containsDot?t=m:o[e].containsDash&&(t=h);let n=yr(t,s[e],c);if(!n)continue;let r=n.year??a;o[e].windowYear&&n.year!==void 0&&(r=r<=29?2e3+r:1900+r),o[e].todaysYear&&(r=a);let d=n.day??1,f=r===1900&&n.month===2&&d===29,_=new Date(0);if(_.setFullYear(r,n.month-1,d),_.setHours(0,0,0,0),!f&&(_.getMonth()!==n.month-1||_.getDate()!==d))continue;let v=f?tr(1900,2,29)-(g?$n:0):mr(_,g),y=+!g;if(o[e].windowYear||v>=y){if(o[e].parseFormat.indexOf(`EEE`)>-1){let e=_.getDay(),n=t.toLowerCase();if(!n.includes(l[e].toLowerCase())&&!n.includes(u[e].toLowerCase()))return null}return{asSerialDate:v,asJSDate:_,numberFormat:o[e].numberFormat}}}if(!r){let r=t.replace(Ar,`$1 $2`).replace(jr,`$1 $2`);if(r!==t)return kr(e,r,n,!0,i)}return null},Ar=/(\d)(\p{L})/gu,jr=/(\p{L})(\d)/gu;function Mr(e){if(!e&&e!==0)return!1;let t=(e=Bn(e)).replaceAll(/\[([^)]+)\]/g,``).toLowerCase();return t=t.replaceAll(/".*"/g,``),t=t.replaceAll(/\\./g,``),t=t.replace(/[_*]./g,``),!!t.includes(`datetime`)||!t.includes(`time`)&&!!(t.includes(`d`)||t.includes(`m`)&&!t.includes(`h`)&&!t.includes(`s`)||t.includes(`y`)||t===`short date`||t===`medium date`||t===`long date`)}function Nr(e){if(!e&&e!==0)return!1;let t=(e=Bn(e)).replaceAll(/\[([^)]+)\]/g,``).toLowerCase();return t=t.replaceAll(/".*"/g,``),t=t.replaceAll(/\\./g,``),t=t.replace(/[_*]./g,``),!!t.includes(`datetime`)||!t.includes(`date`)&&!(!t.includes(`h`)&&!t.includes(`s`)&&t!==`short time`&&t!==`medium time`&&t!==`long time`)}function Pr(e,t,n=!1){let r=t,i=Or(e,t,!0,!0);if(i){let e=i.leadingText.trim(),t=i.trailingText.trim();if(e.length>0&&t.length>0)return null;r=e.length>0?e:t}let a=null;if(r.trim().length>0&&(a=kr(e,r),!a&&n)||(!a&&i&&(i.leadingText.trim().length>0||i.trailingText.trim().length>0)&&(i=null),!a&&!i))return null;let o=0;return a&&(o+=a.asSerialDate),i&&(o+=i.parsed.serial),o}var Fr=null,Ir=()=>Fr||=Intl.DateTimeFormat().resolvedOptions().locale??`en-US`,Lr=null,Rr=()=>{let e=n.DefaultLanguagePackService.getActive();if(!e)return null;let t=Lr;if(t!==null&&t.active===e)return t.locale;let r;try{let t=new Intl.Locale(e).maximize();r=t.region?`${t.language}-${t.region}`:t.baseName}catch{r=null}return Lr={active:e,locale:r},r},zr=class{constructor(e=`SheetXL Runtime`,t,n){this._description=e,this._options={isDate1904:()=>!1,...t},this._license=n}getDescription(){return this._description}getLocale(){return this._options.getLocale?.()??Ir()}getNow(){return this._options.getNow?.()??mr(new Date,this.isDate1904())}getLocaleProfile(){return Qn(this.getLocale(),this._options.getLocaleOverrides?.())}isDate1904(){return this._options.isDate1904()??!1}isR1C1(){return this._options.isR1C1?.()??!1}getLocation(){return xe()}getVersion(){try{let e=`0.7.23-beta.2`;if(e.indexOf(`.env.`)===-1)return`${e}`}catch{return`local`}return`local`}getOS(){return Se()}getUser(){return this._license?.getLicensee?.()??null}};function Br(e,t){if(t===null)return null;let r=n.CommonUtils.isObject(t);return e!=null&&r?n.CommonUtils.mergeContentful(e,t):r?n.CommonUtils.cloneObject(t):t}function Vr(e,t,n){return e==null||typeof e==`object`&&Object.keys(e).length===0}function Hr(e,t,n,r){if(e===t)return e??null}function Ur(e){return e==null}function Wr(e,t,r=1,i){if(r===0)return{preceding:e?[...e]:[],modified:[],trailing:[]};let a=function(e,t,r=1){let i=n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),a=e.slice(0,i),o=[],s=[];if(!e[i])return{preceding:a,modified:o,trailing:s};for(let n=i;n<e.length;n++)t+r<e[n].min?s.push({...e[n],min:e[n].min-r,max:e[n].max-r}):t>=e[n].min?Math.max(t,e[n].max+1-r)>e[n].min&&o.push({...e[n],max:Math.max(t-1,e[n].max-r)}):t<e[n].min&&t+r<=e[n].max&&o.push({...e[n],min:Math.max(t,e[n].min-r),max:e[n].max-r});return{preceding:a,modified:o,trailing:s}}(e,t,r),o=a.preceding,s=a.trailing,c=[];return o.length>0&&c.push(o.pop()),c=c.concat(a.modified),s.length>0&&c.push(s.shift()),{preceding:o,modified:qr(c,{onMerge:i?.onMerge??Hr}).modified,trailing:s}}function Gr(e,t,r){if(!e)throw Error(`runs can not be null`);if(!t)return{preceding:[],modified:e?[...e]:[],trailing:[]};let i=function(e,t,r,i,a=!1){if(!t)return{preceding:[],modified:e?[...e]:[],trailing:[]};let o,s=n.CommonUtils.findEqualOrGreater(e,t.min,e=>e.max),c=e.slice(0,s),l=e.slice(s),u=[],d={...t},f=l[0]||{min:t.min,max:t.max,value:void 0};for(o=a?(e,t,n)=>{let r=(i||Br)(t,n,e);r===void 0?delete e.value:e.value=r,u.push(e)}:(e,t,n)=>{let r=(i||Br)(t??null,n,e);r===void 0?delete e.value:e.value=r,u.push(e)};l.length>=0&&d.max-d.min>=0;){if(d.min<f.min)o({min:d.min,max:Math.min(d.max,f.min-1)},void 0,d.value),d={min:f.min,max:d.max,value:d.value},f={min:d.min,max:f.max,value:f.value};else if(d.min>f.min){let e=f.value!==void 0&&r?r(f,d.min):[f.value,f.value];u.push({min:f.min,max:Math.min(d.min,f.max)-1,value:e[0]}),d={min:Math.min(d.min,f.max),max:d.max,value:d.value},f={min:d.min,max:f.max,value:e[1]}}else{let e=f.value!==void 0&&r?r(f,d.min):[f.value,f.value];o({min:f.min,max:Math.min(d.max,f.max)},e[0],d.value),d={min:Math.min(d.max,f.max)+1,max:d.max,value:d.value},f={min:Math.min(d.max,f.max)+1,max:f.max,value:e[1]}}f.min<=f.max?l[0]=f:(l=l.slice(1),f=l[0]||{min:f.min,max:d.max})}return{preceding:c,modified:u,trailing:l}}(e,t,r?.onSplit,r?.onUpdate,r?.inPlace),a=[];i.preceding.length>0&&a.push(i.preceding.pop()),a=a.concat(i.modified),i.trailing.length>0&&a.push(i.trailing.shift());let o=function(e,t){if(!e||e.length===0)return{preceding:[],modified:e?[...e]:[],trailing:[]};let n=Math.min(e.length-1,t?.startOffset??0),r=Math.min(e.length,t?.endOffset??e.length),i=t?.cull??Ur,a=e.slice(0,n),o=e.slice(r),s=[];for(let t=n;t<r;t++)!0!==i(e[t].value,e[t].min,e[t].max)&&s.push(e[t]);return{preceding:a,modified:s,trailing:o}}(qr(a,{onMerge:r?.onMerge??Hr}).modified,{cull:r?.isCull||Vr});return{preceding:i.preceding,modified:o.modified,trailing:i.trailing}}function Kr(e){return[...e.preceding,...e.modified,...e.trailing]}function qr(e,t){if(!e||e.length===0)return{preceding:[],modified:e?[...e]:[],trailing:[]};let n=Math.min(e.length-1,t?.startOffset??0),r=Math.min(e.length,t?.endOffset??e.length),i=t?.onMerge??Hr,a=e.slice(0,n),o=e.slice(r),s=[],c={...e[n]},l=e[n]?.max||0;for(let t=n+1;t<=r;t++){let n=e[t],r=!1;if(n&&n.min<=e[t-1].max+1)if(c.value===void 0&&n.value===void 0)r=!0;else{let e=i(c.value,n.value,c.max-c.min+1,n.max-n.min+1);e!==void 0&&(r=!0,c.value=e)}r?c.max=Math.max(l,n.max):(s.push(c),c={...e[t]},n&&(c.max=Math.max(l,n.max))),c&&(l=c.max)}return{preceding:a,modified:s,trailing:o}}function Jr(e){return e&&e.sort((e,t)=>{let n=e.min-t.min;return n===0&&(n=e.max-t.max),n})}function Yr(e,t=!1){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let r=t?e:e.sort(),i=[],a=null;for(let e=0;e<r.length;e++){let t=r[e];a?a.max===t-1?a.max=t:(i.push(a),a={min:t,max:t}):a={min:t,max:t}}return a&&i.push(a),i}function Xr(e,t){return e?t?e||t?e.min>t.max||e.max<t.min?null:{min:Math.max(e.min,t.min),max:Math.min(e.max,t.max)}:null:{...e}:{...t}}function Zr(e){let t=e.length===0;return{runs:e,run:{min:t?-(2**53-1):2**53-1,max:t?2**53-1:-(2**53-1),value:null},index:2**53-1}}function Qr(e,t){let r=t.run,i=r.min,a=r.max;if(e>=i&&e<=a)return r.value;let o=t.index,s=t.runs;if(o<s.length-1&&e>a){o++;let n=s[o],i=n.min,a=n.max;if(e>=i&&e<=a)return t.index=o,r.min=i,r.max=a,r.value=n.value,r.value}if(o!==2**53-1&&o>0&&e<i){o--;let n=s[o],i=n.min,a=n.max;if(e>=i&&e<=a)return t.index=o,r.min=i,r.max=a,r.value=n.value,r.value}if(o=n.CommonUtils.findEqualOrGreater(s,e,e=>e.max),o===s.length)return o=s.length,t.index=o,r.min=s[o-1].max+1,r.max=2**53-1,r.value=null,null;let c=s[o],l=c.min,u=c.max;if(e>=l&&e<=u){t.index=o,r.min=l,r.max=u;let e=c.value;return r.value=e,e}return o--,t.index=o,r.min=o>=0?s[o].max+1:-(2**53-1),r.max=l-1,r.value=null,null}function $r(e,t,r,i){if(e.length===0){if(r!=null||i!=null){let e=t({min:r??i,max:i??r});if(e&&e.break)return e}return}let a=r??e[0].min,o=i??e[e.length-1].max,s=a-1,c=n.CommonUtils.findEqualOrGreater(e,a,e=>e.max),l=e[c];for(;l&&l.min<=o;){if(s<l.min-1){let e=t({min:Math.max(s+1,a),max:Math.min(l.min-1,o)});if(e&&e.break)return e}let n=t({...l,min:Math.max(l.min,a),max:Math.min(l.max,o)});if(n&&n.break)return n;s=l.max,l=e[++c]}if(s<o){let e=t({min:Math.min(s+1,o),max:o});if(e&&e.break)return e}}function ei(e,t,r){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let i=e.length,a=Array(i),o=r?t.rowStart:t.colStart,s=r?t.rowEnd:t.colEnd;for(let t=0;t<i;t++){let n=e[t],i={colStart:r?n.min:o,rowStart:r?o:n.min,colEnd:r?n.max:s,rowEnd:r?s:n.max};n.value!==void 0&&(i.value=n.value),a[t]=i}return a}function ti(e,t=!1){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let r=[],i=null,a=e.slice().sort((e,t)=>e.min-t.min),o=a.length;for(let e=0;e<o;e++){let n=a[e];i&&n.min<=i.max+1?t?i.max=Math.max(i.max,n.max):(i={min:i.max+1,max:n.max},r.push(i)):(i={min:n.min,max:n.max},r.push(i))}return r}function ni(e,t,n,r){let i;for(r&&(t=t.bind(r));!(i=e.next()).done;)try{t(i.value[1],i.value[0],n)}catch(t){if(typeof e.throw!=`function`)throw t;e.throw(t)}typeof e.return==`function`&&e.return()}function ri(e){let t=e.next.bind(e),n={next:e=>{let n=t(e);return n.done?oi:{done:n.done,value:n.value[1]}},[Symbol.iterator]:()=>n,...e.return&&{return:e.return.bind(e)},...e.throw&&{throw:e.throw.bind(e)}};return n}function ii(e){if(!e||e.length===0)return null;let t=2**53-1,r=-1,i=null;return(a,o=!1)=>{if(a===t)return a;!1!==o&&(t=2**53-1),a!==t+(o?-1:1)&&(r=function(e,t,r=!0){if(!e||e.length===0)return null;let i,a=-1;return r?(a=n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),i=e[a]):(a=n.CommonUtils.findEqualOrLesser(e,t,e=>e.min),i=e[a]),i?(r?t>i.max&&(a+=1,i=e[a]):t<i.min&&(--a,i=e[a]),i?a:-1):-1}(e,a,!o),i=e[r]);let s=a;if(o)for(;i&&s<=i.max;)s=i.min-1,i=e[--r];else for(;i&&s>=i.min;)s=i.max+1,i=e[++r];return t=s,s}}var ai,oi=Object.freeze({done:!0,value:void 0}),si=Object.freeze({next:()=>oi,[Symbol.iterator]:()=>si});Object.seal({done:!1,value:void 0}),function(e){e.isList=function(e){return!!e&&!!e.isIList},e.isListLike=function(e){return!!e&&typeof e.length==`number`&&typeof e.at==`function`},e.fromArray=function(e,n,r,i){return new t(e,n,r,i)};class t{constructor(e,t,r,i){this.g=t,this.s=r;let a=e??i;if(r&&e&&!i){i=Array(e.length);for(let t=0;t<e.length;t++){let n=e[t];i[t]=r(n,t)}a=i}this.a=a??n.CommonUtils.EmptyArray,t&&(this.at=e=>{e<0&&(e=a.length+e);let n=a[e];if(n!==void 0)return t(n,e)})}at(e){let t=this.a;return e<0&&(e=t.length+e),t[e]}fromArray(e){return new t(e,this.g,this.s)}get length(){return this.a.length}get isIList(){return!0}}e.ArrayList=t}(ai||={});var ci=class e{constructor(e){if(this._single=null,this._runs=null,this._length=0,this._runCache=null,e&&e.length>0){let t=ai.isList(e)&&!Array.isArray(e)?e:new ai.ArrayList(e);this._single=t,this._length=e.length}}at(e){let t=this._single;if(t)return t.at(e);let r=this._runCache;if(r&&r.min<=e&&r.max>=e){let t=r.value;return t.list.at(e-r.min+t.start)}let i=this._runs,a=i[n.CommonUtils.findEqualOrGreater(i,e,e=>e.max)];if(!a)return;let o=a.value;return this._runCache=a,o.list.at(e-a.min+o.start)}toArray(e=2**53-1){let t=[],n=this.entries(fi),r=n.next();for(;!r.done&&t.length<e;)t.push(r.value[1]),r=n.next();return t}entries(e){let t=this.length;if(t===0)return si;let r,i,a,o=!0,s=0,c=t-1;if(e){o=!e.reverse;let t=e.bounds;t&&(s=Math.max(t.min??s,s),c=Math.min(t.max??c,c)),r=e.reuseResult??null,i=e.processSkip}let l=o?1:-1,u=(o?s:c)-l,d=this._single;if(d)a=e=>{if(!(e<s||e>c))return d.at(e)};else{let e=this._runs,t=o?0:e.length-1,r=e[t],i=(n,i)=>{let a=n===t?r:e[n];if(a&&i>=a.min&&i<=a.max)return t=n,r=a,a};a=r=>{if(r<s||r>c)return;let a=i(t,r);if(a||=i(t+l,r),!a){let t=n.CommonUtils.findEqualOrGreater(e,r,e=>e.max);a=i(t,r)}if(!a)return;let o=a.value;return o.list.at(r-a.min+o.start)}}let f={next:e=>{let n,d=u+l;return e!==void 0&&(e<0&&(e=t+e),d=e),d<s||d>c||i&&(d=i(d,!o),d<s||d>c)?oi:(n=a(d),u=d,r?(r.done=!1,r.value[0]=d,r.value[1]=n,r):{done:!1,value:[u,n]})},[Symbol.iterator]:()=>f};return f}slice(t,n){let r=this._runs??li(this._single);if(!r)return ui;let i=this.length;if(t=Math.min(Math.max(0,t),i),(n=Math.min(Math.max(0,n??i),i))-t<=0)return ui;if(t<=0&&n>=i)return this;let a=t,o=n-1,s=[],c=0;for(let e=0;e<r.length;e++){let t=r[e],n=t.max;if(a===0&&n<=o){s.push(t);continue}let i=t.min;if(i>o){e=r.length;continue}if(n<a){c=n+1;continue}let l=Math.max(0,a-i),u=Math.max(0,n-o),d=u+l,f=t.value;s.push({min:i-c,max:n-d-c,value:{start:f.start+l,end:f.end-u,list:f.list}}),c+=d}let l=new e;return l._runs=s,l._length=o-a+1,l}concat(t){if(!t)return this;if(!ai.isListLike(t))throw Error(`Value must be IListLike`);let n=this._length;if(n===0)return t.isIReadableList?t:t.length===0?ui:new e(t);let r=t,i=t.length;if(i===0)return this;let a=this._runs??li(this._single),o=a.slice(0,a.length-1),s=a[a.length-1],c=s?s.min:0,l=s?s.max:0,u=s?s.value:null,d=u?u.list:null,f=u?u.end-u.start:0,p=e=>{let t=e.start,n=e.end,r=n-t;if(r+f<pi&&d&&d.fromArray){let r=e.list,i=[],a=u.start,o=u.end;for(let e=a;e<=o;e++)i.push(d.at(e));for(let e=t;e<=n;e++)i.push(r.at(e));let p=d.fromArray(i);if(p)return r=p,f=r.length-1,u={start:0,end:f,list:r},s={min:c,max:c+f,value:u},l=c+f,void(d=r)}o.push(s);let i=l+1,a=i+r;s={min:i,max:a,value:e},c=i,l=a,u=s?s.value:null,d=u?u.list:null,f=u?u.end-u.start:0};if(t instanceof e){let e=t._single;if(e)p({start:0,end:e.length-1,list:e});else{let e=t._runs;for(let t=0;t<e.length;t++)p(e[t].value)}}else p({start:0,end:i-1,list:r});o.push(s);let m=new e,h=n+i;return o.length===1&&o[0].min===0&&o[0].max===h-1?m._single=o[0].value.list:m._runs=o,m._length=h,m}get length(){return this._length}[Symbol.iterator](){return ri(this.entries())}get isIReadableList(){return!0}get isIList(){return!0}get[Symbol.toStringTag](){return`[ImmutableList]`}toString(){let e=this.length;if(e===0)return``;let t=``;for(let n=0;n<e;n++){n>0&&(t+=`,`);let e=this.at(n);t+=e==null?``:String(e)}return t}},li=e=>[{min:0,max:e.length-1,value:{start:0,end:e.length-1,list:e}}],ui=new ci,di=Object.seal({done:!1,value:[-1,null]}),fi=Object.freeze({reverse:!1,bounds:{min:0,max:2**53-1},skipRuns:null,reuseResult:di}),pi=4,mi=class e{constructor(t,n,r){this._root=Si,this._size=0,this._maxNodeSize=r>=4?Math.min(r,256):32,this._compare=n||e.defaultComparator,t&&this.setPairs(t)}get size(){return this._size}get length(){return this._size}isEmpty(){return this._size===0}clear(){this._root=Si,this._size=0}forEach(e,t){return t!==void 0&&(e=e.bind(t)),this.forEachPair((t,n)=>e(n,t,this))}forEachPair(e,t){let n=this.minKey(),r=this.maxKey();return this.forRange(n,r,!0,e,t)}get(e,t){return this._root.get(e,t,this)}set(e,t,n){this._root.isShared&&(this._root=this._root.clone());let r=this._root.set(e,t,n,this);return!0===r||!1===r?r:(this._root=new yi([this._root,r]),!0)}has(e){return this.forRange(e,e,!0,void 0)!==0}delete(t){return this.editRange(t,t,!0,e.DeleteRange)!==0}filter(t,n){let r=this.greedyClone(),i;return r.editAll((n,r,a)=>{if(!t(n,r,a))return i=e.DeleteValue}),!i&&n?this:r}mapValues(e){let t={},n=this.greedyClone();return n.editAll((n,r,i)=>(t.value=e(r,n,i),t)),n}reduce(e,t){let n,r=0,i=t,a=this.entries(this.minKey());for(;!(n=a.next()).done;)i=e(i,n.value,r++);return i}entries(e,t){let n=this.findPath(e);if(n===void 0)return hi();let{nodeQueue:r,nodeIndex:i,leaf:a}=n,o=t===void 0?0:1,s=e===void 0?-1:a.indexOf(e,0,this._compare)-1;return hi(()=>{e:for(;;)switch(o){case 0:if(++s<a.keys.length)return{done:!1,value:[a.keys[s],a.values[s]]};o=2;continue;case 1:if(++s<a.keys.length){let e=a.keys[s],n=a.values[s];return t?(t.done=!1,t.value[0]=e,t.value[1]=n,t):{done:!1,value:[e,n]}}o=2;case 2:for(var e=-1;;){if(++e>=r.length){o=3;continue e}if(++i[e]<r[e].length)break}for(;e>0;e--)r[e-1]=r[e][i[e]].children,i[e-1]=0;a=r[0][i[0]],s=-1,o=t===void 0?0:1;continue;case 3:return xi}})}entriesReversed(e,t,n){if(e===void 0&&(n=void 0,(e=this.maxKey())===void 0))return hi();let{nodeQueue:r,nodeIndex:i,leaf:a}=this.findPath(e)||this.findPath(this.maxKey());wi(!r[0]||a===r[0][i[0]],`wat!`);let o=a.indexOf(e,0,this._compare);!n&&o<a.keys.length&&this._compare(a.keys[o],e)<=0&&o++;let s=t===void 0?0:1;return hi(()=>{e:for(;;)switch(s){case 0:if(--o>=0)return{done:!1,value:[a.keys[o],a.values[o]]};s=2;continue;case 1:if(--o>=0){let e=a.keys[o],n=a.values[o];return t?(t.done=!1,t.value[0]=e,t.value[1]=n,t):{done:!1,value:[e,n]}}s=2;case 2:for(var e=-1;;){if(++e>=r.length){s=3;continue e}if(--i[e]>=0)break}for(;e>0;e--)r[e-1]=r[e][i[e]].children,i[e-1]=r[e-1].length-1;a=r[0][i[0]],o=a.keys.length,s=t===void 0?0:1;continue;case 3:return xi}})}findPath(e){let t,n,r=this._root;if(r.isLeaf)t=Ci,n=Ci;else{t=[],n=[];for(let i=0;!r.isLeaf;i++){if(t[i]=r.children,n[i]=e===void 0?0:r.indexOf(e,0,this._compare),n[i]>=t[i].length)return;r=t[i][n[i]]}t.reverse(),n.reverse()}return{nodeQueue:t,nodeIndex:n,leaf:r}}diffAgainst(t,n,r,i){if(t._compare!==this._compare)throw Error(`SortedMap: Comparators are not the same.`);if(this.isEmpty()||t.isEmpty())return this.isEmpty()&&t.isEmpty()?void 0:this.isEmpty()?r===void 0?void 0:e.stepToEnd(e.makeDiffCursor(t),r):n===void 0?void 0:e.stepToEnd(e.makeDiffCursor(this),n);let{_compare:a}=this,o=e.makeDiffCursor(this),s=e.makeDiffCursor(t),c=!0,l=!0,u=e.compare(o,s,a);for(;c&&l;){let t=e.compare(o,s,a),{leaf:d,internalSpine:f,levelIndices:p}=o,{leaf:m,internalSpine:h,levelIndices:g}=s;if(d||m){if(u!==0){if(t===0){if(d&&m&&i){let e=d.values[p[p.length-1]],t=m.values[g[g.length-1]];if(!Object.is(e,t)){let n=i(o.currentKey,e,t);if(n&&n.break)return n.break}}}else if(t>0){if(m&&r){let e=m.values[g[g.length-1]],t=r(s.currentKey,e);if(t&&t.break)return t.break}}else if(n&&d&&u!==0){let e=d.values[p[p.length-1]],t=n(o.currentKey,e);if(t&&t.break)return t.break}}}else if(!d&&!m&&t===0){let t=f.length-1,n=h.length-1,r=f[t][p[t]];if(h[n][g[n]]===r){u=0,c=e.step(o,!0),l=e.step(s,!0);continue}}u=t,t<0?c=e.step(o):l=e.step(s)}return c&&n?e.finishCursorWalk(o,s,a,n):l&&r?e.finishCursorWalk(s,o,a,r):void 0}static finishCursorWalk(t,n,r,i){let a=e.compare(t,n,r);if(a===0){if(!e.step(t))return}else a<0&&wi(!1,`cursor walk terminated early`);return e.stepToEnd(t,i)}static stepToEnd(t,n){let r=!0;for(;r;){let{leaf:i,levelIndices:a,currentKey:o}=t;if(i){let e=n(o,i.values[a[a.length-1]]);if(e&&e.break)return e.break}r=e.step(t)}}static makeDiffCursor(e){let t=e._root;return{height:e.getHeight(),internalSpine:[[t]],levelIndices:[0],leaf:void 0,currentKey:t.maxKey()}}static step(e,t){let{internalSpine:n,levelIndices:r,leaf:i}=e;if(!0===t||i){let a=r.length;if(!0===t||r[a-1]===0){let t=n.length;if(t===0)return!1;let i=t-1,o=i;for(;o>=0;){if(r[o]>0)return o<a-1&&(e.leaf=void 0,r.pop()),o<i&&(e.internalSpine=n.slice(0,o+1)),e.currentKey=n[o][--r[o]].maxKey(),!0;o--}return!1}{let t=--r[a-1];return e.currentKey=i.keys[t],!0}}{let t=n.length,i=t-1,a=n[i][r[i]];if(a.isLeaf){e.leaf=a;let n=r[t]=a.values.length-1;e.currentKey=a.keys[n]}else{let i=a.children;n[t]=i;let o=i.length-1;r[t]=o,e.currentKey=i[o].maxKey()}return!0}}static compare(e,t,n){let{height:r,currentKey:i,levelIndices:a}=e,{height:o,currentKey:s,levelIndices:c}=t,l=n(s,i);if(l!==0)return l;let u=r<o?r:o;return a.length-(r-u)-(c.length-(o-u))}keys(e,t){let n=this.entries(e,t);return hi(()=>{let e=n.next();return e.value&&=e.value[0],e})}values(e,t){let n=this.entries(e,t);return hi(()=>{let e=n.next();return e.value&&=e.value[1],e})}getMaxNodeSize(){return this._maxNodeSize}minKey(){return this._root.minKey()}maxKey(){return this._root.maxKey()}clone(){this._root.isShared=!0;let t=new e(void 0,this._compare,this._maxNodeSize);return t._root=this._root,t._size=this._size,t}greedyClone(t){let n=new e(void 0,this._compare,this._maxNodeSize);return n._root=this._root.greedyClone(t),n._size=this._size,n}toArray(e=2147483647){let t=this.minKey(),n=this.maxKey();return t===void 0?[]:this.getRange(t,n,!0,e)}keysArray(){let e=[];return this._root.forRange(this.minKey(),this.maxKey(),!0,!1,this,0,(t,n)=>{e.push(t)}),e}valuesArray(){let e=[];return this._root.forRange(this.minKey(),this.maxKey(),!0,!1,this,0,(t,n)=>{e.push(n)}),e}toString(){return this.toArray().toString()}setIfNotPresent(e,t){return this.set(e,t,!1)}nextHigherPair(e,t){return e===void 0?this._root.minPair(t):this._root.getPairOrNextHigher(e,this._compare,!1,t)}nextHigherKey(e,t){let n=this.nextHigherPair(e,t);return n&&n[0]}nextLowerPair(e,t){return e===void 0?this._root.maxPair(t):this._root.getPairOrNextLower(e,this._compare,!1,t)}nextLowerKey(e,t){let n=this.nextLowerPair(e,t);return n&&n[0]}getPairOrNextLower(e,t){return this._root.getPairOrNextLower(e,this._compare,!0,t)}getPairOrNextHigher(e,t){return this._root.getPairOrNextHigher(e,this._compare,!0,t)}changeIfPresent(e,t){return this.editRange(e,e,!0,(e,n)=>({value:t}))!==0}getRange(t,n,r,i=67108863){let a=[];return this._root.forRange(t,n,r,!1,this,0,(t,n)=>(a.push([t,n]),a.length>i?e.Break:void 0)),a}setPairs(e,t){let n=0;for(let r=0;r<e.length;r++)this.set(e[r][0],e[r][1],t)&&n++;return n}forRange(e,t,n,r,i){let a=this._root.forRange(e,t,n,!1,this,i||0,r);return typeof a==`number`?a:a.break}editRange(e,t,n,r,i){let a=this._root;a.isShared&&(this._root=a=a.clone());try{let o=a.forRange(e,t,n,!0,this,i||0,r);return typeof o==`number`?o:o.break}finally{let e;for(;a.keys.length<=1&&!a.isLeaf;)e||=a.isShared,this._root=a=a.keys.length===0?Si:a.children[0];e&&(a.isShared=!0)}}editAll(e,t){return this.editRange(this.minKey(),this.maxKey(),!0,e,t)}deleteRange(t,n,r){return this.editRange(t,n,r,e.DeleteRange)}deleteKeys(e){let t=0;for(let n=0;n<e.length;n++)this.delete(e[n])&&t++;return t}getHeight(){let e=this._root,t=-1;for(;e;)t++,e=e.isLeaf?void 0:e.children[0];return t}freeze(){let e=this;e.clear=e.set=e.editRange=function(){throw Error(`SortedMap: Attempted to modify when frozen.`)}}unfreeze(){delete this.clear,delete this.set,delete this.editRange}isFrozen(){return this.hasOwnProperty(`editRange`)}checkValid(){let e=this._root.checkValid(0,this,0);wi(e===this.size,`size mismatch: counted `,e,`but stored`,this.size)}};function hi(e=()=>xi){let t={next:e};return Symbol&&Symbol.iterator&&(t[Symbol.iterator]=function(){return this}),t}Symbol&&Symbol.iterator&&(mi.prototype[Symbol.iterator]=mi.prototype.entries),mi.prototype.where=mi.prototype.filter,mi.prototype.setRange=mi.prototype.setPairs,mi.prototype.add=mi.prototype.set;var gi,_i,vi=class e{constructor(e,t=[],n){this.keys=t,this.values=n||bi,this.isShared=void 0,this.isLeaf=e}maxKey(){return this.keys[this.keys.length-1]}indexOf(e,t,n){let r=this.keys,i=0,a=r.length,o=a>>1;for(;i<a;){let t=n(r[o],e);if(t<0)i=o+1;else{if(!(t>0)){if(t===0)return o;if(e==e)return r.length;throw Error(`SortedMap: NaN was used as a key.`)}a=o}o=i+a>>1}return o^t}minKey(){return this.keys[0]}minPair(e){if(this.keys.length!==0)return(e??=[null,null])[0]=this.keys[0],e[1]=this.values[0],e}maxPair(e){if(this.keys.length===0)return;let t=this.keys.length-1;return(e??=[null,null])[0]=this.keys[t],e[1]=this.values[t],e}clone(){let t=this.values,n=t===bi?t:t.slice(0),r=this.keys.slice(0);return new e(!0,r,n)}greedyClone(e){return this.isShared&&!e?this:this.clone()}get(e,t,n){let r=this.indexOf(e,-1,n._compare);return r<0?t:this.values[r]}getPairOrNextLower(e,t,n,r){let i=this.indexOf(e,-1,t),a=i<0?~i-1:n?i:i-1;if(a>=0){let e=this.keys[a],t=this.values[a];return r?(r[0]=e,r[1]=t,r):[e,t]}}getPairOrNextHigher(e,t,n,r){let i=this.indexOf(e,-1,t),a=i<0?~i:n?i:i+1,o=this.keys;if(a<o.length){let e=o[a],t=this.values[a];return r?(r[0]=e,r[1]=t,r):[e,t]}}checkValid(e,t,n){let r=this.keys.length,i=this.values.length;return wi(this.values===bi?r<=i:r===i,`keys/values length mismatch: depth`,e,`with lengths`,r,i,`and baseIndex`,n),wi(e===0||r>0,`empty leaf at depth`,e,`and baseIndex`,n),r}set(e,t,n,r){let i=this.indexOf(e,-1,r._compare);if(i<0){if(i=~i,r._size++,this.keys.length<r._maxNodeSize)return this.insertInLeaf(i,e,t,n,r);{let a=this.splitOffRightSide(),o=this;return i>this.keys.length&&(i-=this.keys.length,o=a),o.insertInLeaf(i,e,t,n,r),a}}if(!1!==n){t!==void 0&&this.reifyValues(),this.keys[i]=e;let r=t;if(typeof n==`function`){let a=n(this.values[i],e,t);a!==void 0&&(r=a)}this.values[i]=r}return!1}reifyValues(){return this.values===bi?this.values=this.values.slice(0,this.keys.length):this.values}insertInLeaf(e,t,n,r,i){if(this.keys.splice(e,0,t),this.values===bi){for(;bi.length<i._maxNodeSize;)bi.push(void 0);if(n===void 0)return!0;this.values=bi.slice(0,this.keys.length-1)}let a=n;if(typeof r==`function`){let e=r(void 0,t,n);e!==void 0&&(a=e)}return this.values.splice(e,0,a),!0}takeFromRight(e){let t=this.values;e.values===bi?t!==bi&&t.push(void 0):(t=this.reifyValues(),t.push(e.values.shift())),this.keys.push(e.keys.shift())}takeFromLeft(e){let t=this.values;e.values===bi?t!==bi&&t.unshift(void 0):(t=this.reifyValues(),t.unshift(e.values.pop())),this.keys.unshift(e.keys.pop())}splitOffRightSide(){let t=this.keys.length>>1,n=this.keys.splice(t),r=this.values===bi?bi:this.values.splice(t);return new e(!0,n,r)}forRange(e,t,n,r,i,a,o){let s=i._compare,c,l;if(t===e){if(!n||(l=(c=this.indexOf(e,-1,s))+1,c<0))return a}else c=this.indexOf(e,0,s),l=this.indexOf(t,-1,s),l<0?l=~l:!0===n&&l++;let u=this.keys,d=this.values;if(o!==void 0)for(let e=c;e<l;e++){let t=u[e],n=o(t,d[e],a++);if(n!==void 0){if(n.break!==void 0)return n;if(!0===r){if(t!==u[e]&&i._compare(t,u[e])!==0||!0===this.isShared)throw Error(`SortedMap: illegally changed or cloned in editRange.`);n.delete?(this.keys.splice(e,1),this.values!==bi&&this.values.splice(e,1),i._size--,e--,l--):n.hasOwnProperty(`value`)&&(d[e]=n.value)}}}else a+=l-c;return a}mergeSibling(e,t){if(this.keys.push.apply(this.keys,e.keys),this.values===bi){if(e.values===bi)return;this.values=this.values.slice(0,this.keys.length)}this.values.push.apply(this.values,e.reifyValues())}},yi=class e extends vi{constructor(e,t){if(!t){t=[];let n=e.length;for(let r=0;r<n;r++)t[r]=e[r].maxKey()}super(!1,t),this.children=e}clone(){let t=this.children.slice(0),n=t.length;for(let e=0;e<n;e++)t[e].isShared=!0;return new e(t,this.keys.slice(0))}greedyClone(t){if(this.isShared&&!t)return this;let n=new e(this.children.slice(0),this.keys.slice(0)),r=n.children,i=r.length;for(let e=0;e<i;e++)r[e]=r[e].greedyClone(t);return n}minKey(){return this.children[0].minKey()}minPair(e){return this.children[0].minPair(e)}maxPair(e){return this.children[this.children.length-1].maxPair(e)}get(e,t,n){let r=this.indexOf(e,0,n._compare),i=this.children;return r<i.length?i[r].get(e,t,n):void 0}getPairOrNextLower(e,t,n,r){let i=this.indexOf(e,0,t),a=this.children;if(i>=a.length)return this.maxPair(r);let o=a[i].getPairOrNextLower(e,t,n,r);return o===void 0&&i>0?a[i-1].maxPair(r):o}getPairOrNextHigher(e,t,n,r){let i=this.indexOf(e,0,t),a=this.children,o=a.length;if(i>=o)return;let s=a[i].getPairOrNextHigher(e,t,n,r);return s===void 0&&i<o-1?a[i+1].minPair(r):s}checkValid(e,t,n){let r=this.keys.length,i=this.children.length;wi(r===i,`keys/children length mismatch: depth`,e,`lengths`,r,i,`baseIndex`,n),wi(r>1||e>0,`internal node has length`,r,`at depth`,e,`baseIndex`,n);let a=0,o=this.children,s=this.keys,c=0;for(let r=0;r<i;r++)a+=o[r].checkValid(e+1,t,n+a),c+=o[r].keys.length,wi(a>=c,`wtf`,n),wi(r===0||o[r-1].constructor===o[r].constructor,`type mismatch, baseIndex:`,n),o[r].maxKey()!==s[r]&&wi(!1,`keys[`,r,`] =`,s[r],`is wrong, should be `,o[r].maxKey(),`at depth`,e,`baseIndex`,n),r===0||t._compare(s[r-1],s[r])<0||wi(!1,`sort violation at depth`,e,`index`,r,`keys`,s[r-1],s[r]);let l=c===0;return(l||c>t.getMaxNodeSize()*i)&&wi(!1,l?`too few`:`too many`,`children (`,c,a,`) at depth`,e,`maxNodeSize:`,t.getMaxNodeSize(),`children.length:`,i,`baseIndex:`,n),a}set(e,t,n,r){let i=this.children,a=r._maxNodeSize,o=r._compare,s=Math.min(this.indexOf(e,0,o),i.length-1),c=i[s];if(c.isShared&&(i[s]=c=c.clone()),c.keys.length>=a){let t;s>0&&(t=i[s-1]).keys.length<a&&o(c.keys[0],e)<0?(t.isShared&&(i[s-1]=t=t.clone()),t.takeFromRight(c),this.keys[s-1]=t.maxKey()):(t=i[s+1])!==void 0&&t.keys.length<a&&o(c.maxKey(),e)<0&&(t.isShared&&(i[s+1]=t=t.clone()),t.takeFromLeft(c),this.keys[s]=i[s].maxKey())}let l=c.set(e,t,n,r);if(!1===l)return!1;if(this.keys[s]=c.maxKey(),!0===l)return!0;if(this.keys.length<a)return this.insert(s+1,l),!0;{let e=this.splitOffRightSide(),t=this;return o(l.maxKey(),this.maxKey())>0&&(t=e,s-=this.keys.length),t.insert(s+1,l),e}}insert(e,t){this.children.splice(e,0,t),this.keys.splice(e,0,t.maxKey())}splitOffRightSide(){let t=this.children.length>>1;return new e(this.children.splice(t),this.keys.splice(t))}takeFromRight(e){this.keys.push(e.keys.shift()),this.children.push(e.children.shift())}takeFromLeft(e){this.keys.unshift(e.keys.pop()),this.children.unshift(e.children.pop())}forRange(e,t,n,r,i,a,o){let s=i._compare,c=this.keys,l=this.children,u=this.indexOf(e,0,s),d=u,f=Math.min(t===e?u:this.indexOf(t,0,s),c.length-1);if(r){if(d<=f)try{for(;d<=f;d++){l[d].isShared&&(l[d]=l[d].clone());let s=l[d].forRange(e,t,n,r,i,a,o);if(c[d]=l[d].maxKey(),typeof s!=`number`)return s;a=s}}finally{let e=i._maxNodeSize>>1;for(u>0&&u--,d=f;d>=u;d--)l[d].keys.length<=e&&(l[d].keys.length===0?(c.splice(d,1),l.splice(d,1)):this.tryMerge(d,i._maxNodeSize));l.length!==0&&l[0].keys.length===0&&wi(!1,`emptiness bug`)}}else for(;d<=f;d++){let s=l[d].forRange(e,t,n,r,i,a,o);if(typeof s!=`number`)return s;a=s}return a}tryMerge(e,t){let n=this.children,r=n.length;return e>=0&&e+1<r&&n[e].keys.length+n[e+1].keys.length<=t&&(n[e].isShared&&(n[e]=n[e].clone()),n[e].mergeSibling(n[e+1],t),n.splice(e+1,1),this.keys.splice(e+1,1),this.keys[e]=n[e].maxKey(),!0)}mergeSibling(e,t){let n=this.keys.length;this.keys.push.apply(this.keys,e.keys);let r=e.children;if(this.children.push.apply(this.children,r),e.isShared&&!this.isShared)for(let e=0;e<r.length;e++)r[e].isShared=!0;this.tryMerge(n-1,t)}},bi=[],xi=Object.freeze({done:!0,value:void 0}),Si=function(){let e=new vi(!0);return e.isShared=!0,e}(),Ci=[],wi=(e,...t)=>{if(!e)throw t.unshift(`SortedMap:`),Error(t.join(` `))};(function(e){let t=e.DeleteValue=Object.freeze({delete:!0});e.Break=Object.freeze({break:!0}),e.DeleteRange=()=>t,e.EmptySortedMap=(()=>{let e=new mi;return e.freeze(),e})(),e.defaultComparator=function(e,t){if(Number.isFinite(e)&&Number.isFinite(t))return e-t;let n=typeof e,r=typeof t;if(n!==r)return n<r?-1:1;if(n===`object`){if(e===null)return t===null?0:-1;if(t===null)return 1;if(n=typeof(e=e.valueOf()),r=typeof(t=t.valueOf()),n!==r)return n<r?-1:1}return e<t?-1:e>t?1:e===t?0:Number.isNaN(e)?Number.isNaN(t)?0:-1:Number.isNaN(t)?1:Array.isArray(e)?0:NaN},e.simpleComparator=function(e,t){return e>t?1:e<t?-1:0}})(mi||={}),function(e){let t=(e,t)=>{let r=e!==n.RangeAxis.Row;return t?(e,t)=>{if(e===t)return 0;let n=e[0],i=e[1],a=t[1];if(i===a)return n?-1:1;let o=t[0],s=0,c=0;if(r?(s=n?i.colEnd:i.colStart,c=o?a.colEnd:a.colStart):(s=n?i.rowEnd:i.rowStart,c=o?a.rowEnd:a.rowStart),s===c&&n!==o)return n?-1:1;if(s!==c)return c-s;let l=0,u=0;if(r?(l=n?i.colStart:i.colEnd,u=o?a.colStart:a.colEnd):(l=n?i.rowStart:i.rowEnd,u=o?a.rowStart:a.rowEnd),l===u&&n!==o)return n?-1:1;if(l!==u)return u-l;let d=e[2]??0;return(t[2]??0)-d}:(e,t)=>{if(e===t)return 0;let n=e[0],i=e[1],a=t[1];if(i===a)return n?-1:1;let o=t[0],s=0,c=0;if(r?(s=n?i.colStart:i.colEnd,c=o?a.colStart:a.colEnd):(s=n?i.rowStart:i.rowEnd,c=o?a.rowStart:a.rowEnd),s===c&&n!==o)return n?-1:1;if(s!==c)return s-c;let l=0,u=0;return r?(l=n?i.colEnd:i.colStart,u=o?a.colEnd:a.colStart):(l=n?i.rowEnd:i.rowStart,u=o?a.rowEnd:a.rowStart),l===u&&n!==o?n?-1:1:l===u?(e[2]??0)-(t[2]??0):l-u}};class r{constructor(e,r){if(this._isColumn=!0,this._isByCell=!1,this._isReverse=!1,this._cursor=null,this._reuse=null,this._localReuse={done:!1,value:[null,null]},this._eventsMajor=null,this._eventMajorIndex=0,this._majorStart=0,this._majorEnd=0,this._eventMinorPeek=null,this._minorStart=0,this._minorEnd=0,!e||e.length===0)return;let i=n.RangeAxis.Column,a=!1,o=!0,s=!1;r&&(i=r.axis??n.RangeAxis.Column,this._isColumn=o=i!==n.RangeAxis.Row,this._isReverse=a=r.reverse??!1,this._isByCell=s=r.byCell??!1);let c=e.length,l=Array(2*c);for(let t=0;t<c;t++){let n=e[t],r=[null,null];l[2*t]=[!0,n,t,r],l[2*t+1]=[!1,n,t,r]}l.sort(t(i,a)),this._eventsMajor=l;let u=l[0][1];this._majorStart=a?2**53-1:-(2**53-1),this._majorEnd=o?a?u.colEnd+1:u.colStart-1:a?u.rowEnd+1:u.rowStart-1,this._eventsMinor=new mi(void 0,t(o?n.RangeAxis.Row:n.RangeAxis.Column,a));let d=Array(16);if(d.length=0,this._cursor={cell:null,range:{colStart:u.colStart,rowStart:u.rowStart,colEnd:u.colEnd,rowEnd:u.rowEnd},overlaps:d},s&&(this._cursor.cell={colIndex:a?-(2**53-1):2**53-1,rowIndex:a?-(2**53-1):2**53-1}),r?.reuseIterator)throw Error(`Not implemented yet`)}next(e){let t=this._isColumn,r=this._isReverse;if(e){if(!this._isByCell)throw Error(`nextCell is only supported when byCell is true`);let i=n.CoordUtils.createCellComparator(t?n.RangeAxis.Column:n.RangeAxis.Row,r),a;do{let n=this._cursor,o=n.cell,s=o.colIndex===2**53-1||o.rowIndex===2**53-1;if(!s&&i(o,e)>=0)throw Error(`nextCell must be after the current iteration cell`);if(a=this.next(),a.done)return a;let c=a.value.cell;if(i(c,e)>=0)return a;let l=n.range;if(t){let t=e.colIndex===o.colIndex;o.rowIndex=r?t?Math.max(e.rowIndex,l.rowStart):l.rowStart:t?Math.min(e.rowIndex,l.rowEnd):l.rowEnd}else{let t=e.rowIndex===o.rowIndex;o.colIndex=r?t?Math.max(e.colIndex,l.colStart):l.colStart:t?Math.min(e.colIndex,l.colEnd):l.colEnd}if(!s&&i(o,e)>=0)return c.rowIndex=o.rowIndex,c.colIndex=o.colIndex,a}while(!a.done);return a}let i=this._cursor;if(!i)return oi;let a=this._reuse,o=i.cell,s=i.range;if(a){a.done=!1;let e=a.value,t=e.cell;o?(t.colIndex=o.colIndex,t.rowIndex=o.rowIndex):t&&(t.colIndex=-1,t.rowIndex=-1);let n=e.range;n.colStart=s.colStart,n.rowStart=s.rowStart,n.colEnd=s.colEnd,n.rowEnd=s.rowEnd,e.overlaps=[...i.overlaps],this._cursor.overlaps=e.overlaps}else{let e={cell:null,range:{colStart:s.colStart,rowStart:s.rowStart,colEnd:s.colEnd,rowEnd:s.rowEnd},overlaps:[...i.overlaps]};o&&(e.cell={colIndex:o.colIndex,rowIndex:o.rowIndex}),this._cursor=e,a={done:!1,value:e}}let c=a.value,l=c.range,u=c.cell,d=this._isByCell,f=r?-1:1,p=!1;if(d){let e=u.rowIndex,n=u.colIndex,i=t?e:n,o=t?r?l.rowStart:l.rowEnd:r?l.colStart:l.colEnd;if((r?i>=o:i<=o)&&(t?u.rowIndex=e+f:u.colIndex=n+f,r?i>o:i<o))return a;let s=t?u.colIndex:u.rowIndex,c=t?r?l.colStart:l.colEnd:r?l.rowStart:l.rowEnd;(r?s>c:s<c)&&(p=!0)}let m=c.overlaps,h=this._majorStart,g=this._majorEnd,_=this._eventsMinor,v=this._minorStart,y=this._minorEnd,b=this._eventsMinorIterator,x=this._eventMinorPeek,S=x;for(;S&&!S.done;){let e=S.value[0];if(e[0])S=null;else{if(x=b.next(),x.done)m.length=0;else{let n=e[1],i=m.length;if(i>1){let e=m.indexOf(n);e!==-1&&(m[e]=m[i-1])}if(m.length=i-1,i=m.length,i>0){let e=x.value[0],n=e[1],i=t?r?n.colStart:n.colEnd:r?n.rowStart:n.rowEnd;if(r?h>=i:h<=i){let i=!1;if(e[0]){let e=t?r?n.rowEnd:n.rowStart:r?n.colEnd:n.colStart;(r?e<y+f:e>y+f)&&(v=y+f,y=e-f,i=!0)}else{let e=t?r?n.rowStart:n.rowEnd:r?n.colStart:n.colEnd;(r?e<y:e>y)&&(v=y+f,y=e,i=!0)}if(i)return t?(l.rowStart=r?y:v,l.rowEnd=r?v:y):(l.colStart=r?y:v,l.colEnd=r?v:y),this._minorStart=v,this._minorEnd=y,this._eventMinorPeek=x,a}}}x.done&&(x=null),S=x}}if(!x)if(p){b=_.entries(void 0,this._localReuse),x=b.next(),this._eventsMinorIterator=b;let e=x.value[0][1],n=t?r?e.rowEnd:e.rowStart:r?e.colEnd:e.colStart;t?(u.colIndex+=f,u.rowIndex=n):(u.colIndex=n,u.rowIndex+=f)}else{let e=this._eventMajorIndex,n=this._eventsMajor,i=n.length;if(e>=i)return this._cursor=null,oi;let a=n[e],o=a[0],s=!1;for(;!o&&!s&&a;){let i=a[1],c=t?r?i.colStart:i.colEnd:r?i.rowStart:i.rowEnd;if(r?c<g:c>g){s=!0;continue}let l=a[3];_.delete(l[0]),_.delete(l[1]),e++,a=n[e],a&&(o=a[0])}let c=_.size>0?g+f:-1;for(s=!1;o&&!s&&a;){let i=a[1];if(c!==-1&&(t?r?i.colEnd:i.colStart:r?i.rowEnd:i.rowStart)!==c){s=!0;continue}let l=a[2],u=[!0,i,l],d=[!1,i,l],f=a[3];if(f[0]=u,f[1]=d,_.set(u,0),_.set(d,0),c===-1&&(c=t?r?i.colEnd:i.colStart:r?i.rowEnd:i.rowStart),e++,a=n[e],!a||(o=a[0],!o))continue;let p=a[1];(t?r?p.colEnd:p.colStart:r?p.rowEnd:p.rowStart)!==c&&(s=!0)}if(c!==-1&&(h=c),d&&(t?u.colIndex=h:u.rowIndex=h),this._eventMajorIndex=e,e>=i)return this._eventsMinorIterator=b,this._cursor=null,oi;if(a){let e=a[0],n=a[1],i=t?r?n.colEnd:n.colStart:r?n.rowEnd:n.rowStart,o=t?r?n.colStart:n.colEnd:r?n.rowStart:n.rowEnd;g=e?i-f:o}m.length=0,b=_.entries(void 0,this._localReuse),x=b.next(),this._eventsMinorIterator=b}let C=x;do{let e=C.value;C=null;let n=e[0],i=n[1];if(!n[0])continue;let a=t?r?i.rowEnd:i.rowStart:r?i.colEnd:i.colStart;v!==a&&(v=a),x=b.next();let o=x.value[0],s=o[0],c=o[1],l=t?r?c.rowEnd:c.rowStart:r?c.colEnd:c.colStart;if(s&&l===v)C=x;else{let e=t?r?i.rowStart:i.rowEnd:r?i.colStart:i.colEnd,n=t?r?c.rowStart:c.rowEnd:r?c.colStart:c.colEnd;y=(r?Math.max:Math.min)(e,s?l-f:n),d&&(t?u.rowIndex=v:u.colIndex=v)}m[m.length]=Object.freeze(i)}while(C);return t?(l.colStart=r?g:h,l.colEnd=r?h:g,l.rowStart=r?y:v,l.rowEnd=r?v:y):(l.rowStart=r?g:h,l.rowEnd=r?h:g,l.colStart=r?y:v,l.colEnd=r?v:y),this._eventMinorPeek=x,this._minorStart=v,this._minorEnd=y,this._majorStart=h,this._majorEnd=g,a}return(e){return null}throw(e){return null}[Symbol.iterator](){return this}}e.IteratorInstance=r}(gi||={}),function(e){e.Builder=class{constructor(e,t=0,n=0){this._tuples=[],this._minors=null,this._values=null,this._minorMin=2**53-1,this._minorMax=0,this._majorIndex=-(2**53-1),this._minorIndex=-(2**53-1),this._offsetMajor=0,this._offsetMinor=0,this._createList=e,this._offsetMajor=t,this._offsetMinor=n}pushMultipleAt(e,t,n){if(n&&n.isIList)return this.pushAt(e,t,n);Array.isArray(n)||(n=[n]),this.pushAt(e,t,n[0]);let r=n.length,i=this._values;for(let e=1;e<r;e++)i.push(n[e]);return this._minorIndex=this._minorIndex+i.length-1,this}pushAt(e,n,r){let i=this._majorIndex,a=this._minorIndex;if(e+=this._offsetMajor,n+=this._offsetMinor,e<i||e===i&&n<=a)throw new t(`major: ${e}, minor: ${n}, prevMajor: ${this._majorIndex}, prevMinor: ${this._minorIndex}`);let o=this._minors;if(e!==i){if(o){this._minorMin=Math.min(this._minorMin,o[0][0]);let e=o[o.length-1];this._minorMax=Math.max(this._minorMax,e[0]+e[1].length-1)}this._minors=o=[],this._tuples.push([e,o]),this._majorIndex=e}if(r&&r.isIList){n===a+1&&i!==e&&this._values;let t=r;o.push([n,t]),n=n+t.length-1,this._values=null}else{let t,s=this._values;s&&n===a+1&&i===e?t=s:(this._values=t=[],o.push([n,t])),t.push(r)}return this._minorIndex=n,this}build(){let e=this._tuples;if(e.length===0)return null;let t=this._minors;this._minorMin=Math.min(this._minorMin,t[0][0]);let n=t[t.length-1];this._minorMax=Math.max(this._minorMax,n[0]+n[1].length-1);let r=this._createList;if(r){let e=t.length;for(let n=0;n<e;n++)t[n][1]=r(t[n][1])}return{tuples:e,bounds:{majorStart:e[0][0],minorStart:this._minorMin,majorEnd:e[e.length-1][0],minorEnd:this._minorMax}}}},e.TransposedBuilder=class{constructor(e,t=0,n=0){this._current=null,this._first=null,this._majorMin=2**53-1,this._majorMax=0,this._majorIndex=-(2**53-1),this._minorIndex=-(2**53-1),this._offsetMajor=0,this._offsetMinor=0,this._createList=e,this._offsetMajor=t,this._offsetMinor=n,this._minors=new mi}pushMultipleAt(e,t,n){Array.isArray(n)||(n=[n]);let r=n.length;for(let i=0;i<r;i++){let r=t+i;this.pushAt(e,r,n[i])}return this}pushAt(e,n,r){let i,a,o=this._majorIndex,s=this._minorIndex;if(e+=this._offsetMajor,n+=this._offsetMinor,a=this._current,e!==o){if(this._majorIndex=e,e<o)throw new t(`major: ${e}, minor: ${n}, prevMajor: ${this._majorIndex}, prevMinor: ${this._minorIndex}`);s=-(2**53-1)}else if(a=this._current,n<=s)throw new t(`major: ${e}, minor: ${n}, prevMajor: ${this._majorIndex}, prevMinor: ${this._minorIndex}`);if(a&&a.minor===n&&(i=a.span),i)a.minor>=n&&a.next&&(this._current=a.next);else{let t=this._minors,r=a?a.next??a.prev:null;if(r){let e,o=r.minor;r&&r.minor===n?(a=r,i=a.span):e=o>n?t.getPairOrNextHigher(n,Ti):t.getPairOrNextLower(n,Ti),e&&(a=e[1],e[0]===n&&(i=a.span))}if(!i){this._majorMin=Math.min(this._majorMin,e),i=[n,[[e,[]]]];let r={minor:n,span:i,prev:null,next:null};a&&(a.minor<n?(r.prev=a,r.next=a.next,a.next&&(a.next.prev=r),a.next=r):(r.prev=a.prev,r.next=a,a.prev&&(a.prev.next=r),a.prev=r)),t.set(n,r),this._current=r;let o=this._first;(!o||n<o.minor)&&(this._first=r),r.next&&(this._current=r.next)}}let c=i[1],l=c[c.length-1],u=l[0],d=l[1];return u+d.length!==e&&(d=[],u=e,c.push([u,d])),d.push(r),this._majorMax=Math.max(this._majorMax,e),this._minorIndex=n,this}build(){let e=[],t=this._createList,n=this._minors.entries(void 0,Ei),r=n.next();for(;!r.done;){let i=r.value[1].span;if(t){let e=i[1],n=e.length;for(let r=0;r<n;r++)e[r][1]=t(e[r][1])}e.push(i),r=n.next()}return e.length===0?null:{tuples:e,bounds:{majorStart:e[0][0],minorStart:this._majorMin,majorEnd:e[e.length-1][0],minorEnd:this._majorMax}}}};class t extends n.ChainedError{constructor(e=`Out of order`,t=null){super(e,t),this.name=`OutOfOrderError`}}e.OutOfOrderError=t}(_i||={});var Ti=[-1,null],Ei={done:!1,value:[-1,null]};function Di(e,t=n.Direction.Right,r=null){if(!e)return e;if(e.length===0)return[];let i=t===n.Direction.Right,a=t===n.Direction.Left,o=t===n.Direction.Up,s=t===n.Direction.Down;return e.sort((e,t)=>{if(!e&&!t)return 0;if(e&&!t)return-1;if(t&&!e)return 1;let n=r?.(e,t)??0;return n===0?i?e.rowStart===t.rowStart?e.colStart-t.colStart:e.rowStart-t.rowStart:s?e.colStart===t.colStart?e.rowStart-t.rowStart:e.colStart-t.colStart:a?e.rowStart===t.rowStart?t.colStart-e.colStart:t.rowStart-e.rowStart:o?e.colStart===t.colStart?t.rowStart-e.rowStart:t.colStart-e.colStart:0:n})}function Oi(e,t){let n=t.min,r=e.min;if(t.max===2**53-1){let i=n,a=e.max;return r<=i&&i<=a?0:a<i?-1:r>i?1:(console.warn(`coords are not inserted correctly`,e,t),0)}return r-n}var ki=class e{constructor(e){this._dataCoords=null,this._count=0,this._length=0,this._maxCoords=null,this._options=e,e?.maxCoords&&(this._maxCoords=Object.freeze({...e.maxCoords})),this._runs=new mi(void 0,Oi,e?.nodeSize),this._reuseRunsIterator={done:!1,value:[null,null]},this._reuseRunsEntry=[null,null]}_validateBounds(e=-(2**53-1),t=2**53-1){let r=this._maxCoords,i=r?.min??-(2**53-1),a=r?.max??2**53-1;if(e<i||t>a)throw new n.OutOfBoundsError}entries(e){let t,r,i=-(2**53-1),a=2**53-1,o=!0;e&&(e?.bounds&&(i=e.bounds?.min??-(2**53-1),a=e.bounds?.max??2**53-1,this._validateBounds(i,a)),o=!e.reverse,t=Ai(e.reuseResult),r=e.processSkip);let s=this._dataCoords;if(!s)return si;i=Math.max(s.min,i),a=Math.min(s.max,a);let c=null,l=null,u=2**53-1,d=-(2**53-1);if(r){let e=r;r=(t,n)=>e(t+u,n)-u}let f=e=>{let t;e!==-(2**53-1)&&e!==2**53-1&&(zi.min=e,t=zi),c=o?this._runs.entries(t,this._reuseRunsIterator):this._runs.entriesReversed(t,this._reuseRunsIterator),u=2**53-1,d=-(2**53-1),l=null},p=e=>{if(e!==void 0){if(e<u||e>d)return void(l=void 0);e-=u}if(!l)return;let n=l.next(e);if(!l)return;let r=n.value,i=r?.[1];if(!n.done)return ji(r[0]+u,i,t);l=void 0},m=e=>{let n;return n=p(e),n||(n=(e=>{let n;do{if(e!==void 0&&f(e),!c)return;if(n=c.next(),n.done)return void(c=void 0);let s=n.value,m=s[0],h=s[1],g=m.min,_=m.max,v=Math.max(g,i)-g,y=Math.max(v,Math.min(_,a))-g;Li.bounds.min=v,Li.bounds.max=y,Li.reverse=!o,Li.processSkip=r,Li.reuseResult=t,u=g,d=_,l=h.entries(Li);let b=p(e);if(b)return b;e=void 0}while(!n.done);c=void 0})(e),n||oi)};return f(o?i:a),{next(e){if(e!==void 0&&(e<0||e>a))throw new n.OutOfBoundsError;return m(e)},return:e=>null,throw:e=>null}}runs(e){let t,r=-(2**53-1),i=2**53-1,a=!0,o=!1;e&&(e.bounds&&(r=e.bounds?.min??-(2**53-1),i=e.bounds?.max??2**53-1,this._validateBounds(r,i),e.overflowRun&&(o=!0)),a=!e.reverse,t=Mi(e.reuseResult));let s=this._dataCoords;if(!s)return si;r=Math.max(s.min,r),i=Math.min(s.max,i);let c=null,l=e=>{let t;e!==-(2**53-1)&&e!==2**53-1&&(zi.min=e,t=zi),c=a?this._runs.entries(t,this._reuseRunsIterator):this._runs.entriesReversed(t,this._reuseRunsIterator)};return l(a?r:i),{next(e){if(e!==void 0){if(e<r||e>i)throw new n.OutOfBoundsError;l(e)}if(!c)return oi;let s=c.next();if(s.done)return c=void 0,oi;let u=s.value,d=u[0],f=d,p=f.min,m=f.max;if(a&&p>i||!a&&m<r)return oi;let h=u[1];return o||(m>i&&(h=h.slice(0,h.length-(m-i)),f={...f},f.max=i),p<r&&(h=h.slice(r-p),f===d&&(f={...f}),f.min=r)),Ni(f,h,t)},return:e=>null,throw:e=>null}}slice(t,n){let r=this._runs;if(this._count===0)return this.clone();let i=r.minKey().min,a=r.maxKey().max;if(n===void 0&&(n=a+1),t<=i&&n-1>=a)return this.clone();let o=Math.max(i,t),s=Math.min(a,n-1),c=s-o,l=[],u=0;Hi.bounds.min=o,Hi.bounds.max=s;let d=this.runs(Hi),f=d.next();for(;!f.done;){let e=f.value,t=e[0],n=e[1];t={min:t.min-o,max:t.max-o},t.min<0&&(n=n.slice(-t.min),t.min=0),t.max>=c&&(n=n.slice(0,n.length-(t.max-c)),t.max=c),u+=n.length,l.push([t,n]),f=d.next()}let p=new e(this._options);return p._runs.setPairs(l),p._updateCount(u),p}concat(e){let t=this.clone();if(!e||e.length===0)return t;let n=this._runs;if(this._count===0){let n=[],r=0;if(e.isISparseList){let t=e.runs(),i=t.next();for(;!i.done;){let e=i.value;n.push([{min:e[0].min,max:e[0].max},e[1]]),r+=e[1].length,i=t.next()}}else n.push([{min:0,max:e.length-1},e]),r+=e.length;return t._runs.setPairs(n),t._updateCount(r),t}let r=n.nextLowerPair(void 0,this._reuseRunsEntry),i=r[0],a=r[1],o=i.max+1,s=!1,c=0,l=[];if(e.isISparseList){let t=e.runs(),n=t.next();for(;!n.done;){let e=n.value,r=e[0],u={min:r.min+o,max:r.max+o},d=e[1];if(r.min===0){s=!0,c-=a.length,d=a.concat(d);let e=i.min;u.min=e,u.max=d.length-1+e}c+=d.length,l.push([u,d]),n=t.next()}}else{let t=e.length,n={min:i.min,max:t-1+o};e=a.concat(e),s=!0,c+=t,l.push([n,e])}return s&&t._runs.delete(i),t._runs.setPairs(l),t._updateCount(c),t}toArray(e=2**53-1,t=!0){if(this.length===0)return n.CommonUtils.EmptyArray;let r=t?0:-(2**53-1),i=Math.min(this._runs.maxKey().max,e);return Ri.bounds.min=-(2**53-1),Ri.bounds.max=i,Pi(this.entries(Ri),t,i,r)}get isIReadableList(){return!0}get length(){return this._length}getCoords(){return this._dataCoords}clear(){this._runs.clear(),this._dataCoords=null,this._lastRunsRead=void 0,this._lastListRead=void 0,this._count=0,this._length=0}get isISparseList(){return!0}get isIList(){return!0}_updateCount(e){if(this._count+=e,this._lastRunsRead=void 0,this._lastListRead=void 0,this._count>0){let e=this._runs,t=Object.freeze({min:e.minKey().min,max:e.maxKey().max});this._dataCoords=t,this._length=t.max+1}else this._dataCoords=null,this._length=0}_update(e,t,n=null,r=void 0){let i=e,a=i+t-1,o=0,s=a,c=a,l=null,u=null;zi.min=i,Bi.min=a,(n||r)&&(--zi.min,Bi.min+=1);let d=this._runs,f=!1;if(d.editRange(zi,Bi,!0,(e,t,n)=>{let r=e.min,d=e.max;return r<i&&d+1>=i&&(s=r,l=t),r-1<=a&&d>a&&(c=r,u=t),o-=d-r+1,f=!0,mi.DeleteValue}),n||r===void 0||(n=new ci([r])),n){let e=n;f=!0;let t=i;l&&(l=l.slice(0,i-s),e=l.concat(e),t=s),u&&(u=u.slice(a+1-c),e=e.concat(u)),o+=e.length,d.set({min:t,max:t+e.length-1},e)}else l&&(l=l.slice(0,i-s),o+=l.length,d.set({min:s,max:s+l.length-1},l)),u&&(u=u.slice(a+1-c),o+=u.length,d.set({min:a+1,max:a+u.length},u));return this._updateCount(o),f}setAt(e,t){if(e===void 0)throw new n.NullNotAllowedError;return this._validateBounds(e,e),this._update(e,1,null,t)}setRunAt(e,t){if(!t||t.length===0)return!1;if(e===void 0||!t.length)throw new n.NullNotAllowedError;let r=t.length;return this._validateBounds(e,e+r-1),this._update(e,r,t)}delete(e,t){if(t===void 0){let n=this.getCoords();if(!n)return!1;t=Math.max(n.max-e+1,0)}return!(t<=0)&&(this._validateBounds(e,e),this._update(e,t,null))}shift(e,t){if(t===0)return!1;let n=e,r=e;t<0&&(r=e-t-1),this._validateBounds(n,r);let i=this._runs;if(this._count===0)return!1;let a=i.maxKey();if(t<0&&r>=a.max&&n<=i.minKey().min)return this._runs.clear(),this._dataCoords=null,this._count=0,this._length=0,!0;let o=0,s=n,c=r,l=null,u=null;zi.min=s,Bi.min=a.min,t<0&&(--zi.min,Bi.min+=1);let d=!1,f=[];if(i.editRange(zi,Bi,!0,(e,i,a)=>{let p=e.min,m=e.max;return p<n&&m+1>=n&&(s=p,l=i),(p<n||t<0)&&p-1<=r&&e.max>r&&(c=p,u=i),t>0&&p>=n||t<0&&p-1>r?f.push([{min:p+t,max:m+t},i]):o-=m-p+1,d=!0,mi.DeleteValue}),t>0){let r=l||u;r&&(l=r.slice(0,n-s),c=e+t,u=r.slice(n-s))}else l&&=l.slice(0,n-s),u&&(u=u.slice(r+1-c),c=e),l&&u&&s+l.length===c&&(l=l.concat(u),u=null);return l&&l.length>0&&(o+=l.length,i.set({min:s,max:s+l.length-1},l)),u&&(o+=u.length,i.set({min:c,max:c+u.length-1},u)),f.length>0&&i.setPairs(f),this._updateCount(o),d}at(e){zi.min=e;let t=this._lastRunsRead;if(t){let n=t.min;if(n<=e&&t.max>=e)return this._lastListRead.at(e-n)}let n,r,i=this._runs.getPairOrNextHigher(zi,Vi);if(i&&(n=i[0],r=i[1]),this._lastRunsRead=n,this._lastListRead=r,!(!n||e<n.min||e>n.max))return r.at(e-n.min)}[Symbol.iterator](){return ri(this.entries())}clone(){let t=new e(this._options);return t._runs=this._runs.clone(),t._count=this._count,t._dataCoords=this._dataCoords,t._length=this._length,t}getMaxCoords(){return this._maxCoords||null}getCount(){return this._count}getRunsCount(){return this._runs.size}get[Symbol.toStringTag](){return`[SparseList]`}};ki||={};var Ai=e=>typeof e==`boolean`?!0===e?Ii:void 0:(e&&!e.value&&(e.value=[-1,null]),e),ji=(e,t,n)=>{let r=n??{done:!1,value:[-1,null]},i=r.value;return i[0]=e,i[1]=t,r},Mi=e=>typeof e==`boolean`?!0===e?Fi:void 0:(e&&!e.value&&(e.value=[null,null]),e),Ni=(e,t,n)=>{let r=n??{done:!1,value:[null,null]},i=r.value;return i[0]=e,i[1]=t,r},Pi=(e,t=!1,n=-(2**53-1),r=2**53-1)=>{let i=[],a=e.next(),o=Math.max(r,0)-1;for(;!a.done;){if(t){let e=a.value[0];for(let t=o;t<e-1;t++)i.push(void 0);o=e}i.push(a.value[1]),a=e.next()}if(t)for(let e=o;e<n;e++)i.push(void 0);return i},Fi=Object.seal({done:!1,value:[{min:-(2**53-1),max:2**53-1},null]}),Ii=Object.seal({done:!1,value:[-1,null]}),Li={reverse:!1,bounds:{min:-(2**53-1),max:2**53-1},processSkip:null,reuseResult:Ii},Ri=Object.freeze({reverse:!1,bounds:{min:-(2**53-1),max:2**53-1},processSkip:null,reuseResult:Ii}),zi={min:0,max:2**53-1},Bi={min:0,max:2**53-1},Vi=[null,null],Hi={bounds:{min:0,max:0},overflowRun:!0},Ui=class{constructor(e,t){this._l=0,e&&t>0&&(this._u=e,this._l=t)}at(e){if(e>=this._l||e<0||!this._u)return;let t=e%this._u.length;return this._u.at(t)}toArray(e){let t=[],n=this._u,r=n.length,i=Math.min(e??this._l,this._l);for(let e=0;e<i;e++){let i=e%r;t.push(n.at(i))}return t}get length(){return this._l}get[Symbol.toStringTag](){return`[RepeatingList]`}get isIList(){return!0}},Wi=class{constructor(e=9){this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(e){return this.isEmpty()?e??n.CommonUtils.EmptyArray:this._all(this._data,e??[])}search(e,t){if(this.isEmpty()||!ua(e,this._data.range))return t??n.CommonUtils.EmptyArray;let r=t??[],i=ga,a=this._data;for(;a;){let t=a.children;if(t!==null){let n=t.length;for(let i=0;i<n;i++){let n=t[i];ua(e,n.range)&&(n.children===null?r.push(n.range):la(e,n.range)?this._all(n,r):ha[ga++]=n)}}a=ga>i?ha[--ga]:void 0}return ga=i,r}collides(e){if(this.isEmpty()||!ua(e,this._data.range))return!1;let t=ga,n=this._data;for(;n;){let r=n.children;if(r!==null){let n=r.length;for(let i=0;i<n;i++){let n=r[i],a=n.range;if(ua(e,a)){if(n.children===null||la(e,a))return ga=t,!0;ha[ga++]=n}}}n=ga>t?ha[--ga]:void 0}return ga=t,!1}isEmpty(){let e=this._data.children;return e!==null&&e.length===0}getBoundingRange(){let e=this._data,t=e.children;if(t!==null&&t.length===0)return null;let n=e.range;return{colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd}}load(e){if(!e||!e.length)return this;let t=e.length;if(t<this._minEntries){for(let n=0;n<t;n++)this.insert(e[n]);return this}let n=this._build(e.slice(),0,e.length-1,0);if(this.isEmpty())this._data=n;else if(this._data.height===n.height)this._splitRoot(this._data,n);else{if(this._data.height<n.height){let e=this._data;this._data=n,n=e}this._insert(n,this._data.height-n.height-1)}return this}removeAll(e,t){let n=e?e.length:0;if(n===0||this.isEmpty())return this;let r=ba;r.colStart=Ji,r.rowStart=Ji,r.colEnd=Yi,r.rowEnd=Yi;for(let t=0;t<n;t++)ea(r,e[t]);let i;if(t)i=r=>{for(let i=0;i<n;i++)if(t(r,e[i]))return!0;return!1};else{let t=new Set(e);i=e=>t.has(e)}return Ki(this._data,i,r)&&this.clear(),this}clear(){return this._data=Zi([]),this}insert(e){return e&&this._insert(qi(e),this._data.height-1),this}remove(e,t){if(!e)return this;let n=e,r=va,i=ya,a=0,o=this._data,s=0,c=null,l=!1;for(;o||a>0;){if(!o){let e=--a;o=r[e],r[e]=ma,c=a>0?r[a-1]:null,s=i[a],l=!0}if(o.height===1){let n=Gi(e,o.children,t);if(n!==-1){o.children.splice(n,1),r[a++]=o;for(let e=a-1;e>=0;e--)if(r[e].children.length===0)if(e>0){let t=r[e-1].children;t.splice(t.indexOf(r[e]),1)}else this.clear();else Qi(r[e]);return this}}!l&&o.height>1&&la(o.range,n)?(r[a]=o,i[a]=s,a++,s=0,c=o,o=o.children[0]):c?(s++,o=c.children[s]??null,l=!1):o=null}return this}_all(e,t){let n=ga,r=e;for(;r;){if(r.children===null)t.push(r.range);else{let e=r.children,t=e.length;for(let n=0;n<t;n++)ha[ga++]=e[n]}r=ga>n?ha[--ga]:void 0}return ga=n,t}_build(e,t,n,r){let i=n-t+1,a=this._maxEntries;if(i<=a){let n=i,r=[];for(let i=0;i<n;i++)r.push(qi(e[t+i]));let a=Zi(r);return a.height=1,Qi(a),a}r||(r=Math.ceil(Math.log(i)/Math.log(a)),a=Math.ceil(i/a**(r-1)));let o=Zi([]);o.height=r;let s=Math.ceil(i/a),c=s*Math.ceil(Math.sqrt(a));da(e,t,n,c,ra);for(let i=t;i<=n;i+=c){let t=Math.min(i+c-1,n);da(e,i,t,s,ia);for(let n=i;n<=t;n+=s)o.children.push(this._build(e,n,Math.min(n+s-1,t),r-1))}return Qi(o),o}_chooseSubtree(e,t,n,r){let i=0;for(;r[i++]=t,t.children!==null&&i-1!==n;){let n,r=1/0,i=1/0,a=t.children,o=a.length;for(let t=0;t<o;t++){let o=a[t],s=o.range,c=aa(s),l=sa(e,s)-c;l<i?(i=l,r=c<r?c:r,n=o):l===i&&c<r&&(r=c,n=o)}t=n??a[0]}return t}_insert(e,t){let n=_a;n.length=0;let r=e.range,i=this._chooseSubtree(r,this._data,t,n);i.children.push(e),ea(i.range,r);let a=t,o=this._maxEntries;for(;a>=0&&n[a].children.length>o;)this._split(n,a),a--;for(let e=a;e>=0;e--)ea(n[e].range,r)}_split(e,t){let n=e[t],r=n.children,i=r.length,a=this._minEntries;this._chooseSplitAxis(n,a,i);let o=this._chooseSplitIndex(n,a,i),s=Zi(r.splice(o,i-o));s.height=n.height,Qi(n),Qi(s),t?e[t-1].children.push(s):this._splitRoot(n,s)}_splitRoot(e,t){this._data=Zi([e,t]),this._data.height=e.height+1,Qi(this._data)}_chooseSplitIndex(e,t,n){let r=-1,i=1/0,a=1/0;for(let o=t;o<=n-t;o++){let t=$i(e,0,o,xa),s=$i(e,o,n,Sa),c=ca(t,s),l=aa(t)+aa(s);c<i?(i=c,r=o,a=l<a?l:a):c===i&&l<a&&(a=l,r=o)}return r||n-t}_chooseSplitAxis(e,t,n){this._allDistMargin(e,t,n,ta)>=this._allDistMargin(e,t,n,na)||e.children.sort(ta)}_allDistMargin(e,t,n,r){let i=e.children;i.sort(r);let a=$i(e,0,t,xa),o=$i(e,n-t,n,Sa),s=oa(a)+oa(o);for(let e=t;e<n-t;e++)ea(a,i[e].range),s+=oa(a);for(let e=n-t-1;e>=t;e--)ea(o,i[e].range),s+=oa(o);return s}};function Gi(e,t,n){let r=t.length;for(let i=0;i<r;i++){let r=t[i].range;if(n?n(e,r):e===r)return i}return-1}function Ki(e,t,n){if(e.height===1){let n=e.children,r=n.length;for(let e=n.length-1;e>=0;e--)t(n[e].range)&&n.splice(e,1);return n.length!==r&&n.length>0&&Qi(e),n.length===0}let r=e.children,i=!1;for(let e=r.length-1;e>=0;e--){let a=r[e];ua(a.range,n)&&Ki(a,t,n)&&(r.splice(e,1),i=!0)}return i&&r.length>0&&Qi(e),r.length===0}function qi(e){return{range:e,children:null,height:0}}var Ji=1073741823,Yi=-1073741824;function Xi(){return{colStart:Ji,rowStart:Ji,colEnd:Yi,rowEnd:Yi,value:null}}function Zi(e){return{range:Xi(),children:e,height:1}}function Qi(e){let t=e.range;t.colStart=Ji,t.rowStart=Ji,t.colEnd=Yi,t.rowEnd=Yi;let n=e.children;if(n){let e=n.length;for(let r=0;r<e;r++)ea(t,n[r].range)}}function $i(e,t,n,r){let i=r??Xi();i.colStart=Ji,i.rowStart=Ji,i.colEnd=Yi,i.rowEnd=Yi;let a=e.children;for(let e=t;e<n;e++)ea(i,a[e].range);return i}function ea(e,t){let n=e.colStart,r=e.colEnd,i=e.rowStart,a=e.rowEnd;return e.colStart=n<t.colStart?n:t.colStart,e.rowStart=i<t.rowStart?i:t.rowStart,e.colEnd=r>t.colEnd?r:t.colEnd,e.rowEnd=a>t.rowEnd?a:t.rowEnd,e}function ta(e,t){return e.range.colStart-t.range.colStart}function na(e,t){return e.range.rowStart-t.range.rowStart}function ra(e,t){return e.colStart-t.colStart}function ia(e,t){return e.rowStart-t.rowStart}function aa(e){return(e.colEnd-e.colStart+1)*(e.rowEnd-e.rowStart+1)}function oa(e){return e.colEnd-e.colStart+1+(e.rowEnd-e.rowStart+1)}function sa(e,t){let n=e.colStart,r=e.colEnd,i=e.rowStart,a=e.rowEnd;return((t.colEnd>r?t.colEnd:r)-(t.colStart<n?t.colStart:n)+1)*((t.rowEnd>a?t.rowEnd:a)-(t.rowStart<i?t.rowStart:i)+1)}function ca(e,t){let n=e.colStart,r=e.colEnd,i=n>t.colStart?n:t.colStart,a=(r<t.colEnd?r:t.colEnd)-i+1;if(a<=0)return 0;let o=e.rowStart,s=e.rowEnd,c=o>t.rowStart?o:t.rowStart,l=(s<t.rowEnd?s:t.rowEnd)-c+1;return l<=0?0:a*l}function la(e,t){return e.colStart<=t.colStart&&e.rowStart<=t.rowStart&&t.colEnd<=e.colEnd&&t.rowEnd<=e.rowEnd}function ua(e,t){return t.colStart<=e.colEnd&&t.rowStart<=e.rowEnd&&t.colEnd>=e.colStart&&t.rowEnd>=e.rowStart}function da(e,t,n,r,i){let a=0;for(Ca[a++]=t,Ca[a++]=n;a>0;){if((n=Ca[--a])-(t=Ca[--a])<=r)continue;let o=t+Math.ceil((n-t)/r/2)*r;fa(e,o,t,n,i),Ca[a++]=t,Ca[a++]=o,Ca[a++]=o,Ca[a++]=n}}function fa(e,t,n,r,i){let a=n,o=r,s=i;for(;o>a;){if(o-a>600){let n=o-a+1,r=t-a+1,i=Math.log(n),c=.5*Math.exp(2*i/3),l=.5*Math.sqrt(i*c*(n-c)/n)*(r-n/2<0?-1:1),u=Math.floor(t-r*c/n+l),d=u>a?u:a,f=Math.floor(t+(n-r)*c/n+l);fa(e,t,d,f<o?f:o,s)}let n=e[t],r=a,i=o;for(pa(e,a,t),s(e[o],n)>0&&pa(e,a,o);r<i;){for(pa(e,r,i),r++,i--;s(e[r],n)<0;)r++;for(;s(e[i],n)>0;)i--}s(e[a],n)===0?pa(e,a,i):(i++,pa(e,i,o)),i<=t&&(a=i+1),t<=i&&(o=i-1)}}function pa(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}var ma={range:Xi(),children:null,height:0},ha=[];for(let e=0;e<128;e++)ha.push(ma);var ga=0,_a=[];for(let e=0;e<4;e++)_a.push(ma);var va=[],ya=[];for(let e=0;e<8;e++)va.push(ma),ya.push(0);var ba=Xi(),xa=Xi(),Sa=Xi(),Ca=[];for(let e=0;e<64;e++)Ca.push(0);var wa=class e{constructor(e){this._shared=null,this._cloneKey=null,this._lastMiss={colStart:2**53-1,rowStart:0,colEnd:0,rowEnd:0},this._lastSingle={colStart:2**53-1,rowStart:0,colEnd:0,rowEnd:0},this._lastSingleResult=null,this._options=e,this._rTree=new Ta(e?.maxNodeEntries??16)}visitRanges(e,t,n=null){let r,i=this.search(e);n&&(i=Di(i,n));let a=[],o=null,s=i.length;for(let e=0;!o&&e<s;e++){let n=i[e],s=t?.(n);s&&(!0===s.delete?a.push(n):s.update!==void 0&&(a.push(n),r||=[],r.push(s.update)),s&&!0===s.break&&(o=s))}return a.length>0&&this._getWritableTree().removeAll(a),r&&this.load(r),this._onModified(),o}getBoundingRange(){return this._getReadTree().getBoundingRange()}size(){return this._getReadTree().all().length}isEmpty(){return this._getReadTree().isEmpty()}search(e,t=!1,r=!1,i){let a=this._getReadTree();if(a.isEmpty())return n.CommonUtils.EmptyArray;let o=!t&&!r&&!i;if(o){let t=this._lastMiss;if(t.colStart!==2**53-1&&n.CoordUtils.isRangeWithinRange(e,t))return n.CommonUtils.EmptyArray;let r=this._lastSingle;if(r.colStart!==2**53-1&&r.colStart===e.colStart&&r.colEnd===e.colEnd&&r.rowStart===e.rowStart&&r.rowEnd===e.rowEnd)return this._lastSingleResult;if(r.colStart!==2**53-1&&this._lastSingleResult?.length===1&&n.CoordUtils.isRangeWithinRange(e,r)){let r=this._lastSingleResult[0];return r.colStart<=e.colEnd&&r.colEnd>=e.colStart&&r.rowStart<=e.rowEnd&&r.rowEnd>=e.rowStart?this._lastSingleResult:(t.colStart=e.colStart,t.rowStart=e.rowStart,t.colEnd=e.colEnd,t.rowEnd=e.rowEnd,n.CommonUtils.EmptyArray)}}let s=a.searchRange(e,t,i);return o&&(s.length===0?(this._lastMiss.colStart=e.colStart,this._lastMiss.rowStart=e.rowStart,this._lastMiss.colEnd=e.colEnd,this._lastMiss.rowEnd=e.rowEnd,this._lastSingle.colStart=2**53-1,this._lastSingleResult=null):(this._lastMiss.colStart=2**53-1,this._lastSingle.colStart=e.colStart,this._lastSingle.rowStart=e.rowStart,this._lastSingle.colEnd=e.colEnd,this._lastSingle.rowEnd=e.rowEnd,this._lastSingleResult=s)),r&&s.sort(n.CoordUtils.columnFirstRangeComparator),s}has(e){return this._getReadTree().collides(e)}all(e){return this._getReadTree().all(e)}shift(e){let t=e.range,r=e.direction,i=e.cloneIfUpdate??!1,a=e.coordValidator??null,o=e.onShift??null,s=r===n.Direction.Left||r===n.Direction.Right,c=s?n.RangeAxis.Column:n.RangeAxis.Row,l=r===n.Direction.Up||r===n.Direction.Left?-1:1,u=(s?t.colEnd-t.colStart+1:t.rowEnd-t.rowStart+1)*l,d=[],f=[],p=null,m=this.getBoundingRange();if(!m)return this;let h=r===n.Direction.Up||r===n.Direction.Left?n.Direction.Right:n.Direction.Left,g=new Map,_=new Map,v=this._options?.updateEntryOptions,y=v?.isMergeOnShift??!1,b=v?.isSplitOnExpand??!1,x=v?.isTrailingEdge??!1,S=r===n.Direction.Left||r===n.Direction.Up,C=v?.getSplit??Fa,w=v?.getShifted,T=v?.onShifted,E=v?.onRemoved,D=v?.onMerged,O=v?.onUpdated,k=T?[]:null,A=E?[]:null,j=O?[]:null,M;this.visitRanges({colStart:t.colStart-+!!s,rowStart:t.rowStart-+!s,colEnd:s?m.colEnd:t.colEnd,rowEnd:s?t.rowEnd:m.rowEnd},e=>{if((s?e.colEnd<t.colStart:e.rowEnd<t.rowStart)&&!x)return;let i=function(e,t,r=n.AxisSelection.Both){let i=n=>n?e.rowStart>t.rowStart&&e.rowStart<=t.rowEnd||e.rowEnd<t.rowEnd&&e.rowEnd>=t.rowStart:e.colStart>t.colStart&&e.colStart<=t.colEnd||e.colEnd<t.colEnd&&e.colEnd>=t.colStart,a=r===n.AxisSelection.Column,o=r===n.AxisSelection.Row;return r===n.AxisSelection.Both&&(a=o=!0),!(!a||!i(!0))||!(!o||!i(!1))}(t,e,s?n.AxisSelection.Column:n.AxisSelection.Row),l=e.group;if(S&&!l&&t.colStart<=e.colStart&&t.rowStart<=e.rowStart&&t.colEnd>=e.colEnd&&t.rowEnd>=e.rowEnd){let r=La(e,null,{after:null,before:e,intersect:t,isSplit:i,axis:c,amount:u},w,C,o,!1);if(r===void 0)return;if(r===null)return p=n.CoordUtils.unionRanges(p,e),A&&A.push(e),void d.push(e)}let m={...e};r===n.Direction.Right?(t.colStart<=m.colStart&&(m.colStart+=u),m.colEnd+=u):r===n.Direction.Left?t.colStart<m.colStart?(m.colStart=Math.max(m.colStart+u,t.colStart),m.colEnd=Math.max(m.colEnd+u,m.colStart-1)):m.colEnd+=Math.max(u,t.colStart-m.colEnd-1):r===n.Direction.Down?(t.rowStart<=m.rowStart&&(m.rowStart+=u),m.rowEnd+=u):r===n.Direction.Up&&(t.rowStart<m.rowStart?(m.rowStart=Math.max(m.rowStart+u,t.rowStart),m.rowEnd=Math.max(m.rowEnd+u,t.rowStart-1)):m.rowEnd+=Math.max(u,t.rowStart-m.rowEnd-1)),(m.colEnd<m.colStart||m.rowEnd<m.rowStart)&&(m=null);let h=La(e,m,{after:m,before:e,intersect:t,isSplit:i,axis:c,amount:u},w,C,o,b&&u>0);if(h===void 0)return;let v=h===null?[m]:h,y=v.length;if(v[0]!==e||y!==1){if(a)for(let e=0;e<y;e++){let t=v[e];t&&a(t)}let t;l?(g.set(l.uuid,l),t=[],_.set(e.uuid,t)):d.push(e);for(let r=0;r<y;r++){let i=v[r];p=n.CoordUtils.unionRanges(p,i),l?t.push(i):(f.push(i),k&&k.push(i),j&&j.push(e))}}},h),M=i&&(d.length>0||f.length>0||_.size>0)?this.clone():this,M._updateNodes(f,d),e?.onUpdates&&e.onUpdates(f,d,M),_.size>0&&M._updateGroupedEntries(g,_);let N=n.CommonUtils.EmptyArray;if(y&&m&&p){let e=!0;if(u>0&&(e=s?t.rowStart>m.rowStart||t.rowEnd<m.rowEnd:t.colStart>m.colStart||t.colEnd<m.colEnd),e){let e=Ea(p,n.CoordUtils.unionRanges(m,p),+!s,+!!s);D&&(N=M._mergeNodes(e,!1))}}return O&&j.length>0&&O(j),T&&k.length>0&&T(k),D&&N.length>0&&D(N),E&&A.length>0&&E(A),this._onModified(),M}insertNonOverlapping(e,t){let r=t?.onIntersect??((e,t)=>({...e,value:t.value})),i=this.search(e),a=new Map,o=new Map,s=this._options?.updateEntryOptions,c=s?.onUpdated,l=s?.onRemoved,u=s?.onMerged,d=s?.getSplit,f=s?.getIntersect,p=s?.getUpdate,m=null,h=null,g=null,_=Ma(i,e,{getSplit:(e,t,n,r)=>{let i;return d?(i=d(e,t,n,r),i):(i=Fa(e,t,n,r),i)},getIntersect:(e,t)=>{f&&(t=f(e,t));let n=r(e,t);return n===void 0||n!==null&&n.value!==null||e.value?.onRemove?.(e),n},getUpdate:e=>{let t=e?.group;if(t){a.set(t.uuid,t);let n=o.get(e.lastId??e.uuid);n||(n=[],o.set(e.lastId??e.uuid,n)),n.push(e.value===null?null:e)}let n=e;if(p&&(n=p(e)),n&&n.value!==null)c&&(m||=[],m.push(n));else if(l&&!g){g=[];let t=n&&n.value===null?n:{...e,value:null};g.push(t)}return n}}),v=this.getBoundingRange();if(a.size>0){let e=[],t=_.length;for(let n=0;n<t;n++){let t=_[n];t.group||e.push(t)}_=e}if(this._updateNodes(_,i,t?.onUpdates),a.size>0&&this._updateGroupedEntries(a,o),v&&!s?.noMerge&&!t?.noMerge){let r=Ea(e,n.CoordUtils.unionRanges(v,e)),i=this.search(r);if(i.length>1){let e=s?.getMerged??Ia,r=i;r=Na(r,n.RangeAxis.Column,1,e),r=Na(r,n.RangeAxis.Row,1,e),i.length!==r.length&&(u&&r.length>0&&(h=r),this._updateNodes(r,i,t?.onUpdates))}}return m&&c(m),h&&u(h),g&&l(g),this._onModified(),this}insertGroup(e,t){t??=n.CommonUtils.uuidV4();let r=[],i=e.length;for(let a=0;a<i;a++){let i={...e[a],group:{entries:r,uuid:t,offset:a},uuid:n.CommonUtils.uuidV4()};r.push(i),e[a]=i}return this.load(e),this._options?.updateEntryOptions?.onGroupUpdate?.(e,t),this._onModified(),this}createCopiedEntries(e,t,r,i,a){return function(e,t,r,i,a,o,s){let c=r.colEnd-r.colStart+1,l=r.rowEnd-r.rowStart+1,u=r.colStart-t.colStart,d=r.rowStart-t.rowStart,f=i?.transpose??!1,p=1,m=1;f?(p=t.rowEnd-t.rowStart+1,m=t.colEnd-t.colStart+1):(p=t.colEnd-t.colStart+1,m=t.rowEnd-t.rowStart+1);let h=Math.ceil(c/p),g=Math.ceil(l/m),_=r.scope,v=a??[],y=o??n.CommonUtils.EmptyArray,b=r.colEnd,x=r.rowEnd;return e.visitRanges(t,e=>{let a=e.value;if(!a.copyTo)return;let o=e;if(!n.CoordUtils.isRangeWithinRange(o,t)){let e=Aa(o,t,s);o=e[e.length-1]}a=o.value;let y=o.colEnd-o.colStart+1,S=o.rowEnd-o.rowStart+1,C=u+o.colStart,w=d+o.rowStart;if(f){C=o.rowStart-t.rowStart+r.colStart,w=o.colStart-t.colStart+r.rowStart;let e=y;y=S,S=e}let T=h,E=g,D=c<=T*y,O=l<=E*S;if(D||O){let e=a?.canTile?.({colStart:C,rowStart:w,colEnd:Math.min(C+(D?c:y)-1,b),rowEnd:Math.min(w+(O?l:S)-1,x)},i);!D||!0!==e&&e!==n.RangeAxis.Column||(y=c,T=1),!O||!0!==e&&e!==n.RangeAxis.Row||(S=l,E=1)}for(let e=0;e<T;e++){let t=C+e*p;for(let e=0;e<E;e++){let n=w+e*m,r=Math.min(t+y-1,b),o=Math.min(n+S-1,x),s={colStart:t,rowStart:n,colEnd:r,rowEnd:o,scope:_};if(t>r||n>o)continue;let c=a.copyTo(s,i);c&&v.push(c)}}},n.Direction.Right),{inserts:v,removes:y}}(this,e,t,r,i,a,this._options?.updateEntryOptions?.getSplit??Fa)}remove(e,t){return e&&(this._getWritableTree().remove(e,t??ka),this._onModified()),this}removeAll(e,t){return e&&e.length>0&&this._getWritableTree().removeAll(e,t),this._onModified(),this}insert(e){return e&&this._getWritableTree().insert(e),this._onModified(),this}load(e){return e&&e.length>0&&this._getWritableTree(e),this._onModified(),this}clear(){return this.isEmpty()||this._getWritableTree().clear(),this._onModified(),this}delete(e){if(this.isEmpty())return this;if(!e)return this.clear();let t=this.search(e);return t.length===0||(this._getWritableTree().removeAll(t),this._onModified()),this}clone(e=null){if(e!==null&&this._cloneKey===e)return this;let t=this._shared;t||(t={rTree:this._rTree,refCount:1},this._shared=t),t.refCount++;let n=this._createClone(this._options);return n._shared=t,n._cloneKey=e,n}_updateGroupedEntries(e,t){let n=[],r=[],i=new Map,a=e.values(),o=a.next();for(;!o.done;){let e=o.value,s=e.entries,c=e.uuid,l=[];for(let e=0;e<s.length;e++){let i=s[e];n.push(i);let a=t.get(i.uuid);a===void 0&&(a=[{...i}]);for(let e=0;e<a.length;e++){let t=a[e];t!==null&&(t={...t,group:{offset:l.length,entries:l,uuid:c}},l.push(t),r.push(t))}}l.sort((e,t)=>e.group.offset-t.group.offset),i.set(c,l),o=a.next()}if(this._updateNodes(r,n),i){let e=this._options?.updateEntryOptions?.onGroupUpdate;if(e){let t=i.entries(),n=t.next();for(;!n.done;){let r=n.value[0];e(n.value[1],r),n=t.next()}}}}_copy(e,t){let n=e.rTree.all([]),r=new Ta(this._options?.maxNodeEntries);return t&&(n=n.concat(t)),n.length>0&&r.load(n),{refCount:1,rTree:r}}_updateNodes(e,t,n){if(!(e&&e.length!==0||t&&t.length!==0))return;let r=this._getWritableTree();if(t){let e=t.length;for(let n=0;n<e;n++){let e=t[n],i=e.value;i&&i.onRemove&&i.onRemove(e),r.remove(e)}}e.length>0&&r.load(e),n?.(e,t,this),this._options?.updateEntryOptions?.onUpdates?.(e,t,this)}_mergeNodes(e,t){let r=this.search(e,t),i=n.CommonUtils.EmptyArray;if(r.length>1){let e=this._options?.updateEntryOptions?.getMerged??Ia,t=r;t.length>1&&(t=Na(t,n.RangeAxis.Column,1,e)),t.length>1&&(t=Na(t,n.RangeAxis.Row,1,e)),r.length!==t.length&&(i=t,this._updateNodes(t,r))}return i}_getReadTree(){return this._shared?.rTree??this._rTree}_ensureWritable(e){let t=this._shared;if(!t)return;if(t.refCount--,t.refCount===0)return this._shared=null,void(e&&this._rTree.load(e));let n=this._copy(t,e);this._shared=null,this._rTree=n.rTree}_getWritableTree(e){return this._lastMiss.colStart=2**53-1,this._lastSingle.colStart=2**53-1,this._lastSingleResult=null,this._shared?(this._ensureWritable(e),this._rTree):(e&&this._rTree.load(e),this._rTree)}_onModified(){}_createClone(t){return new e(t)}},Ta=class extends Wi{isEmpty(){return super.isEmpty()}searchRange(e,t=!1,r){if(this.isEmpty())return n.CommonUtils.EmptyArray;let i=this.search(e,r);return t?i.filter(t=>t.colStart>=e.colStart&&t.rowStart>=e.rowStart&&t.colEnd<=e.colEnd&&t.rowEnd<=e.rowEnd):i}};function Ea(e,t=e,n=1,r=1){return{...e,colStart:Math.max(e.colStart-n,t.colStart),rowStart:Math.max(e.rowStart-r,t.rowStart),colEnd:Math.min(e.colEnd+n,t.colEnd),rowEnd:Math.min(e.rowEnd+r,t.rowEnd)}}function Da(e,t,n,r){return[{...t[0],value:e.value},{...t[0],value:e.value}]}function Oa(e,t){return{...e}}function ka(e,t){return e===t||!(!e||!t)&&e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd&&e.colStart===t.colStart&&e.colEnd===t.colEnd}function Aa(e,t,r=null,i=!0){if(ka(e,t))return[{...e}];let a=n.CoordUtils.intersectRanges(e,t,Ba);if(!a)return null;let o=[],s=e.uuid,c=e;if(c.rowStart<a.rowStart){let e={...c,colStart:c.colStart,rowStart:c.rowStart,colEnd:c.colEnd,rowEnd:a.rowStart-1};s&&(i&&(e.lastId=s),e.uuid=n.CommonUtils.uuidV4());let t={...c,colStart:c.colStart,rowStart:a.rowStart,colEnd:c.colEnd,rowEnd:c.rowEnd};s&&(i&&(t.lastId=s),t.uuid=n.CommonUtils.uuidV4());let l=t.rowStart-e.rowStart;za[0]=e,za[1]=t;let u=r(c,za,n.RangeAxis.Row,l);u!==void 0&&(o.push(u[0]),c=u[1])}if(c.rowEnd>a.rowEnd){let e={...c,colStart:c.colStart,rowStart:c.rowStart,colEnd:c.colEnd,rowEnd:a.rowEnd};s&&(i&&(e.lastId=s),e.uuid=n.CommonUtils.uuidV4());let t={...c,colStart:c.colStart,rowStart:a.rowEnd+1,colEnd:c.colEnd,rowEnd:c.rowEnd};s&&(i&&(t.lastId=s),t.uuid=n.CommonUtils.uuidV4());let l=t.rowStart-e.rowStart;za[0]=e,za[1]=t;let u=r(c,za,n.RangeAxis.Row,l);u!==void 0&&(o.push(u[1]),c=u[0])}if(c.colStart<a.colStart){let e={...c,colStart:c.colStart,rowStart:c.rowStart,colEnd:a.colStart-1,rowEnd:c.rowEnd};s&&(i&&(e.lastId=s),e.uuid=n.CommonUtils.uuidV4());let t={...c,colStart:a.colStart,rowStart:c.rowStart,colEnd:c.colEnd,rowEnd:c.rowEnd};s&&(i&&(t.lastId=s),t.uuid=n.CommonUtils.uuidV4());let l=t.colStart-e.colStart;za[0]=e,za[1]=t;let u=r(c,za,n.RangeAxis.Column,l);u!==void 0&&(o.push(u[0]),c=u[1])}if(c.colEnd>a.colEnd){let e={...c,colStart:c.colStart,rowStart:c.rowStart,colEnd:a.colEnd,rowEnd:c.rowEnd};s&&(i&&(e.lastId=s),e.uuid=n.CommonUtils.uuidV4());let t={...c,colStart:a.colEnd+1,rowStart:c.rowStart,colEnd:c.colEnd,rowEnd:c.rowEnd};s&&(i&&(t.lastId=s),t.uuid=n.CommonUtils.uuidV4());let l=t.colStart-e.colStart;za[0]=e,za[1]=t;let u=r(c,za,n.RangeAxis.Column,l);u!==void 0&&(o.push(u[1]),c=u[0])}return c===e&&(c={...e}),o.push(c),o}function ja(e){return e.value===null?null:e}function Ma(e,t,r){let i=r?.getIntersect??Oa,a=r?.getUpdate??ja;if(e.length===0){let e=t;if(i){let n=i({...t,value:null},t);e=n&&n.value!==null?{...n}:null}if(a){let t=a(e);t!==void 0&&(e=t)}return e?[e]:n.CommonUtils.EmptyArray}let o=r?.getSplit??Da,s=(e,t,n=!0)=>{let r=t.search(e),i=r.length;for(let a=0;a<i;a++){let i=r[a];if(ka(i,e))continue;t?.remove(i);let c=Aa(i,e,o,n);for(let e=0;e<c.length;e++){let n=c[e];t.insert(n),s(n,t,!1)}}},c=new wa;c.load(e),s(t,c);let l=new wa;l.load([t]);let u=c.search(t);for(let e=0;e<u.length;e++)s(u[e],l);let d=(e,t,n)=>{let r=t.search(e);console.assert(r.length<=1,`intersecting incorrect ranges`);let a=r[0]??{...e,value:null};if(ka(a,e)){let r=i(a,e);t.remove(a),n.insert(r)}else{t.remove(a);let r=Aa(a,e,o),s=r.length;for(let a=0;a<s;a++){let o=r[a];if(ka(o,e)){let t=i(o,e);n.insert(t)}else t.insert(o)}}},f=new wa,p=l.all([]),m=p.length;for(let e=0;e<m;e++)d(p[e],c,f);let h=c.all([]);return((e,t)=>{let n=e.all([]),r=n.length;for(let e=0;e<r;e++){let r=n[e];if(a){let e=a(r);e!==void 0&&(r=e)}r!==null&&r.value!==null&&t.push(r)}})(f,h),h}function Na(e,t=n.RangeAxis.Column,r=2,i,a){let o=[...e];if(r<=0||e.length<=1)return o;let s=t===n.RangeAxis.Column,c=0,l=0;do{let e=o.sort(n.CoordUtils.createRangeComparator(s?n.RangeAxis.Row:n.RangeAxis.Column));o=[];let r=!1;o.push(e[0]);let u=e.length;for(let n=1;n<u;n++){let c=e[n],l=o[o.length-1],u=!1;if(u=s?l&&l.rowStart===c.rowStart&&l.rowEnd===c.rowEnd&&l.colEnd+1===c.colStart&&l.scope===c.scope:l&&l.colStart===c.colStart&&l.colEnd===c.colEnd&&l.rowEnd+1===c.rowStart&&l.scope===c.scope,u){let e={...l};if(e.colEnd=s?c.colEnd:l.colEnd,e.rowEnd=s?l.rowEnd:c.rowEnd,i){let n=a??[null,null];n[0]=l,n[1]=c,e=i(n,e,t)}if(e){o[o.length-1]=e,r=!0;continue}}o.push(c)}l=r?0:l+1,c++,s=!s}while(c<r&&l<2&&o.length>1);return o}function Pa(e,t=2,r=n.RangeAxis.Row,i,a,o){if(e.length<=1)return[...e];let s=function(e){let t=e[0]?.scope??null,n=!1;for(let r=1;r<e.length;r++)if((e[r]?.scope??null)!==t){n=!0;break}if(!n)return null;let r=new Map;for(let t=0;t<e.length;t++){let n=e[t],i=n?.scope??null,a=r.get(i);a?a.push(n):r.set(i,[n])}return Array.from(r.values())}(e);if(s){let e=[];for(let n=0;n<s.length;n++){let c=Pa(s[n],t,r,i,a,o);for(let t=0;t<c.length;t++)e.push(c[t])}return e}let c=e[0]?.scope??void 0,l=[],u=r===n.RangeAxis.Column,d=new gi.IteratorInstance(e,{axis:u?n.RangeAxis.Row:n.RangeAxis.Column}),f=d.next();for(;!f.done;){let e=f.value;f=d.next();let n=e.range;if(a&&e.overlaps.length>1&&a(n,e.overlaps),t>0){let e=l[l.length-1],t=!1;if(t=u?e&&e.rowStart===n.rowStart&&e.rowEnd===n.rowEnd&&e.colEnd+1===n.colStart:e&&e.colStart===n.colStart&&e.colEnd===n.colEnd&&e.rowEnd+1===n.rowStart,t){let t={...e,colEnd:u?n.colEnd:e.colEnd,rowEnd:u?e.rowEnd:n.rowEnd};if(i){let a=o??[null,null];a[0]=e,a[1]=n,t=i(a,t,r)}if(t){l[l.length-1]=t;continue}}}l.push(n)}if(t>1&&(l=Na(l,u?n.RangeAxis.Row:n.RangeAxis.Column,t,i,o)),c!==void 0)for(let e=0;e<l.length;e++)l[e].scope===void 0&&(l[e]={...l[e],scope:c});return l}function Fa(e,t,n,r){let i=e.value;if(i?.getSplit){let e=i.getSplit(t,n,r);if(e===void 0)return;t[0].value=e[0],t[1].value=e[1]}return t}function Ia(e,t,r){let i=e[0].value,a=e[1].value;if(a){let o;if(i?.getMerged?o=i.getMerged(e[1].value,n.CoordUtils.sanitizeRange(t),r):i&&(o=i===a?a:void 0),o===void 0)return;t.value=o}return t}function La(e,t,r,i,a,o,s){let c=r.axis===n.RangeAxis.Column,l=r.intersect,u=(t,u)=>{let d=t.value,f=null,p=u.after;if(s){let r=null,i=0,o=0;if(c&&l.colStart>t.colStart?(r={...t,colEnd:l.colStart-1},o=u.amount):!c&&l.rowStart>t.rowStart&&(r={...t,rowEnd:l.rowStart-1},i=u.amount),r){let t=Aa(e,r,a);if(t.length>1)for(let e=0;e<t.length;e++){let a=t[e];ka(a,r)?(f??=[],f.push(a)):(p=a,d=a.value,u={...u,after:{...a,colStart:a.colStart+o,rowStart:a.rowStart+i,colEnd:a.colEnd+o,rowEnd:a.rowEnd+i,uuid:n.CommonUtils.uuidV4()},before:a,isSplit:!0})}}}if(i?p=i(u.before,u.after,u):d&&d.getShifted?p=d.getShifted(u):u.after&&(p={...u.after,value:t.value}),p!==void 0)return o&&(p!==u.after&&(u={...u,after:p}),o(u)),p=(t=>{if(!t){let t=e.value;return t.onRemove&&t.onRemove(r.before),null}return t})(p),p&&(f??=[],f.push(p)),f};if(r.isSplit){let n;n=c?{...e,rowStart:Math.max(l.rowStart,r.before.rowStart),rowEnd:Math.min(l.rowEnd,r.before.rowEnd)}:{...e,colStart:Math.max(l.colStart,r.before.colStart),colEnd:Math.min(l.colEnd,r.before.colEnd)};let i=Aa(e,n,a),o=[];for(let e=0;e<i.length;e++){let a=i[e];if(ka(a,n)){let e=null;t&&(e=c?{colStart:t.colStart,rowStart:n.rowStart,colEnd:t.colEnd,rowEnd:n.rowEnd,value:a.value}:{colStart:n.colStart,rowStart:t.rowStart,colEnd:n.colEnd,rowEnd:t.rowEnd,value:a.value});let i=u(a,{...r,before:a,after:e});if(i)for(let e=0;e<i.length;e++)o.push(i[e])}else o.push(a)}return o}return u(e,r)}function Ra(e,t){let r=e=>`${e.scope??``}!${e.rowStart},${e.colStart},${e.rowEnd},${e.colEnd}`,i=new Set,a=[],o=Pa(t(e),2,n.RangeAxis.Row);for(;o.length>0;){let e=[];for(let n of o){let o=r(n);i.has(o)||(i.add(o),a.push(n),e.push(...t(n)))}o=Pa(e,2,n.RangeAxis.Row)}return Pa(a,2,n.RangeAxis.Row)}var za=[null,null],Ba={colStart:0,rowStart:0,colEnd:0,rowEnd:0};function Va(e=-(2**53-1),t=-(2**53-1),r=2**53-1,i=2**53-1,a,o,s){if(o&&(e!==-(2**53-1)&&e<o.colStart||t!==-(2**53-1)&&t<o.rowStart||r!==2**53-1&&r>o.colEnd||i!==2**53-1&&i>o.rowEnd))throw new n.OutOfBoundsError;return s&&(e=Math.max(s.colStart,e),t=Math.max(s.rowStart,t),r=Math.min(s.colEnd,r),i=Math.min(s.rowEnd,i),r<e||i<t)?null:(Ua.majorStart=a?e:t,Ua.majorEnd=a?r:i,Ua.minorStart=a?t:e,Ua.minorEnd=a?i:r,Ua)}function Ha(e,t,n){let r=n??{colStart:0,rowStart:0,colEnd:0,rowEnd:0};return r.colStart=t?e.majorStart:e.minorStart,r.rowStart=t?e.minorStart:e.majorStart,r.colEnd=t?e.majorEnd:e.minorEnd,r.rowEnd=t?e.minorEnd:e.majorEnd,r}var Ua={majorStart:0,majorEnd:0,minorStart:0,minorEnd:0};function Wa(e,t){return e[0]-t[0]}var Ga=class{constructor(e,t){this._isColumn=!0,this._isReverse=!1,this._skipMajors=!1,this._majorMin=2**53-1,this._majorMax=-(2**53-1),this._minorMin=2**53-1,this._minorMax=-(2**53-1),this._majorIndex=-(2**53-1),this._minorIndex=-(2**53-1),this._delegateMajorIndex=-(2**53-1),this._delegateMinorIndex=-(2**53-1),this._delegate=e;let r=(t.axis??n.RangeAxis.Column)===n.RangeAxis.Column;this._isColumn=r,this._isReverse=t.reverse??!1,this._skipMajors=t.skipMajors??!1;let i=t.bounds,a=i.colStart,o=i.rowStart,s=i.colEnd,c=i.rowEnd;this._majorMin=r?a:o,this._majorMax=r?s:c,this._minorMin=r?o:a,this._minorMax=r?c:s,this._processMajorSkip=r?t.processColumnSkip:t.processRowSkip,this._processMinorSkip=r?t.processRowSkip:t.processColumnSkip;let l=e.next();this._delegateResult=l,this._initialize()}_initialize(){let e=this._isColumn,t=this._isReverse,n=t?-1:1,r=t?this._majorMax:this._majorMin,i=(t?this._minorMax:this._minorMin)-n,a=this._processMinorSkip;a&&(i=a(i,t));let o=this._processMajorSkip;o&&(r=o(r,t)),this._majorIndex=r,this._minorIndex=i;let s=this._delegateResult;if(s.done)this._delegateMajorIndex=this._majorMax,this._delegateMinorIndex=this._minorMax+n;else{let t=s.value[0];this._delegateMajorIndex=e?t.colIndex:t.rowIndex,this._delegateMinorIndex=e?t.rowIndex:t.colIndex}}next(e){e!==void 0&&(this._delegateResult=this._delegate.next(e),this._initialize());let t=this._isReverse,n=this._isColumn,r=this._majorMin,i=this._majorMax,a=this._majorIndex,o=this._minorIndex;if(a>i||a<r)return oi;let s=this._delegateMajorIndex,c=this._delegateMinorIndex,l=this._delegateResult.done;if(a===s&&o===c){let e=this._delegate.next();if(this._delegateResult=e,l=e.done,l)s=t?r:i,s=t?this._minorMin:this._minorMax;else{let t=e.value[0];s=n?t.colIndex:t.rowIndex,c=n?t.rowIndex:t.colIndex}this._delegateMajorIndex=s,this._delegateMinorIndex=c}let u=t?-1:1;if(this._minorIndex=o+=u,a===s&&o===c&&!l)return this._delegateResult;let d=this._processMinorSkip;if(d&&(o=d(o,t)),o>this._minorMax||o<this._minorMin){a+=u;let e=this._processMajorSkip;e&&(a=e(a,t)),this._skipMajors&&(!t&&a<s||t&&a>s)&&(a=s),this._majorIndex=a,o=t?this._minorMax:this._minorMin}return this._minorIndex=o,a!==s||o!==c||l?a>i||a<r?oi:{done:!1,value:[{colIndex:n?a:o,rowIndex:n?o:a},void 0]}:this._delegateResult}return(e){return null}throw(e){return null}[Symbol.iterator](){return this}},Ka=class{constructor(e){this._isColumn=!0,this._majorSize=2**53-1,this._minorSize=2**53-1,this._majorMin=2**53-1,this._majorMax=-(2**53-1),this._minorMin=2**53-1,this._minorMax=-(2**53-1),this._majorIndex=2**53-1,this._minorIndex=2**53-1,this._minorOffset=0,this._minorRepeat=0,this._majorOffset=-1,this._majorRepeat=1,this._pattern=[];let t=e.delegate;this._delegate=t;let r=(e.axis??n.RangeAxis.Column)===n.RangeAxis.Column;this._isColumn=r;let i=e.dims,a=e.bounds,o=a.colStart,s=a.rowStart,c=a.colEnd,l=a.rowEnd;if(this._majorSize=1+(r?c-o:l-s),this._minorSize=1+(r?l-s:c-o),this._majorMin=r?o:s,this._minorMin=r?s:o,this._majorMax=(r?o+i.major:s+i.major)-1,this._minorMax=(r?s+i.minor:o+i.minor)-1,this._majorSize>this._majorMax+1||this._minorSize>this._minorMax+1)throw Error(`The dimensions must be larger than the bounds.`);let u=t.next();this._nextDelegateResult=u,this._initialize()}_initialize(){let e=this._isColumn,t=this._nextDelegateResult;if(t.done)this._nextResult=oi;else{let n=t.value[0],r=e?n.colIndex:n.rowIndex,i=e?n.rowIndex:n.colIndex,a=[[i,t.value[1]]];this._minorSpan=a,this._majorIndex=r,this._minorIndex=i,this._pattern.push([r,a]),this._nextResult=t}}next(e){if(e!==void 0)throw new n.NotImplementedError;let t=this._nextResult,r=this._isColumn,i=this._majorIndex,a=this._nextDelegateResult;if(!a.done){let e=a.value[0];if((r?e.colIndex:e.rowIndex)===i&&(a=this._delegate.next(),this._nextDelegateResult=a,!a.done)){let e=a.value,n=e[0],o=r?n.colIndex:n.rowIndex,s=r?n.rowIndex:n.colIndex;if(o===i)return this._minorSpan.push([s,e[1]]),this._minorOffset=this._minorSpan.length-1,this._minorIndex=s,this._nextResult=a,t}}let o=this._minorMax,s=this._minorIndex;if(s<o){let e=this._minorOffset;e++;let n=this._minorSpan;e>=n.length&&(e=0,this._minorRepeat++);let a=n[e],c=this._minorMin;if(s=c+(a[0]-c+this._minorSize*this._minorRepeat),this._minorIndex=s,this._minorOffset=e,s<=o){let e=[{colIndex:r?i:s,rowIndex:r?s:i},a[1]];return this._nextResult={done:!1,value:e},t}}if(!a.done){let e=a.value,n=e[0],i=r?n.colIndex:n.rowIndex,o=r?n.rowIndex:n.colIndex,s=[[o,e[1]]];return this._pattern.push([i,s]),this._majorIndex=i,this._minorSpan=s,this._minorOffset=0,this._minorIndex=o,this._minorRepeat=0,this._nextResult=a,t}let c=this._majorMax;if(i<c){let e=this._majorOffset;e++;let n=this._pattern;e>=n.length&&(e=0,this._majorRepeat++);let a=n[e],o=a[1],l=o[0],u=this._majorMin;if(i=u+(a[0]-u+this._majorSize*this._majorRepeat),this._majorIndex=i,this._majorOffset=e,i<=c){this._minorSpan=o,this._minorOffset=0,s=l[0],this._minorIndex=s,this._minorRepeat=0;let e=[{colIndex:r?i:s,rowIndex:r?s:i},l[1]];return this._nextResult={done:!1,value:e},t}}return t.done||(this._nextResult=oi),t}return(e){return null}throw(e){return null}[Symbol.iterator](){return this}},qa=class{constructor(e,t,r){this._comparator=e?.comparator??n.CoordUtils.createCellComparator(e.axis??n.RangeAxis.Column,e.reverse??!1),this._iterator1=t,this._iterator2=r;let i=t.next();this._nextResult1=i;let a=r.next();this._nextResult2=a,e?.reuseResult&&(!0===e.reuseResult?this._reuseResult={done:!1,value:[void 0,void 0,void 0,void 0]}:this._reuseResult=e.reuseResult)}next(e){let t=this._nextResult1,n=this._nextResult2;if(t.done&&n.done)return t;if(t.done){let e=n;this._nextResult2=this._iterator2.next();let t=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};t.done=!1;let r=t.value,i=e.value;return r[2]=i[0],r[3]=i[1],r[0]=void 0,r[1]=void 0,t}if(n.done){let e=t;this._nextResult1=this._iterator1.next();let n=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};n.done=!1;let r=n.value,i=e.value;return r[0]=i[0],r[1]=i[1],r[2]=void 0,r[3]=void 0,n}let r=(0,this._comparator)(t.value[0],n.value[0]);if(r<0){let e=t;this._nextResult1=this._iterator1.next();let n=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};n.done=!1;let r=n.value,i=e.value;return r[0]=i[0],r[1]=i[1],r[2]=void 0,r[3]=void 0,n}if(r>0){let e=n;this._nextResult2=this._iterator2.next();let t=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};t.done=!1;let r=t.value,i=e.value;return r[2]=i[0],r[3]=i[1],r[0]=void 0,r[1]=void 0,t}this._nextResult1=this._iterator1.next(),this._nextResult2=this._iterator2.next();let i=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};i.done=!1;let a=i.value;return a[0]=t.value[0],a[1]=t.value[1],a[2]=n.value[0],a[3]=n.value[1],i}return(e){return null}throw(e){return null}[Symbol.iterator](){return this}},Ja=`Must be an array of arrays.`;function Ya(e,t,n){let r=t.majorStart,i=t.minorStart,a=t.majorEnd,o=[],s=t.minorEnd-i+1,c=typeof e==`function`;for(let t=r;t<=a;t++){let r;if(c)if(r=[],n){let n=i;for(let i=0;i<s;i++)r.push(e(n++,t))}else{let n=i;for(let i=0;i<s;i++)r.push(e(t,n++))}else s<=to?(r=Array(s),r.fill(e,0,s)):r=new Ui([e],s);let a=[[i,r]];o.push([t,a])}return{tuples:o,bounds:t}}function Xa(e,t=!1,r=null,i=!1){let a=0,o=0,s=2**53-1,c=2**53-1;if(r&&(a=r.majorStart??0,o=r.minorStart??0,s=(r.majorEnd??2**53-1)-a+1,c=(r.minorEnd??2**53-1)-o+1),t){let e=a;a=o,o=e;let t=s;s=c,c=t}if(!Array.isArray(e))throw Error(Ja);if(e.length>s)throw new n.OutOfBoundsError;let l=t?new _i.TransposedBuilder:new _i.Builder;for(let t=0;t<e.length;t++){let r=e[t];if(r!=null&&r.length!==0){if(!Array.isArray(r))throw Error(Ja);if(r.length>c)throw new n.OutOfBoundsError;if(i){let e=-1;for(let n=0;n<r.length;n++)r[n]==null?e!==-1&&(l.pushMultipleAt(t+a,o+e,r.slice(e,n)),e=-1):e===-1&&(e=n);e!==-1&&l.pushMultipleAt(t+a,o+e,r.slice(e))}else l.pushMultipleAt(t+a,o,r)}}return l.build()}var Za=(e,t,n)=>{if(e===t)return t},Qa=(e,t,n)=>{if(e[0].value===e[1].value)return t},$a=[null,null];function eo(e=!0,t=Za){let r=[],i,a,o=-(2**53-1),s=-(2**53-1);return{append:(n,c,l)=>{let u=!0;if(l!==void 0){let n=a===void 0?l:t(a,l,e);n===void 0?u=!1:l=n}if(u&&c===s+1&&n===o)return e?i.rowEnd=c:i.colEnd=c,s=c,void(a=l);i&&r.push(i);let d=e?n:c,f=e?c:n;i={colStart:d,rowStart:f,colEnd:d,rowEnd:f,value:l},o=n,s=c,a=l},done:(t=!1)=>(i&&=(r.push(i),null),t?Na(r,e?n.RangeAxis.Column:n.RangeAxis.Row,2,Qa,$a):r)}}var to=4,no=class e{constructor(e){this._dataCoords=null,this._count=0,this._isColumn=!0,this._lastMajor=-(2**53-1),this._lastMinorSpan=null,this._maxCoords=void 0,this._isShared=!1,this._options={axis:n.RangeAxis.Row,...e},this._isColumn=(this._options?.axis??n.RangeAxis.Column)===n.RangeAxis.Column,e?.maxCoords&&(this._maxCoords=Object.freeze({colStart:Math.max(0,e.maxCoords.colStart??0),rowStart:Math.max(0,e.maxCoords.rowStart??0),colEnd:Math.min(2**53-1,e.maxCoords.colEnd??2**53-1),rowEnd:Math.min(2**53-1,e.maxCoords.rowEnd??2**53-1)})),this._createRun=e?.createRun??(e=>new ci(e)),this._optionsMinor={},this._major=new ki({nodeSize:ro})}getRuns(e){let t=this._isColumn,n=this._maxCoords,r=this.getCoords();if(!r)return si;let i=e?.bounds,a,o;if(i){let s=Va(i?.colStart??-(2**53-1),i?.rowStart??-(2**53-1),i?.colEnd??2**53-1,i?.rowEnd??2**53-1,t,n,r);if(!s)return si;a={bounds:{min:s.majorStart,max:s.majorEnd}},o={bounds:{min:s.minorStart,max:s.minorEnd},overflowRun:e?.overflowRun}}let s=this._major.entries(a),c,l,u,d;do{if(c=s.next(),c.done)return si;l=c.value[1],u=l.runs(o),d=u.next()}while(d.done);let f=c.value[0],p=d.value[0].min,m=d.value[1];return{[Symbol.iterator](){return this},next(){if(c.done)return oi;let e={done:!1,value:[f,p,m]};for(d=u.next();d.done&&!c.done;)c=s.next(),c.done||(f=c.value[0],l=c.value[1],u=l.runs(o),d=u.next());return d.done||(p=d.value[0].min,m=d.value[1]),e}}}getAxis(){return this._isColumn?n.RangeAxis.Column:n.RangeAxis.Row}entries(e){let t=this._isColumn,r=t,i=!0,a=this._maxCoords,o=this.getCoords(),s=Va(-(2**53-1),-(2**53-1),2**53-1,2**53-1,t,a,o??void 0);if(!s)return si;let c,l,u,d=s.majorStart,f=s.majorEnd,p=s.minorStart,m=s.minorEnd,h=!1;if(e){e?.axis&&(r=e?.axis===n.RangeAxis.Column,i=t===r);let s=e?.bounds;if(s){let e=Va(s.colStart,s.rowStart,s.colEnd,s.rowEnd,t,a,o??void 0);if(!e)return si;d=e.majorStart,f=e.majorEnd,p=e.minorStart,m=e.minorEnd}h=e.reverse??!1,u=function(e){if(typeof e==`boolean`){if(!0===e)return{done:!1,value:[{colIndex:-1,rowIndex:-1},null]}}else if(e)return e}(e.reuseResult),c=t?e.processColumnSkip:e.processRowSkip,c&&(h?f=c(f,h):d=c(d,h)),l=t?e.processRowSkip:e.processColumnSkip,l&&(h?m=l(f,h):p=l(p,h))}if(!o)return si;i||d!==f||(i=!0),co.bounds.min=d,co.bounds.max=f,co.reverse=h,co.processSkip=c,co.reuseResult=oo;let g=this._major.entries(co),_=lo(),v=e=>{if(!e.nextActive)return;let t=t=>{let n=e.nextMinorIndex,r=e.nextMinorValue,i=e.nextActive;return t?(e.nextMinorIndex=t[0],e.nextMinorValue=t[1],e.nextActive=!0):(e.nextActive=!1,e.nextMinorIndex=h?-(2**53-1):2**53-1,e.nextMinorValue=null),e.value=r,e.minorIndex=n,e.active=i,io[0]=e.majorIndex,io[1]=n,io[2]=r,io},n=e.minorIterator;if(!n)return t();let r=n.next();return r.done&&(e.minorIterator=null),t(r.value)},y=e=>{if(g)for(;;){let t=g.next();if(t.done)return void(g=void 0);let n=t.value,r=n[1];e.majorIndex=n[0],e.active=!0,e.nextActive=!1,so.bounds.min=p,so.bounds.max=m,so.reverse=h,so.processSkip=l,so.reuseResult=ao;let i=r.entries(so),a=i.next();if(!a.done){let t=a.value;return e.nextMinorIndex=t[0],e.nextMinorValue=t[1],e.minorIterator=i,e.nextActive=!0,v(e)}}},b=null;if(i)b=()=>{let e;return e=v(_),e||(e=y(_),e||void 0)};else{let e=h?m:p,t=h?p:m,n,r=e,i=t,a=!0,o=()=>{let e=_.nextMajorCursor;if(e)return _=e,_;_=n,(r<p||r>m||r===i)&&(_=null),r=i,i=t};b=()=>{for(;_;){let s=null;if(a){let t=n?lo():_;if(s=y(t),s){n?(t.prevMajorCursor=_,_.nextMajorCursor=t,_=t):n=_,i=h?Math.max(i,_.nextMinorIndex):Math.min(i,_.nextMinorIndex);let r=_.minorIndex;r!==e&&(i=h?Math.max(i,r):Math.min(i,r),s=null)}else a=!1,o()}else{let e=_.minorIndex,a=_.nextMinorIndex;e===r?(io[0]=_.majorIndex,io[1]=e,io[2]=_.value,s=io):!h&&e>r||h&&e<r?i=h?Math.max(i,e):Math.min(i,e):!h&&a>r||h&&a<r?i=h?Math.max(i,a):Math.min(i,a):s=v(_),_.active&&(i=h?Math.max(i,_.nextMinorIndex):Math.min(i,_.nextMinorIndex)),t===r||_.active||(_.prevMajorCursor?_.prevMajorCursor.nextMajorCursor=_.nextMajorCursor:n=_.nextMajorCursor,_.nextMajorCursor&&(_.nextMajorCursor.prevMajorCursor=_.prevMajorCursor)),o()}if(s)return s}}}return{next(e){if(e)throw new n.NotImplementedError(`Iterator with next argument is not supported.`);let r=b();return r?function(e,t,n,r,i){let a=i??{done:!1,value:[{colIndex:-1,rowIndex:-1},null]},o=a.value,s=o[0];return s.colIndex=r?e:t,s.rowIndex=r?t:e,o[1]=n,a}(r[0],r[1],r[2],t,u):oi},[Symbol.iterator](){return this},return:e=>null,throw:e=>null}}values(e){let t=this.entries(e),n;return e?.reuseResult&&(n=!0===e.reuseResult?{done:!1,value:null}:e.reuseResult),{next(e){let r=t.next(e);return r.done?oi:n?(n.value=r.value[1],n):{done:!1,value:r.value[1]}},[Symbol.iterator](){return this},return:e=>null,throw:e=>null}}keys(e){let t=this.entries(e),n;return e?.reuseResult&&(n=!0===e.reuseResult?{done:!1,value:null}:e.reuseResult),{next(e){let r=t.next(e);return r.done?oi:n?(n.value=r.value[0],n):{done:!1,value:r.value[0]}},[Symbol.iterator](){return this},return:e=>null,throw:e=>null}}_updateMajorSpan(e,t=!1){if(!e||e.length===0)return;t&&e.sort((e,t)=>e[0]-t[0]);let n=this._major,r=e[0],i=r[0],a=i,o=[r[1]];for(let t=1;t<e.length;t++){let r=e[t],s=r[0],c=r[1];s===a+1?o.push(c):(n.setRunAt(i,new ci(o)),i=s,o=[c]),a=s}o.length>0&&n.setRunAt(i,new ci(o))}setValues(e){if(!e)throw new n.NullNotAllowedError;if(e.length===0)return this;let t=(e=e.sort(Wa))[0][0],r=e[e.length-1][0],i=-(2**53-1),a=2**53-1,o=this._isColumn,s=this._maxCoords;if(s){let e=o?s.colStart:s.rowStart,c=o?s.colEnd:s.rowEnd;if(t<e||r>c)throw new n.OutOfBoundsError;i=o?s.rowStart:s.colStart,a=o?s.rowEnd:s.colEnd}if(!e||e.length===0)return this;let c=2**53-1,l=-(2**53-1),u=0,d=t-1,f=[],p=(e,t,r)=>{if(d===r)throw new _i.OutOfOrderError(`Duplicate major Indices: {${r}}.`);d=r,t=t.sort(Wa),e=e.clone();let o=-(2**53-1),s=t.length;for(let d=0;d<s;d++){let s=t[d],f=s[0],p=s[1],h=f+p.length-1;if(o>=f)throw new _i.OutOfOrderError(`Overlapping minor Indices: {${r}, ${f}}.`);if(f<i||h>a)throw new n.OutOfBoundsError;if(p&&p.length>0){let t=e.getCount();e.setRunAt(f,m(p));let n=e.getCount();u+=n-t,c=Math.min(c,e.getCoords().min),l=Math.max(l,e.getCoords().max)}o=h}g++,f.push([r,e])},m=this._createRun,h=this._optionsMinor,g=0,_=()=>{let t=e[g],n=t[0],r=t[1],i=new ki(h);p(i,r,n)},v=this._major;co.bounds.min=t,co.bounds.max=r,co.reverse=!1,co.processSkip=null,co.reuseResult=oo;let y=v.entries(co),b=y.next();for(;!b.done;){let t=b.value,n=t[0],r=e[g],i=r[0];if(i>n)b=y.next();else{for(;i<n;)_(),r=e[g],i=r[0];if(i===n){let e=r[1],i=t[1];p(i,e,n)}b=y.next()}}for(;e[g];)_();return this._updateMajorSpan(f),this._updateCountAndCoords(u,t,c,r,l),this}getValues(e){let t=this.getRuns(e?{bounds:e}:void 0),n=t.next();if(n.done)return null;let r=new _i.Builder;for(;!n.done;){let e=n.value[0],i=n.value[1],a=n.value[2];r.pushMultipleAt(e,i,a),n=t.next()}return r.build()}_updateCountAndCoords(e,t,n,r,i,a=!1){let o=this._count+e;if(this._count=o,this._lastMajor=-(2**53-1),!this._dataCoords)return;let s=this._isColumn,c=s?t:n,l=s?n:t,u=s?r:i,d=s?i:r;if(o===0)this._dataCoords=null;else{let e=this._dataCoords;e&&(c=(a?Math.max:Math.min)(c,e.colStart),l=(a?Math.max:Math.min)(l,e.rowStart),u=(a?Math.min:Math.max)(u,e.colEnd),d=(a?Math.min:Math.max)(d,e.rowEnd));let t={colStart:c,rowStart:l,colEnd:u,rowEnd:d};this._dataCoords=t}}clear(){this._major.clear(),this._dataCoords=null,this._count=0,this._lastMajor=-(2**53-1)}delete(e){let t=this._count;if(!e)return this.clear(),t>0;let r=this._isColumn,i=this._maxCoords,a=this.getCoords(),o=Va(e.colStart,e.rowStart,e.colEnd,e.rowEnd,r,i,a);if(!o||t===0)return!1;if(n.CoordUtils.isRangeWithinRange(a,e))return this.clear(),t>0;let s=o.majorStart,c=o.majorEnd,l=o.minorStart,u=o.minorEnd,d=r?a.colStart:a.rowStart,f=r?a.colEnd:a.rowEnd,p=r?a.rowStart:a.colStart,m=r?a.rowEnd:a.colEnd,h=!1,g=0,_=this._major;if(this._lastMajor=-(2**53-1),l<=p&&u>=m){co.bounds.min=s,co.bounds.max=c;let e=_.entries(co),t=e.next();for(;!t.done;)g-=t.value[1].getCount(),t=e.next();return _.delete(s,c-s+1),this._count+=g,this._dataCoords=null,g!==0}let v=[],y=this._isShared,b=[];co.bounds.min=s,co.bounds.max=c,so.reverse=!1,so.processSkip=null,so.reuseResult=oo;let x=_.entries(co),S=x.next();for(;!S.done;){let e=S.value,t=e[0],n=e[1],r=n.getCoords(),i=r.min,a=r.max;if(l<=i&&u>=i||l<=a&&u<=a)if((i===p&&l<=p||a===m&&u>=m)&&(h=!0),i>=l&&a<=u)v.push(t),g-=n.getCount();else{let e=n.getCount();y&&(n=n.clone(),b.push([t,n])),n.delete(l,u-l+1),g+=n.getCount()-e}S=x.next()}this._updateMajorSpan(b);let C=v.length;if(C>0){let e=Yr(v,!0);for(let t=0;t<e.length;t++){let n=e[t];_.delete(n.min,n.max-n.min+1)}let t=_.getCoords();if(!t)return this.clear(),!0;d=t.min,f=t.max}return h?(this._count+=g,this._dataCoords=null,!0):C===0?(this._count+=g,g!==0):(this._updateCountAndCoords(g,d,p,f,m,!0),g!==0)}shift(e,t){if(!e||!t)throw new n.NullNotAllowedError;let r=this._isColumn,i=this._maxCoords,a=t===n.Direction.Right||t===n.Direction.Down,o=t===n.Direction.Left||t===n.Direction.Right,s=Va(e.colStart,e.rowStart,e.colEnd,e.rowEnd,r,i,e);if(!s)return!1;let c=s.majorStart,l=s.majorEnd,u=s.minorStart,d=s.minorEnd,f=this.getCoords();if(!f)return!1;let p=r?f.colStart:f.rowStart,m=r?f.colEnd:f.rowEnd,h=r?f.rowStart:f.colStart,g=r?f.rowEnd:f.colEnd,_=u<=h&&d>=g,v=r===o;if((v&&_||!v&&c<=p&&l>=m)&&!Va(f.colStart,f.rowStart,f.colEnd+(a&&o?e.colEnd-e.colStart+1:0),f.rowEnd+(a&&!o?e.rowEnd-e.rowStart+1:0),r,i)||v&&c>m||!v&&u>g)return!1;let y=v?l-c+1:d-u+1;if(!a&&(y*=-1,n.CoordUtils.isRangeWithinRange(f,e)))return this.clear(),!0;let b=0,x=this._major,S=[];if(co.bounds.min=c,co.bounds.max=v?2**53-1:l,so.reverse=!a,so.processSkip=null,so.reuseResult=oo,v&&_){if(!a){co.bounds.max=l;let e=x.entries(co),t=e.next();for(;!t.done;)b-=t.value[1].getCount(),t=e.next()}x.shift(c,y);let e=x.getCoords();return this._dataCoords=null,this._updateCountAndCoords(b,e?.min??0,h,e?.max??0,g),!0}let C=r?f.colStart:f.rowStart,w=r?f.colEnd:f.rowEnd,T=r?f.rowStart:f.colStart,E=r?f.rowEnd:f.colEnd;a||(T=2**53-1,E=-(2**53-1));let D=2**53-1;i&&(D=o?i.colEnd:i.rowEnd);let O=new Set,k=v?new Map:null,A=[],j=x.entries(co),M={bounds:{min:u,max:d}},N=j.next();for(;!N.done;){let e=N.value,t=e[0],r=e[1].clone(),i=r.getCoords(),a=i.min,o=i.max;if(v&&k.set(t,r),u<=o){let e=r.getCount();v?(t>=c-y&&ni(r.runs(M),(e,n)=>{let r=n.min,i=n.max,a=e;r-1<=d&&i>d&&(a=a.slice(0,d+1-r)),r<u&&i+1>=u&&(a=a.slice(u-r)),A.push({majorIndex:t+y,minorIndex:Math.max(r,u),run:a})}),r.delete(u,d-u+1)):r.shift(u,y);let i=r.getCount();if(i===0)O.add(t),T=Math.min(T,o),E=Math.max(E,a);else{let e=r.getCoords();if(T=Math.min(T,e.min),E=Math.max(E,e.max),E>D)throw new n.OutOfBoundsError}b+=i-e,S.push([t,r])}N=j.next()}let P=this._optionsMinor,F=!1;for(let e=0;e<A.length;e++){let t=A[e],n=t.majorIndex,r=t.run,i=k.get(n);i||(i=new ki(P),k.set(n,i),S.push([n,i]),F=!0),i.setRunAt(t.minorIndex,r),b+=r.length,C=Math.min(C,n),w=Math.max(w,n),O&&O.delete(n)}if(this._updateMajorSpan(S,F),O&&O.size>0){let e=Yr(Array.from(O.values()));for(let t=0;t<e.length;t++){let n=e[t];x.delete(n.min,n.max-n.min+1)}let t=x.getCoords();if(!t)return this.clear(),!0;C=t.min,w=t.max}if(E!==g||T!==h)return this._count+=b,this._dataCoords=null,!0;{let e=this._count+b;this._count=e,this._dataCoords=e===0?null:Object.freeze({colStart:r?C:T,rowStart:r?T:C,colEnd:r?w:E,rowEnd:r?E:w})}return b!==0||!n.CoordUtils.isEqualRanges(f,this.getCoords())}getCount(){return this._count}getValueAt(e,t){let n=this._isColumn,r=n?t:e,i=n?e:t,a=this._lastMajor,o;if(a===r&&a!==-(2**53-1)?o=this._lastMinorSpan:(o=this._major.at(r),this._lastMajor=r,this._lastMinorSpan=o),o)return o.at(i)}setValueAt(e,t,n){let r=this._isColumn,i=[r?t:e,[[r?e:t,[n]]]];this.setValues([i])}copyTo(e,t,r){if(this.getCount()===0)return;let i=this.getAxis(),a=e.getAxis(),o=this.getRuns({bounds:r}),s=o.next(),c=n.CoordUtils.cellToRange(t);c.colEnd=r.colEnd-r.colStart+t.colIndex,c.rowEnd=r.rowEnd-r.rowStart+t.rowIndex;let l=this._isColumn,u=this._maxCoords,d=this.getCoords(),f,p=Va(r.colStart??-(2**53-1),r.rowStart??-(2**53-1),r.colEnd??2**53-1,r.rowEnd??2**53-1,l,u,d);p={...p};let m=a!==n.RangeAxis.Row,h=e.getMaxCoords()??void 0;f=Va(c?.colStart??-(2**53-1),c?.rowStart??-(2**53-1),c?.colEnd??2**53-1,c?.rowEnd??2**53-1,m,h),f={...f};let g=l?r.colStart:r.rowStart,_=l?r.rowStart:r.colStart,v=f.majorStart-(g??p.majorStart),y=f.minorStart-(_??p.minorStart),b=i===a?new _i.Builder:new _i.TransposedBuilder;for(;!s.done;){let e=s.value[0],t=s.value[1],n=s.value[2];t+n.length>p.minorEnd&&(n=n.slice(0,p.minorEnd-t+1)),t<p.minorStart&&(n=n.slice(p.minorStart-t),t=p.minorStart),b.pushMultipleAt(e+v,t+y,n),s=o.next()}let x=b.build();e.delete(c),x&&e.setValues(x.tuples)}getCoords(){if(this._dataCoords)return this._dataCoords;if(this._major.getCount()===0)return null;let e=2**53-1,t=-(2**53-1),n=2**53-1,r=-(2**53-1),i=this._major.entries(),a=i.next();for(;!a.done;){let o=a.value,s=o[0];e=Math.min(s,e),t=Math.max(s,t);let c=o[1].getCoords();n=Math.min(c.min,n),r=Math.max(c.max,r),a=i.next()}let o=this._isColumn,s=Object.freeze({colStart:o?e:n,rowStart:o?n:e,colEnd:o?t:r,rowEnd:o?r:t});return this._dataCoords=s,s}clone(t){this._isShared=!0;let n=new e(this._options);return n._isShared=!0,n._major=this._major.clone(),n._dataCoords=this._dataCoords,n._count=this._count,n}cloneEmpty(t){return new e(this._options)}getMaxCoords(){return this._maxCoords||null}get[Symbol.toStringTag](){let e=``,t=this.getCoords();if(t){let n=t.colEnd-t.colStart+1,r=t.rowEnd-t.rowStart+1;e=`${this.getCount()}-${this._isColumn?n:r}x${this._isColumn?r:n}`}return`[SparseGrid:${e}]`}};no||={};var ro=12;Object.seal({done:!1,value:null});var io=[-1,-1,null],ao=Object.seal({done:!1,value:[-1,null]}),oo=Object.seal({done:!1,value:[-1,null]}),so={bounds:{min:-1,max:-1},reverse:!1,processSkip:null,reuseResult:ao},co={bounds:{min:-1,max:-1},reverse:!1,processSkip:null,reuseResult:oo},lo=()=>({majorIndex:-1,minorIndex:-1,value:null,active:!1,nextMinorIndex:-1,nextActive:!1,nextMinorValue:null,minorIterator:null,nextMajorCursor:null,prevMajorCursor:null}),uo=class e{constructor(e){this._mapScopeTo2Ds=new Map,this._last2DKey=void 0,this._last2DMap=void 0,this._options=e,this._options2D=e;let t=e?.updateEntryOptions?.onUpdates;t&&(this._options2D={...e},this._options2D.updateEntryOptions={...e.updateEntryOptions},this._options2D.updateEntryOptions.onUpdates=(e,n,r)=>{t(e,n,this)})}all3D(e){e||=[];let t=e.length,n=this._mapScopeTo2Ds;for(let[r,i]of n){i.all(e);let n=e.length;for(let i=t;i<n;i++){let t=e[i];t.scope||(t={...t},t.scope=r,e[i]=t)}t=n}return e}getSpatialAt(e){if(e===this._last2DKey)return this._last2DMap;let t=this._mapScopeTo2Ds.get(e);return this._last2DKey=e,this._last2DMap=t,t}getScopeEntries(){return this._mapScopeTo2Ds.entries()}getScopeKeys(){return this._mapScopeTo2Ds.keys()}getScopeValues(){return this._mapScopeTo2Ds.values()}getBoundingRange(){throw Error(fo)}isEmpty(){for(let e of this._mapScopeTo2Ds.values())if(!e.isEmpty())return!1;return!0}search(e,t=!1,r=!1,i){return e.scope,this.getSpatialAt(e.scope)?.search(e,t,r,i)??n.CommonUtils.EmptyArray}has(e){return e.scope,this.getSpatialAt(e.scope)?.has(e)??!1}shift(e){let t=this.getSpatialAt(e?.range?.scope),n=t?.shift(e),r=this;return n!==t&&(r=this.clone(),r._mapScopeTo2Ds.set(this._last2DKey,n)),r}insertNonOverlapping(e,t){return this._getOrCreate2D(e.scope)?.insertNonOverlapping(e,t),this}createCopiedEntries(e,t,r,i,a){!e.scope||t.scope;let o=e.scope,s=this.getSpatialAt(o)?.createCopiedEntries(e,t,r,i,a)??{inserts:n.CommonUtils.EmptyArray,removes:n.CommonUtils.EmptyArray},c=s.inserts,l=c?c.length:0;for(let e=0;e<l;e++){let t=c[e];t.scope||=o}let u=s.removes,d=u?u.length:0;for(let e=0;e<d;e++){let t=u[e];t.scope||=o}return s}remove(e,t){e.scope;let n=this.getSpatialAt(e.scope);return n?.remove(e,t),this._cleanupEmpty2D(this._last2DKey,n),this}removeAll(e,t){let n=e?e.length:0;if(n===0)return this;let r=new Map,i,a;for(let t=0;t<n;t++){let n=e[t],o=n.scope;o!==i&&(i=o,a=r.get(o),a||r.set(o,a=[])),a.push(n)}for(let[e,n]of r){let r=this.getSpatialAt(e);r&&(r.removeAll(n,t),this._cleanupEmpty2D(e,r))}return this}insert(e){return this._getOrCreate2D(e.scope).insert(e),this}load(e){let t=e?e.length:0;if(t===0)return this;let n=new Map,r,i;for(let a=0;a<t;a++){let t=e[a],o=t.scope;if(!o)throw Error(po);o!==r&&(r=o,i=n.get(o),i||n.set(o,i=[])),i.push(t)}for(let[e,t]of n)this._getOrCreate2D(e).load(t);return this}delete(e){if(!e)throw Error(fo);let t=this.getSpatialAt(e?.scope);return t?.delete(e),this._cleanupEmpty2D(this._last2DKey,t),this}clone(e=null){let t=this._createClone(this._options),n=new Map;for(let[t,r]of this._mapScopeTo2Ds)n.set(t,r.clone(e));return t._mapScopeTo2Ds=n,t}_getOrCreate2D(e){if(!e)throw Error(po);let t=this._mapScopeTo2Ds.get(e);return t||(t=new wa(this._options2D),this._mapScopeTo2Ds.set(e,t),this._last2DKey=e,this._last2DMap=t),t}_cleanupEmpty2D(e,t){t?.isEmpty()&&(this._mapScopeTo2Ds.delete(e),this._last2DKey===e&&(this._last2DKey=void 0,this._last2DMap=void 0))}_createClone(t){return new e(t)}},fo=`Not supported on SpatialMap3D`,po=`SpatialMap3D: a valid scope key is required`;function mo(e){let t=e??n.DefaultLanguagePackService.getActive(),r=n.DefaultLanguagePackService.getPacks(e).filter(bo),i=xo.get(t);if(i&&function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(i.packs,r))return i.merged;let a=function(e,t){if(t.length===0)return;let n={},r={},i,a,o=[],s=!1,c=!1;for(let e of t)e.functions&&(Object.assign(n,e.functions),s=!0),e.errors&&(Object.assign(r,e.errors),c=!0),e.booleans&&(i={...i??{},...e.booleans}),e.specifiers&&(a={...a??{},...e.specifiers}),e.functionHelp&&o.push(e.functionHelp);let l={tag:e};return s&&(l.functions=n),c&&(l.errors=r),i&&(l.booleans=i),a&&(l.specifiers=a),o.length===1?l.functionHelp=o[0]:o.length>1&&(l.functionHelp=()=>Promise.all(o.map(e=>e())).then(e=>Object.assign({},...e.map(e=>e&&typeof e==`object`&&`default`in e?e.default:e)))),l}(t,r);return xo.set(t,{packs:r,merged:a}),a}var ho={};for(let[e,n]of Object.entries(t.FormulaError.Code))ho[n]=e;function go(e,t){let n=mo(t)?.booleans;return e?n?.true??`TRUE`:n?.false??`FALSE`}function _o(e,n){let r=e?.getLabel?.()??t.FormulaError.Label.Unknown,i=e?.getCode?.(),a=i===void 0?void 0:ho[i];return(a&&mo(n)?.errors?.[a])??r}function vo(e,t){let n=e.toUpperCase();if(n===`TRUE`)return!0;if(n===`FALSE`)return!1;let r=mo(t)?.booleans;if(r){if(r.true&&n===r.true.toUpperCase())return!0;if(r.false&&n===r.false.toUpperCase())return!1}}function yo(e,n){let r=e.toUpperCase(),i=t.FormulaError.getBuiltInByLabel(r);if(i)return i;let a=mo(n)?.errors;if(a){for(let e in a)if(a[e]?.toUpperCase()===r)return t.FormulaError.BuiltIn[e]}}function bo(e){return!!(e.functions&&Object.keys(e.functions).length>0||e.errors&&Object.keys(e.errors).length>0||e.booleans||e.specifiers||e.functionHelp)}var xo=new Map,So={"condition.anySelector":`Any`,"condition.operator.after.title":`After`,"condition.operator.afterEqualTo.title":`After or On`,"condition.operator.and.desc":`Checks if all params are met`,"condition.operator.and.title":`And`,"condition.operator.average.desc":`Check if value is above or below the average`,"condition.operator.average.title":`Average`,"condition.operator.average.toString":`{dir, select, above{{eq, select, yes{Above or Equal} other{Above}}} other{{eq, select, yes{Below or Equal} other{Below}}}} Average{stdDevs, plural, =0{} one{ (# Std Dev)} other{ (# Std Devs)}}`,"condition.operator.before.title":`Before`,"condition.operator.beforeEqualTo.title":`Before or On`,"condition.operator.between.desc":`Check if value is between 2 numbers`,"condition.operator.between.title":`Between`,"condition.operator.between.toString":`Between {from} and {to}`,"condition.operator.blank.title":`Blank`,"condition.operator.color.desc":`Check if value has a specific color`,"condition.operator.color.title":`Color`,"condition.operator.equalTo.title":`Equal To`,"condition.operator.error.title":`Error`,"condition.operator.expression.desc":`Evaluates a formula expression against the value of the cell`,"condition.operator.expression.title":`Formula`,"condition.operator.greaterThan.title":`Greater Than`,"condition.operator.greaterThanEqualTo.title":`Greater Than or Equal To`,"condition.operator.icon.desc":`Check if value has a matching icon`,"condition.operator.icon.title":`Icon`,"condition.operator.inSet.dateGroups":`{title} {count, plural, one{# Date Group} other{# Date Groups}}`,"condition.operator.inSet.desc":`Check if value is in a list of items`,"condition.operator.inSet.items":`{title} {count, plural, one{# Item} other{# Items}}`,"condition.operator.inSet.title":`In`,"condition.operator.lessThan.title":`Less Than`,"condition.operator.lessThanEqualTo.title":`Less Than Or Equal To`,"condition.operator.not.desc":`Check if value does not meet a condition`,"condition.operator.not.title":`Not`,"condition.operator.not.toString":`{title} {condition}`,"condition.operator.or.desc":`Checks if any params are met`,"condition.operator.or.title":`Or`,"condition.operator.textContains.title":`Contains`,"condition.operator.textEmail.title":`Is Email`,"condition.operator.textEndsWith.title":`Ends With`,"condition.operator.textIsUrl.title":`Is URL`,"condition.operator.textStartsWith.title":`Starts With`,"condition.operator.timePeriod.desc":`Check if value falls within a time period`,"condition.operator.timePeriod.title":`Time Period`,"condition.operator.timePeriod.toString":`{title} {period}`,"condition.operator.titleWithParam":`{title} {param}`,"condition.operator.topN.desc":`Check if value is in the top or bottom N`,"condition.operator.topN.title":`Top N`,"condition.operator.topN.toString":`{edge, select, top{Top} other{Bottom}} {limit} {unit, select, percent{Percent} other{Items}}`,"condition.operator.unique.desc":`Check if value is unique`,"condition.operator.unique.title":`Unique`,"condition.selector.date.desc":`The date portion of a date time`,"condition.selector.date.title":`Date`,"condition.selector.dateTime.desc":`DateTime`,"condition.selector.dateTime.title":`Date Time`,"condition.selector.list.desc":`List`,"condition.selector.list.title":`List`,"condition.selector.logical.desc":`Logical`,"condition.selector.logical.title":`Logical`,"condition.selector.number.desc":`Number`,"condition.selector.number.title":`Number`,"condition.selector.ruleDescription":`{title} Rule`,"condition.selector.text.desc":`Text`,"condition.selector.text.title":`Text`,"condition.selector.textLength.desc":`The length of text`,"condition.selector.textLength.title":`Text Length`,"condition.selector.time.desc":`The time portion of a date time`,"condition.selector.time.title":`Time`,"condition.selector.whole.desc":`The whole portion of a number`,"condition.selector.whole.title":`Whole`,"condition.selectorWithOperator":`{selector}: {operator}`,"copy.columnCopy":`Column Copy`,"copy.columnHeaders":`Column Headers`,"copy.rowCopy":`Row Copy`,"copy.rowHeaders":`Row Headers`,"error.address.invalidAddress":`Invalid cell address: {address}`,"error.address.invalidAddressCoords":`Invalid cell address: invalid coords`,"error.address.invalidArguments":`Invalid arguments.`,"error.address.invalidCell":`Invalid cell.`,"error.address.invalidRange":`Invalid range. The Range must be at a size of at least 1x1.`,"error.address.invalidRangeAddress":`Invalid address. Can not parse ''{address}'' as an address or named item.`,"error.address.invalidRangeAddressAny":`Invalid address. Can not parse as an address or named item.`,"error.address.invalidRangeCoords":`Invalid range. All points must be valid integers.`,"error.address.invalidRangeEmpty":`Invalid range.`,"error.address.invalidRangeHeader":`Invalid header range.`,"error.address.invalidRangeInverted":`Invalid range. The Range must be specified as '{ TOP_LEFT:BOTTOM_RIGHT }'.`,"error.address.invalidRangeRelative":`Invalid address. Relative ranges as not allowed: {address}`,"error.address.noAddress":`Must specify an address.`,"error.address.noRange":`Must specify a range.`,"error.address.removeDuplicatesColumn":`Invalid column ''{column}''. The column must be within the range.`,"error.address.removeDuplicatesNoData":`Can not remove duplicates. The range does not contain any data.`,"error.address.singleCellOnly":`Only a single cell is allowed.`,"error.address.singleRangeOnly":`Only a single range is allowed for this operation.`,"error.address.singleRangeOnlyAlt":`Only a single range is allowed for this operation. Use ''getRanges'' instead.`,"error.address.textToColumnsMulti":`The range must be a single column range.`,"error.address.textToColumnsOverwrite":`The destination range has data.`,"error.anchor.protected":`Unable to {description}. The item is protected.`,"error.function.builtInName":`''{name}'' is a built-in function. Choose a different name.`,"error.hyperlink.invalidHyperlink":`Invalid hyperlink`,"error.model.modelClosed":`Model has been closed. No further operations are allowed.`,"error.model.nameRequired":`Name is required`,"error.named.containsSpaces":`Name must not contain any spaces.`,"error.named.invalidFirstChar":`First letter must be either a letter, an underscore, or a backslash.`,"error.named.invalidInvalidCellAddress":`Name can not be an address.`,"error.named.invalidSpecialRC":`Name can not be 'r' or 'c'.`,"error.named.invalidTrailingChar":`Name must be either letters, numbers, periods or underscores.`,"error.named.nameEmpty":`Name must be a non-empty string`,"error.named.nameExists":`Named item ''{name}'' already exists.`,"error.named.nameExistsInScope":`Named item ''{name}'' already exists in scope {scope}.`,"error.named.nameMaxLength":`Name must not exceed 255 characters.`,"error.named.nameReadonly":`Names are read-only.`,"error.named.templateRequired":`A template string must be specified.`,"error.protectedRange.noName":`Protected range must have a name.`,"error.protectedRange.uniqueName":`A protected range named ''{name}'' already exists.`,"error.sheet.addressInvalidScope":`When using addresses directly from the sheet do not include the sheet name.`,"error.sheet.autofillInvalidDestination":`AutoFill destination ({destination}) must extend or shrink the source range ({template}) in a single direction.`,"error.sheet.autofillMultiple":`When filling with merged cells the amount to fill must be a multiple of the input range [{modulus}].`,"error.sheet.autofillOverlapMerge":`Unable to partially fill over merged cells.`,"error.sheet.copyInvalidSource":`Unable to determine source.`,"error.sheet.copyMissingArgs":`Both a source and a destination are required to copy.`,"error.sheet.copyMultipleRanges":`Multiple selection ranges can not be copied.`,"error.sheet.copyNoSource":`The source has no range.`,"error.sheet.deleteOverlapping":`We can't delete cells with overlapping selections.`,"error.sheet.emptyView":`View can not be empty.`,"error.sheet.insertCopyMultipleRanges":`Only a single selection is supported when using 'Insert Copy'.`,"error.sheet.insertCutOverlap":`When pasting before or after the cut area both areas must align.`,"error.sheet.insertItemOob":`We can't insert cells because this would push items off the end of the worksheet.`,"error.sheet.insertItemProtected":`We can't insert items. The sheet is protected.`,"error.sheet.insertMergeThrough":`We can't insert through merges. Unmerge and try again.`,"error.sheet.insertOob":`We can't insert cells because this would push values off the end of the worksheet. These cells may appear empty but they have some formatting or formulas. Delete enough rows or columns and try again.`,"error.sheet.insertOobFreeze":`We can't insert cells because this would push the frozen panes off the end of the worksheet. Unfreeze the panes and try again.`,"error.sheet.insertOverlapping":`We can't insert cells with overlapping selections.`,"error.sheet.invalidCellType":`Invalid cell type: {type}. See documentation for information on valid built in cell types and creating custom cell types.`,"error.sheet.invalidScopedRangeAddress":`Invalid sheet address. Can not parse ''{address}'' as a sheet address or items scope to ''{scope}''. Sheet address must not include the sheet name.`,"error.sheet.invalidScopedRangeArguments":`Invalid sheet address. Can not parse arguments as a sheet address or items scope to ''{scope}''. Sheet address must not include the sheet name.`,"error.sheet.itemOverlapping":`We can't create a {type} that overlaps with another table or merge.`,"error.sheet.iteratorClosed":`IteratorContext can only be used during visit.`,"error.sheet.listenerNull":`Listener can not be null`,"error.sheet.maxValues":`Unable to return more than {max} values. To access values in a more scalable solution use ''ICellRange.forEach'' or an iterator.`,"error.sheet.mergeMultipleValues":`Merging cells would cause some values to be discarded. Use 'discardMultipleValues' option if desired.`,"error.sheet.mergeOob":`We can't merge outside of the maximum cell location.`,"error.sheet.mergeOverlapping":`Overlapping ranges can not be merged.`,"error.sheet.modelClosed":`Sheet has been closed. No further operations are allowed.`,"error.sheet.modelDelete":`Unable to delete.`,"error.sheet.noImageProvided":`An image must be provided as a string or a resource option.`,"error.sheet.oobCell":`The cell is outside of the bounds of the range.`,"error.sheet.oobRange":`The range is outside of the bounds of the sheet.`,"error.sheet.paste":`Unable to paste: {message}`,"error.sheet.pasteOob":`We can't paste outside of the sheet bounds.`,"error.sheet.previewRange":`This range is an autoFill preview and cannot be modified. Run 'autoFill' without 'preview' to apply it.`,"error.sheet.protectedField":`Unable to {description}, this sheet is protected. To make a change, unprotect the sheet. You might be requested to enter a password.`,"error.sheet.protectedRangeLocked":`This range is protected with a password. Enter the password to make a change.`,"error.sheet.protectedSheet":`This sheet is protected. To make a change, unprotect the sheet. You might be requested to enter a password.`,"error.sheet.readonlyRange":`Readonly sheet`,"error.sheet.readonlySheet":`Unable to {description}, this sheet is readonly.`,"error.sheet.setValuesType":`'setValues' expects a 2d array; when working with a single value use 'setValue'.`,"error.sheet.setValueType":`'setValue' expects a single value; when working with an array use 'setValues'.`,"error.sheet.snapshotDone":`Unable to use a snapshot multiple times.`,"error.sheet.sortMergeSize":`Unable to sort merged cells unless they are all the same size.`,"error.sheet.table1By1":`A table must have a least two rows; one for the table header and one for data.`,"error.sheet.tableEmpty":`An autotable must have data to be created.`,"error.sheet.uniqueName":`Name must be unique: ''{name}'' is already in use.`,"error.sheet.unmergeOverlapping":`We can't unmerge intersecting ranges.`,"error.sheet.unmergePartial":`We can't unmerge partial cells.`,"error.sheet.unsupportedFloatingType":`Unsupported float type: {type}`,"error.sheetHeader.protectedColumns":`The columns are protected. To make a change, unprotect the sheet. You might be requested to enter a password.`,"error.sheetHeader.protectedRows":`The rows are protected. To make a change, unprotect the sheet. You might be requested to enter a password.`,"error.sort.sortOobRange":`The sort offset is outside of the bounds of the sort.`,"error.table.autoTableInvalidOperation":`That operation is not valid for an AutoTable.`,"error.table.tableBodyRows":`Select rows within the table body.`,"error.table.tableNoBody":`A table must have a least one row and one column for the data.`,"error.table.tableNoName":`Table must have a name.`,"error.table.tableRemoveHeader":`We can not remove rows that contain table headers. Remove the table header.`,"error.table.tableResizeInvalidBounds":`The top of the table must not change and the new table location must overlap with the original table.`,"error.table.tableSplit":`We can not partially insert or remove cells as this would split a table.`,"error.workbook.deleteKey":`Invalid reference for delete: {key}`,"error.workbook.invalidId":`Invalid id: {id}`,"error.workbook.invalidLocale":`Invalid locale: ''{locale}''. Expected a BCP 47 tag such as ''de-DE''.`,"error.workbook.invalidSheetKey":`Invalid SheetKey: {key}`,"error.workbook.modelClosed":`Workbook has been closed. No further operations are allowed.`,"error.workbook.nameDuplicate":`The sheet name ''{sheetName}'' already exist in workbook.`,"error.workbook.nameTaken":`That name is already taken. Try a different one.`,"error.workbook.notSetValue":`A value must be provided.`,"error.workbook.noVisibleRefs":`Internal error no visible sheetRefs`,"error.workbook.protection":`This workbook structure is protected. To make a change, unprotect the workbook. You might be requested to enter a password.`,"error.workbook.sheetIndexNotFound":`No sheet found at {index}.`,"error.workbook.sheetNameBlank":`A sheet name can not be blank.`,"error.workbook.sheetNameInvalidChars":`A sheet name can not contain any of the following characters '\\ , / , * , ? , : , [ , ]'.`,"error.workbook.sheetNameInvalidCharsNamed":`''{sheetName}'' can not contain any of the following characters '\\ , / , * , ? , : , [ , ]'.`,"error.workbook.sheetNameNotFound":`''{sheetName}'' not found.`,"error.workbook.sheetNameNotProvided":`Sheet name not provided. If you are trying to reference the active sheet, use getSelectedSheet() instead.`,"error.workbook.sheetNameQuotes":`A sheet name can not begin or end with a "'" (single quote).`,"error.workbook.sheetNameTooLong":`A sheet name can not be longer than 31 characters.`,"error.workbook.sheetOne":`A workbook must contain at least one visible worksheet.`,"movable.copySuffix":`{name} (Copy)`,"name.dataValidation":`Data Validation`,"op.addColumns":`Add Columns`,"op.addDataValidation":`Add Data Validation`,"op.addNamedFormulaNamed":`Add Named Formula ''{name}''`,"op.addProtectedRange":`Add Protected Range`,"op.addRangeListener":`Add Range Listener`,"op.addScript":`Add Script`,"op.addSheet":`Add Sheet`,"op.addSheetNamed":`Add Sheet ''{name}''`,"op.addTable":`Add Table`,"op.addTableColumn":`Add Table Column`,"op.addTableColumns":`Add Table Columns`,"op.addTableRow":`Add Table Row`,"op.addTableRows":`Add Table Rows`,"op.applyFilters":`Apply Filters`,"op.applySort":`Apply Sort`,"op.autoFill":`Auto Fill`,"op.autofit":`Autofit`,"op.autofitAll":`Autofit All`,"op.autofitColumns":`Autofit Columns`,"op.autofitRows":`Autofit Rows`,"op.clear":`Clear`,"op.clearAll":`Clear All`,"op.clearColumnHeaders":`Clear Column Headers`,"op.clearComments":`Clear Comments`,"op.clearFormats":`Clear Formats`,"op.clearFormulas":`Clear Formulas`,"op.clearHyperlinks":`Clear Hyperlinks`,"op.clearRowHeaders":`Clear Row Headers`,"op.clearSort":`Clear Sort`,"op.clearStyle":`Clear Style`,"op.clearValues":`Clear Values`,"op.closeTable":`Close Table`,"op.convertToRange":`Convert to Range`,"op.copyImageFromClipboard":`Copy Image from Clipboard`,"op.copyMovable":`Copy Movable`,"op.copyNamed":`Copy {name}`,"op.createAnchoredItem":`Create Anchored Item`,"op.createItem":`Create Item`,"op.createItemNamed":`Create Item ''{name}''`,"op.cutNamed":`Cut {name}`,"op.darkerPercent":`Darker {percent}%`,"op.delete":`Delete`,"op.deleteCells":`Delete Cells`,"op.deleteColumnNamed":`Delete Column ''{name}''`,"op.deleteColumns":`Delete Columns`,"op.deleteConditionalFormat":`Delete Conditional Format`,"op.deleteConditionalFormatNamed":`Delete Conditional Format ''{name}''`,"op.deleteDataValidation":`Delete Data Validation`,"op.deleteDataValidationNamed":`Delete Data Validation ''{name}''`,"op.deleteDrawing":`Delete Drawing`,"op.deleteFilter":`Delete Filter`,"op.deleteFilters":`Delete Filters`,"op.deleteModule":`Delete Module`,"op.deleteNamedItem":`Delete Named Item ''{name}''`,"op.deletePicture":`Delete Picture`,"op.deleteProtectedRange":`Delete Protected Range`,"op.deleteProtectedRangeNamed":`Delete Protected Range ''{name}''`,"op.deleteRows":`Delete Rows`,"op.deleteSheet":`Delete Sheet ''{name}''`,"op.deleteSorts":`Delete Sorts`,"op.deleteSortsAndFilters":`Delete Sorts and Filters`,"op.deleteTableColumn":`Delete Table Column`,"op.deleteTableColumns":`Delete Table Columns`,"op.deleteTableNamed":`Delete Table ''{name}''`,"op.deleteTableRow":`Delete Table Row`,"op.deleteTableRows":`Delete Table Rows`,"op.duplicateNamed":`Duplicate ''{name}''`,"op.filter":`Filter`,"op.filterColumn":`Filter {name}`,"op.filterTable":`Filter Table`,"op.hideBandedColumns":`Hide Banded Columns`,"op.hideBandedRows":`Hide Banded Rows`,"op.hideColumns":`Hide Columns`,"op.hideHeaders":`Hide Headers`,"op.hideHighlightFirstColumn":`Hide Highlight First Column`,"op.hideHighlightLastColumn":`Hide Highlight Last Column`,"op.hideRows":`Hide Rows`,"op.hideSheet":`Hide Sheet`,"op.hideTotals":`Hide Totals`,"op.initialize":`Initialize`,"op.initializeConditionalFormat":`Initialize Conditional Format`,"op.initializeDataValidation":`Initialize Data Validation`,"op.initializeProtectedRange":`Initialize Protected Range`,"op.initializeTable":`Initialize Table`,"op.insertAutoTable":`Insert AutoTable`,"op.insertCells":`Insert Cells`,"op.insertColumns":`Insert Columns`,"op.insertConditionalFormat":`Insert Conditional Format`,"op.insertCopiedCells":`Insert Copied Cells`,"op.insertDataValidation":`Insert Data Validation`,"op.insertDrawing":`Insert Drawing`,"op.insertImage":`Insert Image`,"op.insertProtectedRange":`Insert Protected Range`,"op.insertRows":`Insert Rows`,"op.insertTable":`Insert Table`,"op.lighterPercent":`Lighter {percent}%`,"op.loadMovable":`Load Movable`,"op.loadSheet":`Load Sheet`,"op.merge":`Merge`,"op.moveBackwards":`Move Backwards`,"op.moveForward":`Move Forward`,"op.moveSheetNamed":`Move Sheet ''{name}''`,"op.moveToBack":`Move to Back`,"op.moveToFront":`Move to Front`,"op.newSheet":`New Sheet`,"op.newWorkbook":`New Workbook`,"op.openWorkbook":`Open Workbook`,"op.paste":`Paste`,"op.pasteNamed":`Paste {name}`,"op.range":`Range`,"op.rangesUpdate":`Ranges Update`,"op.rangeUpdate":`Range Update`,"op.realizeCalcs":`Realize Calcs`,"op.refreshSortsAndFilters":`Refresh Sorts and Filters`,"op.removeDuplicates":`Remove Duplicates`,"op.removeNamedFormula":`Remove Named Formula`,"op.removePicture":`Remove Picture`,"op.removeRangeListener":`Remove Range Listener`,"op.removeScript":`Remove Script`,"op.renameSheet":`Rename Sheet`,"op.reorderConditionalFormat":`Reorder Conditional Format`,"op.reorderDataValidations":`Reorder Data Validations`,"op.reorderProtectedRange":`Reorder Protected Range`,"op.replace":`Replace`,"op.replaceAll":`Replace All`,"op.replaceAllWith":`Replace All with ''{value}''`,"op.replaceAt":`Replace {address}`,"op.replaceAtWith":`Replace {address} with ''{value}''`,"op.replaceWith":`Replace with ''{value}''`,"op.resizeColumns":`Resize Columns`,"op.resizeRows":`Resize Rows`,"op.resizeTable":`Resize Table`,"op.saveScripts":`Save Scripts`,"op.setAlertMessage":`Set Alert Message`,"op.setAlertStyle":`Set Alert Style`,"op.setAlertTitle":`Set Alert Title`,"op.setAlignment":`Set Alignment`,"op.setAngle":`Set Angle`,"op.setBackgroundColor":`Set Background Color`,"op.setBorder":`Set Border`,"op.setBottomBorder":`Set Bottom Border`,"op.setBottomBorderColor":`Set Bottom Border Color`,"op.setBottomBorderStyle":`Set Bottom Border Style`,"op.setCellAddress":`Set Cell {address}`,"op.setColumnName":`Set Column Name`,"op.setComment":`Set Comment`,"op.setComments":`Set Comments`,"op.setComputedValues":`Set Computed Values`,"op.setCondition":`Set Condition`,"op.setDiagonalDownBorder":`Set Diagonal Down Border`,"op.setDiagonalDownBorderColor":`Set Diagonal Down Border Color`,"op.setDiagonalDownBorderStyle":`Set Diagonal Down Border Style`,"op.setDiagonalUpBorder":`Set Diagonal Up Border`,"op.setDiagonalUpBorderColor":`Set Diagonal Up Border Color`,"op.setDiagonalUpBorderStyle":`Set Diagonal Up Border Style`,"op.setDisabledAutoExpand":`Set Disabled Auto Expand`,"op.setEntireSize":`Set Entire Size`,"op.setFill":`Set Fill`,"op.setFillColor":`Set Fill Color`,"op.setFillGradient":`Set Fill Gradient`,"op.setFillNone":`Set Fill None`,"op.setFillPattern":`Set Fill Pattern`,"op.setFillSolid":`Set Fill Solid`,"op.setFocus":`Set Focus`,"op.setFont":`Set Font`,"op.setFontBold":`Set Font Bold`,"op.setFontCharset":`Set Font Charset`,"op.setFontColor":`Set Font Color`,"op.setFontExtend":`Set Font Extend`,"op.setFontFallbacks":`Set Font Fallbacks`,"op.setFontFamily":`Set Font Family`,"op.setFontItalic":`Set Font Italic`,"op.setFontLetterSpacing":`Set Font Letter Spacing`,"op.setFontOutline":`Set Font Outline`,"op.setFontScheme":`Set Font Scheme`,"op.setFontShadow":`Set Font Shadow`,"op.setFontSize":`Set Font Size`,"op.setFontStrike":`Set Font Strike`,"op.setFontStyle":`Set Font Style`,"op.setFontUnderline":`Set Font Underline`,"op.setFontVerticalAlignment":`Set Font Vertical Alignment`,"op.setFontWeight":`Set Font Weight`,"op.setForegroundColor":`Set Foreground Color`,"op.setGradientType":`Set Gradient Type`,"op.setHidden":`Set Hidden`,"op.setHiddenButtons":`Set Hidden Buttons`,"op.setHideDropdown":`Set Hide Dropdown`,"op.setHorizontalAlignment":`Set Horizontal Alignment`,"op.setHorizontalBorder":`Set Horizontal Border`,"op.setHorizontalBorderColor":`Set Horizontal Border Color`,"op.setHorizontalBorderStyle":`Set Horizontal Border Style`,"op.setHyperlink":`Set Hyperlink`,"op.setIncludeBlanks":`Set Include Blanks`,"op.setIndent":`Set Indent`,"op.setIndex":`Set Index`,"op.setJustifyLastLine":`Set Justify Last Line`,"op.setLeftBorder":`Set Left Border`,"op.setLeftBorderColor":`Set Left Border Color`,"op.setLeftBorderStyle":`Set Left Border Style`,"op.setLockAspectRatio":`Set Lock Aspect Ratio`,"op.setMovableBounds":`Set Movable Bounds`,"op.setMovableDescription":`Set Movable Description`,"op.setMovableName":`Set Movable Name`,"op.setMovableResizeBehavior":`Set Movable Resize Behavior`,"op.setMovableRotation":`Set Movable Rotation`,"op.setMovableVisibility":`Set Movable Visibility`,"op.setName":`Set Name`,"op.setNamedStyle":`Set Named Style`,"op.setNumberFormat":`Set Number Format`,"op.setOutlineBorder":`Set Outline Border`,"op.setOverflow":`Set Overflow`,"op.setPatternType":`Set Pattern Type`,"op.setPicture":`Set Picture`,"op.setPromptMessage":`Set Prompt Message`,"op.setPromptTitle":`Set Prompt Title`,"op.setProtectedRangeName":`Set Protected Range Name`,"op.setProtectedRangePassword":`Set Protected Range Password`,"op.setProtectedRangePermissions":`Set Protected Range Permissions`,"op.setQuotePrefix":`Set Quote Prefix`,"op.setRangeAddress":`Set Range {address}`,"op.setRanges":`Set Ranges`,"op.setReadingDirection":`Set Reading Direction`,"op.setRelativeIndent":`Set Relative Indent`,"op.setRightBorder":`Set Right Border`,"op.setRightBorderColor":`Set Right Border Color`,"op.setRightBorderStyle":`Set Right Border Style`,"op.setRotation":`Set Rotation`,"op.setShowErrorMessage":`Set Show Error Message`,"op.setShowPromptMessage":`Set Show Prompt Message`,"op.setStacked":`Set Stacked`,"op.setStopFalse":`Clear Stop If True`,"op.setStops":`Set Stops`,"op.setStopTrue":`Set Stop If True`,"op.setTableDescription":`Set Table Description`,"op.setTableName":`Set Table Name`,"op.setTableNameNamed":`Set Table Name ''{name}''`,"op.setTopBorder":`Set Top Border`,"op.setTopBorderColor":`Set Top Border Color`,"op.setTopBorderStyle":`Set Top Border Style`,"op.setTotalsRowFormula":`Set Totals Row Formula`,"op.setTotalsRowLabel":`Set Totals Row Label`,"op.setValue":`Set Value`,"op.setValueAddress":`Set Value {address}`,"op.setValuesAddress":`Set Values {address}`,"op.setVerticalAlignment":`Set Vertical Alignment`,"op.setVerticalBorder":`Set Vertical Border`,"op.setVerticalBorderColor":`Set Vertical Border Color`,"op.setVerticalBorderStyle":`Set Vertical Border Style`,"op.shiftingMovableBounds":`Shifting Movable Bounds`,"op.showBandedColumns":`Show Banded Columns`,"op.showBandedRows":`Show Banded Rows`,"op.showHeaders":`Show Headers`,"op.showHighlightFirstColumn":`Show Highlight First Column`,"op.showHighlightLastColumn":`Show Highlight Last Column`,"op.showTotals":`Show Totals`,"op.sortAscending":`Sort Ascending`,"op.sortColumn":`Sort {name}`,"op.sortDescending":`Sort Descending`,"op.sortTable":`Sort Table`,"op.syncColumnsFromSheet":`Sync Columns From Sheet`,"op.syncColumnsToSheet":`Sync Columns To Sheet`,"op.tableAutoExpansion":`Table Auto Expansion`,"op.textToColumns":`Text to Columns`,"op.unhideColumns":`Unhide Columns`,"op.unhideRows":`Unhide Rows`,"op.unhideSheet":`Unhide Sheet`,"op.unmerge":`Unmerge`,"op.update":`Update`,"op.updateAnchor":`Update Anchor`,"op.updateCalculations":`Update Calculations`,"op.updateCells":`Update Cells`,"op.updateColumnNamed":`Update Column ''{name}''`,"op.updateColumns":`Update Columns`,"op.updateColumnsFromSheet":`Update Columns From Sheet`,"op.updateColumnsRange":`Update Columns {range}`,"op.updateConditionalFormat":`Update Conditional Format`,"op.updateConditionalFormatListener":`Update Conditional Format Listener`,"op.updateDataValidation":`Update Data Validation`,"op.updateDataValidationListener":`Update Data Validation Listener`,"op.updateDataValidations":`Update Data Validations`,"op.updateDrawing":`Update Drawing`,"op.updateFormulaAt":`Update Formula at {address}`,"op.updateHeader":`Update Header`,"op.updateListener":`Update Listener`,"op.updateMovableBounds":`Update Movable Bounds`,"op.updateMovables":`Update Movables`,"op.updateNamed":`Update Named ''{name}''`,"op.updateProtectedRange":`Update Protected Range`,"op.updateProtectedRanges":`Update Protected Ranges`,"op.updateReferenceStyle":`Update Reference Style`,"op.updateReferenceStyleAt":`Update Reference Style at {address}`,"op.updateRows":`Update Rows`,"op.updateRowsRange":`Update Rows {range}`,"op.updateSheet":`Update Sheet`,"op.updateStyle":`Update Style`,"op.updateStyleInfo":`Update Style Info`,"op.updateWorkbook":`Update Workbook`,"op.updatingMovableBounds":`Updating Movable Bounds`,"op.veryHideSheet":`Very Hide Sheet`,"style.builtin.accent":`Accent{n}`,"style.builtin.accentTint":`{pct}% - Accent{n}`,"style.builtin.bad":`Bad`,"style.builtin.calculation":`Calculation`,"style.builtin.checkCell":`Check Cell`,"style.builtin.comma":`Comma`,"style.builtin.comma0":`Comma [0]`,"style.builtin.currency":`Currency`,"style.builtin.currency0":`Currency [0]`,"style.builtin.explanatoryText":`Explanatory Text`,"style.builtin.followedHyperlink":`Followed Hyperlink`,"style.builtin.good":`Good`,"style.builtin.heading":`Heading {n}`,"style.builtin.hyperlink":`Hyperlink`,"style.builtin.input":`Input`,"style.builtin.linkedCell":`Linked Cell`,"style.builtin.neutral":`Neutral`,"style.builtin.normal":`Normal`,"style.builtin.note":`Note`,"style.builtin.output":`Output`,"style.builtin.percent":`Percent`,"style.builtin.title":`Title`,"style.builtin.total":`Total`,"style.builtin.warningText":`Warning Text`,"table.autoTableDescription":`AutoTable created for filtering and sorting`,"table.autoTableName":`AutoTable`,"table.defaultName":`Table{n}`,"table.emptyColumnName":`Column`,"table.totalsRowLabel":`Total`,"workbook.defaultSheetName":`Sheet{n}`};function Co(){return(0,n.registerPackageMessages)(`@sheetxl/sdk`,{}.url,So)}var wo=(e,t,n,r=null)=>{let i=t||11*U.getDeviceScale(),a=r?.letterSpacing||0,o=e.length,s=.68*i*o-(e.match(/[il.,;!|]/g)||[]).length*i*.15+(e.match(/[mwMW]/g)||[]).length*i*.1+(o>0?(o-1)*a:0),c=Math.ceil(1.2*i),l=Math.ceil(.8*i),u=Math.ceil(.2*i),d=Math.ceil(.45*i),f=Math.ceil(1.1*i),p=Math.max(1,Math.ceil(.08*i));return{width:s,lineHeight:c,baseline:l,lineGap:u,strikePosition:d,underlinePosition:f,strikeThickness:p,underlineThickness:p,actualBoundingBoxLeft:0,actualBoundingBoxRight:s,actualBoundingBoxAscent:l,actualBoundingBoxDescent:c-l,fontBoundingBoxAscent:l,fontBoundingBoxDescent:c-l,emHeightAscent:l,emHeightDescent:c-l,hangingBaseline:.8*l,alphabeticBaseline:l,ideographicBaseline:c}},To=e.n({CanvasFontMeasurer:()=>Io,getDeviceScale:()=>zo,getInstance:()=>Ro}),Eo={},Do=` `,Oo=`px `,ko=(e,t)=>{let n=`normal`;return e&&t?n=`bold italic`:e?n=`bold`:t&&(n=`italic`),n},Ao=e=>e.split(`,`).map(e=>{let t=(e=e.trim()).indexOf(` `)>=0,n=e.indexOf(`"`)>=0||e.indexOf(`'`)>=0;return t&&!n&&(e=`"${e}"`),e}).join(`, `),jo=new Map,Mo=new Map,No=.6,Po=null,Fo=(e,t,n,r,i,a)=>e+Math.round(100*t)/100+n+r+i+a;function Io(e,t,r,i=null){let a=i?.letterSpacing||0;typeof window>`u`||Eo.contextMeasure||(Eo.canvasMeasure=document?document.createElement(`canvas`):null,Eo.contextMeasure=Eo.canvasMeasure.getContext(`2d`),Eo.contextMeasure.letterSpacing=`${a}px`,Eo.contextMeasure.textRendering=`geometricPrecision`,Eo.contextMeasure.textBaseline=`alphabetic`,Eo.contextMeasure.textAlign=`left`);let o=r||`calibri`,s=t||11*U.getDeviceScale(),c=i?.isBold||!1,l=i?.isItalic||!1,u=null;if(e===`#`||e===`0`||e===`M`||e===``||e===`_`||e===`-`){u=Fo(e,s,o,c,l,a);let t=jo.get(u);if(t)return t}if(Po&&Po.text===e&&Po.size===t&&Po.family===r&&Po.options?.isBold===i?.isBold&&Po.options?.isItalic===i?.isItalic&&Po.options?.letterSpacing===i?.letterSpacing)return Po.metrics;let d={},f=ko(c,l)+Do+n.CommonUtils.roundAccurately(s,2)+Oo+Ao(o);Eo.contextMeasure?(Eo.contextMeasure.font=f,Eo.contextMeasure.letterSpacing=`${i?.letterSpacing??0}px`,d=Eo.contextMeasure.measureText(e)):d.width=e.length*n.CommonUtils.roundAccurately(No*(s/U.getDeviceScale()),2);let p=Mo.get(f);if(!p&&typeof window<`u`){let e=document.createElement(`div`);e.style.visibility=`hidden`,e.style.position=`absolute`;let t=document.createElement(`span`);t.textContent=`Mj`,t.style.fontSize=`100px`,t.style.fontWeight=i?.isBold?`bold`:`normal`,t.style.fontStyle=i?.isItalic?`italic`:`normal`,t.style.fontFamily=`'${o}'`,t.style.lineHeight=`1.2`,e.appendChild(t),document.body.appendChild(e);let r=e.getBoundingClientRect(),a=t.getBoundingClientRect();document.body.removeChild(e),Eo.contextMeasure.font=ko(c,l)+Do+n.CommonUtils.roundAccurately(100,2)+Oo+Ao(o);let u=Eo.contextMeasure.measureText(`M`),d=r.bottom-r.top,m=d-(u.fontBoundingBoxAscent+u.fontBoundingBoxDescent),h=u.fontBoundingBoxAscent+a.top,g=Eo.contextMeasure.measureText(`_`),_=h-g.actualBoundingBoxAscent,v=Math.max(1,Math.abs(g.actualBoundingBoxAscent+g.actualBoundingBoxDescent)),y=Eo.contextMeasure.measureText(`-`),b=n.CommonUtils.roundAccurately(h-y.actualBoundingBoxAscent+Math.max(1,.05*d,0)),x=v,S=s/100;p={lineHeight:Math.ceil(d*S),baseline:Math.ceil(h*S),lineGap:Math.ceil(m*S),strikePosition:Math.ceil(b*S),underlinePosition:Math.ceil(_*S),strikeThickness:Math.ceil(x*S),underlineThickness:Math.ceil(v*S)},Eo.contextMeasure.font=f,Mo.set(f,p)}p||(p={lineHeight:Math.ceil(1.2*s),baseline:Math.ceil(s)+Math.floor(.1*s),lineGap:Math.ceil(.1*s),strikePosition:Math.ceil(.55*s)+Math.floor(.1*s),strikeThickness:1,underlinePosition:Math.ceil(1.1*s),underlineThickness:1},Mo.set(f,p));let m={...d,width:d.width,...p};return u!==null&&jo.set(u,m),Po={text:e,size:t,family:r,options:i,metrics:m},m}var Lo=null;function Ro(){if(Lo)return Lo;try{let e=document.createElement(`canvas`),t=e.getContext&&e.getContext(`2d`);t&&typeof t.fillText==`function`&&(Lo=Io)}catch{}return Lo||=(console.warn(`⚠️ CanvasFontMeasurer not available, falling back to SimpleFontMeasurer`),wo),Lo}function zo(){return 96/72*1}var U,Bo,W,Vo,Ho=null,Uo=To;(Bo=U||={}).Style={Normal:`normal`,Italic:`italic`},Bo.Scheme={Major:`major`,Minor:`minor`,None:`none`},Bo.Charset={Ansi:0,Default:1,Symbol:2,Mac:77,ShiftJIS:128,Hangul:129,Johab:130,GB2312:134,ChineseBig5:136,Greek:161,Turkish:162,Vietnamese:163,Hebrew:177,Arabic:178,Baltic:186,Russian:204,Thai:222,EastEurope:238,Oem:255},Bo.UnderlineStyle={None:`none`,Double:`double`,DoubleAccounting:`doubleAccounting`,Single:`single`,SingleAccounting:`singleAccounting`},Bo.VerticalAlignment={Baseline:`baseline`,Sub:`sub`,Super:`super`},Bo.setSharedMeasurer=function(e){Ho=e},Bo.getSharedMeasurer=function(){return Ho||=Uo.getInstance()},Bo.getDeviceScale=function(){return Uo.getDeviceScale()},Bo.getPanoseFallback=function(e){let t=[],n=e.length;for(let r=0;r<n;r+=2)t.push(parseInt(e.substring(r,r+2),16));let r=t[0],i=t[1],a=t[3];switch(r){case 2:return a===9?`monospace`:i>=2&&i<=8?`serif`:`sans-serif`;case 3:return`cursive`;case 4:return`fantasy`;case 5:return`monospace`;default:return`sans-serif`}},Bo.GenericName={Serif:`serif`,SanSerif:`sans-serif`,MonoSpace:`monospace`,Cursive:`cursive`,Fantasy:`fantasy`,SystemUI:`system-ui`,UISystem:`ui-system`,UISerif:`ui-serif`,UISanSerif:`ui-sans-serif`,UIMonoSpace:`ui-monospace`,UIRounded:`ui-rounded`,Math:`math`,Emoji:`emoji`,Fangsong:`fangsong`},(Vo=W||={}).StrokeStyle={None:`none`,DashDot:`dashDot`,MediumDashDot:`mediumDashDot`,Dotted:`dotted`,Hair:`hair`,Thin:`thin`,Medium:`medium`,Thick:`thick`,MediumDashDotDot:`mediumDashDotDot`,DashDotDot:`dashDotDot`,Dashed:`dashed`,MediumDashed:`mediumDashed`,SlantDashDot:`slantDashDot`,Double:`double`},Vo.Edge={Left:`left`,Top:`top`,Right:`right`,Bottom:`bottom`,Horizontal:`horizontal`,Vertical:`vertical`,DiagonalUp:`diagonalUp`,DiagonalDown:`diagonalDown`};var Wo,Go=[],Ko=new Map,qo=Object.freeze([[W.StrokeStyle.Thin,`Thin`,1,null],[W.StrokeStyle.Hair,`Hair`,1,[1,1]],[W.StrokeStyle.Dotted,`Dotted`,1,[2,2]],[W.StrokeStyle.Dashed,`Dashed`,1,[3,1]],[W.StrokeStyle.DashDot,`Dash Dot`,1,[3,3,9,3]],[W.StrokeStyle.DashDotDot,`Dash Dot Dot`,1,[3,3,3,3,9,3]],[W.StrokeStyle.Double,`Double`,3,null],[W.StrokeStyle.Medium,`Medium`,2,null],[W.StrokeStyle.MediumDashed,`Medium Dashed`,2,[9,3]],[W.StrokeStyle.MediumDashDot,`Medium Dash Dot`,2,[3,3,9,3]],[W.StrokeStyle.MediumDashDotDot,`Medium Dash Dot Dot`,2,[3,3,3,3,9,3]],[W.StrokeStyle.SlantDashDot,`Slant Dash Dot`,2,[5,1,11,1]],[W.StrokeStyle.Thick,`Thick`,3,null],[W.StrokeStyle.None,`None`,0,null]]);for(let e=0;e<qo.length;e++){let t=qo[e],n=t[0],r=Object.freeze({style:n,description:t[1],width:t[2],pattern:t[3]});Go.push(r),Ko.set(n,r)}(Wo=W||={}).isEqualStrokes=function(e,t){return!(e&&!t||t&&!e)&&(e===t||e.getStyle()===t.getStyle()&&e.getColor().isEqual(t.getColor()))},Wo.oppositeEdge=function(e){return e===W.Edge.Left?W.Edge.Right:e===W.Edge.Right?W.Edge.Left:e===W.Edge.Top?W.Edge.Bottom:e===W.Edge.Bottom?W.Edge.Top:e},Wo.BuiltInDefinitionsArray=Go,Wo.BuiltInDefinitions=Ko;var Jo=Object.freeze({ß:`ss`,ẞ:`SS`,æ:`ae`,Æ:`AE`,œ:`oe`,Œ:`OE`,þ:`th`,Þ:`TH`,ij:`ij`,IJ:`IJ`,ff:`ff`,fi:`fi`,fl:`fl`,ffi:`ffi`,ffl:`ffl`,st:`st`,LJ:`LJ`,Lj:`Lj`,lj:`lj`,NJ:`NJ`,Nj:`Nj`,nj:`nj`,DZ:`DZ`,Dz:`Dz`,dz:`dz`,ȸ:`db`}),Yo=/[ßẞæÆœŒþÞijIJff-fflstLJ-njDZ-dzȸ]/g;function Xo(e,t=!0){let n=e.replace(Yo,e=>Jo[e]);return t?n.toLowerCase():n}function Zo(e){return e.toLowerCase()}var Qo,$o={Options:Object.freeze({sensitivity:`variant`,numeric:!1,ignorePunctuation:!1}),isCaseInsensitive:e=>{let t=e?.sensitivity;return t===void 0||t===`accent`||t===`base`},collator:e=>{let t=es.get(e);return t||(t=new Intl.Collator(e.tag,$o.Options),es.set(e,t)),t},collatorFor:(e,t)=>{let n=`${e}|${t?.numeric??``}|${t?.caseFirst??``}|${t?.ignorePunctuation??``}`,r=ts.get(n);return r||(r=new Intl.Collator(e,{...$o.Options,...t,sensitivity:`variant`}),ts.set(n,r)),r},compareTextWith:(e,t,n,r=!0)=>{if(e===t)return 0;let i=Xo(e,r),a=Xo(t,r),o=rs(i),s=rs(a);if(o===i&&s===a)return is(i,a,n);let c=is(o,s,n);return c===0?ms(i,a,n):c},compare:(e,t,n,r)=>{if(e==null){if(t==null)return 0;e=gs(t)}else t??=gs(e);let i=hs(e),a=hs(t);if(i!==a)return i<a?-1:1;switch(i){case 0:return _s(e,t);case 1:return $o.compareTextWith(e,t,r?$o.collatorFor(n.tag,r):$o.collator(n),$o.isCaseInsensitive(r));case 2:return e===t?0:e?1:-1;case 3:{let n=e.getCode(),r=t.getCode();return n===r?0:n<r?-1:1}default:return 0}}},es=new WeakMap,ts=new Map,ns=new Map([[39,1],[65287,2],[45,3],[65123,3],[65293,5],[8722,6],[8208,7],[8209,8],[8210,9],[8211,10],[8212,11],[65112,11],[8213,13],[700,14]]),rs=e=>{let t=e.length,n=0;for(;n<t&&!ns.has(e.charCodeAt(n));)n++;if(n===t)return e;let r=e.slice(0,n);for(;n<t;n++)ns.has(e.charCodeAt(n))||(r+=e[n]);return r},is=(e,t,n)=>{let r=e.length<t.length?e.length:t.length,i=0;for(;i<r&&e.charCodeAt(i)===t.charCodeAt(i);)i++;if(i===r)return n.compare(e,t);let a=e.codePointAt(i),o=t.codePointAt(i);if(fs(a)||fs(o))return n.compare(e,t);let s=cs(a),c=cs(o);return s===c?s===2?n.compare(e,t):a<o?-1:1:s<c?-1:1},as=new Set([43,60,61,62]),os=/[\p{P}\p{S}\p{Z}]/u,ss=/\p{Cf}/u,cs=e=>{if(e<128){let t=us[e];return t===void 0&&(t=us[e]=ls(e)),t}let t=ds.get(e);return t===void 0&&(t=ls(e),ds.set(e,t)),t},ls=e=>as.has(e)?1:os.test(String.fromCodePoint(e))?0:2,us=Array(128),ds=new Map,fs=e=>{let t=ps.get(e);return t===void 0&&(t=e>=128&&ss.test(String.fromCodePoint(e)),ps.set(e,t)),t},ps=new Map,ms=(e,t,n)=>{let r=0,i=0;for(;r<e.length&&i<t.length;){let n=e.charCodeAt(r),a=t.charCodeAt(i),o=ns.get(n),s=ns.get(a);if(o===void 0!=(s===void 0))return o===void 0?-1:1;if(o!==void 0&&o!==s)return o<s?-1:1;r++,i++}return r<e.length?1:i<t.length?-1:0},hs=e=>{switch(typeof e){case`number`:return 0;case`string`:return 1;case`boolean`:return 2;default:return t.FormulaError.isError(e)?3:4}},gs=e=>{switch(typeof e){case`string`:return``;case`boolean`:return!1;default:return 0}},_s=(e,t)=>{if(e===t)return 0;if(!Number.isFinite(e)||!Number.isFinite(t))return e<t?-1:+(e>t);let n=e-t;if(Math.abs(n)>1e-14*Math.max(Math.abs(e),Math.abs(t)))return n<0?-1:1;let r=vs(e),i=vs(t);return r===i?0:r<i?-1:1},vs=e=>Number(e.toPrecision(15));(function(e){e.CaseInsensitiveOptions={sensitivity:`accent`},e.CaseSensitiveOptions={sensitivity:`variant`};let n=e.NumberCollator=Object.freeze({type:t.ScalarType.Number,compare:(e,t,n)=>e<t?-1:1}),r=e.StringCollator=Object.freeze({type:t.ScalarType.String,compare:(e,t,n)=>$o.compareTextWith(e,t,$o.collatorFor(n?.locale??`en`,n),$o.isCaseInsensitive(n)),defaultOptions:Qo.CaseInsensitiveOptions}),i=e.ErrorCollator=Object.freeze({type:t.ScalarType.Error,compare:(e,t,n)=>e.getCode()-t.getCode()}),a=e.NullCollator=Object.freeze({type:t.ScalarType.Null,compare:(e,t,n)=>0}),o=e.RichDataCollator=Object.freeze({type:t.ScalarType.RichData,compare:(e,t,n)=>e.getType().localeCompare(t.getType(),n?.locale??`en`)}),s=e.BooleanCollator=Object.freeze({type:t.ScalarType.Boolean,compare:(e,t,n)=>!0===e?1:-1});e.DefaultRangeOptions=Object.freeze({hasHeader:!1,reverse:!1,includeHidden:!1,collatorOptions:Qo.CaseInsensitiveOptions,axis:t.IRange.Axis.Row}),e.DefaultCollators=Object.freeze([n,r,s,o,i,a])})(Qo||={});var ys,G={General:`General`,Number:`Number`,Currency:`Currency`,Accounting:`Accounting`,ShortDate:`Short Date`,LongDate:`Long Date`,MediumDate:`Medium Date`,ShortTime:`Short Time`,MediumTime:`Medium Time`,LongTime:`Long Time`,Comma:`Comma`,Percentage:`Percentage`,Fraction:`Fraction`,Scientific:`Scientific`,Text:`Text`,Special:`Special`,Custom:`Custom`},bs=`\\s*([-]?[0-9e]*[.]?[0-9]+)`,xs=RegExp(`^rgb\\(${bs},${bs},${bs}\\)$`,`i`),Ss=RegExp(`^rgba\\(${bs},${bs},${bs},${bs}\\)$`,`i`),Cs=RegExp(`^lrgb\\(${bs},${bs},${bs}\\)$`,`i`),ws=RegExp(`^lrgba\\(${bs},${bs},${bs},${bs}\\)$`,`i`),Ts=RegExp(`^hsl\\(${bs},${bs},${bs}\\)$`,`i`),Es=RegExp(`^hsla\\(${bs},${bs},${bs},${bs}\\)$`,`i`),Ds=new RegExp(/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/),Os=new RegExp(/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/),ks=RegExp(`^index(\\d+)$`,`i`),As=(e,t,n)=>[parseFloat(e),parseFloat(t),parseFloat(n)],js=(e,t=255)=>{let n=[...e];for(var r=0;r<e.length;r++)n[r]=e[r]/t;return n},Ms=(e,t=255)=>{let n=[...e];for(var r=0;r<e.length;r++)n[r]=e[r]*t;return n},Ns=(e,t=0)=>{let r=[...e];for(var i=0;i<e.length;i++)n.CommonUtils.roundAccurately(e[i],t+8)%1==.5?r[i]=Math.floor(e[i]):r[i]=n.CommonUtils.roundAccurately(e[i],t);return r},Ps=(e,t=!0)=>{let n=[...e],r=t?1:255;for(var i=0;i<e.length;i++)n[i]=Math.max(0,Math.min(r,e[i]));return n},Fs=e=>Math.max(0,Math.min(1,e)),Is=e=>((e%=360)<0&&(e-=360),e),Ls=e=>{let t=[...e];for(var n=0;n<e.length;n++)t[n]=zs(e[n]);return t},Rs=e=>{let t=[...e];for(var n=0;n<e.length;n++)t[n]=Bs(e[n]);return t},zs=e=>e<.04045?e/12.92:((e+.055)/1.055)**2.4,Bs=e=>e<.0031308?12.92*e:1.055*e**(1/2.4)-.055,Vs=e=>{let t=e[0],n=e[1],r=e[2];t%=360,t/=360,n/=100,r/=100;let i=r<.5?r*(1+n):r+n-n*r,a=2*r-i;return[Math.max(0,Hs(a,i,t+1/3)),Math.max(0,Hs(a,i,t)),Math.max(0,Hs(a,i,t-1/3))]},Hs=(e,t,n)=>(n<0&&(n+=1),n>1&&--n,6*n<1?e+6*(t-e)*n:2*n<1?t:3*n<2?e+6*(t-e)*(2/3-n):e),Us=e=>{let t=e[0],n=e[1],r=e[2],i=Math.min(t,Math.min(n,r)),a=Math.max(t,Math.max(n,r)),o=0;a===i?o=0:a===t?o=(60*(n-r)/(a-i)+360)%360:a===n?o=60*(r-t)/(a-i)+120:a===r&&(o=60*(t-n)/(a-i)+240);let s=(a+i)/2,c=0;return c=a===i?0:s<=.5?(a-i)/(a+i):(a-i)/(2-a-i),[o,100*c,100*s]},Ws=0,Gs=1,Ks=2,qs=0,Js=1,Ys=2,Xs=0,Zs=1,Qs=2,$s=(e,t)=>{let n=t/100;return((e,t)=>{let n=Ls(e);n[0]=t(n[0],n),n[1]=t(n[1],n),n[2]=t(n[2],n);let r=Rs(n);return r=Ps(r),r})(e,(e,t)=>e*n)},ec=2.55,tc=(e,t)=>{let r=Us(e),i=r[2];var a,o;r[2]=n.CommonUtils.roundAccurately((a=i,(o=t)>0?(a*ec*(1-o)+(255-255*(1-o)))/ec:o<0?a*ec*(1+o)/ec:a),3);let s=Vs(r);return s=Ps(s),s},nc=(e,t)=>{let n=Ls(e),r=t/100;for(var i=0;i<3;i++)n[i]=n[i]*r+(1-r);let a=Rs(n);return a=Ps(a),a},rc=(e,t,n)=>{let r=Us(t),i=n/1;e===Ws&&(i=Is(n)),r[e]=i;let a=Vs(r);return a=Ps(a),a},ic=(e,t,n)=>{let r=Us(t);if(e===Ws){let e=n/360;r[Ws]=360*(r[Ws]/360+e),r[Ws]%=360,r[Ws]<0&&(r[Ws]-=360)}else{let t=n/.1;r[e]=.1*(r[e]/.1+t)}let i=Vs(r);return i=Ps(i),i},ac=(e,t,n)=>{let r=Us(t),i=n/100;r[e]=r[e]*i,e===Ws&&(r[Ws]=Is(r[Ws]));let a=Vs(r);return a=Ps(a),a},oc=(e,t,n,r)=>{let i=Ls(t),a=n/100;r===Xs?i[e]=a:r===Zs?i[e]+=a:r===Qs&&(i[e]*=a);let o=Rs(i);return o=Ps(o),o},sc=e=>{let t=Ls(e),n=.213*t[qs]+.715*t[Js]+.072*t[Ys];t[0]=n,t[1]=n,t[2]=n;let r=Rs(t);return r=Ps(r),r},cc=e=>{let t=Us(e);t[Ws]+=180,t[Ws]%=360,t[Ws]<0&&(t[Ws]-=360);let n=Vs(t);return n=Ps(n),n},lc=(e,t=!0)=>{let n=t?Ls(e):[...e],r=t?1:255;return n[0]=r-n[0],n[1]=r-n[1],n[2]=r-n[2],t&&(n=Rs(n)),n=Ps(n,t),n},uc=e=>{let t=[0,0,0];return t[0]=Bs(e[0]),t[1]=Bs(e[1]),t[2]=Bs(e[2]),Ps(t)},dc=e=>{let t=[0,0,0];return t[0]=zs(e[0]),t[1]=zs(e[1]),t[2]=zs(e[2]),Ps(t)},fc=(e,t,n,r=null)=>{let i=e=>{let t=e.toString(16);return t.length===1?`0`+t:t};return(r===null?``:i(Math.round(255*r)))+i(Number(e)).toUpperCase()+i(Number(t)).toUpperCase()+i(Number(n)).toUpperCase()},pc=.2126,mc=.7152,hc=.0722;(function(e){e.RGBA=class{constructor(e,t,n,r=1){this._private={red:e,green:t,blue:n,alpha:r}}get red(){return this._private.red}get green(){return this._private.green}get blue(){return this._private.blue}get alpha(){return this._private.alpha??1}toString(e=!0){return e&&this._private.alpha!==null?`rgba(${this.red},${this.green},${this.blue},${this.alpha})`:`rgb(${this.red},${this.green},${this.blue})`}isEqual(e){return!!e&&e.red===this.red&&e.green===this.green&&e.blue===this.blue&&e.alpha===this.alpha}isAlmostEqual(e){if(!e)return!1;let t=1.5;return!(Math.abs(e.red-this.red)>t)&&!(Math.abs(e.green-this.green)>t)&&!(Math.abs(e.blue-this.blue)>t)&&!(Math.abs(e.alpha-this.alpha)>t)}},e.HSLA=class{constructor(e,t,n,r){this._private={hue:e,sat:t,lum:n,alpha:r}}get hue(){return this._private.hue}get sat(){return this._private.sat}get lum(){return this._private.lum}get alpha(){return this._private.alpha??1}toString(e=!0){return e&&this._private.alpha!==null?`hsla(${this.hue},${this.sat},${this.lum},${this.alpha})`:`hsl(${this.hue},${this.sat},${this.lum})`}isEqual(e){return!!e&&e.hue===this.hue&&e.sat===this.sat&&e.lum===this.lum&&e.alpha===this.alpha}isAlmostEqual(e){if(!e)return!1;let t=1.5;return!(Math.abs(e.hue-this.hue)>t)&&!(Math.abs(e.sat-this.sat)>t)&&!(Math.abs(e.lum-this.lum)>t)&&!(Math.abs(e.alpha-this.alpha)>t)}};class t extends ys.RGBA{toString(e=!0){return e&&this._private.alpha!==null?`#`+fc(this.red,this.green,this.blue,this.alpha??1).toUpperCase():`#`+fc(this.red,this.green,this.blue).toUpperCase()}}e.HEX=t})(ys||={});var gc=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,_c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,vc=function(e){if(!e)return null;e=e.replace(gc,function(e,t,n,r){return t+t+n+n+r+r});let t=_c.exec(e);return t?new ys.RGBA(parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)):null},yc=`000000.FFFFFF.FF0000.00FF00.0000FF.FFFF00.FF00FF.00FFFF.000000.FFFFFF.FF0000.00FF00.0000FF.FFFF00.FF00FF.00FFFF.800000.008000.000080.808000.800080.008080.C0C0C0.808080.9999FF.993366.FFFFCC.CCFFFF.660066.FF8080.0066CC.CCCCFF.000080.FF00FF.FFFF00.00FFFF.800080.800000.008080.0000FF.00CCFF.CCFFFF.CCFFCC.FFFF99.99CCFF.FF99CC.CC99FF.FFCC99.3366FF.33CCCC.99CC00.FFCC00.FF9900.FF6600.666699.969696.003366.339966.003300.333300.993300.993366.333399.333333`.split(`.`),bc=new Map;for(let e=0;e<yc.length;e++)bc.set(e,vc(yc[e]));function xc(e){return bc.get(e)??null}function Sc(e){if(typeof e==`number`)return zn(e)??`General`;let t=Nc[e];return t===void 0?e:typeof t==`number`?zn(t)??`General`:t}bc.set(-4105,null),bc.set(-4142,null),bc.set(64,vc(`000000`)),bc.set(65,vc(`FFFFFF`)),bc.set(81,vc(`FFFFFF`));var Cc=Object.freeze({leap1900:!0,dateSpanLarge:!1,dateErrorThrows:!0,dateErrorNumber:!1,throws:!0,indexColors:!1}),wc=class{constructor(){this.key=`numfmt`}format(e,t,n){let r=n?.date1904??!1,i=n?.locale,a=e;if(Nc[a]!==void 0&&(a=Nc[a]),typeof t==`number`){let e=Mc(a,t,{date1904:r,locale:i});if(e!==null)return{text:e.fmt,color:null,fills:null,skips:null}}typeof a==`number`&&(a=zn(a)??`General`);let o=this.isDateFormat(a)||this.isTimeFormat(a),s=t;if(o&&typeof s==`number`){if(s<0||s>2958465)return{text:null,color:null,fills:null,skips:null};r&&(s+=1462)}let c={...Cc,locale:i},l,u=null,d=null;try{if(n?.placeholders){let e=Fn(a,s,{...c,nbsp:!0,skipChar:``,fillChar:``,digitChar:``}),t=``;for(let n=0;n<e.length;n++){let r=e[n];r===``||r===``?((d??=[]).push({offset:t.length,char:e[n+1]??` `}),n++):r===``?((u??=[]).push({offset:t.length,char:e[n+1]??` `}),n++):t+=r}l=t}else l=Fn(a,s,c)}catch(e){if(o&&this.isValidFormat(a))return{text:null,color:null,fills:null,skips:null};throw e}let f=null;if(n?.placeholders){let e=In(a,s,c);e!=null&&(f=Fc(typeof e==`number`?`color${e}`:String(e)))}return{text:l,color:f,fills:u,skips:d}}isDateFormat(e){return Mr(e)}isTimeFormat(e){return Nr(e)}isFractionFormat(e){return Uc(Bn(e))}adjustDecimalPlaces(e,t){return function(e,t){if(!e&&e!==0)return``;let n=Bn(e),r=(e,t)=>{let n=e||``,r=n.length,i=r===0||n.endsWith(`.`)?`0`:n.charAt(r-1);return t<0?(n=n.substring(0,Math.max(0,r+t)),n===`.`&&(n=``)):(n.startsWith(`.`)||(n+=`.`),n+=i.repeat(t)),n},i=(e,t)=>{if(e===`General`)return t>0?`0`+r(``,t):e;if(Uc(e))return e;let n=e,i=-1,a=-1,o=n.indexOf(`E`);if(o>=0&&(n=n.substring(0,o)),i=n.indexOf(`.`),i>=0){n=n.substring(i,n.length);let t=n&&n.match(/([.]{1}[0,#]+)/);if(!t)return e;n=t[1],a=i+n.length}else{if(t<=0)return e;i=n.lastIndexOf(`0`),i<0&&(i=n.lastIndexOf(`#`)),i>=0&&(i+=1),a=i,n=``}return i===-1?e:(n=r(n,t),e.substring(0,i)+n+e.substring(a,e.length))},a=[],o=kc(n);for(let e=0;e<o.length;e++)a.push(i(o[e].trim(),t));return a.join(`;`)}(e,t)}getFormatInfo(e){try{return Ln(Sc(e))}catch{return null}}getFormatDateInfo(e){try{let t=Sc(e);return Ln(t).isDate?function(e){let t=Pn(e,!1);return t.dateInfo||=function(e){let[t]=e;return{year:!!(2&t.date),month:!!(4&t.date),day:!!(8&t.date),hours:!!(16&t.date),minutes:!!(32&t.date),seconds:!!(64&t.date),clockType:t.clock===12?12:24}}(t.partitions),t.dateInfo}(t):null}catch{return null}}isValidFormat(e){try{return function(e){try{return Pn(e,!0),!0}catch{return!1}}(Sc(e))}catch{return!1}}},Tc=null;function Ec(){return Tc??=new wc}var Dc=/^\[\$-(.*?)\]/i,Oc=1462;function kc(e){let t=[],n=``;for(let r=0;r<e.length;r++){let i=e[r];if(i===`"`){for(n+=i,r++;r<e.length&&e[r]!==`"`;)n+=e[r++];r<e.length&&(n+=e[r])}else if(i===`[`){for(n+=i,r++;r<e.length&&e[r]!==`]`;)n+=e[r++];r<e.length&&(n+=e[r])}else i===`\\`?(n+=i,r+1<e.length&&(n+=e[++r])):i===`;`?(t.push(n),n=``):n+=i}return t.push(n),t}function Ac(e,t,n){return Fn(zn(e)??`General`,n?.date1904?t+Oc:t,{leap1900:!0,locale:n?.locale})}function jc(e,t,n,r){return Mc(t,n,{...r,date1904:e?.isDate1904()??!1,locale:e?.getLocale()??void 0})}function Mc(e,t,n){if(typeof t!=`number`||t>2958465||t<0)return null;let r=pr(t,n?.date1904??!1),i=n?.locale??`en-US`,a=!1,o=e,s=-1;if(typeof o==`number`)switch(o){case 14:o=new Intl.DateTimeFormat(i).format(r),a=!0;break;case 22:o=new Intl.DateTimeFormat(i).format(r)+` `+Ac(20,t,n),a=!0}else{let e=Dc.exec(o);if(e&&e[1]){let t=e[1].toUpperCase();t===`F800`?o=`Long Date`:t===`F400`&&(o=`Long Time`)}if((s=o.indexOf(`Short Date`))!==-1){let e=new Intl.DateTimeFormat(i).format(r);o=o.substring(0,s)+e+o.substring(s+10),a=!0}if((s=o.indexOf(`Medium Date`))!==-1){let e=Ac(15,t,n);o=o.substring(0,s)+e+o.substring(s+11),a=!0}if((s=o.indexOf(`Long Date`))!==-1){let e=new Intl.DateTimeFormat(i,{dateStyle:`full`}).format(r);o=o.substring(0,s)+e+o.substring(s+9),a=!0}if((s=o.indexOf(`Short Time`))!==-1){let e=Ac(20,t,n);o=o.substring(0,s)+e+o.substring(s+10),a=!0}if((s=o.indexOf(`Medium Time`))!==-1){let e=Ac(18,t,n);o=o.substring(0,s)+e+o.substring(s+11),a=!0}if((s=o.indexOf(`Long Time`))!==-1){let e=new Intl.DateTimeFormat(i,{timeStyle:`medium`}).format(r);o=o.substring(0,s)+e+o.substring(s+9),a=!0}}return a?{fmt:o,date:r}:null}var Nc=Object.freeze({"General Number":`General`,"General Date":`m/d/yyyy h:mm`,"Short Date":14,"Medium Date":15,"Long Date":`[$-F800]dddd\\,\\ mmmm\\ dd\\,\\ yyyy`,"Short Time":20,"Medium Time":18,"Long Time":`[$-F400]h:mm:ss\\ AM/PM;@`,"Short DateTime":22,Currency:`"$"#,##0.00_);[Red]\\("$"#,##0.00\\)`,Fixed:2,Standard:4,Percent:10,Scientific:11,"Yes/No":`"Yes";"Yes";"No";@`,"True/False":`"True";"True";"False";@`,"On/Off":`"Yes";"Yes";"No";@`}),Pc=Object.freeze({black:0,white:1,red:2,green:3,blue:4,yellow:5,magenta:6,cyan:7});function Fc(e){let t=null;if((e=e.toLowerCase()).startsWith(`color`)){let n=parseInt(e.substring(5));n>=0&&n<=56&&(t=`Index${n+7}`)}if(!t){let n=Pc[e];n!==void 0&&(t=xc(n).toString())}return t}var Ic=`=`,Lc=`<>`,Rc=`>`,zc=`<`,Bc=`>=`,Vc=`<=`,Hc=new Map;Hc.set(Ic,(e,t)=>e===t),Hc.set(Lc,(e,t)=>e!==t),Hc.set(Rc,(e,t)=>e>t),Hc.set(zc,(e,t)=>e<t),Hc.set(Bc,(e,t)=>e>=t),Hc.set(Vc,(e,t)=>e<=t),Object.freeze({op:Bc,comp:0}),Object.freeze({op:zc,comp:0}),Object.freeze({op:Rc,comp:0}),Object.freeze({op:Ic,comp:0});function Uc(e){return!(!e.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/)&&!e.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))}var Wc={Text:`text`,Repeat:`repeat`,Spacing:`spacing`},Gc=Object.freeze({formatValue:function(e,t,n,r){return function(e,t,n){let r=!(!n||!n.onSpacingChar&&!n.onRepeatChar&&n.spacingCharacter===void 0),i=Ec().format(e,t,{date1904:n?.date1904??!1,locale:n?.locale,placeholders:r});if(!r)return i.text??``;let a=i.skips??[],o=i.fills??[];if(n.onRepeatChar)for(let e of o)n.onRepeatChar(e.offset,e.char);let s=i.text??``;if(n.spacingCharacter!==``&&a.length){let e=``,t=0;for(let r=0;r<a.length;r++){let i=a[r];e+=s.slice(t,i.offset)+(n.spacingCharacter??` `),t=i.offset,n.onSpacingChar&&n.onSpacingChar(i.offset+r,i.char)}s=e+s.slice(t)}else if(n.onSpacingChar)for(let e of a)n.onSpacingChar(e.offset,e.char);return s}(t,n,{...r,date1904:e?.isDate1904()??!1,locale:e?.getLocale()??void 0})},isFractionFormat:e=>Ec().isFractionFormat(e),adjustDecimalPlaces:(e,t)=>Ec().adjustDecimalPlaces(e,t),getFormatInfo:e=>Ec().getFormatInfo(e),getFormatDateInfo:e=>Ec().getFormatDateInfo(e),isValidFormat:e=>Ec().isValidFormat(e)});function Kc(e){return e===14?`Short Date`:Rn[e]??null}function qc(e){if(typeof e==`number`)return e;let t=e,n=Nc[e];return n&&(t=n),typeof t==`number`?t:(r=t,Vn.get(r)??t);var r}var Jc=[{numberFormat:`General`,formatType:G.General,primary:1},{numberFormat:`0`,formatType:G.Number,regMatch:/^0[.]{0,1}[0]*$/,args:{decimalPlaces:0,separator:!1}},{numberFormat:`#,##0.00`,formatType:G.Number,regMatch:/^#,##0[.]{0,1}[0]*$/,primary:2,args:{decimalPlaces:2,separator:!0}},{numberFormat:`#,##0_);(#,##0)`,formatType:G.Number,args:{decimalPlaces:0,separator:!0}},{numberFormat:`#,##0_);[Red](#,##0)`,formatType:G.Number,args:{decimalPlaces:0,separator:!0}},{numberFormat:`#,##0.00_);(#,##0.00)`,formatType:G.Number,args:{decimalPlaces:2,separator:!0}},{numberFormat:`#,##0.00_);[Red](#,##0.00)`,formatType:G.Number,args:{decimalPlaces:2,separator:!0}},{numberFormat:`$#,##0.00`,formatType:G.Currency,primary:3,args:{decimalPlaces:2,currencySymbol:`$`}},{numberFormat:`$#,##0_);($#,##0)`,formatType:G.Currency,args:{decimalPlaces:0,currencySymbol:`$`}},{numberFormat:`$#,##0_);[Red]($#,##0)`,formatType:G.Currency,args:{decimalPlaces:0,currencySymbol:`$`}},{numberFormat:`$#,##0.00_);($#,##0.00)`,formatType:G.Currency,args:{decimalPlaces:2,currencySymbol:`$`}},{numberFormat:`$#,##0.00_);[Red]($#,##0.00)`,formatType:G.Currency,args:{decimalPlaces:2,currencySymbol:`$`}},{numberFormat:`_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)`,primary:4,formatType:G.Accounting},{numberFormat:`_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)`,formatType:G.Accounting},{numberFormat:`_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)`,formatType:G.Accounting},{numberFormat:`_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)`,formatType:G.Accounting},{numberFormat:`Short Date`,formatType:G.ShortDate,primary:5},{numberFormat:`d-mmm-yy`,formatType:G.MediumDate,primary:5.5},{numberFormat:`Long Date`,formatType:G.LongDate,primary:6},{numberFormat:`h:mm`,formatType:G.ShortTime,primary:7},{numberFormat:`h:mm AM/PM`,formatType:G.MediumTime,primary:7.5},{numberFormat:`Long Time`,formatType:G.LongTime,primary:8},{numberFormat:`_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)`,formatType:G.Comma,primary:9},{numberFormat:`0.00%`,formatType:G.Percentage,primary:10,args:{decimalPlaces:2},regMatch:/^^[0#?]*[.]{0,1}[0#?]*%*$/},{numberFormat:`0%`,formatType:G.Percentage,args:{decimalPlaces:0}},{numberFormat:`# ?/?`,formatType:G.Fraction,primary:11},{numberFormat:`# ??/??`,formatType:G.Fraction},{numberFormat:`0.00E+00`,formatType:G.Scientific,primary:12,args:{decimalPlaces:2},regMatch:/^[0#?]*[.]{0,1}[0#?]*E\+[0#?]*$/},{numberFormat:`##0.0E+0`,formatType:G.Custom,args:{decimalPlaces:0}},{numberFormat:`@`,formatType:G.Text,primary:13},{numberFormat:`d-mmm`,formatType:G.Custom},{numberFormat:`mmm-yy`,formatType:G.Custom},{numberFormat:`h:mm:ss`,formatType:G.Custom},{numberFormat:`m/d/yyyy h:mm`,formatType:G.Custom},{numberFormat:`mm:ss`,formatType:G.Custom},{numberFormat:`mm:ss.0`,formatType:G.Custom},{numberFormat:`[h]:mm:ss`,formatType:G.Custom}],Yc=[{numberFormat:`00000`,formatType:G.Special,primary:11},{numberFormat:`00000-0000`,formatType:G.Special},{numberFormat:`[<=9999999]###-####;(###) ###-####`,formatType:G.Special},{numberFormat:`000-00-0000`,formatType:G.Special}],Xc=[...Jc,...Yc],Zc=new Map,Qc=[];for(let e=0;e<Jc.length;e++){let t=Jc[e].numberFormat.toLowerCase();Zc.set(t,Jc[e]),Jc[e].regMatch&&Qc.unshift(Jc[e])}for(let e=0;e<Yc.length;e++){let t=Yc[e].numberFormat.toLowerCase();Zc.set(t,Yc[e])}var $c=[],el=new Map;Zc.forEach(function(e,t,r){e.primary&&($c.push(e),el.set(n.CommonUtils.textToKey(e.formatType),e.numberFormat))}),$c.sort(function(e,t){return e.primary-t.primary});var tl=Zc.get(G.General.toLowerCase()),nl=class{lookupStyle(e){if(!e)return tl;if(typeof e==`number`&&(e=Kc(e)),!e.toLowerCase)return console.warn(`Invalid numberFormat`,e),tl;e=e.toLowerCase();let t=Zc.get(e);if(t)return t;for(let n=0;!t&&n<Qc.length;n++)Qc[n].regMatch&&e.match(Qc[n].regMatch)&&(t=Qc[n]);return t||{numberFormat:e,formatType:G.Custom}}lookupPrimary(){return $c}lookupByType(e){return Xc.filter(t=>t.formatType===e)}lookupDefault(e){return el.get(n.CommonUtils.textToKey(e))}},rl=e.n({CATEGORIES:()=>al,CURRENCY_SYMBOLS:()=>fl,DATE_PRESETS:()=>pl,FRACTION_PRESETS:()=>hl,NEGATIVE_STYLES:()=>dl,SPECIAL_PRESETS:()=>gl,TIME_PRESETS:()=>ml,build:()=>bl,defaultCodeForCategory:()=>_l,isParametricCategory:()=>sl,parse:()=>wl}),il=new nl,al=Object.freeze([`General`,`Number`,`Currency`,`Accounting`,`Date`,`Time`,`Percentage`,`Fraction`,`Scientific`,`Text`,`Special`,`Custom`]),ol=new Set([`Number`,`Currency`,`Accounting`,`Percentage`,`Scientific`]);function sl(e){return ol.has(e)}var cl,ll,ul,dl=Object.freeze([{key:`minus`,label:`Minus sign`,red:!1,parens:!1},{key:`red`,label:`Red`,red:!0,parens:!1},{key:`parens`,label:`Parentheses`,red:!1,parens:!0},{key:`redParens`,label:`Red parentheses`,red:!0,parens:!0}]),fl=Object.freeze([`$`,`€`,`£`,`¥`,`₹`,`₩`,`₽`,`₺`,`R$`,`CHF`,`kr`,`฿`]),pl=Object.freeze([`Short Date`,`Long Date`,`m/d/yyyy`,`d-mmm-yy`,`d-mmm`,`mmm-yy`,`mmmm d, yyyy`,`m/d/yy h:mm`]),ml=Object.freeze([`h:mm AM/PM`,`h:mm:ss AM/PM`,`h:mm`,`h:mm:ss`,`Long Time`,`[h]:mm:ss`,`mm:ss`,`mm:ss.0`]),hl=Object.freeze([`# ?/?`,`# ??/??`,`# ???/???`,`# ?/2`,`# ?/4`,`# ?/8`,`# ??/16`,`# ?/10`,`# ??/100`]),gl=Object.freeze([`00000`,`00000-0000`,`[<=9999999]###-####;(###) ###-####`,`000-00-0000`]);function _l(e){switch(e){case`General`:case`Custom`:return`General`;case`Text`:return`@`;case`Number`:return bl({category:`Number`,decimalPlaces:2,useSeparator:!1,negativeStyle:0});case`Currency`:return bl({category:`Currency`,decimalPlaces:2,currencySymbol:`$`,negativeStyle:0});case`Accounting`:return bl({category:`Accounting`,decimalPlaces:2,currencySymbol:`$`});case`Percentage`:return`0.00%`;case`Scientific`:return`0.00E+00`;case`Date`:return pl[0];case`Time`:return ml[0];case`Fraction`:return hl[0];case`Special`:return gl[0]}}function vl(e){let t=e??`$`;return t===`$`?`$`:`"${t}"`}function yl(e,t){let n=dl[t??0]??dl[0];return n.parens?n.red?`${e}_);[Red](${e})`:`${e}_);(${e})`:n.red?`${e};[Red]${e}`:e}function bl(e){let{category:t,decimalPlaces:n,useSeparator:r,currencySymbol:i,negativeStyle:a,code:o}=e,s=function(e){let t=Math.max(0,Math.min(30,e??0));return t>0?`.`+`0`.repeat(t):``}(n??0);switch(t){case`General`:return`General`;case`Text`:return`@`;case`Number`:return yl((r?`#,##0`:`0`)+s,a);case`Currency`:return yl(vl(i)+`#,##0`+s,a);case`Accounting`:{let e=vl(i);return`_(${e}* #,##0${s}_);_(${e}* (#,##0${s});_(${e}* ${(n??0)>0?`"-"`+`?`.repeat(n):`"-"`}_);_(@_)`}case`Percentage`:return`0`+s+`%`;case`Scientific`:return`0`+s+`E+00`;case`Date`:case`Time`:case`Fraction`:case`Special`:case`Custom`:return o||_l(t)}}function xl(e,t){if(il.lookupStyle(e).formatType===G.Special)return`Special`;switch(t){case`general`:return`General`;case`text`:return`Text`;case`percent`:return`Percentage`;case`scientific`:return`Scientific`;case`fraction`:return`Fraction`;case`date`:return`Date`;case`time`:return`Time`;case`datetime`:default:return`Custom`;case`currency`:return function(e){return e.includes(`_(`)&&e.includes(`* `)}(e)?`Accounting`:`Currency`;case`number`:case`grouped`:return function(e){return il.lookupStyle(e).formatType===G.Special}(e)?`Special`:`Number`}}function Sl(e){let t=e.match(/\[\$([^\]-]+)(?:-[^\]]*)?\]/);if(t)return t[1];let n=e.match(/"([^"]+)"/);return n&&n[1]!==`-`?n[1]:(e.includes(`$`),`$`)}function Cl(e){let t=kc(e);if(t.length<2)return 0;let n=t[1],r=/\[red\]/i.test(n);return n.includes(`(`)?r?3:2:+!!r}function wl(e){if(e==null||e===``)return{category:`General`};let t=Ec().getFormatInfo(e),n=xl(e,t?.type),r={category:n};switch(n){case`Number`:r.decimalPlaces=t?.maxDecimals??0,r.useSeparator=!!t?.grouped,r.negativeStyle=Cl(e);break;case`Currency`:r.decimalPlaces=t?.maxDecimals??2,r.currencySymbol=Sl(e),r.negativeStyle=Cl(e);break;case`Accounting`:r.decimalPlaces=t?.maxDecimals??2,r.currencySymbol=Sl(e);break;case`Percentage`:case`Scientific`:r.decimalPlaces=t?.maxDecimals??2;break;default:r.code=e}return r}(ll=cl||={}).Type=G,ll.Parser=Gc,ll.Styles=new nl,ll.ParseRunType=Wc,ll.toBuiltInID=qc,ll.resolve=Bn,ll.builtInFormat=zn,ll.getEngine=Ec,ll.Builder=rl,(ul||={}).Visibility={Visible:`visible`,Hidden:`hidden`,VeryHidden:`veryHidden`};var Tl,El,Dl,Ol,kl=new RegExp(/^([$]?[a-zA-Z]*[$]?[0-9]*)[:]?([$]?[a-zA-Z]*[$]?[0-9]*)?$/),Al=new RegExp(/^(R(?:\[?[-+]?\d+\]?|\d+)?C(?:\[?[-+]?\d+\]?|\d+)?)(:(R(?:\[?[-+]?\d+\]?|\d+)?C(?:\[?[-+]?\d+\]?|\d+)?))?$/,`i`),jl=new RegExp(/^(R?)(\[?[-+]?\d+\]?|\d+)?(C?)(\[?[-+]?\d+\]?|\d+)?$/,`i`),Ml=RegExp(`(?:(?:'(?:[^']|'')+')!|(?:[A-Za-z0-9_]+)!)?(\\$?[A-Za-z]+\\$?\\d+(?::\\$?[A-Za-z]+\\$?\\d+)?|\\$?[A-Za-z]+:\\$?[A-Za-z]+|\\$?\\d+:\\$?\\d+)`,`g`),Nl=/\s+/g,Pl=/"(?:[^"]|"")*"|\[[^[\]]+\]/g,Fl=/[\uE000-\uF8FF]/g,Il=`#REF!`,Ll=2**14,Rl=2**20;function zl(e){return Tl===e?El:(Tl=e,El=``+(e+1))}function Bl(e){if(Dl===e)return Ol;Dl=e,e<0&&console.warn(`invalid column `+e);let t=``;for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return Ol=t}var Vl=/[^A-Za-z_.\d\u007F-\uFFFF[\]:]/,Hl=/^\d/;function Ul(e){return e?Bl(e.colIndex)+zl(e.rowIndex):null}function Wl(e){if(!e)return Il;let t=Bl(e.colIndex),n=zl(e.rowIndex);return(e.$colIndex?`$`+t:t)+(e.$rowIndex?`$`+n:n)}function Gl(e,t){let n=e??t;return n&&(n=N(n),n=n.replace(/'/g,`''`),(Vl.test(n)||Hl.test(n))&&(n=P(n))),n}function Kl(e,t){return e?e+(e.endsWith(`!`)?``:`!`)+t:Il}function ql(e,n,r=Ul){if(!e)return null;if(typeof e==`string`)return e;if(t.FormulaError.isError(e))return e.toString();let i=e,a=i.colStart,o=i.rowStart,s=i.colEnd,c=i.rowEnd;if(a===s&&o===c)return r({colIndex:a,rowIndex:o});n&&(i={...n,...i});let l=a===-(2**53-1)||n&&a<=n.colStart&&s>=n.colEnd,u=o===-(2**53-1)||n&&o<=n.rowStart&&c>=n.rowEnd,d,f;return d=u?Bl(a):l?zl(o):r({colIndex:a,rowIndex:o}),f=u?Bl(s):l?zl(c):r({colIndex:s,rowIndex:c}),d+`:`+f}function Jl(e,t){if(!e||!t)return null;let n=e.rowStart===-(2**53-1)||e.rowStart<=t.rowStart&&e.rowEnd>=t.rowEnd,r=e.colStart===-(2**53-1)||e.colStart<=t.colStart&&e.colEnd>=t.colEnd;return n&&!r?(e.$colStart?`$`:``)+Bl(e.colStart)+`:`+((e.$colEnd?`$`:``)+Bl(e.colEnd)):r&&!n?(e.$rowStart?`$`:``)+zl(e.rowStart)+`:`+((e.$rowEnd?`$`:``)+zl(e.rowEnd)):null}function Yl(e,t,n=Wl){if(!e)return Il;let r=e.colIndex,i=e.rowIndex,a=r===-(2**53-1),o;return i===-(2**53-1)?(o=Bl(r),e.$colIndex&&(o=`$`+o)):a?(o=zl(i),e.$rowIndex&&(o=`$`+o)):o=n(e),(e.scope||t)&&(o=Kl(Gl(e.scope,t),o)),o}function Xl(e,t,n=Wl,r){if(!e)return Il;let i=e.rowStart!==void 0&&e.rowStart===e.rowEnd,a=e.colStart!==void 0&&e.colStart===e.colEnd&&i;if(!r&&a)return n({colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart,$rowIndex:e.$rowStart});e={...t,...e};let o=!r&&t&&e.rowStart<=t.rowStart&&e.rowEnd>=t.rowEnd,s=!r&&t&&e.colStart<=t.colStart&&e.colEnd>=t.colEnd,c,l;return o?(c=Bl(e.colStart),c=e.$colStart?`$`+c:c):s?(c=zl(e.rowStart),c=e.$rowStart?`$`+c:c):c=n({colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart,$rowIndex:e.$rowStart}),o?(l=Bl(e.colEnd),l=e.$colEnd?`$`+l:l):s?(l=zl(e.rowEnd),l=e.$rowEnd?`$`+l:l):l=n({colIndex:e.colEnd,rowIndex:e.rowEnd,$colIndex:e.$colEnd,$rowIndex:e.$rowEnd}),c+`:`+l}function Zl(e,t,n=Wl){let r=Xl(e,t,n),i=Gl(e?.scope,t?.scope);return i?Kl(i,r):r}function Ql(e,t=!1){if(!e)return null;let n=0,r=0,i=!1,a=!1,o=e.length;for(let s=0;s<o;++s){let o=e.charCodeAt(s);if(o>=48&&o<=57){if(r=10*r+(o-48),n===0&&!t)return}else if(o>=65&&o<=90){if(n=26*n+(o-64),r!==0)return}else if(o>=97&&o<=122){if(n=26*n+(o-96),r!==0)return}else{if(o!==36)return;if(n!==0||i){if(r!==0||a)return;a=!0}else i=!0}}let s={};return t||r!==0&&n!==0?(n>0&&(s.colIndex=n-1,i&&(s.$colIndex=i)),r>0&&(s.rowIndex=r-1,(a||t&&i)&&(s.$rowIndex=a||t&&i)),s):null}var $l=e=>{let t=e.lastIndexOf(`!`);if(t===-1)return null;let n=e.slice(0,t);return n=N(n),n=n.replace(/''/g,`'`),[n,e.slice(t+1)]};function eu(e,t=BD,n=!1){if(!e)return null;let r=fu(e.toUpperCase(),n),i=null,a=null;if(r?.[1]){let e=!!r[2],t=n?cu:Ql;i=t(r[1],e),a=t(r[2]??r[1],e)}if(!i&&!a||i&&a&&(i.rowIndex===void 0&&a.rowIndex!==void 0||i.rowIndex!==void 0&&a.rowIndex===void 0||i.colIndex===void 0&&a.colIndex!==void 0||i.colIndex!==void 0&&a.colIndex===void 0))return null;let o={};return i&&(i.colIndex!==void 0&&(o.colStart=i.colIndex),i.rowIndex!==void 0&&(o.rowStart=i.rowIndex),i.$colIndex!==void 0&&(o.$colStart=i.$colIndex),i.$rowIndex!==void 0&&(o.$rowStart=i.$rowIndex),o?.colStart!==void 0&&o?.colStart>t?.colEnd)?null:(a&&(a.colIndex!==void 0&&(o.colEnd=a.colIndex),a.rowIndex!==void 0&&(o.rowEnd=a.rowIndex),a.$colIndex!==void 0&&(o.$colEnd=a.$colIndex),a.$rowIndex!==void 0&&(o.$rowEnd=a.$rowIndex)),o.colStart===void 0&&(o.colStart=t.colStart),o.colEnd===void 0&&(o.colEnd=t.colEnd),o.rowStart===void 0&&(o.rowStart=t.rowStart),o.rowEnd===void 0&&(o.rowEnd=t.rowEnd),t.scope&&(o.scope=t.scope),o)}function tu(e,t,n=!1){let r,i=$l(e);if(i){let a=e.lastIndexOf(`!`),o=e.indexOf(`:`);if(o!==-1&&o<a){let t=e.indexOf(`!`),n=e.indexOf(`:`,t),r=$l(e.slice(0,n)),a=$l(e.slice(n+1));if(!r||!a||r[0].toUpperCase()!==a[0].toUpperCase())return null;i=[r[0],`${r[1]}:${a[1]}`]}if(r=eu(i[1],t,n),!r)return null;r.scope=i[0]}else r=eu(e,t,n);return r||null}function nu(e,n,r=Xl,i=Wl,a=!1){if(!e||e.length===0)return null;let o=[],s=e.length;for(let a=0;a<s;a++){let s=e[a],c=null;s?s.rowIndex!==void 0||s.colIndex!==void 0?c=i(s):s.rowStart!==void 0||s.colStart!==void 0?c=r(s,n,i):typeof s==`string`?c=s:`nameId`in s?c=s.nameId:t.FormulaError.isError(s)&&(c=s.toString()):c=Il,c&&o.push(c)}return o}function ru(e,t,n=Zl,r=Wl,i=!1){let a=nu(e,t,n,r,i);return a?a.join(`,`):Il}var iu=e=>e!==void 0&&e!==-(2**53-1)&&e!==2**53-1,au=(e,t,r,i=tu,a,o=!1)=>{if(t!==null){if(typeof t==`string`){let n=i(t,r,o);if(!n){let n=a?.(t);if(n){let t=n.length;for(let s=0;s<t;s++){let t=n[s];au(e,t,r,i,a,o)}}return}t=n}else t.isICellRange?t=t.getCoords():t.isICell&&(t=n.CoordUtils.cellToRange(t.getCoords()));if(t!==null){if(t.rowStart!==void 0||t.colStart!==void 0||t.colEnd!==void 0||t.rowEnd!==void 0){let n=t;e.push({...r,...n,colStart:iu(n.colStart)?n.colStart:r.colStart,rowStart:iu(n.rowStart)?n.rowStart:r.rowStart,colEnd:iu(n.colEnd)?n.colEnd:r.colEnd,rowEnd:iu(n.rowEnd)?n.rowEnd:r.rowEnd})}else if(t.rowIndex!==void 0||t.colIndex!==void 0){let n=t,i={...r,...n,colStart:n.colIndex,rowStart:n.rowIndex,colEnd:n.colIndex,rowEnd:n.rowIndex};i.scope===null&&r.scope&&(i.scope=r.scope),delete i.colIndex,delete i.rowIndex,e.push(i)}}else e.push(null)}else e.push(null)};function ou(e,t,n=tu,r,i=!1){if(!e)return[t];let a;a=typeof e==`string`?F(e):e.isICellRanges?e.getCoords():e.isIReferenceRange?[e.getCoords()]:Array.isArray(e)?e:[e];let o=[],s=a.length;for(let e=0;e<s;e++){let s=a[e];au(o,s,t,n,r,i)}return o}function su(e,t){let n=0,r=0,i=e.length;for(let t=0;t<i;++t){let i=e.charCodeAt(t);if(i>=48&&i<=57){if(n=10*n+(i-48),r===0)return}else if(i>=65&&i<=90){if(r=26*r+(i-64),n!==0)return}else if(!(i>=97&&i<=122)||(r=26*r+(i-96),n!==0))return}return t?(t.colIndex=r-1,t.rowIndex=n-1,t):{colIndex:r-1,rowIndex:n-1}}function cu(e,t=!1,n){n?(n.colIndex=-(2**53-1),n.rowIndex=-(2**53-1),n.$colIndex=!1,n.$rowIndex=!1):n={colIndex:-(2**53-1),rowIndex:-(2**53-1),$colIndex:!1,$rowIndex:!1};let r=jl.exec(e);if(!r)return null;let i=r[1],a=r[3];if(!(t||i&&a))return null;if(i){let e=r[2];e?e&&(e.startsWith(`[`)?(n.rowIndex=parseInt(e.slice(1,-1)),n.$rowIndex=!1):(n.rowIndex=parseInt(e)-1,n.$rowIndex=!0)):(n.rowIndex=0,n.$rowIndex=!1)}if(a){let e=r[4];e?e.startsWith(`[`)?(n.colIndex=parseInt(e.slice(1,-1)),n.$colIndex=!1):(n.colIndex=parseInt(e)-1,n.$colIndex=!0):(n.colIndex=0,n.$colIndex=!1)}return n}function lu(e,t){let n=0,r=0,i=!1,a=!1,o=e.length;for(let t=0;t<o;++t){let o=e.charCodeAt(t);o>=48&&o<=57?n=10*n+(o-48):o>=65&&o<=90?r=26*r+(o-64):o>=97&&o<=122?r=26*r+(o-96):o===36&&(t===0?i=!0:a=!0)}return r--,n--,t.colIndex=r,t.rowIndex=n,n===-1?(t.$colIndex=i,t.$rowIndex=!1,t):r===-1?(t.$colIndex=!1,t.$rowIndex=i,t):(t.$colIndex=i,t.$rowIndex=a,t)}function uu(e){let t=0,n=e.length;for(let r=0;r<n;++r){let n=e.charCodeAt(r);if(n>=65&&n<=90)t=26*t+(n-64);else{if(!(n>=97&&n<=122))return t-1;t=26*t+(n-96)}}return t-1}function du(e,t){let n=t;n?(n.rowStart=0,n.colStart=0,n.rowEnd=0,n.colEnd=0):n={rowStart:0,colStart:0,rowEnd:0,colEnd:0};let r=0,i=0,a=0,o=e.length;for(r=0;i<o&&(a=e.charCodeAt(i),a>96&&a<123&&(a-=32),!(a<65||a>91));++i)r=26*r+(a-64);for(n.colStart=--r,r=0;i<o;++i){let t=e.charCodeAt(i)-48;if(t<0||t>9)break;r=10*r+t}if(n.rowStart=--r,i===o||e.charCodeAt(++i)===58)return n.colEnd=n.colStart,n.rowEnd=n.rowStart,n;for(r=0;i!==o&&(a=e.charCodeAt(i),a>96&&a<123&&(a-=32),!(a<65||a>91));++i)r=26*r+(a-64);for(n.colEnd=--r,r=0;i!==o;++i){let t=e.charCodeAt(i)-48;if(t<0||t>9)break;r=10*r+t}return n.rowEnd=--r,n}function fu(e,t=!1){let n=e.match(t?Al:kl);return e.endsWith(`:`)?null:n}var pu={rowIndex:-1,colIndex:-1,$colIndex:!1,$rowIndex:!1};function mu(e,t,n,r=Ll){let i,a=e.lastIndexOf(`!`),o=``;a!==-1&&(o=e.slice(0,a)+`!`,e=e.slice(a+1));let s=()=>{let e=``,r=i.rowIndex;if(r!==-1)if(i.$rowIndex)e+=`R${r+1}`;else{let n=r-t;e+=n===0?`R`:`R[${n}]`}let a=``,s=i.colIndex;if(s!==-1)if(i.$colIndex)a+=`C${s+1}`;else{let e=s-n;a+=e===0?`C`:`C[${e}]`}o+=e+a};a=e.lastIndexOf(`:`);let c=a!==-1;if(c){let t=e.slice(0,a);e=e.slice(a+1),i=lu(t,pu),i.colIndex!==-1&&i.rowIndex!==-1&&(s(),o+=`:`)}return i=lu(e,pu),!c&&i.colIndex>r?e:(s(),o)}var hu=[],gu=e=>(hu.push(e),String.fromCharCode(57344+hu.length-1)),_u=e=>hu[e.charCodeAt(0)-57344];function vu(e,t,n){let r=``,i=e.length;for(let a=0;a<i;a++){let i=e[a];r+=typeof i==`string`?i:bu(i,t,n)}return r}function yu(e,t){let n=``,r=e.rowIndex;r!==-(2**53-1)&&(e.$rowIndex?n+=`R${r+1}`:n+=r===0?`R`:`R[${r}]`);let i=``,a=e.colIndex;return a!==-(2**53-1)&&(e.$colIndex?i+=`C${a+1}`:i+=a===0?`C`:`C[${a}]`),e.scope&&(n=Gl(e.scope,t)+`!`+n),n+i}function bu(e,t,n){let r,i=e.scope;r=i?Gl(i)+`!`:``;let a=e.colIndex;a!==-(2**53-1)&&(e.$colIndex?r+=`$`+Bl(a):r+=Bl(a+n));let o=e.rowIndex;return o!==-(2**53-1)&&(e.$rowIndex?r+=`$`+zl(o):r+=zl(o+t)),r}function xu(e,t,n,r){let i=e.colStart,a=e.rowStart,o=e.colEnd,s=e.rowEnd,c=e.$colStart??!1,l=e.$rowStart??!1,u=e.$colEnd??!1,d=e.$rowEnd??!1;if(c||i===-(2**53-1)||(i+=n),l||a===-(2**53-1)||(a+=t),u||o===2**53-1||(o+=n),d||s===2**53-1||(s+=t),i>o){let e=i;i=o,o=e}if(a>s){let e=a;a=s,s=e}let f;return r?(f=r,f.colStart=i,f.rowStart=a,f.colEnd=o,f.rowEnd=s,f.$colStart=c,f.$rowStart=l,f.$colEnd=u,f.$rowEnd=d):f={colStart:i,rowStart:a,colEnd:o,rowEnd:s,$colStart:c,$rowStart:l,$colEnd:u,$rowEnd:d},e.scope&&(f.scope=e.scope),f}function Su(e,t,n){let r=e.$colStart??!1,i=e.$rowStart??!1,a=e.$colEnd??!1,o=e.$rowEnd??!1,s={colStart:r?e.colStart:e.colStart-n,rowStart:i?e.rowStart:e.rowStart-t,colEnd:a?e.colEnd:e.colEnd-n,rowEnd:o?e.rowEnd:e.rowEnd-t,$colStart:r,$rowStart:i,$colEnd:a,$rowEnd:o};return e.scope&&(s.scope=e.scope),s}function Cu(e,t,n,r){hu.length=0;let i=e.replace(Pl,gu),a=0,o=i.replace(Ml,(e,o,s)=>{let c=mu(e,t,n);if(r){if(s>a){let e=i.slice(a,s);r.push(e.replace(Fl,_u))}let o,l=e,u=l.lastIndexOf(`!`);u!==-1&&(o=l.slice(0,u).replace(Fl,_u),l=l.slice(u+1));let d=l.lastIndexOf(`:`),f;if(d!==-1){let e=l.slice(0,d),i=l.slice(d+1),a=mu(e,t,n),o=mu(i,t,n);f=cu(a,!0),r.push(f??a),r.push(`:`),r.push(cu(o,!0)??o)}else f=cu(mu(l,t,n),!0),r.push(f??c.replace(Fl,_u));o&&f&&(f.scope=o)}return a=s+e.length,c});if(r&&a<i.length){let e=i.slice(a);r.push(e.replace(Fl,_u))}return o=o.toUpperCase().replace(Nl,``),o.replace(Fl,_u)}function wu(e,t){let r,i,a;return Array.isArray(e)?(r=e[0],i=e[1]):e.r===void 0?r=e:(r=e.r,i=e.v),Array.isArray(r)&&(r=r[0]),a=typeof r==`string`?eu(r,t):n.CoordUtils.sanitizeRange(r,t),i!==void 0&&a&&(a.value=i),a}function Tu(e,t){let r,i;Array.isArray(e)?(r=e[0],i=e[1]):e.r===void 0?r=e:(r=e.r,i=e.v);let a=[],o=e=>{let r=typeof e==`string`?eu(e,t):n.CoordUtils.sanitizeRange(e,t);r&&a.push(r)};if(typeof r==`string`){let e=F(r),t=e.length;for(let n=0;n<t;n++)o(e[n])}else if(Array.isArray(r)){let e=r.length;for(let t=0;t<e;t++)o(r[t])}else o(r);return a.length===0?null:{coords:a,value:i}}var Eu=/^\$?([A-Z]+)(?::\$?([A-Z]+))?$/,Du=/^\$?(\d+)(?::\$?(\d+))?$/;function Ou(e,t,n){let r=n?Bl:zl,i=r(e);return e===t?`${i}:${i}`:`${i}:${r(t)}`}function ku(e,t){if(!e)return null;let n=e.trim().toUpperCase(),r,i,a=Eu.exec(n);if(a)r=uu(a[1]),i=a[2]===void 0?r:uu(a[2]);else if(a=Du.exec(n))r=parseInt(a[1])-1,i=a[2]===void 0?r:parseInt(a[2])-1;else{let e=eu(n);if(!e)return null;r=t?e.colStart:e.rowStart,i=t?e.colEnd:e.rowEnd}return r===void 0||i===void 0||Number.isNaN(r)||Number.isNaN(i)?null:r<=i?{min:r,max:i}:{min:i,max:r}}function Au(e,t){return{r:Ou(e.min,e.max,t),v:e.value}}function ju(e,t){let n,r;Array.isArray(e)?(n=e[0],r=e[1]):(n=e?.r,r=e?.v),Array.isArray(n)&&(n=n[0]);let i=null;if(typeof n==`string`)i=ku(n,t);else if(n){let e=n,r=t?e.colStart:e.rowStart,a=t?e.colEnd:e.rowEnd;r!==void 0&&a!==void 0&&(i=r<=a?{min:r,max:a}:{min:a,max:r})}return i?(i.value=r,i):null}function Mu(e,t){let n=e?e.length:0,r=Array(n);for(let i=0;i<n;i++)r[i]=Au(e[i],t);return r}function Nu(e,t){let n=e?e.length:0,r=[];for(let i=0;i<n;i++){let n=ju(e[i],t);n&&r.push(n)}return r}function Pu(e,t,n=Ul){let r=e?e.length:0;if(r===0)return null;let i=[];for(let a=0;a<r;a++){let r=ql(e[a],t,n);r&&i.push(r)}return i.length===0?null:i.join(`,`)}function Fu(e,t){return typeof e==`string`?eu(e,t):n.CoordUtils.sanitizeRange(e,t)}function Iu(e,t){return typeof e==`string`?e:Xl(e,t)}function Lu(e,r,i){let a=n.CoordUtils.intersectRanges(e,r,i);if(!a)return null;let o=e.scope,s=r.scope;if(o&&s){if(o!==s)return t.FormulaError.BuiltIn.Value;a.scope=o}else(o||s)&&(a.scope=o||s);return a}function Ru(e,r,i){let a=n.CoordUtils.unionRanges(e,r,i);if(!a)return null;let o=e.scope,s=r.scope;if(o&&s){if(o!==s)return t.FormulaError.BuiltIn.Value;a.scope=o}else(o||s)&&(a.scope=o||s);return a}var zu=class e{constructor(e,t,n=`dynamic`){this._c=e,this._cycleId=t,this._k=n}getCycleId(){return this._cycleId}getKind(){return this._k}getError(){return this._k===`dynamicSpillError`}isFixed(){return this._k===`static`}getCoords(){return this._c}setError(t,n){let r=this._k===`static`?`static`:t?`dynamicSpillError`:`dynamic`,i=r===`dynamicSpillError`?{colStart:this._c.colStart,rowStart:this._c.rowStart,colEnd:this._c.colStart,rowEnd:this._c.rowStart,scope:this._c.scope}:this._c;return{...i,value:new e(i,n,r)}}getTranslated(t,n){let r=this._c,i={colStart:r.colStart+n,rowStart:r.rowStart+t,colEnd:r.colEnd+n,rowEnd:r.rowEnd+t,scope:r.scope};return{...i,value:new e(i,this._cycleId,this._k)}}getShifted(t){let r=t.after;if(!r)return null;let i=n.CoordUtils.sanitizeRange(r);return{...i,value:new e(i,this._cycleId,this._k)}}getMerged(e,t,n){}getSplit(e,t){}},Bu=class e{constructor(e,t){this._c=e,this._a=t}getCoords(){return this._c}getAxis(){return this._a}getShifted(t){return t.after?{...t.after,value:new e(t.after,this._a)}:null}getMerged(t,n,r){let i=this._a;return new e(n,i)}getSplit(t,n){let r=this._a;return[new e(t[0],r),new e(t[1],r)]}getState(){return this._c}};function Vu(e,r,i){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let a=[],o=i?t.IRange.Axis.Column:t.IRange.Axis.Row;for(let t=0;t<e.length;t++){let n=e[t],s=n[0],c=n[1];for(let e=0;e<c.length;e++){let t=c[e],n=t[0],l=t[1].length-1,u={colStart:i?s:n,rowStart:i?n:s,colEnd:i?s:n+l,rowEnd:i?n+l:s,scope:r,value:new Bu({colStart:i?s:n,rowStart:i?n:s,colEnd:i?s:n+l,rowEnd:i?n+l:s},o)};a.push(u)}}return a}var Hu=0,Uu=1;function Wu(e,t){e-=323;let n=$u(),r=n[e];Wu.kmvXVi===void 0&&(Wu.XBTVAI=function(e,t){let n,r,i=[],a=0,o=``;for(e=function(e){let t=``,n=``;for(let n,r,i=0,a=0;r=e.charAt(a++);~r&&(n=i%4?64*n+r:r,i++%4)&&(t+=String.fromCharCode(255&n>>(-2*i&6))))r=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(r);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),r=0;r<256;r++)i[r]=r;for(r=0;r<256;r++)a=(a+i[r]+t.charCodeAt(r%t.length))%256,n=i[r],i[r]=i[a],i[a]=n;r=0,a=0;for(let t=0;t<e.length;t++)r=(r+1)%256,a=(a+i[r])%256,n=i[r],i[r]=i[a],i[a]=n,o+=String.fromCharCode(e.charCodeAt(t)^i[(i[r]+i[a])%256]);return o},Wu.bXZOMx={},Wu.kmvXVi=!0);let i=e+n[0],a=Wu.bXZOMx[i];return a?r=a:(Wu.bBRlmH===void 0&&(Wu.bBRlmH=!0),r=Wu.XBTVAI(r,t),Wu.bXZOMx[i]=r),r}(function(){let e=`Q0^Q`;function t(e,t,n,r,i){return Wu(i-836,n)}function n(e,t,n,r,i){return Wu(r-280,t)}let r=$u();function i(e,t,n,r,i){return Wu(n-832,t)}function a(e,t,n,r,i){return Wu(i- -340,t)}for(;;)try{if(-parseInt(t(0,0,`zfD]`,0,1173))/1+parseInt(n(0,e,0,670))/2+parseInt(n(0,`E*g&`,0,667))/3+parseInt(a(0,`xIB5`,0,0,40))/4+parseInt(a(0,`zfD]`,0,0,63))/5+-parseInt(i(0,e,1181))/6*(-parseInt(n(0,`j$r2`,0,688))/7)+parseInt(n(0,`Iqkk`,0,690))/8*(-parseInt(i(0,`70qQ`,1158))/9)==755272)break;r.push(r.shift())}catch{r.push(r.shift())}})();var Gu=(e,t,n=126)=>function(e,t,n=126){let r=`)gtQ`;function i(e,t,n,r,i){return Wu(t- -971,r)}function a(e,t,n,r,i){return Wu(r-782,e)}let o=e[s(-130,-175,r,-158,-136)](``);for(let e=0;e<o[s(-162,-82,`5F0A`,-119,-148)];e++)o[e][i(0,-577,0,`Opm9`)](0)<=n&&(o[e]=String[a(`w9vi`,0,0,1128)]((o[e][s(-86,-77,`5F0A`,-118,-158)](0)+t)%n));function s(e,t,n,r,i){return Wu(r- -523,n)}return o[c=1013,l=r,Wu(c-644,l)](``);var c,l}(e,n-t),Ku=e=>{return globalThis[t=`spZP`,n=215,Wu(n- -197,t)](e);var t,n},qu=Zu(-451,-435,-483,`FZgo`,-431),Ju=Zu(-444,-473,-446,`Iqkk`,-428),Yu=RegExp(`^`+qu+qu+Ju),Xu=RegExp(`^`+qu+Ju);function Zu(e,t,n,r,i){return Wu(t- -831,r)}function Qu(e,t=!1){if(e[n(-407,-416,`eH]x`,-417,-460)]>255)return!1;if(Yu[n(-458,-439,`@iG3`,-456,-394)](e)||t&&Xu[n(-368,-405,`fdN#`,-358,-432)](e))return!0;function n(e,t,n,r,i){return Wu(t- -1656-867,n)}return!1}function $u(){let e=`WPT7CuBcKchdJq.WPb7A2xcHt0.WPpcO8ocW7BcGSoSWOJdImo7pG.mXZcH8ksW7hdPCoQESobjSk8b8oDWOe.W4pdRSkTmCouW5ZcKry/.W7z4lmkf.W65Vk8kpfrm.EJCfhCkAfXrVW4dcSey.W6C/iCoaAhhcRG/dPSk+ruf6WOaZWQr2bmoFWPu.tsZcNfZcOSoWW4y.kbNcRSowFW.lqHcW5H/W6VdILqy.W5OJpSom.W57dRGvAiCoh.mqBcQ8or.zZddJuNcSCkl.caCSWQ9SvmoTwqtcPMpcOq.WPJdO8kHWPSmCW.mJtcO33dHmku.WQBcO0NdTYuuzSk6.WQdcRCo5BJ/dUMJcRSo1xuf0WPa.W4m0oSooDMe.W7icW6HDWOtdN8oxhwZdUJe.W7NdRLKfWR4.WOFdS8kTWO8mACoMo8oK.WRJcUXncW6TtW5a5W6HfsSk8fG.CGRcKCoBssNcG8k9.p8k5W5Capdy.WOBdQw0EW4yYEG.yWhcHSoC.wCkrW6BdIa.WPRcPmokW6O.W4BcTSo2W4vilSk3hSoHWPBcKgKR.uYZcHf7cPmoR.W73dRNO6W5eIExldLvxdReRcR2nsx8keEmk6i1i.W6BdQmouW4NcTc3cOmopW5WtWQRcLSo8.f8kHW4xcTvRdLCkjW4RcQmooj05T.wwNcKSo8WQddSmkGsmopq8oJyCoh.WRhcTCknWPpdSW.WQdcPuZdTJesDSk3FmoF.W6xdQKurWQ8d.W4Lfb0VdUf5UfrXvbhbPW4pcIKddQmoDoCouW5NdTtebW7SwcSoxW5W.WOlcLKS.EI46fv7dOvtcItq.W4hcTCkWemoIW6jLW4K.FHFcTmoABchcJG.nCkIW5eakcaEFW.W6TuWRhcJeVdOSk6zCoIFCodW70z.WOFdOmo1BCk4WRKHW692yNJcPSoH.W4y6rCkNW6jS.W4K3sSkYW5vRgsxdLWK.W6pdV2BdR8osW4K.ddJdNmkTW7ZcP8oGqSoiv8o/rmooW5e.W4hdKw/cKSozWQpdTa.W7qaWOmYixDUW4O.xg3dPCkhW5FcJmoADa.CWVcMmojDY7cHa.Ac4NhG.WPldR8kHWPSDACo/j8oQWQdcIG.dsxdMSkHW6lcQCoKtSovEG.gSoeqeC.wM3cK8oXWQddVCkOBmoytmo+rCoY.hH8jWO1Ditm.nCkUW5WcmJS.W5pcQCoJcH7cLCobBa.W7ZdR2RdU8osW5pcRCogWPu.gJJdMSkTW7hcVa.amogWRBcKsxdVSoKw8kpWQriWOtcGq.hConxeVcIq.gruXWQzlmctcQ8k3WRxcJq.W5xcT8oYoIBcICoBCa.aHaTWQvBva.W40+oSomCxBcO1VdSW.WOddVSkZqhRdJ8oDBCkFWPrjha.W5tdGvldVmkREeHu.Ft09nmkyhGP1W4tcOLe.CmkpmI5B.hx4xWOtdQCkalCoFCCkgdW.WOtdQCoWzmk+WR95W4HCCKdcKq.AshdJe8.yJVdLu/cQCkkWQfNpJpdIdTCW4/dGmoCW7C.W6HEaSoCWQhcVcC.lqLbW5L/W6RdTfmlWQ8.WPWJWP0lk1i2xSo6WPlcQa.W6KVD1tcGW.EcddGv3cSCkrWQWPpq.W6ldQLif.chZcP8oBWP1rECkQF346W40.WQxcUmkmWPJdRNy.cruqWQHvoW.W6ldRSouW4ZcSsVcOmozW4m5WORcHCoA.kHHtW58.W4mXxCkHW7PTgwddSbtdTmkZWRibWPmJWO8gW4uZWQJcRq.WO/cICkPzXCt.WRhcVmkdWOJdTgNdS8oq.W4xdVmkvWRtdSCkZW5RdL8o8aw/dQSkn`.split(`.`);return($u=function(){return e})()}function ed(e,t,n,r,i){return K(t- -269,i)}function K(e,t){e-=351;let n=cd(),r=n[e];K.xgfgVP===void 0&&(K.sAgwRR=function(e,t){let n,r,i=[],a=0,o=``;for(e=function(e){let t=``,n=``;for(let n,r,i=0,a=0;r=e.charAt(a++);~r&&(n=i%4?64*n+r:r,i++%4)&&(t+=String.fromCharCode(255&n>>(-2*i&6))))r=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(r);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),r=0;r<256;r++)i[r]=r;for(r=0;r<256;r++)a=(a+i[r]+t.charCodeAt(r%t.length))%256,n=i[r],i[r]=i[a],i[a]=n;r=0,a=0;for(let t=0;t<e.length;t++)r=(r+1)%256,a=(a+i[r])%256,n=i[r],i[r]=i[a],i[a]=n,o+=String.fromCharCode(e.charCodeAt(t)^i[(i[r]+i[a])%256]);return o},K.wVGNwn={},K.xgfgVP=!0);let i=e+n[0],a=K.wVGNwn[i];return a?r=a:(K.uYmYLV===void 0&&(K.uYmYLV=!0),r=K.sAgwRR(r,t),K.wVGNwn[i]=r),r}function td(e,t,n,r,i){return K(n-850,i)}(function(){function e(e,t,n,r,i){return K(n-724,r)}function t(e,t,n,r,i){return K(n-814,t)}function n(e,t,n,r,i){return K(e-418,t)}function r(e,t,n,r,i){return K(n- -85,t)}function i(e,t,n,r,i){return K(n- -315,i)}let a=cd();for(;;)try{if(parseInt(t(0,`fEma`,1240))/1*(parseInt(r(0,`HdXx`,285))/2)+-parseInt(t(0,`PVL3`,1304))/3*(-parseInt(n(795,`Ym&1`))/4)+parseInt(n(864,`0PLp`))/5+-parseInt(n(877,`MjqS`))/6+-parseInt(n(815,`q7vm`))/7*(-parseInt(e(0,0,1166,`ksjc`))/8)+parseInt(i(0,0,154,0,`mdhE`))/9+-parseInt(t(0,`VSK)`,1287))/10==147548)break;a.push(a.shift())}catch{a.push(a.shift())}})();function nd(e,t,n,r,i){return K(t- -506,i)}var rd=(e,t,n)=>{function r(e,t,n,r,i){return K(t- -993,n)}function i(e,t,n,r,i){return K(t-66,r)}function a(e,t,n,r,i){return K(n-369,e)}function o(e,t,n,r,i){return K(i- -43,r)}return Object[r(0,-557,`3vM]`)]({getLicensee:()=>e[o(0,0,0,`m[Q(`,448)]??null,getExpiration:()=>new Date(e[o(0,0,0,`&8da`,503)]),getDomains:()=>e[a(`JWh0`,0,840)]??[],getDeveloperCount:()=>e[r(0,-509,`MjqS`)]??1,getCpuCount:()=>e[a(`*D8t`,0,817)]??0,getMemory:()=>e[o(0,0,0,`ei7&`,337)]??0,getType:()=>e[o(0,0,0,`Py^7`,442)]??i(0,516,0,`97Q[`),getExceptions:()=>t,hasExceptions(){return!!t&&t[e=-310,n=`Qv#%`,a(n,0,e- -1062)]>0;var e,n},isValidFor:e=>{return!(t?.[n=-365,r=`ei7&`,a(r,0,n- -1277)]>0);var n,r},isValid:()=>!0,isEval:()=>!1,getFeatures:()=>{return Object[i(0,581,0,`$o&H`)](e[t=`SPvB`,n=1411,K(n-890,t)]??{});var t,n},getKeyFrom:()=>n,getBuildVersion:se[a(`3vM]`,0,933)],getBuildDate:se[o(0,0,0,`Py^7`,394)]})},id=async e=>{let t=n.CommonUtils[s(883,950,799,806,`PVL3`)],r=se[s(792,798,721,787,`LBqy`)]();function i(e,t,n,r,i){return K(i-47,n)}let a=new Date(r),o=new Date;function s(e,t,n,r,i){return K(e-352,i)}function c(e,t,n,r,i){return K(r- -782,t)}return Math[s(909,0,0,0,`&8da`)]((o[c(-254,`$o&H`,-172,-231,-320)]()-a[s(917,0,0,0,`Uez4`)]())/864e5)>=120&&(t=[i(0,0,`97Q[`,0,479)]),Object[l=376,u=`kvq7`,K(l- -19,u)]({getLicensee:()=>K(533,`yC^6`),getExpiration:()=>null,getDomains:()=>[],getDeveloperCount:()=>1,getCpuCount:()=>0,getMemory:()=>0,getType:()=>s(804,0,0,0,`#$Ah`),isEval:()=>!0,getExceptions:()=>t,hasExceptions:()=>t[c(0,`JWh0`,0,-229)]>0,isValidFor:()=>t[i(0,0,`n39F`,0,525)]===0,isValid:()=>!1,getFeatures:()=>Object[c(0,`7)x2`,0,-322)]({}),getKeyFrom:()=>e,getBuildVersion:se[s(791,0,0,0,`4c1G`)],getBuildDate:se[i(0,0,`iYpA`,0,539)]});var l,u};function ad(e,t,n,r,i){return K(i-776,r)}var od=async e=>{function t(e,t,n,r,i){return K(i-503,n)}function n(e,t,n,r,i){return K(e- -529,t)}return(!sd[n(30,`ei7&`)]||!sd[n(-116,`fZIs`)])&&!!(e[a=-405,o=`0gmK`,K(a- -898,o)]()||e[t(0,0,`mdhE`,0,982)]()||e[r=`3vM]`,i=-285,K(i- -690,r)]()?.pb||await ve[t(0,0,`0gmK`,0,863)]());var r,i,a,o},sd={promise:null,printNeeded:!1,details:null,bannerPrinted:!1,detailsPrinted:!1,licenseKey:null,keyFrom:null};function cd(){let e=`bM44WPz7W51Fe13cQmk4.W5TDtSkvzJxcMtL+WPGY.qSkUemoTv8kPAHVdSq.WQddHSoPertdTq.aZhdPqb8cW.dqJdKMr2Emk5lCo2WONdVmk2Ba.WO47gmk9pe3cTLymsSkleSkfWQVdKmoWWOP8.o8opWQRdKaddPmkzf3zi.pX3dJwjQDCk6cG.W75UzsRcRmk8W4tdQrGAW4BdKtXgW5DqWPBcNG.W4jMcahcGahdTwlcJmk5WR0Bz1VcQxBcKxuM.ktldOJbyD8oHWQDMad0c.z8kfc0i.WOrIWOedWPRcP0foW6DIeJFcLuBcNf06i8ojWQK.adFdQW95hCk9.FSkIW4fUWRG.obTgWPC4WOdcJWTRWOODdM8.lXRdTbb/gSk3Bam.m8oXW5ddSmoagum.mSkeW79CWR/dIa.cIKEW4VdJWS.WPO0B04OaJbJsMqRW4W.pdJdUZDEsG.k8oCg0xdJGy.uSkgguBdHu7dJM7dUs5AB8keWQSdbq.WQ4Mymk2WQWtWPhdGJLlW5O.n8kplWtdPSk7W5DYdem.Cmkvdh7cJg/dGG.aYKhW4xdLb7cJG.WQ46f8oanGi.WQ4YvCk2W5ZcVCo8cmoNW7G.W4tcLSkDrYGEWRxcQW.WRm+o2KLgZv1B3e2W4zR.pYZdPdfE.WQFcNrFdKW.pmkaW79vWQ7dKSk5BmkpnSkox8od.jSo8W53dRmoigua5uCkkyt4XENDdxrlcMcSV.W6tdOmkIhHBcVa.Bv3cU1Haoq.fwWKWRTGW6Pqcq.W4BcNCknDGOEWQ3cP8kdW6BcPCkgv8k4W4i.DSkKig8NW7ZdSq.W6ldVmkIhW.W5xcISkqwq.mCokkNJdIHm.W6DHhqxcGHVdTa.W4xdGSoas21cCmofWOC1.v8kEWROYW7VcNHFcQq.WReRgmoflG8.W7TUeCoMW4/cQCo4fCoYW7WIWPL4WRS.gCo+WRT1WQm0WQxdLMyBWQHyW5pcRG.iGRdJ2bXF8ky.nmoJW7qOW7BdNuKO.WO4LEN4PgaTUEM0.W4TNlZLQxGrJywOXW4e.ESkufmoxv8kUCqddI8kgW7ZdVbGb.o8o5W54QW6xdQLCSn8kgnG.dmkCdSoYW5pcGhGmqdH9W5NdQG.bs0DW4RdMadcRCkRCSocfCooWQm.j8kloZxdVCk9W65V.xmoHCSkOomk8kt/dI3e.pbngWP44WOdcRWTRWOOD.W7L2nSktWOWtWQZdUYO.WPa9wSkQimofWPJdTW.sM3dPCkH.tNJdPmkwDdXgW7KhfW.yX/cObRdNGOGW4bvWPvrW7m.FCoNuw3dIgBcLG.W49QBsS.WQldVx5kW5G8WOW.pSoGW4u+.W6TIcG3cGLi.m8keW7XuWRNdMq.WQ5tfqyEW7tdMW.W4ldJSoAAhfEEa.wmklWQewW6dcGW.W5/dTf8t.p8oFdSkqCmkaoa.W5VdS0uw.kmolagpdGGZdMa.v8okz3W.tSk3nvCNW7xdTCkyBG.zvVcTvXhjmkGWRvoFG.uSoPF8kJm8k9haBdH2zCWONdHq.WQ7dKmoyiXddRs/cO8kVW5C.W5fRbdtcNbVdVJy.WP4OqSkgpCoj.imkjhCo3.mCo/W7ddQSogpLKWECkNFdGhyhzpyWC.W497rSoKEddcNvylFCk5fq.zX/cRXtdLW9sW4XHWQD9W6ddVq.WP0Vc8oolb4.W5mvW7vz.ACkElmoWt8k4DWFdJ8kbW7G.rxtdS8k3FZTcW5Sohq.kmojumkSdCoRtHFdOCkvW4xdVG.W67dPmoTWQudW4r6qt0.W4BcNCknCHOwWRxcTSkNW6BcPa.nmkjcmotW5lcH0GTus11W5ZdTtm.pHhdG2H2F8kya8oNWPe.q8oAyhxcKSkVW4y.vmkFfSo+vmk0ywtdGmkDW7NdSfqEqaBcQuRdN8kN.CSo9AwJdQgBcKuddSHZcQM1lza.W7j2CIFcTCk0W5tcObmBWOVdVdXl.Emkjemo2sSkK.CmoXC23dJwpcGxxdRGBcOvjlEq.W6D8pqxcGHVdTa.W7HUbXhcIZtdPG.mshdUbTuumoHWQnZad4FmG.zmoMBMldKepcM0BdUqhcVenGCSoorCoaEG.v8onE3NcKSkWW5a.W7ldMMzeW7G6WQ0.vSo6DmkOlmkQ.WQPPWOmMWPpcUKqhW6D4.bwGWWOP7W6XPfeFcPq.W5avW7zbW79SWQZdOCooW6bPWP1H.W5hdP8kFDq.W5ubW6PeW6HpWQK.gctcOmoJAZbqW50mcq.W6FdHmkdyMPsCmoGWPePrCokWRu2.WPCOw8kijSoCWOu.WRiQcSop.WQe5a8k6jNu.W7ldKh9eW7G4.wmkhaCoZtCk8Cs3dGCkCWR3dPreaqaRcQatdICk6velcLSk1W6m.W695dmoPW5lcH8oQk8oUW7a+.W7ddT00xW4CqcrldTa.W5CpW4PEW7PSWQ3dKCo/W6fL.W5lcNCkywa.W5BdT8o4WOSFW4L3urW6uCoL.W63dS0mmW50rgKBdVL7dS8opvCoBhcTRbNjN.acKhW6BdIbVcKCk9tCoje8oyWQ7cOZC.pmovf8kZBmkhj8oslSorimoc.W5NdS8o/WOWsW4n+rsWYsSoUwq.WPjUFYbkWQnw.irFdJwG.cCojlfdcGZi.n8k3oGRcT0pdQG.WP7cSr1iWPHewdddP2BdSmoGmG.DColF0xcPmo4WRbndN3cPSkbca.oqPDWROYWOFcSq0.AKddJ0/cGgWr.xSkEdCoYtCkZBdddLW.pSkjeCo0W4/cJxSR.WQZdG8oncW.WQ8QESktWRWiWO3dLazaW5W8a8o6W7a.nSo1W4JdICompfa7tSkJqZGT.p0JdUKlcNei.vmolDwBcJ8kWW6ldV8oRWQ0.kCkaW6jRWRNdICkhASkdpa.mCkneSo1W5JcHMWBxtDGW5ddVq.WPZcK8kthtyhxSoDWQ0RpCoQ.nf/dSKJcLf4.jSoGW4NdTG.W7TKcmoMW4/cQW.WPKSbCkrpwJcS1e/qCkkbmkIWQVdIG.qCoADwdcJSkXW5ddPq.B8oYd8kEumkegq.W6ldKf5kW6yZWQZcHNu7WQO.W7VdUSkuaqpdSa.o17dK0JcMh4mW5u.ACklvZ3cMu3cHdygrmkSW7RdOq.W4NdJ2bmW78IWPRcOgaPWQBcR8k0.WQyWfmogkWqt.WQu6dCoLnWmmW57cRNFdMMC.CmkIWOtcVmkCAWu6A8kTzsWz.paHhWPq.W5FcImowW4a.z8oXC0ddJwZcL0VdRWRcHenx.WPa0DMmVeG.WRjefaWdW68.mmoyheVdKXZdMby1vCkwW7VdIa.W6JcLSkpvrmEWQxdO8kWW7VcP8kCtmk2W5JdR8kSWP8.fZ4AW4RdIq.WRG6FCk5.bmoudmkHA8khjCoc.W43dJSovs29EzCoRWPapcSo0WR47.W4xdQ8o8WQW.B8oxyCk/oCk7iYVdSq.WOWWwComjXm.v8onFxRcJ8kbW5tdUmoXWQb6.iCouWRVdIbddGCkkexi.smkuW67cKu7cKmkZaxHEWPa3.kmkslrpdVmk7W6v+.nr3dLe9TzCkrlmogWONdOCk/.nmoJW7u7W6hdTa.W4j0f8kRcSocWRVdIgK.mr9rWR8VWP3cSG.eZ4AW4xdKq.W4ebW6HFW6H7WO/dOmo3W7X0WPzX.WOm/rSkho8o0WPpdT3lcO8khfq.W5hcISkqwGS1WQdcRCk7W6BcPq.s8oAENpcJ8kR.WQVdLmoccrddQX7cUmkQW4PbW7FcHq.WQmQD8kxWRSoWOW.s3ZdVSk8DdP3W6iccSk1WRRcLG.p3iNWPLJW7zAxx/cPmkPq8kfwG0tpxBdU8kpW5JcM8k3ymkMWQfT.W7ldMMzeW7G6WQ3cLwyHWQhcT8kIhq.W43dJSoxt2PDzSoEWPaLc8o1WRuR.WR5PWPyo.iuJdO2hcH1GhW41eWQLBW7tdIq.lCoIW5KJW7tdLKi7oSknjG.mdpdJZTADSoQWQu.WPy0yG.WQtcNHRdKW.W7BdRmkLfGVdSmo3WPJdKKzWwCkXEW.b8ojhwFdHqS.CCkchu/cN2C.helcT0NcGvydW4PzWR8WW6ldGmkRWQFdVvJcTKlcQW.aCk6kCo+zmo9DstdQxb9WOpdUW.eNKLWPLMW7nnluhcPmkKuSkotq.kr9CWRi4WOS.fCoFq8kDCmknlSoygCovDmoxWRNdUhHIi8k2bW.WQFcJrRdI8ofWR7dGLG.gmorWQNcHW.W7JcJCoxW4fquG`.split(`.`);return(cd=function(){return e})()}var ld=!1,ud=!1;function dd(e,t,n,r,i){return K(n-679,r)}var fd,pd,md=new class{constructor(){function e(e,t,n,r,i){return K(r- -897,i)}this[e(0,0,0,-371,`97Q[`)][e(0,0,0,-472,`Nc&2`)]=null}async[dd(0,0,1155,`fZIs`)](e,t=!1){if(!e||e[a(452,558,`*lL3`,582,470)](n(355,361,`i5I[`,413,390))||e[n(155,161,`Wh9&`,233,246)](n(173,267,`gHK6`,269,183))||e[a(586,592,`)ysq`,504,614)](o(1095,1077,`4c1G`,1099,1032))||e[a(644,686,`m[Q(`,716,679)](n(306,386,`SPvB`,358,221)))return ld=!0,await ve[n(341,284,`mdhE`,414,266)](e,t),sd[n(201,141,`iYpA`,266,216)]=null,sd[a(616,638,`HdXx`,676,707)]=a(541,590,`VSK)`,545,657),sd[a(582,555,`Ym&1`,527,624)]=null,sd[r(1318,1285,`)ysq`,1293,1187)]=null,await this[a(448,525,`Uez4`,498,570)](!0);if(ld=!1,!t&&sd[n(148,111,`MjqS`,158,53)]){let e=await this[r(1272,1301,`0PLp`,1401,1270)]();if(e[n(169,199,`fZIs`,108,202)]()&&!e[n(261,329,`i5I[`,352,310)]())return e}function n(e,t,n,r,i){return dd(0,0,e- -885,n)}function r(e,t,n,r,i){return dd(0,0,t-188,n)}sd[n(184,0,`YeXO`)]=e,sd[s(1101,996,`MjqS`,905,1073)]=o(1033,1089,`7)x2`,1191,1057),sd[n(346,0,`4c1G`)]=null,sd[s(948,1001,`mdhE`,1036,972)]=null;let i=await this[o(1171,1070,`PVL3`,1141,1176)]();function a(e,t,n,r,i){return dd(0,0,t- -543,n)}function o(e,t,n,r,i){return dd(0,0,t- -98,n)}if(!i[a(0,550,`gHK6`)]())throw await this[r(0,1311,`&o9R`)](i,!0,void 0,t),Error(n(331,0,`UkuV`));function s(e,t,n,r,i){return dd(0,0,t- -65,n)}return await ve[r(0,1386,`*D8t`)](e,t),i}async[dd(0,0,1168,`PVL3`)](e=!1){if(sd[l(1060,1082,1152,1051,`n39F`)])return sd[l(1038,957,1118,1048,`iYpA`)];!this[u(`ICyT`,1496,1475,1564,1583)][u(`gHK6`,1370,1282,1325,1343)]&&(this[c(892,904,802,`6G[T`,800)][s(463,`VSK)`,406,404,317)]=Error(`FV`));let t=null;sd[c(922,956,952,`ICyT`,865)]=new Promise(e=>{t=e});let n,r=null,i=async(e,t)=>{try{let c=function(e){let t=e;function n(e,t,n,r,i){return Wu(i-776,n)}let r=t[t[c(8,41,54,`oDUE`,76)]-1],i=r[c(-10,-45,-7,`Hf1]`,17)](0)-52;var a,o;if(t=t[n(0,0,`WZT7`,0,1135)](0,t[c(-6,14,4,`Ohul`,-39)]-1),t=t[l(-140,`2#e*`,-136,-182,-127)](``)[l(-119,`kb@K`,-132,-124,-99)]()[a=1162,o=`70qQ`,Wu(a-777,o)](``),t=Ku(t),t=t[l(-116,`E9u7`,-127,-140,-89)](),t[t[l(-95,`kb@K`,-98,-71,-96)]-1]!==r)throw Error();function s(e,t,n,r,i){return Wu(e- -870,r)}function c(e,t,n,r,i){return Wu(n- -364,r)}function l(e,t,n,r,i){return Wu(e- -483,t)}t=t[l(-104,`E*g&`,-146,-67,-84)](0,t[s(-475,-502,-487,`xIB5`,-460)]-1),t=Gu(t,i);try{!t[n(0,0,`@iG3`,0,1117)](`{`)&&(t=`{`+t);let e=JSON[l(-105,`xIB5`)](t),r={licensee:e.l,expiry:e.e,developerCount:e.dc,type:e.t,domains:e.d??[],cpuCount:e.cc??0,memory:e.m??0,features:e.f??{}};return e.n&&(r[l(-70,`E*g&`)]=e.n),r}catch{throw Error(s(-507,0,0,`E9u7`))}}(t),l=rd(c,await(async e=>{let t=`Wh9&`;function n(e,t,n,r,i){return K(n-6,t)}let r=[];function i(e,t,n,r,i){return K(n-882,i)}function a(e,t,n,r,i){return K(e-558,t)}let o=e[s(1150,1136,1062,`97Q[`,1008)]?new Date(e[s(1179,1099,1196,`&8da`,1267)]):null;function s(e,t,n,r,i){return K(n-650,r)}if(o?isNaN(o)?r[i(0,0,1404,0,`MLx$`)](l(-334,-338,`3vM]`,-309,-418)):o<new Date&&r[s(1236,1189,1216,`i5I[`,1117)](a(1092,`gHK6`)+o[i(0,0,1278,0,`VSK)`)]()):r[a(1033,`0LVN`)](i(0,0,1438,0,t)),await ve[s(0,0,1118,`7)x2`)]())return r;let c=await ve[l(-460,-412,`kvq7`,-339,-369)]();if(c[n(0,`0gmK`,384)]!=null){if(e[s(0,0,1213,`*lL3`)]===0&&(e[s(0,0,1044,`8tuN`)]??0)===0)return r[i(0,0,1266,0,`0PLp`)](i(0,0,1320,0,`0PLp`)),r;let o=e=>{if(!e)return null;function t(e,t,n,r,a){return i(0,0,e- -671,0,n)}return e[t(587,0,`yC^6`)]()[t(646,0,`Nc&2`)]()},u=o(e[s(0,0,1199,`HdXx`)]);if(u){let e=c[n(0,`0gmK`,370)],t=e&&o(e[i(0,0,1238,0,`JWh0`)])===u,a=e&&o(e[i(0,0,1440,0,`SPvB`)])===u;!t&&!a&&r[n(0,`HdXx`,488)](s(0,0,1059,`97Q[`))}(e[a(929,`8tuN`)]??0)>0&&c[n(0,`fEma`,378)]>e[l(-398,-451,`m[Q(`,-499,-528)]&&r[l(-376,-418,`Nc&2`,-361,-496)](c[l(-414,-357,`VSK)`,-335,-448)]+`/`+e[a(913,`Qv#%`)]+s(0,0,1189,`ei7&`)),(e[s(0,0,1105,`7)x2`)]??0)>0&&c[i(0,0,1414,0,`iYpA`)]>e[n(0,t,483)]&&r[i(0,0,1311,0,`JWh0`)](c[a(1009,`kvq7`)]+`/`+e[l(-225,-274,`4c1G`,-201,-306)]+a(1003,`$o&H`))}function l(e,t,n,r,i){return K(t- -818,n)}if(c[i(0,0,1344,0,`Q6H5`)]!=null){let t=e[l(0,-433,`LBqy`)],o=e[i(0,0,1346,0,`)ysq`)]?.[s(0,0,1081,`Ym&1`)];if(t&&t[n(0,`)ysq`,506)]!==0){let e=c[s(0,0,1212,`YeXO`)][i(0,0,1233,0,`3vM]`)]()[a(1024,`Ym&1`)](),l=t=>{let r=t[i(`0PLp`,-223,-149,-238,-292)]()[i(`97Q[`,-134,-255,-223,-127)]();function i(e,t,r,i,a){return n(0,e,i- -630)}return e===r||e[a=1054,o=`3vM]`,n(0,o,a-493)](`.`+r);var a,o};!t[s(0,0,1093,`iYpA`)](e=>Qu(e,o)&&l(e))&&r[n(0,`)ysq`,394)](s(0,0,1061,`yC^6`))}else r[l(0,-282,`$o&H`)](s(0,0,1166,`7)x2`))}return r})(c),e);return l[r=`Py^7`,i=-103,o=-163,s=-149,a(r,o- -1232,i-241,o-301,s-418)]()&&(n=l),l}catch{return(e=>{function t(e,t,n,r,i){return K(i- -45,t)}return Object[t(0,`UkuV`,0,0,462)]({getLicensee:()=>null,getExpiration:()=>null,getDomains:()=>[],getDeveloperCount:()=>0,getCpuCount:()=>0,getMemory:()=>0,getType:()=>t(0,`gHK6`,0,0,308),getExceptions:()=>{return[(n=`*lL3`,r=-239,t(0,n,0,0,r- -698)+e+`'`)];var n,r},hasExceptions:()=>!0,isValidFor:e=>!1,isValid:()=>!1,isEval:()=>!1,getFeatures:()=>Object[t(0,`7)x2`,0,0,415)]({}),getKeyFrom:()=>e,getBuildVersion:se[t(0,`HdXx`,0,0,408)],getBuildDate:se[n=-409,r=`Wh9&`,K(n- -954,r)]});var n,r})(e)}var r,i,o,s};function a(e,t,n,r,i){return dd(0,0,t- -51,e)}sd[u(`6G[T`,1323,1394,1415,1263)]&&(r=await i(sd[l(1174,1246,1233,1092,`*D8t`)],sd[c(763,820,738,`fEma`,781)]));let o=!1;if(ld&&(o=!0,r=await id(l(1227,1329,1181,1156,`$o&H`))),!r){let e=await ve[u(`fZIs`,1365,1318,1362,1301)]();e&&(r=await i(e[u(`*D8t`,1429,1526,1424,1523)],e[c(918,929,958,`Wh9&`,993)])),!r&&(o=!0)}function s(e,t,n,r,i){return dd(0,0,r- -817,t)}function c(e,t,n,r,i){return dd(0,0,t- -261,r)}function l(e,t,n,r,i){return dd(0,0,e-0,i)}function u(e,t,n,r,i){return dd(0,0,t-276,e)}return!r&&o&&(r=await id(u(`MjqS`,1382,1276,1311,1382))),!r&&n&&(r=n),!r&&(r=(()=>{function e(e,t,n,r,i){return K(n- -493,t)}function t(e,t,n,r,i){return K(r-3,e)}return Object[e(0,`78sl`,-69)]({getLicensee:()=>null,getExpiration:()=>null,getDomains:()=>[],getDeveloperCount:()=>0,getCpuCount:()=>0,getMemory:()=>0,getType:()=>null,isEval:()=>!1,getExceptions:()=>{return[(e=`LBqy`,t=812,K(t-292,e))];var e,t},hasExceptions:()=>!0,isValidFor:e=>!1,isValid:()=>!1,getFeatures:()=>Object[e(0,`6G[T`,-73)]({}),getKeyFrom:()=>e(0,`JWh0`,-6),getBuildVersion:se[t(`q7vm`,0,0,466)],getBuildDate:se[t(`JWh0`,0,0,475)]})})()),sd[s(302,`)ysq`,376,270,283)]=r,sd[u(`0gmK`,1464,1462,1479,1572)]=e&&await od(r),t(r),sd[a(`EFwX`,1153)]&&await this[s(0,`LBqy`,0,345)](r),sd[l(1107,0,0,0,`8tuN`)]}async[ed(0,201,0,0,`Ym&1`)](e,t=!1,n=!1,r=!1){let i=e[a(343,`Py^7`,267,364,197)]();function a(e,t,n,r,i){return ed(0,n-95,0,0,t)}function o(e,t,n,r,i){return ed(0,e-895,0,0,i)}function s(e,t,n,r,i){return ed(0,t-186,0,0,r)}if(!t&&!sd[s(0,375,0,`kvq7`)]&&(e[s(0,269,0,`mdhE`)]()||i))return sd[s(0,418,0,`#$Ah`)]=!0,void await ve[c=`)ysq`,l=121,ed(0,l- -98,0,0,c)](!1);var c,l,u,d;(t||!t&&(i||!await ve[o(1136,0,0,0,`&8da`)]())&&!sd[o(1132,0,0,0,`MjqS`)])&&(sd[a(0,`*lL3`,344)]=!0,await ve[u=`&8da`,d=1317,ed(0,d-1051,0,0,u)](e,t,n,r))}async[dd(0,0,1072,`gHK6`)](e){if(await od(e)){if(ud)return void setTimeout(()=>{var t,n;this[t=`JWh0`,n=40,K(n- -359,t)](e,!1,!1)},8e3);await this[t=52,n=`q7vm`,td(0,0,t- -1228,0,n)](e,!1,!1)}var t,n}async[nd(0,8,0,0,`mdhE`)](e,t,n,r=!1){if(!t&&sd[s(-206,`*D8t`,-216,-62,-152)]&&sd[l(861,`i5I[`,958,868,934)])return;function i(e,t,n,r,i){return td(0,0,i- -287,0,t)}let a=e[c(-390,-399,-400,-404,`#$Ah`)]()||e[l(888,`&8da`,770,921,837)]();if(!t&&a&&!await ve[i(0,`VSK)`,0,0,1123)]())return sd[o(974,798,902,`6G[T`,896)]=!0,sd[s(-251,`Ym&1`,-106,-213,-187)]=!0,ve[o(978,970,1041,`q7vm`,1043)]();function o(e,t,n,r,i){return td(0,0,n- -339,0,r)}function s(e,t,n,r,i){return td(0,0,i- -1542,0,t)}function c(e,t,n,r,i){return td(0,0,n- -1777,0,i)}function l(e,t,n,r,i){return td(0,0,i- -429,0,t)}(!sd[i(0,`Nc&2`,0,0,1060)]||t)&&(sd[o(0,0,1070,`ei7&`)]=!0,await ve[s(-344,`Q6H5`,-240,-151,-259)](!1)),await this[c(-497,-384,-398,-370,`iYpA`)](e,t,n,r),!t&&a&&await ve[i(0,`fZIs`,0,0,980)]()}[dd(0,0,1052,`fEma`)](){return this[e=-229,t=`Py^7`,nd(0,e- -127,0,0,t)](!0);var e,t}async[dd(0,0,1160,`4c1G`)](e){let t=await this[n=`#$Ah`,r=1153,ad(0,0,0,n,r- -15)]();var n,r,i,a;return this[i=851,a=`0LVN`,ad(0,0,0,a,i- -448)](t,!0,e)}[ed(0,188,0,0,`ei7&`)](){return sd[n=`4c1G`,r=1038,nd(0,r-1178,0,0,n)]||sd[e=-389,t=`Q6H5`,nd(0,e- -240,0,0,t)];var e,t,n,r}[dd(0,0,1102,`Nc&2`)](e){ud=!0}async[ed(0,230,0,0,`3vM]`)](){var e,t,n,r;sd[e=918,t=`fEma`,dd(0,0,e- -264,t)]=!0,await ve[n=468,r=`*lL3`,dd(0,0,n- -735,r)](!0)}async[dd(0,0,1177,`8tuN`)](e,t){let n=await this[r=`UkuV`,i=176,ed(0,i-24,0,0,r)]();var r,i,a,o;return await this[a=1290,o=`kvq7`,ed(0,a-1194,0,0,o)](n,!0,e,t),n}async[ed(0,89,0,0,`emPJ`)](){let e=await ve[t(585,451,`97Q[`,541,559)]();function t(e,t,n,r,i){return nd(0,i-702,0,0,n)}return e[t(0,0,`*D8t`,0,565)]?.[n=`ICyT`,r=798,nd(0,r-776,0,0,n)]??``;var n,r}},hd={FormulaContext:fd,ScalarType:t.ScalarType,IRange:t.IRange,FormulaError:t.FormulaError,Observable:t.Observable},gd=void 0,_d=[];function vd(e){fd||(fd=t.FormulaContext,hd.FormulaContext=fd),_d.length===0&&(gd=globalThis[r.Constants.GLOBAL_CONTEXT_VARIABLE],globalThis[r.Constants.GLOBAL_CONTEXT_VARIABLE]=hd),_d.push(e),fd._setScope(e)}function yd(){_d.length>0&&_d.pop(),_d.length>0?fd._setScope(_d[_d.length-1]??null):(gd?(globalThis[r.Constants.GLOBAL_CONTEXT_VARIABLE]=gd,gd=void 0):delete globalThis[r.Constants.GLOBAL_CONTEXT_VARIABLE],fd&&fd._setScope(null))}(pd||={}).Context={Workbook:`workbook`,Sheet:`sheet`,Ranges:`ranges`,Range:`range`,Script:`script`,Calculation:`calculation`};var bd,xd=(e,n,r,i)=>{let a=e.errors??null;return a===`accept-ref`?e.range?t.FormulaError.isError(i)?`reject`:`accept`:r?`reject`:`accept`:a||(n===t.ScalarType.Error?null:`reject`)},Sd=e=>{let n=e.checkArity,r=typeof n==`function`,i=(...i)=>{if(r&&!n(i.length))throw t.FormulaError.BuiltIn.Value;return(e=>{let n=e;if(Array.isArray(n)){if(n.length!==1)throw t.FormulaError.BuiltIn.Calc;n=n[0]}if(!0===n?.isIRange){if(n.size!==1)throw t.FormulaError.BuiltIn.Calc;n=n.getValueAt(0,0)}else if(n!==null&&n?.colStart!==void 0){let e=n;if(e.rowStart!==e.rowEnd||e.colStart!==e.colEnd)throw t.FormulaError.BuiltIn.Calc;try{n=t.FormulaContext.getValueAt(e.rowStart,e.colStart,e.scope??void 0)}catch(e){if(!t.FormulaError.isError(e))throw e;n=e}}if(!0===n?.isLambda)throw t.FormulaError.BuiltIn.Calc;return n??null})(e(...i))};return i.isLambdaCallable=e.isLambdaCallable,i.checkArity=n,i.paramCount=e.paramCount,i},Cd=class e{constructor(e,n,r,i=null,a=!1){this._ct=pd.Context.Calculation,this._builtIn=!1,this._lc=!1,this._rlc=!1,this._rs=null,this._pj=null,this._gi=-1,this._gc=null,this._json=e,this._n=e.name,this._d=new Ad(e),this._ct=e.context??pd.Context.Calculation;let o=e.parameters,s;this._pj=o,n||=(console.log(`TypeFunction '${e.name}' was not provided a function implementation.`),()=>{}),this._fn=n.bind(this),this._cf=r??Td,this._builtIn=a,this._cfp={argsValues:null,argsLength:0},s=i?typeof i==`function`?i:()=>Promise.resolve(i):wd(e),this._descFn=s;let c=o?.length??0,l=!1,u=!1,d=(e,t)=>{let n=e.repeating;if(n){let e=n.length===1;for(let t=0;t<n.length;t++)d(n[t],e);return}t||e.range||e.lambda!=null||(e.arrayDepth??0)!==0||(l=!0),e.range===`p`&&(u=!0)};for(let e=0;e<c;e++){let t=o[e];t.repeating&&(this._gi=e),d(t,t.rest??!1)}this._lc=l,this._rlc=u;let f=e.returnType?.scalar;f!==t.ScalarType.Null&&f!==`*`||(f=null),this._rs=f??null}execute(...e){let t=e,n=t.length,r=this._cfp;if(r.argsLength>0)t=r.argsValues,n=r.argsLength,r.argsValues=null,r.argsLength=0;else for(let e=0;e<n;e++){let n=t[e];if(n==null)continue;let r;if(n.colStart!==void 0)r=n;else if(n.getCoords&&(r=n.getCoords(),r&&r.scope===void 0&&typeof n.getSheet==`function`)){let e=n.getSheet()?.getName?.();e&&(r={...r,scope:e})}r&&(t[e]=r)}return this._exec(t,n)}_plan(e){let t=this._gc;if(t){if(t.has(e))return t.get(e)}else t=this._gc=new Map;let n=this._pj,r=this._gi,i=n[r].repeating,a=i.length,o=r,s=n.length-r-1,c=s;for(;c>0&&!0===n[r+c].optional;)c--;let l=!0===i[a-1].optional,u=!0===n[r].optional?0:1,d=-1,f=!1,p=s;for(let t=c;t<=s;t++){let n=e-o-t,r=-1,i=!1;if(n>=0&&n%a===0?r=n/a:l&&n===a-1&&(r=1,i=!0),r>=u){d=r,f=i,p=t;break}}if(d<u)return t.set(e,null),null;let m=[];for(let e=0;e<o;e++)m.push(n[e]);if(a===1)m.push(i[0].rest?i[0]:{...i[0],rest:!0});else for(let e=0;e<d;e++){let t=f&&e===d-1?a-1:a;for(let e=0;e<t;e++)m.push(i[e])}for(let e=0;e<p;e++)m.push(n[r+1+e]);let h={params:m,prefix:o,period:a,n:d,short:f,tuples:a>1};return t.set(e,h),h}_regroup(e,t,n){let{prefix:r,period:i,n:a,short:o,tuples:s}=n,c=[],l=0;for(;l<r;l++)c.push(e[l]);if(s){let t=Array(a);for(let n=0;n<a;n++){let r=o&&n===a-1?i-1:i,s=Array(r);for(let t=0;t<r;t++)s[t]=e[l++];t[n]=s}c.push(t)}else{let i=t-(n.params.length-r-1),a=[];for(;l<i;)a.push(e[l++]);c.push(a)}for(;l<t;)c.push(e[l++]);return c}_exec(e,r){let i=null;if(this._gi>=0&&(i=this._plan(r),!i)){let e=this._pj,t=e[this._gi].repeating;throw Md.ARGS_REPEAT(e.length-1,t.length,r,this._n)}let a=i?i.params:this._pj;Nd.length=0;let o=Nd,s=this._cf?.();vd(s);let c=null,l=a?.length??0,u=this._lc,d=!1,f=l>0&&(a[l-1].rest??!1);if(!i&&!f&&r>l)throw Md.ARGS_TOO_MANY(l,r,this._n);if(this._rlc&&l>0){let t=null;for(let i=0;i<r;i++){if(a[i<l?i:l-1].range!==`p`)continue;let r=e[i],o=Id(r);if(o){(t??=[]).push({argIndex:i,collapsed:r,elements:o.elements,rows:o.rows,cols:o.cols});continue}let s=r;!0===s?.isIRange&&!s.isIReferenceRange&&s.size>1&&(t??=[]).push({argIndex:i,collapsed:s,elements:n.CommonUtils.EmptyArray,rows:s.getRowCount(),cols:s.getColumnCount()})}if(t)try{return this._refLift(s,e,r,t)}finally{yd()}}if(u){let t=!1,n=Math.min(r,l);for(let r=0;r<n;r++){let n=a[r];if(!n.rest&&!n.range&&n.lambda==null&&(n.arrayDepth??0)===0&&!tO(e[r])){t=!0;break}}u=t}let p,m=!1;try{for(let n=0;!m&&n<l;n++){let i=a[n],l=i.scalar??null;l!==t.ScalarType.Null&&l!==`*`||(l=null);let f=i.range===`*`,p=f?`r`:i.range??null,h=i.rest??!1,g=i.optional??!1,_=e[n],v=n>=r;if(_===void 0||v){if(v){if(!g&&!h)throw Md.PARAM_MISSING(i.name,this._n);m=!0;continue}if(i.omittable){o.values[o.length++]=i.omittedValue;continue}_=null}if(typeof _==`symbol`){o.values[o.length++]=void 0;continue}if(i.lambda!=null){if(!(i.range!=null||i.scalar!=null&&i.scalar!==`l`)||!0===_?.isLambda||typeof _==`function`){if(t.FormulaError.isError(_)){c=t.FormulaError.BuiltIn.Value,m=!0;continue}if(_!==null){let e=null;if(!0===_?.isLambda&&typeof _.makeCallable==`function`?e=_.makeCallable():typeof _==`function`&&(e=_),e===null){c=t.FormulaError.BuiltIn.Value,m=!0;continue}let n=i.lambdaArity??(i.rest?r-1:null),a=e.checkArity;if(n!==null&&typeof a==`function`&&!a(n)){c=t.FormulaError.BuiltIn.Value,m=!0;continue}d=!0,o.values[o.length++]=i.lambda===`raw`?e:Sd(e);continue}c=t.FormulaError.BuiltIn.Value,m=!0;continue}if(_!==null&&Ed(_)&&(typeof _==`number`||typeof _==`string`||typeof _==`boolean`)){c=t.FormulaError.BuiltIn.Value,m=!0;continue}}let y=xd(i,l,Ed(_),_),b=(l===null||l===t.ScalarType.Error||y===`accept`)&&y!==`reject`;if(!0===_?.isLambda&&i.lambda==null&&!i.rest){if(f||!i.range&&!l){o.values[o.length++]=_;continue}if(i.range){c=t.FormulaError.BuiltIn.Value,m=!0;continue}}if(i.rest)for(;n<r&&!c;){if(_===void 0&&(_=null),i.lambda==null||!0!==_?.isLambda&&typeof _!=`function`)i.lambda==null||_===null||!Ed(_)||typeof _!=`number`&&typeof _!=`string`&&typeof _!=`boolean`?!0===_?.isLambda&&i.lambda==null?f||!i.range&&!l?o.values[o.length++]=_:c=t.FormulaError.BuiltIn.Value:c=aO(s,o,_,Ed(_),p,l,b,!0,y):c=t.FormulaError.BuiltIn.Value;else{let e=typeof _==`function`?_:typeof _.makeCallable==`function`?_.makeCallable():null;if(e===null)c=t.FormulaError.BuiltIn.Value;else{let n=i.lambdaArity??r-1,a=e.checkArity;typeof a!=`function`||a(n)?(d=!0,o.values[o.length++]=i.lambda===`raw`?e:Sd(e)):c=t.FormulaError.BuiltIn.Value}}_=e[++n]}else{let e=(i.arrayDepth??0)>0,t=y,n=!0===_?.isIRange&&_.size===1,r=l;!u||i.range||e||n||(p=`r`,e=!1,_!=null&&(_.isIRange||_.colStart!==void 0||Array.isArray(_))&&(t=null,r=null));let a=o;if(_===void 0||f&&_===null)o.values[o.length++]=null;else if(e){let t=[];(_!==null||p)&&(a=t,c=aO(s,a,_,Ed(_),p,l,b,e,y)),t.length===0&&g?o.values[o.length++]=void 0:o.values[o.length++]=t}else c=aO(s,a,_,Ed(_),p,r,b,e,t)}m=!!c}if(c)return c;let n=this._fn,f=o.length,h=d?o.values.slice(0,f):o.values,g=i?(e,t)=>n(...this._regroup(e,t,i)):null;if(u){let e=(e,r)=>{let i=null;e&&(i=$D(s.getRuntime(),i,t.ScalarType.Null,e,!1));try{i=g?g([i],1):n(i)}catch(e){if(!t.FormulaError.isError(e))throw e;i=e}return r=r.fillEmpty(sO(i,s)??0)};if(f===1){let r=h[0],i=a[0],o=i.scalar;o!==t.ScalarType.Null&&o!==`*`||(o=null);let c=0,l=xd(i,o,!1),u=(o===null||o===t.ScalarType.Error)&&l!==`reject`,d=s.getRuntime();p=r.map(e=>{if(c++,t.FormulaError.isError(e)){if(!u)return e}else if(o!==null){let n=WD(e,!0);if(n!==o&&(e=$D(d,e,n,o,!0),t.FormulaError.isError(e)))return e}let r=e;try{if(r=g?g([r],1):n(r),Array.isArray(r)||r?.isIRange)return sO(Ld(r),s)}catch(e){r=e}return sO(r,s)??0}),c<r.size&&(p=e(o,p)),this._rs&&(p=p.toType({type:this._rs,onError:`value`}))}else{let e=1,r=1,i=Array(f),o=e=>a[e<l?e:l-1];for(let t=0;t<f;t++){let n=o(t),a=n.range??null;if(i[t]=(n.rest?a===`*`&&(n.arrayDepth??0)<=1:(a===null||a===`*`)&&(n.arrayDepth??0)===0)&&!0===h[t]?.isIRange,i[t]){let n=h[t],i=n.getRowCount(),a=n.getColumnCount();i>e&&(e=i),a>r&&(r=a)}}let c=Array(f),u=Array(f),d=Array(f);for(let e=0;e<f;e++){i[e]||(c[e]=h[e]);let n=o(e).scalar,r=null;n!==t.ScalarType.Boolean&&n!==t.ScalarType.Number&&n!==t.ScalarType.String&&n!==t.ScalarType.String&&n!==t.ScalarType.Error||(r=n),u[e]=r;let a=xd(o(e),r,!1);d[e]=(r===null||r===t.ScalarType.Error)&&a!==`reject`}let m=s.getRuntime(),_=null;p=s.createRange(e,r,(a,o)=>{let l=o.rowIndex,p=o.colIndex;for(let e=0;e<f;e++){if(!i[e])continue;let n=h[e],r=n.getRowCount(),a=n.getColumnCount(),o=r===1?0:l<r?l:-1,s=a===1?0:p<a?p:-1;if(o<0||s<0){if(!d[e])return t.FormulaError.BuiltIn.NA;c[e]=t.FormulaError.BuiltIn.NA;continue}let f=n.getValueAt(o,s)??null;if(t.FormulaError.isError(f)){if(!d[e])return f}else if(u[e]!==null){let n=WD(f,!0);if(n!==u[e]&&(f=$D(m,f,n,u[e],!0),t.FormulaError.isError(f)))return f}c[e]=f}let v;try{if(v=g?g(c,f):n(...c),Array.isArray(v)||v?.isIRange)return(_??=Array(e*r))[l*r+p]=v,sO(Ld(v),s)}catch(e){v=e}return sO(v,s)??0}),_!==null&&Fd(p,_,e,r)}}else if(g)p=g(h,f);else if(f<=6)switch(f){case 0:p=n();break;case 1:p=n(h[0]);break;case 2:p=n(h[0],h[1]);break;case 3:p=n(h[0],h[1],h[2]);break;case 4:p=n(h[0],h[1],h[2],h[3]);break;case 5:p=n(h[0],h[1],h[2],h[3],h[4]);break;case 6:p=n(h[0],h[1],h[2],h[3],h[4],h[5])}else{let e=[];for(let t=0;t<f;t++)e.push(h[t]);p=n(...e)}p=sO(p,s),s.isValidDate(p,!0)&&(s.formatResults(`Short Date`),p=s.toSerialDate(p))}catch(e){throw e}finally{yd()}return p}_refLift(e,n,r,i){let a=1,o=1,s=i.length;for(let e=0;e<s;e++){let t=i[e];t.rows>a&&(a=t.rows),t.cols>o&&(o=t.cols)}let c=n.slice(0,r),l=null,u=e.createRange(a,o,(n,u)=>{let d=u.rowIndex,f=u.colIndex;for(let e=0;e<s;e++){let n=i[e],r=n.rows===1?0:d<n.rows?d:-1,a=n.cols===1?0:f<n.cols?f:-1;if(r<0||a<0){c[n.argIndex]=t.FormulaError.BuiltIn.NA;continue}let o=n.elements[r*n.cols+a];o===void 0&&(o=n.collapsed.getValueAt(r,a)??null),c[n.argIndex]=o}let p;try{p=this._exec(c,r)}catch(e){if(!t.FormulaError.isError(e))throw e;p=e}return Array.isArray(p)||p?.isIRange?((l??=Array(a*o))[d*o+f]=p,sO(Ld(p),e)):sO(p,e)??0});return l!==null&&Fd(u,l,a,o),u}_withContext(t){return new e(this._json,this._fn,t,this._descFn,this._builtIn)}getName(){return this._n}getDeclaration(){return this._d}async getDescriptor(e){let t=e??n.DefaultLanguagePackService.getActive();if(this._desc&&this._descLanguage===t)return this._desc;let r=await Promise.resolve(this._descFn(e));return this._desc=new jd(this,r),this._descLanguage=t,this._desc}isBuiltIn(){return this._builtIn}getContext(){let e=this._ct;if(e===`sheet`||e===`workbook`||e===`ranges`||e===`range`||e===`script`){let e=this._json;return e&&e.behavior&&e.behavior.default?`autoRun`:`macro`}return`formula`}get[Symbol.toStringTag](){return`[TypedFunction]`}toString(){let e=this._json,t=e.parameters,n=``;if(t.length>0){let e=t=>{let n=t.name;t.rest&&(n=`...`+n),t.optional&&(n+=`?`);let r=t.repeating;return r?`${n}: Repeating<${r.length===1?qD(r[0]):`[${r.map(e).join(`, `)}]`}>`:(n+=`: `+qD(t),n)};n=t.map(e).join(`, `)}let r=`${this.getName()}(${n})`,i=e?.returnType;if(i){let e=qD(i);return i.async?e=`Promise<${e}>`:i.stream&&(e=`Observable<${e}>`),`${r}: ${e}`}return r}get isIFunction(){return!0}get isITypedFunction(){return!0}},wd=e=>async t=>{let r={},i=e.parameters;for(let e=0;e<i.length;e++)r[i[e].name]={description:n.CommonUtils.camelToPrettyCase(i[e].description)};return{summary:n.CommonUtils.camelToPrettyCase(e.name),parameters:r,category:`User Defined`}},Td=()=>null,Ed=e=>typeof e!=`object`||!e||e.colStart===void 0&&(!e.isIRange||e.isLiteral()),Dd=class{constructor(e){this._s=e.scalar??null,this._r=e.range??null,this._d=e.arrayDepth??0,this._l=e.lambda??null}getScalarType(){return this._s}getRangeType(){return this._r}getLambda(){return this._l}getArrayDepth(){return this._d}},Od=class e extends Dd{constructor(t){super(t),this._n=t.name,this._o=t.optional??!1,this._dv=t.defaultValue,this._rest=t.rest??!1,this._e=t.enums?Object.freeze(t.enums):n.CommonUtils.EmptyArray,this._ep=t.errors??null,this._g=t.repeating?Object.freeze(t.repeating.map(t=>new e(t))):null}getName(){return this._n}getErrorPolicy(){return this._ep}isOptional(){return this._o}getDefaultValue(){return this._dv}isRest(){return this._rest}getRepeatingTypes(){return this._g}getEnums(){return this._e}},kd=class extends Dd{constructor(e){super(e),this._a=e.async??!1,this._stream=e.stream??!1}isAsync(){return this._a}isStreaming(){return this._stream}},Ad=class{constructor(e){if(this._n=e.name,e.parameters){let t=e.parameters.length,n=Array(t);for(let r=0;r<t;r++)n[r]=new Od(e.parameters[r]);this._p=Object.freeze(n)}else this._p=n.CommonUtils.EmptyArray;e.returnType?this._r=new kd(e.returnType):this._r=new kd({scalar:null,arrayDepth:0,range:null})}getName(){return this._n}getParameters(){return this._p}getReturnType(){return this._r}},jd=class{constructor(e,t){if(this._n=t.name,this._nl=t.nameLocal??t.name??e?.getName(),this._fn=e,this._s=t.summary??n.CommonUtils.camelToPrettyCase(t.name??e?.getName()),this._c=t.category??`Uncategorized`,this._h=t.deprecated??!1,t.links&&t.links.length>0){let e=t.links.length,n=Array(e);for(let r=0;r<e;r++)n[r]=Object.freeze([t.links[r][0],t.links[r][1]]);this._l=Object.freeze(n)}else this._l=n.CommonUtils.EmptyArray;if(t.parameters){let n={};for(let r in t.parameters)if(Object.prototype.hasOwnProperty.call(t.parameters,r)){let i=t.parameters[r].description,a=t.parameters[r].example,o=t.parameters[r].defaultValue??e?.getDeclaration?.()?.getParameters?.().find(e=>e.getName()===r)?.getDefaultValue(),s={};i&&(s.description=i),a&&(s.example=a),o!==void 0&&(s.defaultValue=o),n[r]=Object.freeze(s)}this._p=Object.freeze(n)}else this._p=n.CommonUtils.EmptyObject}getName(){return this._n}getNameLocal(){return this._nl}getSummary(){return this._s}getCategory(){return this._c}isDeprecated(){return this._h}getLinks(){return this._l}getParameters(){return this._p}get[Symbol.toStringTag](){return`[Descriptor]`}toString(){let e=this._fn;return`${this.getSummary()}: ${e}`}},Md={PARAM_MISSING:(e,n)=>new t.FormulaError.Parse(`Parameter ${e} is missing${n?` for ${n}`:``}.`),ARGS_TOO_FEW:(e,n)=>new t.FormulaError.Parse(`Argument type ${e.join(`, `)} is missing${n?` for ${n}`:``}.`),ARGS_TOO_MANY:(e,n,r)=>new t.FormulaError.Parse(`Too many arguments${r?` for ${r}`:``}. Expected ${e}, but got ${n}.`),ARGS_REPEAT:(e,n,r,i)=>n===1?new t.FormulaError.Parse(`Too few arguments${i?` for ${i}`:``}. Expected at least ${e+1}, but got ${r}.`):new t.FormulaError.Parse(`Wrong number of arguments${i?` for ${i}`:``}. Expected ${e} plus a multiple of ${n}, but got ${r}.`)},Nd={values:lO(255),length:0},Pd=`_liftedFnResults`,Fd=(e,t,n,r)=>{Object.defineProperty(e,Pd,{value:{elements:t,rows:n,cols:r},enumerable:!1,configurable:!0})},Id=e=>e&&!0===e.isIRange?e[Pd]??null:null,Ld=e=>{let t=e;for(;Array.isArray(t);)t=t[0];return t?.isIRange&&(t=t.getValueAt(0,0)),t??null},Rd=`SheetXL`;function zd(){return bd||=async function(){return(await Promise.resolve().then(()=>require("./Ccctey_HrpWuagT6.cjs"))).loadEnumManifest()}().then(e=>n.CommonUtils.deepFreeze(e)).catch(e=>{throw bd=void 0,e}),bd}var Bd=void 0,Vd={debug:e=>console.debug(e),log:e=>console.log(e),info:e=>console.info(e),warn:e=>console.warn(e),error:e=>console.error(e instanceof Error?e.stack??e.message:e)},Hd=class extends Cd{constructor(e,t,n,r=null,i=!1,a){super(e,a?()=>{}:t,n,r,i),this._fnLoader=a}async _ensureLoaded(){if(!this._fnLoader)return;let e=await this._fnLoader();this._fn=e.bind(this),this._fnLoader=void 0}execute(...e){let t=e[0];if(!t||!t.isIWorkbook)throw Error(`Macro '${this.getName()}' must be called with a valid workbook as the first argument.`);let r=e[1],i=(0,n.createLogChannels)(r?.logger??Vd,{render:r?.render}),a={wb:t,log:i.log,warn:i.warn,error:i.error,args:r?.args},o=this._ct;try{let e=[];switch(o){case pd.Context.Script:break;case pd.Context.Workbook:e.push(t);break;case pd.Context.Sheet:e.push(t.getSelectedSheet());break;case pd.Context.Ranges:e.push(t.getSelectedRanges());break;case pd.Context.Range:e.push(t.getSelectedRange());break;default:throw Error(`Function '${this.getName()}' is not a valid macro function.`)}let s=async(e,t)=>{let n=await t;if(n!==void 0)if(n!==null){if(Array.isArray(n)){if(WD(n[0]?.[0]))return void e.setValues(n,{skipBoundsCheck:!0})}else if(WD(n))return void e.setValues([[n]]);n.isICell?e.updateCells(n):n.isICellRange&&await e.copyFrom(n)}else e.clear()},c,l;return(async()=>{await this._ensureLoaded();let o=(await Promise.resolve(this._descFn()))?.summary,u={...r,description:r?.description??o??r?.defaultDescription??n.CommonUtils.camelToPrettyCase(this.getName())};try{await t.doBatch(async n=>{l=n.getId();try{let n=t.getSelectedRange(),i=this._cf();i||=new Proxy({},{set:(e,t,n)=>(console.log(`Adding property "${t}" with value:`,n),e[t]=n,!0),deleteProperty:(e,t)=>(console.log(`Deleting property "${t}"`),delete e[t])});try{vd({getRow:()=>n.getCell().getCoords().rowIndex,getColumn:()=>n.getCell().getCoords().colIndex}),await async function(){let e=await zd();Bd=globalThis[Rd],globalThis[Rd]=e}(),c=await this._fn.call(i,...e,a),Bd?(globalThis[Rd]=Bd,Bd=void 0):delete globalThis[Rd]}catch(e){throw e}finally{yd()}r?.applyResult&&await s(n,c)}catch(e){throw e}},u),l!==void 0&&t.getTransactions().getCurrentCommit().getId()!==l&&(l=void 0)}finally{await i.flush()}return{params:e,results:c,commitId:l}})()}catch(e){throw e}}},Ud=1/0,Wd=(e,t)=>e===t?0:e.startsWith(t)?2:e.includes(t)?4:Ud,Gd=(e,t)=>{let n=Wd(e.name,t);if(n===0)return 0;let r=e.nameLocal===e.name?Ud:Wd(e.nameLocal,t),i=Math.min(n,r===Ud?Ud:r+1);return i===Ud?e.summary.includes(t)?6:Ud:i},Kd=(e,t)=>e.score===t.score?e.name<t.name?-1:+(e.name>t.name):e.score-t.score,qd=(e,t)=>{let n=new Map;for(let r=0;r<e.length;r++){let i=e[r];n.set(i,Wd(i.getName().toUpperCase(),t))}return e.sort((e,t)=>{let r=n.get(e),i=n.get(t);return r===i?0:r<i?-1:1})},Jd=class{constructor(e){this._entries=null,this._language=null,this._building=null,this._source=e}invalidate(){this._entries=null,this._building=null}entries(){let e=n.DefaultLanguagePackService.getActive();if(this._language===e){if(this._entries)return Promise.resolve(this._entries);if(this._building)return this._building}this._language=e;let t=this._build().then(n=>(this._language===e&&this._building===t&&(this._entries=n,this._building=null),n));return this._building=t,t}async _build(){let e=Array.from(this._source()),t=await Promise.all(e.map(e=>e.getDescriptor().catch(()=>null))),n=[],r=new Set;for(let i=0;i<e.length;i++){let a=e[i],o=a.getName().toUpperCase();if(r.has(o))continue;r.add(o);let s=t[i],c=s?.getCategory()??`Uncategorized`,l=s?.getNameLocal()?.toUpperCase()??o;n.push({fn:a,name:o,nameLocal:l,summary:s?.getSummary()?.toUpperCase()??``,category:c,categoryUpper:c.toUpperCase(),deprecated:!!s?.isDeprecated()})}return Object.freeze(n)}},Yd=class{constructor(e){let t=e.json;if(this._json=t,!this._json)throw Error(`Module JSON is required.`);this._diagnostics=e.diagnostics??[],this._name=e.name??null,this._emitter=new v(this),this._functions=new ef({transactions:null,readonlyFunctions:e.readonlyFunctions})}getName(){return this._name}getFunctions(){return this._functions}getSource(){return this._json.source??null}getLanguage(){return this._json.language||`typescript`}getErrors(){return this._diagnostics.filter(e=>e.severity===`error`)}getDiagnostics(){return this._diagnostics}delete(){this._emitter.notify(`onDelete`)}addListeners(e,t){return this._emitter.addListeners(e,t)}toJSON(){return this._json}},Xd=e.n({jsonToModule:()=>Qd,runAsyncGenerator:()=>$d}),Zd=async(e,t)=>{let n=null;try{vd(null)}catch(e){console.warn(`Error setting global scope`,e)}try{let t=e.compiled;t=t.replaceAll(r.Constants.GLOBAL_CONTEXT_VARIABLE,`globalThis.`+r.Constants.GLOBAL_CONTEXT_VARIABLE);let{loadCompiledModule:i}=await import(`@sheetxl/scripting`);n=await i(t,{sourceMap:e.sourceMap})}catch(e){throw Error(`Invalid Javascript module.`,{cause:e})}finally{yd()}if(!t)throw Error(`No function available for '${e.name??e.commitId}'.`);let i=t.name,a=n[i];if(!a&&t.behavior.default&&(a=n.default),!a)throw Error(`Found the descriptor for '${i}' but not the function. The descriptor manifest must be corrupt.`);return a};async function Qd(e,t,n=!1,r=[]){let i=t?.functions,a=new Map,o=r.some(e=>e.severity===`error`)||!t?.compiled;if(i)for(let e=0;e<i.length;e++){let r=i[e],s=r[0],c=r[1],l=n||o,u;u=s.context&&s.context!==pd.Context.Calculation?new Hd(s,()=>{},()=>null,c,!1,l?void 0:()=>Zd(t,s)):new Cd(s,l?()=>{}:await Zd(t,s),()=>null,c),a.set(s.name.toUpperCase(),u)}return new Yd({json:t,readonlyFunctions:a,name:e,diagnostics:r})}async function $d(e){let t=await e.next();for(;!t.done;){let n=t.value;try{let r=n instanceof Promise?await n:n;t=await e.next(r)}catch(n){t=await e.throw?.(n)??{done:!0,value:void 0}}}return t.value}var ef=class{constructor(e){this._readonly=null,this._closed=!1,this._options={...e};let t=this;this._transactions=this._options.transactions??new m({transient:!0}),this._stateId=this._transactions.create(),this._index=new Jd(function*(){let e=t._readonly;e&&(yield*e.values());let n=t._closed?null:t._getState();n&&(yield*n.itemsByKey.values())}),this._transactionsRemoveListener=this._transactions.addStateListener(this._stateId,{onAfterStateChange(e,n,r){t._index.invalidate(),t._emitter.notify(`onCollectionChange`)}}),this._emitter=new v(this,this._transactions),this._readonly=e?.readonlyFunctions,this._initState()}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t=this._getState();if(!t)return n.CommonUtils.EmptyArray;let r=Array.from(t.itemsByKey.values()),i=this._readonly;return i&&r.push(...Array.from(i.values())),r}getByName(e,t){if(!e)return null;let r=this._getState();if(!r)return null;if(!r)return n.CommonUtils.EmptyArray;let i=e.toUpperCase(),a=this._readonly,o=a?.size?a.get(i):void 0;if(o||=r.itemsByKey.get(i),!o)return null;let s=t?.sheet;if(s!==void 0){let e=this._options.createScopedContext;if(!e)throw Error(`This collection cannot vend sheet-scoped functions (no scoped-context factory).`);if(o instanceof Hd||!(o instanceof Cd))throw Error(`This function cannot be sheet-scoped.`);let t=e(s);if(!t)throw Error(`Unknown sheet for function scope. ('${s}')`);return o._withContext(()=>t)}return o}async search(e){let t=await this.searchScored(e),r=t.length;if(r===0)return n.CommonUtils.EmptyArray;let i=Array(r);for(let e=0;e<r;e++)i[e]=t[e].fn;return i}async searchScored(e){let t=this._getState();if(!t)return n.CommonUtils.EmptyArray;let r=e?.name?e.name.toUpperCase():null,i=e?.type?e.type:null,a=e?.category?e.category.toUpperCase():null,o=e?.text?e.text.trim().toUpperCase():null,s=e?.limit;if(s!==void 0&&s<=0)return n.CommonUtils.EmptyArray;let c=e?.includeDeprecated,l=[];if(!(a||o||c!==void 0)){let e=new Set,n=(t,n)=>{r&&n!==r||e.has(n)||(e.add(n),i&&t.getContext()!==i||l.push({fn:t,score:0,name:n}))};return this._readonly?.forEach(n),t.itemsByKey.forEach(n),s!==void 0&&l.length>s?l.slice(0,s):l}let u=await this._index.entries(),d=u.length;for(let e=0;e<d;e++){let t=u[e];if(r&&t.name!==r||i&&t.fn.getContext()!==i||a&&t.categoryUpper!==a||!c&&t.deprecated)continue;let n=0;o&&(n=Gd(t,o),n===Ud)||l.push({fn:t.fn,score:n,name:t.name})}return l.sort(Kd),s!==void 0&&l.length>s?l.slice(0,s):l}async getCategories(e){this._getState();let t=e?.type?e.type:null,n=e?.includeDeprecated??!1,r=await this._index.entries(),i=new Map,a=r.length;for(let e=0;e<a;e++){let a=r[e];if(t&&a.fn.getContext()!==t||!n&&a.deprecated)continue;let o=i.get(a.categoryUpper);o?o.count++:i.set(a.categoryUpper,{name:a.category,count:1})}let o=Array.from(i.values());return o.sort((e,t)=>e.name.localeCompare(t.name)),o}getCount(){let e=this._getState();if(!e)return 0;let t=e.itemsByKey.size;return this._readonly&&(t+=this._readonly.size),t}validateName(e){return this._validateName(e)}_validateName(e,t=!1){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`))}async add(e){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));if(!e)throw Error(`Item must be specified.`);return typeof e==`string`?this._addFromSource(e):this._addFunction(e)}async _addFromSource(e){let t=await(await import(`@sheetxl/scripting`)).ScriptCompiler.compile({source:e,builtInNames:this._readonly?Array.from(this._readonly.keys()):void 0});if(!t.module)throw Error(`The script did not compile to a module.`);let r=t.diagnostics.filter(e=>e.severity===`error`);if(r.length>0){let e=Error(`The script has ${r.length} compile error${r.length===1?``:`s`}: `+r.map(e=>`${e.code}: ${e.message}`).join(`; `));throw e.diagnostics=r,e}let{jsonToModule:i}=Xd,a=(await i(`scripts`,t.module,!1,t.diagnostics)).getFunctions().getItems();if(a.length===0)throw Error(`The script did not define any exported functions.`);for(let e=0;e<a.length;e++){let t=a[e].getName();if(this._readonly?.has(t.toUpperCase()))throw Error((0,n.t)(`error.function.builtInName`,{name:t}))}let o=null;for(let e=0;e<a.length;e++){let t=this._addFunction(a[e]);o||=t}return o}_addFunction(e){let t;if(e.isIFunction){let n=e,r=n._json;t=new(r.context&&r.context!==pd.Context.Calculation?Hd:Cd)(r,n._fn,()=>this._options.context,n._descFn)}else{let n=e;t=new Cd(n.declaration,n.execute,()=>this._options.context,n.descriptor)}let r=this._getState(),i=t.getName().toUpperCase();if(this._readonly?.has(i))throw Error((0,n.t)(`error.function.builtInName`,{name:t.getName()}));return r.itemsByKey.set(i,t),this._index.invalidate(),t}beginCommit(e){return this._beginCommit(e)}_getState(){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));return this._transactions.getState(this._stateId)}_beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_updateState(e,t=(0,n.messageKey)(`op.update`),r){if(!e)return;let i=this._beginCommit(t);try{i.updateState(this._stateId,e),i.commit(r)}catch(e){throw i.rollback(),e}}_initState(){this._updateState(e=>({...e,itemsByKey:new Map}),(0,n.messageKey)(`op.initialize`),{forceAmend:!0})}addListeners(e,t){return this._emitter.addListeners(e,t)}isClosed(){return this._closed}close(){this._closed||(this._emitter.notify(`onClose`),this._closed=!0,this._transactionsRemoveListener?.())}get isFunctionCollection(){return!0}},tf=(e,n)=>{let r=of(e,n),i=r.value;switch(r.op){case`wc`:{let e=i,t=r.match;return n=>typeof n==`string`?t===e.test(n):!t}case`=`:return i===void 0?e=>e==null:i===``?e=>e==null||e===``:typeof i==`string`?t=>typeof t==`string`&&e.compare(t,i)===0:t.FormulaError.isError(i)?e=>!!t.FormulaError.isError(e)&&e.equals(i):typeof i==`number`?t=>typeof t==`number`?e.compare(t,i)===0:typeof t==`string`&&rf(e,t,i):e=>e===i;case`<>`:return i===void 0?e=>e!=null:typeof i==`string`?t=>typeof t!=`string`||e.compare(t,i)!==0:t.FormulaError.isError(i)?e=>!t.FormulaError.isError(e)||!e.equals(i):typeof i==`number`?t=>typeof t!=`number`||e.compare(t,i)!==0:e=>e!==i;case`>`:return nf(e,i,e=>e>0);case`>=`:return nf(e,i,e=>e>=0);case`<`:return nf(e,i,e=>e<0);case`<=`:return nf(e,i,e=>e<=0);default:return()=>!1}},nf=(e,t,n)=>{if(t===void 0)return()=>!1;let r=af(t);return i=>r(i)&&n(e.compare(i,t))},rf=(e,t,n)=>{try{return e.compare(e.parseAsNumber(t),n)===0}catch{return!1}},af=e=>{switch(typeof e){case`string`:return e=>typeof e==`string`;case`number`:return e=>typeof e==`number`;case`boolean`:return e=>typeof e==`boolean`;default:return e=>t.FormulaError.isError(e)}},of=(e,n)=>{let r=typeof n;if(r===`string`){let r=n,i=e.parseAsLiteral(r);if(i!==void 0)return{op:`=`,value:i};let a=r.match(/^(<>|>=|<=|>|<|=)([\s\S]*)$/);if(a!==null){let n=a[1],r=a[2];if(r===``)return{op:n,value:void 0};let i;if(typeof r==`string`)try{i=e.parseAsNumber(r)}catch{}if(i===void 0){let a=e.parseAsLiteral(r);if(a!==void 0)i=a;else if(i=r,(n===`=`||n===`<>`)&&t.WildCard.isWildCard(i))return{op:`wc`,value:t.WildCard.toRegex(i,`i`,!0),match:n===`=`}}return{op:n,value:i}}try{let t=e.parseAsNumber(r);if(t!==void 0)return{op:`=`,value:t}}catch{}return t.WildCard.isWildCard(r)?{op:`wc`,value:t.WildCard.toRegex(r,`i`,!0),match:!0}:{op:`=`,value:n}}return r===`boolean`||r===`number`||t.FormulaError.isError(n)?{op:`=`,value:n}:n==null?{op:`=`,value:0}:{op:`err`,value:new t.FormulaError.Value(`Criteria.parse: type ${typeof n} not support`)}},sf=`sheet`,cf=`namedFormula`,lf=`table`,uf=`tableColumn`,df=`function`,ff=class{constructor(){this._providers=new Map}registerProvider(e,t){this._providers.set(e,t)}bind(e,t,n={}){return this._providers.get(e)?.bind(t,n)??null}resolve(e,t,n={}){return this._providers.get(e)?.resolve(t,n)??null}},pf=class{constructor(e,t){this._getId=e,this._getById=t}bind(e,t){let n=this._getById(e);return n===null?this._getId(e):n.stableId}resolve(e,t){let n=this._getById(e);return n===null?null:n}},mf=class{constructor(e,t,r,i=null,a=null){this.fakeId=n.CommonUtils.uuidV4(),this.lowerName=e,this.displayName=t,this.lowerScope=i,this.viewScope=a,this._real=r}},hf=(e,t)=>t?`${t}::${e}`:e,gf=e=>e?.getScope?.()?.toLowerCase()??null,_f=class{constructor(e,t){this._getByName=e,this._getById=t,this._byName=new Map,this._byId=new Map,this._byRealId=new Map}bind(e,t){let n=e.toLowerCase(),r=(t?.scope)?.toLowerCase()??null,i=!0===t?.own,a,o=null;i?a=r:(o=this._getByName(n,r)??null,a=gf(o));let s=hf(n,a),c=this._byName.get(s);if(c){c._real||this._adopt(c,o??this._getByName(n,r)??null);let e=c._real??this._getById(c.fakeId);if(!e||e.getName().toLowerCase()===c.lowerName&&gf(e)===c.lowerScope)return c.fakeId;this._adopt(c,e),this._rekey(c,e.getName().toLowerCase(),gf(e))}i&&(o=this._getByName(n,r)??null);let l=o&&!i?this._byId.get(o.getId())??this._byRealId.get(o.getId()):void 0;if(l)return this._adopt(l,o),this._rekey(l,n,a),l.fakeId;let u=new mf(n,e,o,a,r);return this._byName.set(s,u),this._byId.set(u.fakeId,u),o&&this._byRealId.set(o.getId(),u),u.fakeId}_adopt(e,t){e._real=t,t&&this._byRealId.set(t.getId(),e)}_rekey(e,t,n){let r=hf(t,n),i=hf(e.lowerName,e.lowerScope);r!==i&&(this._byName.get(i)===e&&this._byName.delete(i),e.lowerName=t,e.lowerScope=n,this._byName.set(r,e))}resolve(e,t){let n=this._byId.get(e);if(!n)return null;if(!n._real){let e=this._getByName(n.lowerName,n.viewScope)??null;e&&this._adopt(n,e)}return{stableId:n.fakeId,toString:()=>n._real?.getName()??n.displayName}}getRealById(e){let t=this._byId.get(e);if(!t)return null;if(!t._real){let e=this._getByName(t.lowerName,t.viewScope)??null;e&&this._adopt(t,e)}return t._real}reconcile(){let e=[];for(let t of this._byId.values())if(t._real!==null){let n=t._real.getId();if(this._getById(n)){let n=t._real.getName().toLowerCase(),r=gf(t._real);n===t.lowerName&&r===t.lowerScope||(this._rekey(t,n,r),e.push(t.fakeId))}else this._byRealId.get(n)===t&&this._byRealId.delete(n),t._real=null,e.push(t.fakeId)}else{let n=this._getByName(t.lowerName,t.viewScope)??null;n&&(this._adopt(t,n),this._rekey(t,t.lowerName,gf(n)),e.push(t.fakeId))}return e}cloneMaps(){return{byName:new Map(this._byName),byId:new Map(this._byId),byRealId:new Map(this._byRealId)}}},vf=class{constructor(e,t){this._getId=e,this._getById=t}bind(e,t){let n=this._getById(e);if(n!==null)return n.stableId;let r=t?.tableName;return this._getId(e,r)}resolve(e,t){let n=this._getById(e);return n===null?null:n}},yf=new WeakMap;function bf(e){let t=mo(),n=t?.functions;if(!n)return;let r=yf.get(t);if(!r){r=new Map;for(let e in n)r.set(n[e].toUpperCase(),e);yf.set(t,r)}return r.get(e)}var q,xf=class{constructor(e){this._deadIds=new Map,this._getCollection=e}bind(e,t){if(this._deadIds.has(e))return e;let r=e.toUpperCase(),i=bf(r)??r,a=this._getCollection()?.getByName(i);if(a)return a.getName();for(let[e,t]of this._deadIds)if(t===r)return e;let o=n.CommonUtils.uuidV4();return this._deadIds.set(o,r),o}resolve(e,t){let n=this._getCollection()?.getByName(e);if(n){let r=n.getName();return t?.canonical?{stableId:e,toString:()=>r}:{stableId:e,toString:()=>{return e=r,mo()?.functions?.[e]??r;var e}}}let r=this._deadIds.get(e);return r?{stableId:e,toString:()=>r}:null}},Sf=class e{constructor(e,n=t.IRange.Axis.Column,r){this._container=e,this._axis=n,this._functionProviders=r}_setInstanceScope(e){this._instanceScope=e}async _initialize(e){let n=await md._validate(!0),r=this._container,i=r.getRuntime();this._runtime=new zr(`Calculation Runtime`,{isDate1904:()=>i.isDate1904(),isR1C1:()=>i.isR1C1(),getNow:()=>mr(new Date(r.getNow()),i.isDate1904()),getLocale:()=>i.getLocale()},n),this._calcScope=r.getScope(),this._coerceToNumber=QD(this._runtime,t.ScalarType.Number,hO);let{initializeFunctions:a}=await Promise.resolve().then(()=>require("./Y8ZGOM8g4sbsbA1Y.cjs")),o=this,s=Object.freeze(a(()=>o,this._functionProviders)),c=new ef({transactions:e??new m({transient:!0}),context:this,readonlyFunctions:s,createScopedContext:e=>o._createScoped(e)});return this._functions=c,{functions:c}}_createScoped(t){let n=this._container,r=n.getSymbols().bind(sf,t);if(!r||!n.getGrid(r))return null;let i=new e(n,this._axis,this._functionProviders);return i._runtime=this._runtime,i._functions=this._functions,i._coerceToNumber=this._coerceToNumber,i._instanceScope=this._instanceScope,i._calcScope={gridId:r,rowIndex:0,colIndex:0,node:null,depth:0,activeNames:new Set},i}getFunction(e){let t=bf(e.toUpperCase());if(t!==void 0){let e=this._functions.getByName(t);if(e)return e}return this._functions.getByName(e)}getNumberFormat(e,t){return cl.getEngine().format(e,t,{date1904:this.getRuntime().isDate1904(),locale:this.getRuntime().getLocale()}).text}getEntireCoords(){return this._container.getGrid(this._calcScope.gridId)?.getEntireCoords()}getFormulaAt(e,t,n){let r=this._container,i;i=n?r.getSymbols().bind(sf,n):this._calcScope.gridId;let a=r.getFormulas();if(!a)return null;wf.colStart=t,wf.rowStart=e,wf.colEnd=t,wf.rowEnd=e,wf.scope=i;let o=a.search(wf);return o.length===0?null:o[0].value.formula.getTextAt(e,t)??null}markVolatile(){let e=this._container.getVolatiles();e&&e.add(this._calcScope.node)}formatResults(e){let n=this._calcScope,r=this._axis===t.IRange.Axis.Column,i=r?n.colIndex:n.rowIndex,a=r?n.rowIndex:n.colIndex,o=this._container.getIncrementalUpdates(n.gridId);o&&(o.formatsConflating||=eo(r),o.formatsConflating.append(i,a,e))}filterHidden(e,t){return e}filterTotals(e){let t=e;if(!t?.isIReferenceRange)return e;let n=t.getCoords(),r=this._container.getFormulas();if(!r||r.isEmpty())return e;let i=r.search({rowStart:n.rowStart,rowEnd:n.rowEnd,colStart:n.colStart,colEnd:n.colEnd,scope:n.scope??this._calcScope.gridId}),a=null;for(let e=0;e<i.length;e++){let t=i[e].value;if(!t?.hasTotals())continue;let r=t.ref;(a??=[]).push({rowStart:r.rowStart-n.rowStart,rowEnd:r.rowEnd-n.rowStart,colStart:r.colStart-n.colStart,colEnd:r.colEnd-n.colStart})}if(!a)return e;let o=a.length;return e.filter((e,t)=>{let n=t.rowIndex,r=t.colIndex;for(let e=0;e<o;e++){let t=a[e];if(n>=t.rowStart&&n<=t.rowEnd&&r>=t.colStart&&r<=t.colEnd)return!1}return!0})}getSheetIndex(e){let t;return t=typeof e==`string`?e:e?.getCoords()?.scope??this._container.getSymbols().resolve(sf,this._calcScope.gridId)?.toString(),this._container.getSheetIndex?.(t)??-1}getSheetCount(){return this._container.getSheetCount?.()??1}isValidDate(e,t=!1){return ir(e,t)}fromSerialDate(e,t=!1){return pr(t?Math.floor(e):e,this.getRuntime().isDate1904())}toSerialDate(e,t=!1){let n=mr(e,this.getRuntime().isDate1904());return t?Math.floor(n):n}getDateParts(e,n){let r=ur(e,this.getRuntime().isDate1904(),n);if(r===null)throw t.FormulaError.BuiltIn.Num;return r}getSerialDate(e,t,n,r=0,i=0,a=0,o=0){return fr({year:e,month:t,day:n,hour:r,minute:i,second:a,millis:o,dow:-1,serial:0},this.getRuntime().isDate1904())}getNow(){return this.getRuntime().getNow()}compare(e,t,n){return $o.compare(e,t,this.getRuntime().getLocaleProfile(),n)}_fromTuples(e,t=null,n=!1,r=!1){if(!e)return null;let i=Ha(e.bounds,!0),a=this._container.getGrid(this._calcScope.gridId)?.getEntireCoords(),o=new no({axis:this._axis,maxCoords:a});o.setValues(e.tuples);let s=t?{type:t}:void 0;return new GO(this._runtime,o,i,s,n,r)}getValueAt(e,r,i=null,a){let o=this._container,s=this._calcScope,c,l;if(c=i?o.getSymbols().bind(sf,i):s.gridId,!c)return t.FormulaError.BuiltIn.Ref;let u=s.node,d=u?u.precedents:n.CommonUtils.EmptyArray,f=u?u.inputs:n.CommonUtils.EmptyArray,p=d.length;for(let n=0;n<p;n++){let i=d[n];if(!i||t.FormulaError.isError(i))continue;let o=i;if(e<o.rowStart||e>o.rowEnd||r<o.colStart||r>o.colEnd||o.scope&&c!==o.scope)continue;let s=f[n];s!==void 0&&(l=s,l!==null&&l.isIRange&&(l=l.getValueAt(0,0,a)));break}return l===void 0&&(l=o.getGridValues(c)?.getValueAt(e,r)??null),a&&a.type,l}getSpillAt(e,r,i){let a=this._container,o=this._calcScope,s,c;s=i?a.getSymbols().bind(sf,i):o.gridId;let l=o.node,u=l?l.precedents:n.CommonUtils.EmptyArray,d=l?l.inputs:n.CommonUtils.EmptyArray,f=u.length;for(let n=0;n<f;n++){let i=u[n];if(t.FormulaError.isError(i))continue;let a=i;if(!(e<a.rowStart||e>a.rowEnd)&&!(r<a.colStart||r>a.colEnd||a.scope&&s!==a.scope)){c=d[n];break}}if(c!==void 0){if(c==null)return null;if(c.isIReferenceRange)return c;if(c.isIRange||(c=this.createRange(1,1,c)),c.isIRange){let t=c,i=t._values,l=i.clone();l.clear(),i.copyTo(l,{colIndex:r,rowIndex:e},t._coords??n.CoordUtils.EmptyRange);let u={colStart:r,rowStart:e,colEnd:r+t.getColumnCount()-1,rowEnd:e+t.getRowCount()-1,scope:s===o.gridId?null:s},d=a.getGrid(s),f=d.getEntireCoords.bind(d);return new ok(this._runtime,l,u,void 0,f,a.resolveScope)}}let p=a.getIncrementalUpdates(s)?.spillSpatial;if(!p)return null;Tf.rowStart=e,Tf.colStart=r,Tf.rowEnd=e,Tf.colEnd=r,Tf.scope=s;let m=p.search(Tf);if(m.length===0)return null;for(let t=0;t<m.length;t++){let n=m[t];if(n.rowStart===e&&n.colStart===r){let e={colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd,scope:s===o.gridId?null:s};return this.getReference(e)}}return null}createRange(e=0,t=0,n=null){let r=this._container.getGrid(this._calcScope.gridId)?.getEntireCoords(),i=new no({axis:this._axis,maxCoords:r}),a=new GO(this._runtime,i,null,void 0,!1);return e>0&&t>0&&(typeof n==`function`?(a=a.resize(e,t),a=a.map(n,Df)):Array.isArray(n)?(a=a.replace(n),a=a.resize(e,t)):a=a.resize(e,t,n)),a}getRange(e,r=null,i=!1){if(e===null)return null;if(e?.isIRange){if(r!==e.getType()||i!==e.isLiteral()){let t=typeof r==`string`?{type:r}:r;return e.clone(t,i,e.isDirectScalar())}return e}let a,o=Array.isArray(e);if(i??=o,o)if(Array.isArray(e[0]))a=e;else{if(e[0]?.isIRange)throw t.FormulaError.BuiltIn.Value;a=[e]}else a=[[e]];let s=this._axis,c=s===t.IRange.Axis.Column,l=this._fromTuples(Xa(a,c,Va(0,0,void 0,void 0,c),!0),r,i,!o);if(l)return l;let u=this._container.getGrid(this._calcScope.gridId)?.getEntireCoords(),d=new no({axis:s,maxCoords:u}),f=r?{type:r}:void 0;return new GO(this._runtime,d,n.CoordUtils.EmptyRange,f,i)}getRow(){return this._calcScope.rowIndex}getColumn(){return this._calcScope.colIndex}getReference(e,n){if(!e)throw t.FormulaError.BuiltIn.Ref;let r=this._calcScope,i=this._container,a=r.gridId,o=i.getGrid(a),s=o?.getEntireCoords.bind(o);if(typeof e==`string`){if(n)throw t.FormulaError.BuiltIn.Ref;try{let r=ou(e,s?.(),tu,()=>{throw t.FormulaError.BuiltIn.Ref},n);if(r.length>1)throw t.FormulaError.BuiltIn.Ref;e=r[0]}catch{throw t.FormulaError.BuiltIn.Ref}}else e||={colStart:r.colIndex,rowStart:r.rowIndex,colEnd:r.colIndex,rowEnd:r.rowIndex};if(!e)throw t.FormulaError.BuiltIn.Ref;let c=e.scope;if(c){if(c=i.getSymbols().bind(sf,e.scope),!c)return t.FormulaError.BuiltIn.Ref;if(c!==e.scope&&((e={...e}).scope=c),c!==a){if(a=c,o=i.getGrid(a),!o)return t.FormulaError.BuiltIn.Ref;s=o?.getEntireCoords.bind(o)}}let l=i.getGridValues(a),u,d=r.node,f=-1;if(d&&(f=Cf(d.precedents,e)),f!==-1){let n=d.inputs[f];if(n!=null&&n.isIReferenceRange)u=n;else if(n!==void 0){let r=n;r!==null&&r.isIRange&&(r=r.getValueAt(0,0));let i=new no({axis:this._axis,maxCoords:s?.()});if(r!==null){let n=this._axis===t.IRange.Axis.Column,a=n?e.colStart:e.rowStart,o=n?e.rowStart:e.colStart;i.setValues([[a,[[o,[r]]]]])}u=this._toReference(i,e,s)}else u=this._toReference(l,e,s)}else i.addDynamicPrecedent(d,e,kf.Reference),u=this._toReference(l,e,s);return u}getResizedReference(e,t,n){let r=e.scope?this._container.getSymbols().bind(sf,e.scope):this._calcScope.gridId,i=r?this._container.getGrid(r)?.getEntireCoords():void 0,a=e.rowStart+t-1,o=e.colStart+n-1;return this.getReference({rowStart:e.rowStart,rowEnd:i?Math.min(a,i.rowEnd):a,colStart:e.colStart,colEnd:i?Math.min(o,i.colEnd):o,scope:e.scope})}_toReference(e,r,i){try{return new ok(this._runtime,e,r,void 0,i,this._container.resolveScope)}catch(e){throw e instanceof n.OutOfBoundsError?t.FormulaError.BuiltIn.Ref:e}}getAddress(e,t=!1){e||=(Ef.rowIndex=this._calcScope.rowIndex,Ef.colIndex=this._calcScope.colIndex,Ef.scope=null,Ef);let n=this.getEntireCoords().scope;return e.colIndex===void 0?function(e,t,n=!1){return(n?yu({colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart,$rowIndex:e.$rowStart,scope:e.scope},t):Yl({colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart,$rowIndex:e.$rowStart,scope:e.scope},t))+`:`+(n?yu({colIndex:e.colEnd,rowIndex:e.rowEnd,$colIndex:e.$colEnd,$rowIndex:e.$rowEnd},null):Yl({colIndex:e.colEnd,rowIndex:e.rowEnd,$colIndex:e.$colEnd,$rowIndex:e.$rowEnd},null))}(e,n,t):function(e,t,n=!1){return n?yu(e,t):Yl(e,t)}(e,n,t)}parseAsSerialDate(e,n){if(e===void 0)return;if(typeof e==`number`)return e;if(t.FormulaError.isError(e))throw e;if(typeof e!=`string`)throw t.FormulaError.BuiltIn.Value;let r=Pr(this._runtime,e,n);if(r===null)throw t.FormulaError.BuiltIn.Value;return r}parseAsDate(e,n){if(e!==void 0){if(t.FormulaError.isError(e))throw e;if(typeof e==`number`)return this.fromSerialDate(e);if(typeof e==`string`)return this.fromSerialDate(this.parseAsSerialDate(e,n));if(e instanceof Date)return e;throw t.FormulaError.BuiltIn.Value}}parseAsNumber(e,n){if(e===void 0)return;if(typeof e==`number`)return e;if(t.FormulaError.isError(e))throw e;if(typeof e!=`string`)throw t.FormulaError.BuiltIn.Value;let r=this._coerceToNumber(e,t.ScalarType.String,n);if(typeof r!=`number`)throw t.FormulaError.BuiltIn.Value;return r}createCriteria(e){return tf(this,e)}parseAsLiteral(e){return vo(e)??yo(e)}toText(e){return function(e,t){return typeof e==`string`?e:e==null?``:typeof e==`boolean`?go(e):typeof e==`number`?XD(e,t):e?.isFormulaError?_o(e):String(e)}(e,this._runtime)}getRuntime(){return this._runtime}get[Symbol.toStringTag](){return`[CalculationContext]`}toString(){let e=``,t=this._instanceScope,n;return t&&(n=t.toString?.()),n&&n&&(e=`${e}:[${n}]`),e}},Cf=(e,n)=>{if(!e)return-1;let r=e.length;if(r===0)return-1;let i=n.colStart,a=n.rowStart,o=n.colEnd,s=n.rowEnd,c=n.scope;for(let n=0;n<r;n++){let r=e[n];if(r!=null&&!(t.FormulaError.isError(r)||r.colStart!==i||r.rowStart!==a||r.colEnd!==o||r.rowEnd!==s||c&&r.scope!==c))return n}return-1},wf={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},Tf={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},Ef={rowIndex:0,colIndex:0,scope:null},Df=Object.freeze({includeEmpty:!0}),Of=class e{constructor(e,t,n,r,i,a){this.registeredPrecedents=null,this.ref=e,this.gridId=t,this._container=r,this.formula=n,this.unanchored=i;let o=e.colStart,s=e.rowStart;this.calcs=a?this._cloneCalcs(a,o,s,t):this._createCalcs(n,t,e)}_createCalcs(e,t,r){let i=r.colStart,a=r.rowStart;if(!e)return[[{block:this,gridId:t,colIndex:i,rowIndex:a,cycleId:0,markId:0,inDegree:0,dependents:n.CommonUtils.EmptyArray,inputs:n.CommonUtils.EmptyArray,precedents:n.CommonUtils.EmptyArray,cachedValue:void 0,pending:!1,pendingPrecedents:!1,pendingPromise:null,pendingResolved:!1,circular:!1,state:Hu}]];let o=e.resolvedPrecedentsAt(a,i),s=o?.length??0,c=lO(r.rowEnd-a+1),l=r.colEnd-i+1,u=c.length;for(let r=0;r<u;r++){let u=lO(l),d=u.length;for(let c=0;c<d;c++){let l=r+a,d=c+i,f=s===0?n.CommonUtils.EmptyArray:r===0&&c===0?o:e.resolvedPrecedentsAt(l,d);u[c]={block:this,gridId:t,colIndex:d,rowIndex:l,cycleId:0,markId:0,inDegree:0,dependents:n.CommonUtils.EmptyArray,inputs:s===0?n.CommonUtils.EmptyArray:Array(s).fill(void 0),precedents:f,cachedValue:void 0,pending:!1,pendingPrecedents:!1,pendingPromise:null,pendingResolved:!1,circular:!1,state:Hu}}c[r]=u}return c}_cloneCalcs(e,t,r,i){let a=this.formula,o=a.resolvedPrecedentsAt(r,t),s=o?.length??0,c=e.length,l=lO(c);for(let u=0;u<c;u++){let c=e[u],d=c.length,f=lO(d);l[u]=f;for(let e=0;e<d;e++){let l=u+r,d=e+t,p=s===0?n.CommonUtils.EmptyArray:u===0&&e===0?o:a.resolvedPrecedentsAt(l,d),m={...c[e]};f[e]=m,m.colIndex=d,m.rowIndex=l,m.block=this,m.inputs=s===0?n.CommonUtils.EmptyArray:uO(s),m.precedents=p,i!==void 0&&(m.gridId=i)}}return l}toJSON(e=!1,t){let n=this.ref;return[ql(n),this.formula.getTextAt(n.rowStart,n.colStart,e,t,void 0,!0)]}getCoords(){return this.ref}getShifted(r){if(!r.after)return null;let i=n.CoordUtils.sanitizeRange(r.after),a=r.axis!==t.IRange.Axis.Row,o=r.amount,s=r.intersect,c=s.colStart,l=s.rowStart,u=s.colEnd,d=s.rowEnd,f=a?o:0,p=a?0:o,m=this.ref,h=i,g=this._container.getGrid(this.gridId)?.getEntireCoords(),_=this.formula,v=_.getReferences(m.rowStart,m.colStart);for(let e=0;e<v.length;e++){let n=v[e];if(n===null||`nameId`in n||t.FormulaError.isError(n))continue;let r=n,i=r.scope!=null&&r.scope!==this.gridId,s=r,y=r.$colStart?r.colStart:m.colStart+r.colStart,b=r.$rowStart?r.rowStart:m.rowStart+r.rowStart;if(!i&&y>u&&!r.$colStart&&!r.$colEnd)continue;let x=r.$colEnd?r.colEnd:m.colStart+r.colEnd,S=r.$rowEnd?r.rowEnd:m.rowStart+r.rowEnd;if(i)f!==0&&(r.$colStart||(s={...r},s.colStart=y-h.colStart),r.$colEnd||(s=s===r?{...r}:s,s.colEnd=x-h.colStart)),p!==0&&(r.$rowStart||(s=s===r?{...r}:s,s.rowStart=b-h.rowStart),r.$rowEnd||(s=s===r?{...r}:s,s.rowEnd=S-h.rowStart)),s!==r&&(_=_.setReferenceAt(e,s));else{if(o<0){if(a){if(y>=c&&x<=u){_=_.setReferenceAt(e,null);continue}}else if(b>=l&&S<=d){_=_.setReferenceAt(e,null);continue}}f!==0&&(r.$colStart?y>=c&&(s=s===r?{...r}:s,s.colStart+=f,y=s.colStart):y<c?(s=s===r?{...r}:s,s.colStart=y-h.colStart,y=h.colStart+s.colStart):f<0&&y<=u&&(s=s===r?{...r}:s,y=Math.max(c,y+f),s.colStart=y-h.colStart,y=h.colStart+s.colStart),r.$colEnd?x>=c&&(s=s===r?{...r}:s,s.colEnd+=f,x=s.colEnd):x<c?(s=s===r?{...r}:s,s.colEnd=x-h.colStart,x=h.colStart+s.colEnd):f<0&&x<=u&&(s=s===r?{...r}:s,x=Math.max(c-1,x+f),s.colEnd=x-h.colStart,x=h.colStart+s.colEnd)),p!==0&&(r.$rowStart?b>=l&&(s=s===r?{...r}:s,s.rowStart+=p,b=s.rowStart):b<l?(s=s===r?{...r}:s,s.rowStart=b-h.rowStart,b=h.rowStart+s.rowStart):p<0&&b<=d&&(s=s===r?{...r}:s,b=Math.max(l,b+p),s.rowStart=b-h.rowStart,b=h.rowStart+s.rowStart),r.$rowEnd?S>=l&&(s=s===r?{...r}:s,s.rowEnd+=p,S=s.rowEnd):S<l?(s=s===r?{...r}:s,s.rowEnd=S-h.rowStart,S=h.rowStart+s.rowEnd):p<0&&S<=d&&(s=s===r?{...r}:s,S=Math.max(l-1,S+p),s.rowEnd=S-h.rowStart,S=h.rowStart+s.rowEnd)),s!==r&&((x<y||S<b||g&&(y<g.colStart||b<g.rowStart||x>g.colEnd||S>g.rowEnd))&&(s=t.FormulaError.BuiltIn.Ref),_=_.setReferenceAt(e,s))}}let y=new e(i,this.gridId,_,this._container,this.unanchored,this.calcs);return{...r.after,value:y}}getMerged(n,r,i){let a=this.formula,o=n.formula;if(!a.isEquals(o))return;let s=this.calcs,c=n.calcs,l;if(i===t.IRange.Axis.Row)l=[...s,...c];else{let e=s.length;l=lO(e);for(let t=0;t<e;t++)l[t]=[...s[t],...c[t]]}return new e(r,this.gridId,a,this._container,this.unanchored,l)}getSplit(n,r,i){let a=this.formula,o=r===t.IRange.Axis.Column,s,c,l=this.calcs;if(o){let e=l.length;s=lO(e),c=lO(e);for(let t=0;t<e;t++){let e=l[t];s[t]=e.slice(0,i),c[t]=e.slice(i)}}else s=l.slice(0,i),c=l.slice(i);return[new e(n[0],this.gridId,a,this._container,this.unanchored,s),new e(n[1],this.gridId,a,this._container,this.unanchored,c)]}copyTo(n,r){let i=this.formula,a=r?.cutFrom;if(a){let e=this.ref,r=e.colStart-n.colStart,o=e.rowStart-n.rowStart,s=i.getReferences(e.rowStart,e.colStart);for(let n=0;n<s.length;n++){let c=s?s[n]:null;if(!c||`nameId`in c||t.FormulaError.isError(c))continue;let l=c,u,d=l.$colStart?l.colStart:e.colStart+l.colStart,f=l.$rowStart?l.rowStart:e.rowStart+l.rowStart,p=l.$colEnd?l.colEnd:e.colEnd+l.colEnd,m=l.$rowEnd?l.rowEnd:e.rowEnd+l.rowEnd,h=l.scope!=null&&l.scope!==this.gridId,g=!h&&f>=a.rowStart&&m<=a.rowEnd,_=!h&&d>=a.colStart&&p<=a.colEnd;r!==0&&(l.$colStart||g&&d>=a.colStart&&d<=a.colEnd||(u??={...l},u.colStart+=r),l.$colEnd||g&&p>=a.colStart&&p<=a.colEnd||(u??={...l},u.colEnd+=r)),o!==0&&(l.$rowStart||_&&f>=a.rowStart&&f<=a.rowEnd||(u??={...l},u.rowStart+=o),l.$rowEnd||_&&m>=a.rowStart&&m<=a.rowEnd||(u??={...l},u.rowEnd+=o)),u&&(i=i.setReferenceAt(n,u))}}let o=new e(n,this.gridId,i,this._container,this.unanchored);return{colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd,scope:n.scope,value:o}}canTile(e,t){return!0}onRemove(e){let t=e.value.calcs,n=t.length;for(let e=0;e<n;e++){let n=t[e],r=n.length;for(let e=0;e<r;e++){let t=n[e];t.pendingPromise&&(t.pendingPromise.cancelled=!0)}}}evaluateAt(e,n,r){return this.formula?.evaluateAt(e,n,r)??t.FormulaError.BuiltIn.NA}finalizeValue(e){return this.formula?.finalizeValue(e)??e}finalizeValueForCell(e){return this.formula?.finalizeValueForCell(e)??e}getTokensAt(e,t,r){return this.formula?.getTokensAt(e,t,r)??n.CommonUtils.EmptyArray}getTextAt(e,t,n,r){return this.formula?.getTextAt(e,t,n,r)??``}resolvedPrecedentsAt(e,t,r,i,a){return this.formula?.resolvedPrecedentsAt(e,t,r,i,a)??n.CommonUtils.EmptyArray}getReferences(e,t){return this.formula?.getReferences(e,t)??n.CommonUtils.EmptyArray}getReferenceAt(e,t,n){return this.formula?.getReferenceAt(e,t,n)??null}setReferenceAt(n,r,i){let a=this.ref;if(r&&!t.FormulaError.isError(r)&&!(`nameId`in r)){let e=r,t=a.colStart,n=a.rowStart,i=e.$colStart?e.colStart:t+e.colStart,o=e.$rowStart?e.rowStart:n+e.rowStart,s=e.$colEnd?e.colEnd:t+e.colEnd,c=e.$rowEnd?e.rowEnd:n+e.rowEnd;if(s<i||c<o)r=null;else{let e=this._container.getGrid(this.gridId)?.getEntireCoords();e&&(i<e.colStart||o<e.rowStart||s>e.colEnd||c>e.rowEnd)&&(r=null)}}let o=this.formula.setReferenceAt(n,r,i);return new e(a,this.gridId,o,this._container,this.unanchored,this.calcs)}reanchorReferences(t,n){let r=this.formula,i=r.reanchorReferences(t,n);return r===i&&this.gridId===t?this:new e(this.ref,t,i,this._container,this.unanchored,this.calcs)}replaceSheetReferences(t,n){let r=this.formula,i=r.replaceSheetReferences(t,n);return r===i?this:new e(this.ref,this.gridId,i,this._container,this.unanchored,this.calcs)}wrapImplicit(t,n,r){let i=this.formula,a=i.wrapImplicit(t,n,r);if(i===a)return this;let o=[...this.calcs];return new e(this.ref,this.gridId,a,this._container,this.unanchored,o)}getError(){return this.formula?.getError()??null}getNamedIds(){return this.formula?.getNamedIds()??n.CommonUtils.EmptyArray}getReferencedSymbolIds(){return this.formula?.getReferencedSymbolIds()??n.CommonUtils.EmptyArray}hasTotals(){return this.formula?.hasTotals()??!1}isReferenceOnly(){return this.formula?.isReferenceOnly()??!1}isEquals(e){return this.formula?.isEquals(e)??!1}},kf={Reference:-1,Spill:-2},Af=Object.freeze({break:!0});(q||={}).Type={BorderStyle:`borderStyle`,FillStyle:`fillStyle`,ContentStyle:`contentStyle`,Continuous:`continuous`,DateFormat:`dateFormat`,Table:`table`,AutoTable:`autoTable`,DataValidations:`dataValidations`,Merge:`merge`,Hyperlink:`hyperlink`,Comments:`comments`,Unlock:`unlock`,Contentful:`contentful`,Conditionals:`conditionals`,Formula:`formula`,Spills:`spills`,Pending:`pending`,CalcError:`calcError`,Error:`error`,Validation:`dataValidation`};var jf=Object.freeze({contentful:q.Type.Contentful,dateFormat:q.Type.DateFormat,error:q.Type.Error,formula:q.Type.Formula,spills:q.Type.Spills,calcError:q.Type.CalcError,fill:q.Type.FillStyle,border:q.Type.BorderStyle,numberFormat:q.Type.ContentStyle,alignment:q.Type.ContentStyle,font:q.Type.ContentStyle,merge:q.Type.Merge,table:q.Type.Table,autoTable:q.Type.AutoTable,hyperlink:q.Type.Hyperlink,comments:q.Type.Comments,unlock:q.Type.Unlock,conditionals:q.Type.Conditionals,dataValidations:q.Type.DataValidations});function Mf(e){let t=function(e){if(e===void 0)return!0;let t=typeof e==`string`?[e]:e;if(t.length===0)return!1;let n={};for(let e=0;e<t.length;e++){let r=jf[t[e]];r&&(n[r]=!1)}return n}(e);if(typeof t==`boolean`)return t;let n={...t};return delete n[q.Type.Contentful],n[q.Type.ContentStyle]!==void 0&&(n[q.Type.Continuous]=!1),n[q.Type.Formula]===void 0&&n[q.Type.CalcError]===void 0||(n[q.Type.Pending]=!1),n}function Nf(e,t){switch(t){case`contentful`:case`error`:return null;case`border`:return e.borderSpatial.getContentfulCoords();case`fill`:return e.fillSpatial.getContentfulCoords();case`numberFormat`:case`alignment`:case`font`:return e.contentSpatial.getContentfulCoords();case`dateFormat`:return e.dateFormatSpatial.getBoundingRange();case`merge`:return e.mergeSpatial.getContentfulCoords();case`formula`:return e.calcGrid.getBoundingRange();case`calcError`:return e.calcErrorsSpatial.getBoundingRange();case`spills`:return e.spillSpatial.getBoundingRange();case`table`:return e.tables.getBoundingRange();case`autoTable`:return e.autoTables.getBoundingRange();case`hyperlink`:return e.hyperlinkSpatial.getBoundingRange();case`comments`:return e.commentsSpatial.getBoundingRange();case`unlock`:return e.protectedRanges.getBoundingRange();case`conditionals`:return e.conditionalFormats.getBoundingRange();case`dataValidations`:return e.dataValidations.getBoundingRange()}}var J,Pf,Ff=Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.AutoTable]:!1,[q.Type.Table]:!1,[q.Type.Merge]:!1,[q.Type.Hyperlink]:!1,[q.Type.Comments]:!1,[q.Type.Unlock]:!1,[q.Type.Formula]:!1,[q.Type.Spills]:!1,[q.Type.Pending]:!1,[q.Type.CalcError]:!1,[q.Type.Contentful]:!1,[q.Type.DataValidations]:!1,[q.Type.Conditionals]:!1,[q.Type.Continuous]:!1}),If=Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.AutoTable]:!1,[q.Type.Table]:!1,[q.Type.Merge]:!1,[q.Type.Hyperlink]:!1,[q.Type.Comments]:!1,[q.Type.Unlock]:!1,[q.Type.Formula]:!1,[q.Type.Spills]:!1,[q.Type.Pending]:!1,[q.Type.CalcError]:!1,[q.Type.DataValidations]:!1,[q.Type.Conditionals]:!1,[q.Type.Continuous]:!1}),Lf=Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.Table]:!0,[q.Type.DataValidations]:!1,[q.Type.Merge]:!1,[q.Type.Hyperlink]:!1,[q.Type.Comments]:!1,[q.Type.Unlock]:!1,[q.Type.Formula]:!1}),Rf=(Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.Table]:!1,[q.Type.AutoTable]:!1,[q.Type.DataValidations]:!1,[q.Type.Hyperlink]:!1,[q.Type.Comments]:!1,[q.Type.Unlock]:!1,[q.Type.Contentful]:!1,[q.Type.Formula]:!1}),Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.Hyperlink]:!1,[q.Type.Continuous]:!1,[q.Type.Merge]:!1,[q.Type.Contentful]:!1}));(Pf=J||={}).AdjustmentType={Alpha:`alpha`,AlphaOff:`alphaOff`,AlphaMod:`alphaMod`,Hue:`hue`,Sat:`sat`,Lum:`lum`,HueOff:`hueOff`,SatOff:`satOff`,LumOff:`lumOff`,HueMod:`hueMod`,SatMod:`satMod`,LumMod:`lumMod`,Red:`red`,Green:`green`,Blue:`blue`,RedOff:`redOff`,GreenOff:`greenOff`,BlueOff:`blueOff`,RedMod:`redMod`,GreenMod:`greenMod`,BlueMod:`blueMod`,Shade:`shade`,Tint:`tint`,ETint:`eTint`,Gray:`gray`,Comp:`comp`,Inv:`inv`,Gamma:`gamma`,InvGamma:`invGamma`},Pf.Named={ActiveBorder:`activeBorder`,ActiveCaption:`activeCaption`,CaptionText:`captionText`,AppWorkspace:`appWorkspace`,BtnFace:`btnFace`,BtnShadow:`btnShadow`,DkShadow3d:`3dDkShadow`,BtnHighlight:`btnHighlight`,Light3d:`3dLight`,BtnText:`btnText`,Background:`background`,GrayText:`grayText`,Highlight:`highlight`,HighlightText:`highlightText`,HotLight:`hotLight`,InactiveBorder:`inactiveBorder`,InactiveCaption:`inactiveCaption`,InactiveCaptionText:`inactiveCaptionText`,InfoBk:`infoBk`,InfoText:`infoText`,Menu:`menu`,MenuText:`menuText`,ScrollBar:`scrollBar`,Window:`window`,WindowFrame:`windowFrame`,WindowText:`windowText`,Transparent:`transparent`,AliceBlue:`aliceBlue`,AntiqueWhite:`antiqueWhite`,Aqua:`aqua`,Aquamarine:`aquamarine`,Azure:`azure`,Beige:`beige`,Bisque:`bisque`,Black:`black`,BlanchedAlmond:`blanchedAlmond`,Blue:`blue`,BlueViolet:`blueViolet`,Brown:`brown`,BurlyWood:`burlyWood`,CadetBlue:`cadetBlue`,Chartreuse:`chartreuse`,Chocolate:`chocolate`,Coral:`coral`,CornflowerBlue:`cornflowerBlue`,Cornsilk:`cornsilk`,Crimson:`crimson`,Cyan:`cyan`,DkBlue:`dkBlue`,DkCyan:`dkCyan`,DkGoldenrod:`dkGoldenrod`,DkGray:`dkGray`,DkGreen:`dkGreen`,DkKhaki:`dkKhaki`,DkMagenta:`dkMagenta`,DkOliveGreen:`dkOliveGreen`,DkOrange:`dkOrange`,DkOrchid:`dkOrchid`,DkRed:`dkRed`,DkSalmon:`dkSalmon`,DkSeaGreen:`dkSeaGreen`,DkSlateBlue:`dkSlateBlue`,DkSlateGray:`dkSlateGray`,DkTurquoise:`dkTurquoise`,DkViolet:`dkViolet`,DeepPink:`deepPink`,DeepSkyBlue:`deepSkyBlue`,DimGray:`dimGray`,DodgerBlue:`dodgerBlue`,Firebrick:`firebrick`,FloralWhite:`floralWhite`,ForestGreen:`forestGreen`,Fuchsia:`fuchsia`,Gainsboro:`gainsboro`,GhostWhite:`ghostWhite`,Gold:`gold`,Goldenrod:`goldenrod`,Gray:`gray`,Grey:`grey`,Green:`green`,GreenYellow:`greenYellow`,Honeydew:`honeydew`,HotPink:`hotPink`,IndianRed:`indianRed`,Indigo:`indigo`,Ivory:`ivory`,Khaki:`khaki`,Lavender:`lavender`,LavenderBlush:`lavenderBlush`,LawnGreen:`lawnGreen`,LemonChiffon:`lemonChiffon`,LtBlue:`ltBlue`,LtCoral:`ltCoral`,LtCyan:`ltCyan`,LtGoldenrodYellow:`ltGoldenrodYellow`,LtGray:`ltGray`,LtGreen:`ltGreen`,LtPink:`ltPink`,LtSalmon:`ltSalmon`,LtSeaGreen:`ltSeaGreen`,LtSkyBlue:`ltSkyBlue`,LtSlateGray:`ltSlateGray`,LtSteelBlue:`ltSteelBlue`,LtYellow:`ltYellow`,Lime:`lime`,LimeGreen:`limeGreen`,Linen:`linen`,Magenta:`magenta`,Maroon:`maroon`,MedAquamarine:`medAquamarine`,MedBlue:`medBlue`,MedOrchid:`medOrchid`,MedPurple:`medPurple`,MedSeaGreen:`medSeaGreen`,MedSlateBlue:`medSlateBlue`,MedSpringGreen:`medSpringGreen`,MedTurquoise:`medTurquoise`,MedVioletRed:`medVioletRed`,MidnightBlue:`midnightBlue`,MintCream:`mintCream`,MistyRose:`mistyRose`,Moccasin:`moccasin`,NavajoWhite:`navajoWhite`,Navy:`navy`,OldLace:`oldLace`,Olive:`olive`,OliveDrab:`oliveDrab`,Orange:`orange`,OrangeRed:`orangeRed`,Orchid:`orchid`,PaleGoldenrod:`paleGoldenrod`,PaleGreen:`paleGreen`,PaleTurquoise:`paleTurquoise`,PaleVioletRed:`paleVioletRed`,PapayaWhip:`papayaWhip`,PeachPuff:`peachPuff`,Peru:`peru`,Pink:`pink`,Plum:`plum`,PowderBlue:`powderBlue`,Purple:`purple`,Red:`red`,RosyBrown:`rosyBrown`,RoyalBlue:`royalBlue`,SaddleBrown:`saddleBrown`,Salmon:`salmon`,SandyBrown:`sandyBrown`,SeaGreen:`seaGreen`,SeaShell:`seaShell`,Sienna:`sienna`,Silver:`silver`,SkyBlue:`skyBlue`,SlateBlue:`slateBlue`,SlateGray:`slateGray`,Snow:`snow`,SpringGreen:`springGreen`,SteelBlue:`steelBlue`,Tan:`tan`,Teal:`teal`,Thistle:`thistle`,Tomato:`tomato`,Turquoise:`turquoise`,Violet:`violet`,Wheat:`wheat`,White:`white`,WhiteSmoke:`whiteSmoke`,Yellow:`yellow`,YellowGreen:`yellowGreen`,ButtonFace:`buttonFace`,ButtonHighlight:`buttonHighlight`,ButtonShadow:`buttonShadow`,GradientActiveCaption:`gradientActiveCaption`,GradientInactiveCaption:`gradientInactiveCaption`,MenuBar:`menuBar`,MenuHighlight:`menuHighlight`},Pf.Scheme={Bg1:`bg1`,Bg2:`bg2`,Tx1:`tx1`,Tx2:`tx2`,Accent1:`accent1`,Accent2:`accent2`,Accent3:`accent3`,Accent4:`accent4`,Accent5:`accent5`,Accent6:`accent6`,Hlink:`hlink`,FolHlink:`folHlink`},Pf.Type={Scheme:`scheme`,Named:`named`,Index:`index`,Auto:`auto`,HSL:`hsl`,RGB:`rgb`,LRGB:`lrgb`,Hex:`hex`};var zf=[[16777215,J.Named.Transparent,!0],[4290032820,J.Named.ActiveBorder,!0],[4288263377,J.Named.ActiveCaption,!0],[4278190080,J.Named.CaptionText,!0],[4289440683,J.Named.AppWorkspace,!0],[4293980400,J.Named.BtnFace,!0],[4285098345,J.Named.BtnShadow,!0],[4278190080,J.Named.DkShadow3d,!0],[4293125091,J.Named.BtnHighlight,!0],[4293125091,J.Named.Light3d,!0],[4278190080,J.Named.BtnText,!0],[4278190080,J.Named.Background,!0],[4285361517,J.Named.GrayText,!0],[4281571839,J.Named.Highlight,!0],[4294967295,J.Named.HighlightText,!0],[4278216396,J.Named.HotLight,!0],[4294244348,J.Named.InactiveBorder,!0],[4290760155,J.Named.InactiveCaption,!0],[4278190080,J.Named.InactiveCaptionText,!0],[4294967265,J.Named.InfoBk,!0],[4278190080,J.Named.InfoText,!0],[4293980400,J.Named.Menu,!0],[4278190080,J.Named.MenuText,!0],[4291348680,J.Named.ScrollBar,!0],[4294967295,J.Named.Window,!0],[4284769380,J.Named.WindowFrame,!0],[4278190080,J.Named.WindowText,!0],[16777215,J.Named.Transparent],[4293982463,J.Named.AliceBlue],[4294634455,J.Named.AntiqueWhite],[4278255615,J.Named.Aqua],[4286578644,J.Named.Aquamarine],[4293984255,J.Named.Azure],[4294309340,J.Named.Beige],[4294960324,J.Named.Bisque],[4278190080,J.Named.Black],[4294962125,J.Named.BlanchedAlmond],[4278190335,J.Named.Blue],[4287245282,J.Named.BlueViolet],[4289014314,J.Named.Brown],[4292786311,J.Named.BurlyWood],[4284456608,J.Named.CadetBlue],[4286578432,J.Named.Chartreuse],[4291979550,J.Named.Chocolate],[4294934352,J.Named.Coral],[4284782061,J.Named.CornflowerBlue],[4294965468,J.Named.Cornsilk],[4292613180,J.Named.Crimson],[4278255615,J.Named.Cyan],[4278190219,J.Named.DkBlue],[4278225803,J.Named.DkCyan],[4290283019,J.Named.DkGoldenrod],[4289309097,J.Named.DkGray],[4278215680,J.Named.DkGreen],[4290623339,J.Named.DkKhaki],[4287299723,J.Named.DkMagenta],[4283788079,J.Named.DkOliveGreen],[4294937600,J.Named.DkOrange],[4288230092,J.Named.DkOrchid],[4287299584,J.Named.DkRed],[4293498490,J.Named.DkSalmon],[4287609995,J.Named.DkSeaGreen],[4282924427,J.Named.DkSlateBlue],[4281290575,J.Named.DkSlateGray],[4278243025,J.Named.DkTurquoise],[4287889619,J.Named.DkViolet],[4294907027,J.Named.DeepPink],[4278239231,J.Named.DeepSkyBlue],[4285098345,J.Named.DimGray],[4280193279,J.Named.DodgerBlue],[4289864226,J.Named.Firebrick],[4294966e3,J.Named.FloralWhite],[4280453922,J.Named.ForestGreen],[4294902015,J.Named.Fuchsia],[4292664540,J.Named.Gainsboro],[4294506751,J.Named.GhostWhite],[4294956800,J.Named.Gold],[4292519200,J.Named.Goldenrod],[4286611584,J.Named.Gray],[4278222848,J.Named.Green],[4289593135,J.Named.GreenYellow],[4293984240,J.Named.Honeydew],[4294928820,J.Named.HotPink],[4291648604,J.Named.IndianRed],[4283105410,J.Named.Indigo],[4294967280,J.Named.Ivory],[4293977740,J.Named.Khaki],[4293322490,J.Named.Lavender],[4294963445,J.Named.LavenderBlush],[4286381056,J.Named.LawnGreen],[4294965965,J.Named.LemonChiffon],[4289583334,J.Named.LtBlue],[4293951616,J.Named.LtCoral],[4292935679,J.Named.LtCyan],[4294638200,J.Named.LtGoldenrodYellow],[4292072403,J.Named.LtGray],[4287688336,J.Named.LtGreen],[4294948545,J.Named.LtPink],[4294942842,J.Named.LtSalmon],[4280332970,J.Named.LtSeaGreen],[4287090426,J.Named.LtSkyBlue],[4286023833,J.Named.LtSlateGray],[4289774814,J.Named.LtSteelBlue],[4294967264,J.Named.LtYellow],[4278255360,J.Named.Lime],[4281519410,J.Named.LimeGreen],[4294635750,J.Named.Linen],[4294902015,J.Named.Magenta],[4286578688,J.Named.Maroon],[4284927402,J.Named.MedAquamarine],[4278190285,J.Named.MedBlue],[4290401747,J.Named.MedOrchid],[4287852763,J.Named.MedPurple],[4282168177,J.Named.MedSeaGreen],[4286277870,J.Named.MedSlateBlue],[4278254234,J.Named.MedSpringGreen],[4282962380,J.Named.MedTurquoise],[4291237253,J.Named.MedVioletRed],[4279834992,J.Named.MidnightBlue],[4294311930,J.Named.MintCream],[4294960353,J.Named.MistyRose],[4294960309,J.Named.Moccasin],[4294958765,J.Named.NavajoWhite],[4278190208,J.Named.Navy],[4294833638,J.Named.OldLace],[4286611456,J.Named.Olive],[4285238819,J.Named.OliveDrab],[4294944e3,J.Named.Orange],[4294919424,J.Named.OrangeRed],[4292505814,J.Named.Orchid],[4293847210,J.Named.PaleGoldenrod],[4288215960,J.Named.PaleGreen],[4289720046,J.Named.PaleTurquoise],[4292571283,J.Named.PaleVioletRed],[4294963157,J.Named.PapayaWhip],[4294957753,J.Named.PeachPuff],[4291659071,J.Named.Peru],[4294951115,J.Named.Pink],[4292714717,J.Named.Plum],[4289781990,J.Named.PowderBlue],[4286578816,J.Named.Purple],[4294901760,J.Named.Red],[4290547599,J.Named.RosyBrown],[4282477025,J.Named.RoyalBlue],[4287317267,J.Named.SaddleBrown],[4294606962,J.Named.Salmon],[4294222944,J.Named.SandyBrown],[4281240407,J.Named.SeaGreen],[4294964718,J.Named.SeaShell],[4288696877,J.Named.Sienna],[4290822336,J.Named.Silver],[4287090411,J.Named.SkyBlue],[4285160141,J.Named.SlateBlue],[4285563024,J.Named.SlateGray],[4294966010,J.Named.Snow],[4278255487,J.Named.SpringGreen],[4282811060,J.Named.SteelBlue],[4291998860,J.Named.Tan],[4278222976,J.Named.Teal],[4292394968,J.Named.Thistle],[4294927175,J.Named.Tomato],[4282441936,J.Named.Turquoise],[4293821166,J.Named.Violet],[4294303411,J.Named.Wheat],[4294967295,J.Named.White],[4294309365,J.Named.WhiteSmoke],[4294967040,J.Named.Yellow],[4288335154,J.Named.YellowGreen],[4293980400,J.Named.ButtonFace],[4294967295,J.Named.ButtonHighlight],[4288716960,J.Named.ButtonShadow],[4290367978,J.Named.GradientActiveCaption],[4292338930,J.Named.GradientInactiveCaption],[4293980400,J.Named.MenuBar],[4281571839,J.Named.MenuHighlight],[4286611584,J.Named.Grey]],Bf=new class{constructor(){this._lookupByName=new Map;let e=zf.length;for(let t=0;t<e;t++){let e=zf[t],n=e[0],r=(n>>24&255)/255,i=n>>16&255,a=n>>8&255,o=255&n,s={id:t,name:e[1],rgbaColor:{r:i,g:a,b:o,a:r},system:e.length>2};this._lookupByName.set(s.name.toLowerCase(),s)}}valueOfName(e){return this._lookupByName.get(e?e.toLowerCase():`transparent`)}getSystemColorDefaults(){let e=e=>e.toString(16).padStart(2,`0`).toUpperCase(),t={};return this._lookupByName.forEach((n,r)=>{if(!n.system)return;let{r:i,g:a,b:o}=n.rgbaColor;t[r]=`#${e(i)}${e(a)}${e(o)}`}),t}},Vf=[{scheme:J.Scheme.Tx1,description:`First Text Color`},{scheme:J.Scheme.Tx2,description:`Second Text Color`},{scheme:J.Scheme.Bg1,description:`First Background Color`},{scheme:J.Scheme.Bg2,description:`Second Background Color`},{scheme:J.Scheme.Accent1,description:`Accent 1`},{scheme:J.Scheme.Accent2,description:`Accent 2`},{scheme:J.Scheme.Accent3,description:`Accent 3`},{scheme:J.Scheme.Accent4,description:`Accent 4`},{scheme:J.Scheme.Accent5,description:`Accent 5`},{scheme:J.Scheme.Accent6,description:`Accent 6`},{scheme:J.Scheme.Hlink,description:`Hyperlink`},{scheme:J.Scheme.FolHlink,description:`Followed Hyperlink`},{scheme:`dk1`,description:`Text/Background - Dark 1`},{scheme:`lt1`,description:`Text/Background - Light 1`},{scheme:`dk2`,description:`Text/Background - Dark 2`},{scheme:`lt2`,description:`Text/Background - Light 2`}],Hf=new Map;for(let e=0;e<Vf.length;e++)Hf.set(Vf[e].scheme.toLowerCase(),Vf[e]);var Uf=`lastclr`,Wf=e=>{if(!e)return null;let t=e.replace(`#`,``);if(t.length<6)return null;let n=parseInt(t.substring(0,2),16),r=parseInt(t.substring(2,4),16),i=parseInt(t.substring(4,6),16);return isNaN(n)||isNaN(r)||isNaN(i)?null:new ys.RGBA(n,r,i,1)},Gf=e=>new ys.HEX(e.red,e.green,e.blue,1).toString(!1).replace(`#`,``),Kf=e=>new ys.RGBA(e.rgbaColor.r,e.rgbaColor.g,e.rgbaColor.b,e.rgbaColor.a),qf=(e,t,n)=>{let r=Bf.valueOfName(e);if(!r)return null;if(r.system){let e=r.name;return{rgba:(t?t(e,!1):null)?.toRGBA()??n??Kf(r),systemName:e}}return{rgba:Kf(r),systemName:null}},Jf=e=>{if(!e)return null;let t=e.getAdjustments();if(t&&t.length>0)return null;let n=e.getType();return n===J.Type.Auto?J.Named.WindowText:n===J.Type.Named&&up.isSystem(e.getVal())?e.getVal():null},Yf=e=>e?{srgb:[e.red/255,e.green/255,e.blue/255],alpha:e.alpha===void 0?1:e.alpha}:null,Xf=function(e,t,n,r,i){let a,o=null,s=null,c=null,l=J.Type.Named;if(e.toLowerCase()===`auto`){let e=qf(J.Named.WindowText,r,i);a=Yf(e.rgba),o=e.systemName,l=J.Type.Auto}else{let t=qf(e,r,i);a=Yf(t?.rgba??null),o=t?.systemName??null}if(a===null&&((u=e)===`phClr`&&(u=`dk1`),Hf.get(u.toLowerCase()))){if(!t)throw Error(`a scheme val was used but a schemeLookup was not provided`);s=e;let n=t(s);c=n.toRGBA(),a=Yf(c),o=Jf(n),l=J.Type.Scheme}var u;if(a===null){let t=e.match(Ds)||e.match(Os);if(t){let e,n=1;t.length===4?e=[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]:(e=[parseInt(t[2],16),parseInt(t[3],16),parseInt(t[4],16)],n=Fs(parseInt(t[1],16)/255)),e=js(e),e=Ps(e),a={srgb:e,alpha:n},l=J.Type.Hex}}if(a===null){let t=e.match(xs)||e.match(Ss);if(t){let e=As(t[1],t[2],t[3]);e=js(e),e=Ps(e),a={srgb:e,alpha:t[4]?Fs(parseFloat(t[4])):1},l=J.Type.RGB}}if(a===null){let t=e.match(Cs)||e.match(ws);if(t){let e=As(t[1],t[2],t[3]);e=js(e,100),e=Rs(e),e=Ps(e),a={srgb:e,alpha:t[4]?Fs(parseFloat(t[4])):1},l=J.Type.LRGB}}if(a===null){let t=e.match(Ts)||e.match(Es);if(t){let e=As(t[1],t[2],t[3]);e=Vs(e),e=Ps(e),a={srgb:e,alpha:t[4]?Fs(parseFloat(t[4])):1},l=J.Type.HSL}}if(a===null){let t=e.match(ks);if(t){let e=parseInt(t[1]),r=n?.(e),i=r?r.toRGBA():xc(e);i&&(a={srgb:[i.red/255,i.green/255,i.blue/255],alpha:i.alpha},o=r?Jf(r):null,l=J.Type.Index)}}if(a===null)throw Error(`Not a valid color format: `+e);return{srgbAlpha:a,key:s,color:c,type:l,systemName:o}},Zf=(e,t)=>{let n=[...e.srgb],r=e.alpha===void 0?1:e.alpha,i=t?t.length:0;for(var a=0;a<i;a++){let e=t[a],i=Object.keys(e)[0],o=e[i];i===J.AdjustmentType.Alpha?(r=o/100,r=Math.max(0,Math.min(1,r))):i===J.AdjustmentType.AlphaOff?(r+=o/100,r=Math.max(0,Math.min(1,r))):i===J.AdjustmentType.AlphaMod?(r*=o/100,r=Math.max(0,Math.min(1,r))):i===J.AdjustmentType.Hue?n=rc(Ws,n,o):i===J.AdjustmentType.Sat?n=rc(Gs,n,o):i===J.AdjustmentType.Lum?n=rc(Ks,n,o):i===J.AdjustmentType.HueOff?n=ic(Ws,n,o):i===J.AdjustmentType.SatOff?n=ic(Gs,n,o):i===J.AdjustmentType.LumOff?n=ic(Ks,n,o):i===J.AdjustmentType.HueMod?n=ac(Ws,n,o):i===J.AdjustmentType.SatMod?n=ac(Gs,n,o):i===J.AdjustmentType.LumMod?n=ac(Ks,n,o):i===J.AdjustmentType.Red?n=oc(qs,n,o,Xs):i===J.AdjustmentType.Green?n=oc(Js,n,o,Xs):i===J.AdjustmentType.Blue?n=oc(Ys,n,o,Xs):i===J.AdjustmentType.RedOff?n=oc(qs,n,o,Zs):i===J.AdjustmentType.GreenOff?n=oc(Js,n,o,Zs):i===J.AdjustmentType.BlueOff?n=oc(Ys,n,o,Zs):i===J.AdjustmentType.RedMod?n=oc(qs,n,o,Qs):i===J.AdjustmentType.GreenMod?n=oc(Js,n,o,Qs):i===J.AdjustmentType.BlueMod?n=oc(Ys,n,o,Qs):i===J.AdjustmentType.Shade?n=$s(n,o):i===J.AdjustmentType.Tint?n=nc(n,o):i===J.AdjustmentType.ETint?n=tc(n,o):i===J.AdjustmentType.Gray?n=sc(n):i===J.AdjustmentType.Comp?n=cc(n):i===J.AdjustmentType.Inv?n=lc(n,o):i===J.AdjustmentType.Gamma?n=uc(n):i===J.AdjustmentType.InvGamma?n=dc(n):console.warn(`unknown adjustmentType: `+i)}return{srgb:n,alpha:r}},Qf=new Map,$f=Object.keys(J.AdjustmentType),ep=$f.length;for(let e=0;e<ep;e++){let t=$f[e];Qf.set(J.AdjustmentType[t].toLowerCase(),J.AdjustmentType[t])}var Y,tp,X,np,rp=RegExp(`\\s+\\s*(?![^()]*\\))|,\\s*(?![^()]*\\))`),ip=RegExp(`\\s*[,]\\s*|\\s+`),ap=null,op=null,sp=`--sxl-sys-color-`,cp=0,lp={[J.Scheme.Bg1]:`window`,[J.Scheme.Bg2]:`E7E6E6`,[J.Scheme.Tx1]:`windowText`,[J.Scheme.Tx2]:`44546A`,[J.Scheme.Accent1]:`4472C4`,[J.Scheme.Accent2]:`ED7D31`,[J.Scheme.Accent3]:`A5A5A5`,[J.Scheme.Accent4]:`FFC000`,[J.Scheme.Accent5]:`5B9BD5`,[J.Scheme.Accent6]:`70AD47`,[J.Scheme.Hlink]:`0563C1`,[J.Scheme.FolHlink]:`954F72`},up=class e{constructor(t,n,r,i=null,a){let o=null,s=null,c=i;if(t instanceof e)o=t.getVal(),t.getAdjustments()&&(s=[...t.getAdjustments()]),c??=t._private.last;else if(typeof t==`string`){let e=this._parse(t);o=e.val,s=e.adjs,e.last&&(c=Wf(e.last))}else if(t?.val){o=t.val,s=t.adjs;let e=t.last;e&&(c=Wf(e))}if(!o)throw Error(`Unable to determine color value`);let l=a??op;this._private={val:o,last:c,adjs:s,schemeLookup:n,indexedLookup:r,systemLookup:a,parsedVal:Xf(o,n,r,l,c),adjusted:null,resolved:null,resolvedEpoch:cp}}_parse(e){let t=null,n=e.trim(),r=n.split(rp);if(r&&(t=r[0],n=n.substring(t.length,n.length).trim()),!t)throw Error(`no color key found`);let i=[],a=null,o=n.split(ip),s=o.length;for(let e=0;e<s;e++){let t=o[e];if(!t)continue;if(t.toLowerCase()===Uf){e++,a=o[e];continue}let n=Qf.get(t.toLowerCase());if(!n)throw Error(`Invalid adjustment type:`+t);let r=null;if(n!==J.AdjustmentType.Gray&&n!==J.AdjustmentType.Comp&&n!==J.AdjustmentType.Inv&&n!==J.AdjustmentType.Gamma&&n!==J.AdjustmentType.InvGamma){e++;let n=o[e];if(r=parseFloat(n),r==null)throw Error(`Invalid adjustment value: missing value for'${t}'`);if(isNaN(r))throw Error(`Invalid adjustment value:`+n)}i.push({[n]:r})}return{val:t,last:a,adjs:i}}_forceDark(e=!0){this._resolve();let t=this._private.parsedVal,n=this._private.systemLookup??op;if(t.systemName&&n){let r=n(t.systemName,!0);if(r){let t=Zf(Yf(r.toRGBA()),this._private.adjs),n=Fs(t.alpha);if(e){let e=Ns(Ms([...t.srgb]));return new ys.RGBA(e[0],e[1],e[2],n)}let i=Us(t.srgb);return new ys.HSLA(i[0],i[1],i[2],n)}}let r=this._private.resolved,i=[r.red,r.green,r.blue];i=((e,t)=>{t=(t%360+360)%360;let n=[1,0,0,0,1,0,0,0,1],r=Math.cos(t*Math.PI/180),i=Math.sin(t*Math.PI/180);n[0]=pc+.7874*r-pc*i,n[1]=mc-mc*r-mc*i,n[2]=hc-hc*r+.9278*i,n[3]=pc-pc*r+.143*i,n[4]=mc+(1-mc)*r+.14*i,n[5]=hc-hc*r-.283*i,n[6]=pc-pc*r-.7874*i,n[7]=mc-mc*r+mc*i,n[8]=hc+.9278*r+hc*i;let a=e=>Math.round(Math.max(0,Math.min(255,e))),o=e[0],s=e[1],c=e[2];return[a(n[0]*o+n[1]*s+n[2]*c),a(n[3]*o+n[4]*s+n[5]*c),a(n[6]*o+n[7]*s+n[8]*c)]})(i,180),i=lc(i,!1);let a=Ls(i),o=Us(a);if(o[Ks]=.95*o[Ks],a=Vs(o),i=Rs(a),i=Ns(i),i=Ps(i,!1),e)return new ys.RGBA(i[0],i[1],i[2],r.alpha);let s=Us(Ls(i));return new ys.HSLA(s[0],s[1],s[2],r.alpha)}_resolve(){if(this._private.resolved){let e=this._private.parsedVal;if(!e.key&&!e.systemName)return;if(e.systemName){if(this._private.resolvedEpoch===cp)return}else{let t=this._private.schemeLookup(e.key)?.toRGBA();if(t===e.color||t?.isEqual(e.color))return}}let e=this._private.systemLookup??op,t=Xf(this._private.val,this._private.schemeLookup,this._private.indexedLookup,e,this._private.last),n=t.srgbAlpha,r=Zf(n,this._private.adjs),i=Ms(r.srgb);i=Ns(i);let a=Fs(r.alpha);this._private.adjusted=r,this._private.parsedVal=t,this._private.resolved=new ys.RGBA(i[0],i[1],i[2],a),this._private.resolvedEpoch=cp}static parse(t,n,r,i=null,a){if(t instanceof e)return t;let o=t,s=null,c=o?.trim(),l=null;try{if(!s){let e=c?.split(rp);e&&(s=e[0],c=c.substring(s.length,c.length).trim())}if(!s)throw Error(`no color found`);let t=[],o=null,u=c.split(ip),d=u.length;for(let e=0;e<d;e++){let n=u[e];if(!n)continue;if(n.toLowerCase()===Uf){e++,o=u[e];continue}let r=Qf.get(n.toLowerCase());if(!r)throw Error(`Invalid adjustment type:`+n);let i=null;if(r!==J.AdjustmentType.Gray&&r!==J.AdjustmentType.Comp&&r!==J.AdjustmentType.Inv&&r!==J.AdjustmentType.Gamma&&r!==J.AdjustmentType.InvGamma){e++;let t=u[e];if(i=parseFloat(t),i==null)throw Error(`Invalid adjustment value: missing value for'${n}'`);if(isNaN(i))throw Error(`Invalid adjustment value:`+t)}t.push({[r]:i})}l=new e({val:s,adjs:t,last:o},n,r,i,a)}catch(e){throw e}return l}static isSystem(e){return!!e&&!0===Bf.valueOfName(e)?.system}static getDefaultSystemLookup(){return op}static setDefaultSystemLookup(e){let t=op;return op=e??null,cp++,t}static getSystemEpoch(){return cp}static invalidateSystemColors(){cp++}static getSystemColorDefaults(){return Bf.getSystemColorDefaults()}static getDefaultSchemeLookup(){if(!ap){let t=new Map,n=Object.keys(lp),r=n.length;for(let i=0;i<r;i++){let r=n[i];t.set(r.toLowerCase(),e.parse(lp[r],null))}ap=e=>t.get(e.toLowerCase())}return ap}isEqual(t){return t instanceof e&&this.toString().toLowerCase()===t.toString().toLowerCase()}getVal(){return this._private.val}getAdjustments(){return this._private.adjs}getBaseColor(){return new e({val:this._private.val,adjs:null},this._private.schemeLookup,this._private.indexedLookup,this._private.last,this._private.systemLookup)}getLastColor(){return this._private.last&&this._private.parsedVal.systemName?Gf(this._private.last):null}getType(){return this._resolve(),this._private.parsedVal.type??null}adjust(t){return new e({val:this._private.val,adjs:this._private.adjs?this._private.adjs.concat(t):t},this._private.schemeLookup,this._private.indexedLookup,this._private.last,this._private.systemLookup)}_systemCSSVar(e){this._resolve();let t=this._private.parsedVal;if(!t.systemName||this._private.adjs&&this._private.adjs.length>0)return null;let n=t.systemName.toLowerCase(),r=qf(t.systemName,null,this._private.last).rgba,i=`#`+Gf(r),a=`${sp}${n}`;return e?`var(${a}-dark, var(${a}, ${i}))`:`var(${a}, ${i})`}toCSS(e=!1,t=!1){if(e===`adaptive`){let e=this.toCSS(!1,t),n=this.toCSS(!0,t);return e===n?e:`light-dark(${e}, ${n})`}let n=!0===e,r=this._systemCSSVar(n);if(r)return r;let i=n?this._forceDark():this.toRGBA();return i.alpha===0?`none`:i.toString(t)}toRGBA(e=!1){return this._resolve(),e?this._forceDark():this._private.resolved}toHSLA(e=!1){if(this._resolve(),e)return this._forceDark(!1);let t=Us(this._private.adjusted.srgb);return new ys.HSLA(t[0],t[1],t[2],Fs(this._private.adjusted.alpha??1))}toHex(e=!1){this._resolve();let t=e?this._forceDark():this._private.resolved;return new ys.HEX(t.red,t.green,t.blue,t.alpha??1)}toBlackOrWhite(t=!1,n=157){let r=this.toRGBA(t),i=.299*r.red+.587*r.green+.114*r.blue>n;return new e(i?`#000000`:`#FFFFFF`,this._private.schemeLookup,this._private.indexedLookup,this._private.last,this._private.systemLookup)}get[Symbol.toStringTag](){return this.toString()}toString(){let e=this._private.val,t=this._private.adjs,n=t?t.length:0;for(let r=0;r<n;r++){let i=t[r];if(!i)continue;let a=Object.keys(i)[0];e+=` `+a;let o=i[a];typeof o==`number`&&(e+=` `+o),r<n-1&&(e+=`,`)}let r=this.getLastColor();return r&&(e+=` lastClr `+r),e}get isIColor(){return!0}};(tp=Y||={}).Type={None:`none`,Solid:`solid`,Gradient:`gradient`,Pattern:`pattern`,Image:`pattern`,Background:`background`,Group:`group`,Custom:`custom`},tp.GradientType={Linear:`linear`,Path:`path`,Rect:`rect`,Shape:`shape`},tp.TileMirror={None:`none`,Vertical:`v`,Horizontal:`h`,Both:`b`},tp.BuiltInSheetPattern={None:`none`,Solid:`solid`,DarkGray:`darkGray`,MediumGray:`mediumGray`,LightGray:`lightGray`,Gray0625:`gray0625`,Gray125:`gray125`,DarkHorizontal:`darkHorizontal`,DarkVertical:`darkVertical`,DarkDown:`darkDown`,DarkUp:`darkUp`,DarkGrid:`darkGrid`,DarkTrellis:`darkTrellis`,LightHorizontal:`lightHorizontal`,LightVertical:`lightVertical`,LightDown:`lightDown`,LightUp:`lightUp`,LightGrid:`lightGrid`,LightTrellis:`lightTrellis`,Custom:`custom`},function(e){let t=e.BuiltInName={Normal:`Normal`,RowLevel:`RowLevel_#`,ColLevel:`ColLevel_#`,Comma:`Comma`,Currency:`Currency`,Percent:`Percent`,Comma0:`Comma [0]`,Currency0:`Currency [0]`,Hyperlink:`Hyperlink`,FollowedHyperlink:`Followed Hyperlink`,Note:`Note`,WarningText:`Warning Text`,Unknown12:`??-12`,Unknown13:`??-13`,Unknown14:`??-14`,Title:`Title`,Heading1:`Heading 1`,Heading2:`Heading 2`,Heading3:`Heading 3`,Heading4:`Heading 4`,Input:`Input`,Output:`Output`,Calculation:`Calculation`,CheckCell:`Check Cell`,LinkedCell:`Linked Cell`,Total:`Total`,Good:`Good`,Bad:`Bad`,Neutral:`Neutral`,Accent1:`Accent1`,Accent1_20:`20% - Accent1`,Accent1_40:`40% - Accent1`,Accent1_60:`60% - Accent1`,Accent2:`Accent2`,Accent2_20:`20% - Accent2`,Accent2_40:`40% - Accent2`,Accent2_60:`60% - Accent2`,Accent3:`Accent3`,Accent3_20:`20% - Accent3`,Accent3_40:`40% - Accent3`,Accent3_60:`60% - Accent3`,Accent4:`Accent4`,Accent4_20:`20% - Accent4`,Accent4_40:`40% - Accent4`,Accent4_60:`60% - Accent4`,Accent5:`Accent5`,Accent5_20:`20% - Accent5`,Accent5_40:`40% - Accent5`,Accent5_60:`60% - Accent5`,Accent6:`Accent6`,Accent6_20:`20% - Accent6`,Accent6_40:`40% - Accent6`,Accent6_60:`60% - Accent6`,ExplanatoryText:`Explanatory Text`},n=Object.values(t);e.builtInNameFromId=function(e){return n[e]},e.IconSet={Arrows3:`3Arrows`,ArrowsGray3:`3ArrowsGray`,Flags3:`3Flags`,Signs3:`3Signs`,Symbols3:`3Symbols`,Symbols3_2:`3Symbols2`,TrafficLights3:`3TrafficLights1`,TrafficLights3_2:`3TrafficLights2`,Triangles3:`3Triangles`,Stars3:`3Stars`,Arrows4:`4Arrows`,ArrowsGray4:`4ArrowsGray`,Rating4:`4Rating`,RedToBlack4:`4RedToBlack`,TrafficLights4:`4TrafficLights`,Arrows5:`5Arrows`,ArrowsGray5:`5ArrowsGray`,Quarters5:`5Quarters`,Rating5:`5Rating`,Boxes5:`5Boxes`}}(X||={}),(np||={}).BuiltInFilterType={BuiltIn:`builtIn`,All:`all`,Custom:`custom`};var dp,fp=[[`Office`,`windowText`,`window`,`0E2841`,`E8E8E8`,`156082`,`E97132`,`196B24`,`0F9ED5`,`A02B93`,`4EA72E`,`467886`,`96607D`],[`Office 2013-2022`,`windowText`,`window`,`44546A`,`E7E6E6`,`4472C4`,`ED7D31`,`A5A5A5`,`FFC000`,`5B9BD5`,`70AD47`,`0563C1`,`954F72`],[`Office 2007-2010`,`windowText`,`window`,`1F497D`,`EEECE1`,`4F81BD`,`C0504D`,`9BBB59`,`8064A2`,`4BACC6`,`F79646`,`0000FF`,`800080`],[`Grayscale`,`windowText`,`window`,`000000`,`F8F8F8`,`DDDDDD`,`B2B2B2`,`969696`,`808080`,`5F5F5F`,`4D4D4D`,`5F5F5F`,`919191`],[`Atlas`,`windowText`,`window`,`454545`,`E0E0E0`,`F81B02`,`FC7715`,`AFBF41`,`50C49F`,`3B95C4`,`B560D4`,`FC5A1A`,`B49E74`],[`Banded`,`2C2C2C`,`FFFFFF`,`099BDD`,`F2F2F2`,`FFC000`,`A5D028`,`08CC78`,`F24099`,`828288`,`F56617`,`005DBA`,`6C606A`],[`Basis`,`000000`,`FFFFFF`,`565349`,`DDDDDD`,`A6B727`,`DF5327`,`FE9E00`,`418AB3`,`D7D447`,`818183`,`F59E00`,`B2B2B2`],[`Berlin`,`windowText`,`window`,`9D360E`,`E7E6E6`,`F09415`,`C1B56B`,`4BAF73`,`5AA6C0`,`D17DF9`,`FA7E5C`,`FFAE3E`,`FCC77E`],[`Celestial`,`windowText`,`window`,`18276C`,`EBEBEB`,`AC3EC1`,`477BD1`,`46B298`,`90BA4C`,`DD9D31`,`E25247`,`C573D2`,`CCAEE8`],[`Circuit`,`windowText`,`window`,`134770`,`82FFFF`,`9ACD4C`,`FAA93A`,`D35940`,`B258D3`,`63A0CC`,`8AC4A7`,`B8FA56`,`7AF8CC`],[`Damask`,`windowText`,`window`,`2A5B7F`,`ABDAFC`,`9EC544`,`50BEA3`,`4A9CCC`,`9A66CA`,`C54F71`,`DE9C3C`,`6BA9DA`,`A0BCD3`],[`Depth`,`windowText`,`window`,`455F51`,`94D7E4`,`41AEBD`,`97E9D5`,`A2CF49`,`608F3D`,`F4DE3A`,`FCB11C`,`FBCA98`,`D3B86D`],[`Dividend`,`windowText`,`window`,`3D3D3D`,`EBEBEB`,`4D1434`,`903163`,`B2324B`,`969FA7`,`66B1CE`,`40619D`,`828282`,`A5A5A5`],[`Droplet`,`windowText`,`window`,`355071`,`AABED7`,`2FA3EE`,`4BCAAD`,`86C157`,`D99C3F`,`CE6633`,`A35DD1`,`56BCFE`,`97C5E3`],[`Facet`,`windowText`,`window`,`2C3C43`,`EBEBEB`,`90C226`,`54A021`,`E6B91E`,`E76618`,`C42F1A`,`918655`,`99CA3C`,`B9D181`],[`Frame`,`000000`,`FFFFFF`,`545454`,`BFBFBF`,`40BAD2`,`FAB900`,`90BB23`,`EE7008`,`1AB39F`,`D5393D`,`90BB23`,`EE7008`],[`Gallery`,`windowText`,`window`,`454545`,`DFDBD5`,`B71E42`,`DE478E`,`BC72F0`,`795FAF`,`586EA6`,`6892A0`,`FA2B5C`,`BC658E`],[`Integral`,`windowText`,`window`,`335B74`,`DFE3E5`,`1CADE4`,`2683C6`,`27CED7`,`42BA97`,`3E8853`,`62A39F`,`6B9F25`,`B26B02`],[`Ion Boardroom`,`windowText`,`window`,`3B3059`,`EBEBEB`,`B31166`,`E33D6F`,`E45F3C`,`E9943A`,`9B6BF2`,`D53DD0`,`8F8F8F`,`A5A5A5`],[`Ion`,`windowText`,`window`,`1E5155`,`EBEBEB`,`B01513`,`EA6312`,`E6B729`,`6AAC90`,`54849A`,`9E5E9B`,`58C1BA`,`9DFFCB`],[`Madison`,`windowText`,`window`,`1F2D29`,`C5FAEB`,`A1D68B`,`5EC795`,`4DADCF`,`CDB756`,`E29C36`,`8EC0C1`,`6D9D9B`,`6D8583`],[`Main Event`,`windowText`,`window`,`424242`,`C8C8C8`,`B80E0F`,`A6987D`,`7F9A71`,`64969F`,`9B75B2`,`80737A`,`F21213`,`B6A394`],[`Mesh`,`windowText`,`window`,`363D46`,`EBEBEB`,`6F6F6F`,`BFBFA5`,`DCD084`,`E7BF5F`,`E9A039`,`CF7133`,`F28943`,`F1B76C`],[`Metropolitan`,`windowText`,`window`,`162F33`,`EAF0E0`,`50B4C8`,`A8B97F`,`9B9256`,`657689`,`7A855D`,`84AC9D`,`2370CD`,`877589`],[`Organic`,`windowText`,`window`,`212121`,`DADADA`,`83992A`,`3C9770`,`44709D`,`A23C33`,`D97828`,`DEB340`,`A8BF4D`,`B4CA80`],[`Parallax`,`windowText`,`window`,`212121`,`CDD0D1`,`30ACEC`,`80C34F`,`E29D3E`,`D64A3B`,`D64787`,`A666E1`,`3085ED`,`82B6F4`],[`Parcel`,`000000`,`FFFFFF`,`4A5356`,`E8E3CE`,`F6A21D`,`9BAFB5`,`C96731`,`9CA383`,`87795D`,`A0988C`,`00B0F0`,`738F97`],[`Quotable`,`windowText`,`window`,`212121`,`636363`,`00C6BB`,`6FEBA0`,`B6DF5E`,`EFB251`,`EF755F`,`ED515C`,`8F8F8F`,`A5A5A5`],[`Retrospect`,`000000`,`window`,`637052`,`CCDDEA`,`E48312`,`BD582C`,`865640`,`9B8357`,`C2BC80`,`94A088`,`2998E3`,`8C8C8C`],[`Savon`,`windowText`,`window`,`1485A4`,`E3DED1`,`1CADE4`,`2683C6`,`27CED7`,`42BA97`,`3E8853`,`62A39F`,`F49100`,`739D9B`],[`Slate`,`windowText`,`window`,`212123`,`DADADA`,`BC451B`,`D3BA68`,`BB8640`,`AD9277`,`A55A43`,`AD9D7B`,`E98052`,`F4B69B`],[`Slice`,`windowText`,`window`,`146194`,`76DBF4`,`052F61`,`A50E82`,`14967C`,`6A9E1F`,`E87D37`,`C62324`,`0D2E46`,`356A95`],[`Vapor Trail`,`windowText`,`window`,`454545`,`DADADA`,`DF2E28`,`FE801A`,`E9BF35`,`81BB42`,`32C7A9`,`4A9BDC`,`F0532B`,`F38B53`],[`View`,`000000`,`FFFFFF`,`46464A`,`D6D3CC`,`6F6F74`,`92A9B9`,`A7B789`,`B9A489`,`8D6374`,`9B7362`,`67AABF`,`ABAFA5`],[`Wisp`,`windowText`,`window`,`766F54`,`E3EACF`,`A53010`,`DE7E18`,`9F8351`,`728653`,`92AA4C`,`6AAC91`,`FB4A18`,`FB9318`],[`Wood Type`,`windowText`,`window`,`696464`,`E9E5DC`,`D34817`,`9B2D1F`,`A28E6A`,`956251`,`918485`,`855D5D`,`CC9900`,`96A9A9`]],pp=[[`Office`,`Calibri Light`,`Calibri`],[`Office 2013-2022`,`Calibri Light`,`Calibri`],[`Office 2007-2010`,`Calibri Light`,`Calibri`],[`Grayscale`,`Calibri Light`,`Calibri`],[`Atlas`,`Calibri Light`,`Rockwell`],[`Banded`,`Corbel`,`Corbel`],[`Basis`,`Corbel`,`Corbel`],[`Berlin`,`Trebuchet MS`,`Trebuchet MS`],[`Celestial`,`Calibri Light`,`Calibri`],[`Circuit`,`Tw Cen MT`,`Tw Cen MT`],[`Damask`,`Bookman Old Style`,`Rockwell`],[`Depth`,`Corbel`,`Corbel`],[`Madison`,`Arial`,`Arial`],[`Main Event`,`Impact`,`Impact`],[`Mesh`,`Century Gothic`,`Century Gothic`],[`Metropolitan`,`Calibri Light`,`Calibri Light`],[`Organic`,`Garamond`,`Garamond`],[`Parallax`,`Corbel`,`Corbel`],[`Parcel`,`Gill Sans MT`,`Gill Sans MT`],[`Quotable`,`Century Gothic`,`Century Gothic`],[`Retrospect`,`Calibri Light`,`Calibri`],[`Savon`,`Century Gothic`,`Century Gothic`],[`Slate`,`Calisto MT`,`Calisto MT`],[`Slice`,`Century Gothic`,`Century Gothic`],[`Vapor Trail`,`Century Gothic`,`Century Gothic`],[`View`,`Century Schoolbook`,`Century Schoolbook`],[`Wisp`,`Century Gothic`,`Century Gothic`],[`Wood Type`,`Rockwell Condensed`,`Rockwell`]],mp=[[`Office`,`Office`,`Office`],[`2013-2022`,`Office 2013-2022`,`Office 2013-2022`],[`Atlas`,`Atlas`,`Atlas`],[`Banded`,`Banded`,`Banded`],[`Basis`,`Basis`,`Basis`],[`Berlin`,`Berlin`,`Berlin`],[`Celestial`,`Celestial`,`Celestial`],[`Circuit`,`Circuit`,`Circuit`],[`Damask`,`Damask`,`Damask`],[`Depth`,`Depth`,`Depth`],[`Dividend`,`Dividend`,`Dividend`],[`Droplet`,`Droplet`,`Droplet`],[`Facet`,`Facet`,`Facet`],[`Frame`,`Frame`,`Frame`],[`Gallery`,`Gallery`,`Gallery`],[`Grayscale`,`Grayscale`,`Grayscale`],[`Integral`,`Integral`,`Integral`],[`Ion Boardroom`,`Ion Boardroom`,`Ion Boardroom`],[`Ion`,`Ion`,`Ion`],[`Madison`,`Madison`,`Madison`],[`Main Event`,`Main Event`,`Main Event`],[`Mesh`,`Mesh`,`Mesh`],[`Metropolitan`,`Metropolitan`,`Metropolitan`],[`Organic`,`Organic`,`Organic`],[`Parallax`,`Parallax`,`Parallax`],[`Parcel`,`Parcel`,`Parcel`],[`Quotable`,`Quotable`,`Quotable`],[`Retrospect`,`Retrospect`,`Retrospect`],[`Savon`,`Savon`,`Savon`],[`Slate`,`Slate`,`Slate`],[`Slice`,`Slice`,`Slice`],[`Vapor Trail`,`Vapor Trail`,`Vapor Trail`],[`View`,`View`,`View`],[`Wisp`,`Wisp`,`Wisp`],[`Wood Type`,`Wood Type`,`Wood Type`],[`Office 2007-2010`,`Office 2007-2010`,`Office 2007-2010`]],hp=`Themes is readonly. To make modifications create a new DocsThemes instance.`,gp={[J.Scheme.Bg1]:`lt1`,[J.Scheme.Bg2]:`lt2`,[J.Scheme.Tx1]:`dk1`,[J.Scheme.Tx2]:`dk2`,[J.Scheme.Accent1]:`accent1`,[J.Scheme.Accent2]:`accent2`,[J.Scheme.Accent3]:`accent3`,[J.Scheme.Accent4]:`accent4`,[J.Scheme.Accent5]:`accent5`,[J.Scheme.Accent6]:`accent6`,[J.Scheme.Hlink]:`hlink`,[J.Scheme.FolHlink]:`folHlink`},_p=`Office`,vp=[_p,`Calibri Light`,`Calibri`],yp=[`dk1`,`lt1`,`dk2`,`lt2`,`accent1`,`accent2`,`accent3`,`accent4`,`accent5`,`accent6`,`hlink`,`folHlink`],bp=e=>{let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r],i=n[0],a={name:i};t[i]=a;let o=yp.length;for(let e=0;e<o;e++){let t=yp[e],r=n[e+1];if(!r)continue;let i=up.parse(r);i&&(a[t]=i.toString())}}return t},xp=e=>{let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r],i=n[0],a={name:i};t[i]=a,a.majorFont=n[1]??vp[1],a.minorFont=n[2]??vp[2]}return t},Sp=bp([[_p,`windowText`,`window`,`44546A`,`E7E6E6`,`4472C4`,`ED7D31`,`A5A5A5`,`FFC000`,`5B9BD5`,`70AD47`,`0563C1`,`954F72`]]),Cp=xp([vp]),wp=Sp[_p],Tp=Cp[_p],Ep=null,Dp=new class{constructor(){this._colors={};let e=yp.length;for(let t=0;t<e;t++){let e=yp[t],n=up.parse(wp[e]);this._colors[e]=n}}getName(){return wp.name}getDk1(){return this._colors.dk1}getLt1(){return this._colors.lt1}getDk2(){return this._colors.dk2}getLt2(){return this._colors.lt2}getAccent1(){return this._colors.accent1}getAccent2(){return this._colors.accent2}getAccent3(){return this._colors.accent3}getAccent4(){return this._colors.accent4}getAccent5(){return this._colors.accent5}getAccent6(){return this._colors.accent6}getHlink(){return this._colors.hlink}getFolHlink(){return this._colors.folHlink}toJSON(){return null}},Op=class{constructor(e,t=Dp){this._delegate=t,this._fromJSON(e)}_fromJSON(e){if(this._overrides={},!e)return;let t=Object.keys(e),n=t.length;if(n!==0)for(let r=0;r<n;r++){let n=t[r];this._overrides[n]=n===`name`?e[n]:up.parse(e[n])}}_value(e,t){return this._overrides&&this._overrides[e]!==null&&this._overrides[e]!==void 0?this._overrides[e]:this._delegate?.[t]?.()}getName(){return this._value(`name`,`getName`)}getDk1(){return this._value(`dk1`,`getDk1`)}getLt1(){return this._value(`lt1`,`getLt1`)}getDk2(){return this._value(`dk2`,`getDk2`)}getLt2(){return this._value(`lt2`,`getLt2`)}getAccent1(){return this._value(`accent1`,`getAccent1`)}getAccent2(){return this._value(`accent2`,`getAccent2`)}getAccent3(){return this._value(`accent3`,`getAccent3`)}getAccent4(){return this._value(`accent4`,`getAccent4`)}getAccent5(){return this._value(`accent5`,`getAccent5`)}getAccent6(){return this._value(`accent6`,`getAccent6`)}getHlink(){return this._value(`hlink`,`getHlink`)}getFolHlink(){return this._value(`folHlink`,`getFolHlink`)}toJSON(){let e=n.CommonUtils.toSafeJSON(this._overrides),t=this.getName();return t&&(e.name=t),e}},kp=new class{constructor(){this._colors={};let e=yp.length;for(let t=0;t<e;t++){let e=yp[t],n=up.parse(wp[e]);this._colors[e]=n}}getName(){return Tp.name}getMajorFont(){return Tp.majorFont}getMinorFont(){return Tp.minorFont}getMajorFallbacks(){return Tp.majorFallbacks}getMinorFallbacks(){return Tp.minorFallbacks}},Ap=class{constructor(e,t=kp){this._delegate=t,this._fromJSON(e)}_fromJSON(e){if(this._overrides={},!e)return;let t=Object.keys(e),n=t.length;if(n!==0)for(let r=0;r<n;r++){let n=t[r];this._overrides[n]=e[n]}}_value(e,t){return this._overrides&&this._overrides[e]!==null&&this._overrides[e]!==void 0?this._overrides[e]:this._delegate?.[t]?.()}getName(){return this._value(`name`,`getName`)}getMajorFont(){return this._value(`majorFont`,`getMajorFont`)}getMinorFont(){return this._value(`minorFont`,`getMinorFont`)}getMajorFallbacks(){return this._value(`majorFallbacks`,`getMajorFallbacks`)}getMinorFallbacks(){return this._value(`minorFallbacks`,`getMinorFallbacks`)}toJSON(){let e=n.CommonUtils.toSafeJSON(this._overrides),t=this.getName();return t&&(e.name=t),e}},jp=class{constructor(e,t=null,n=null){if(this._cacheColors=new Map,this._cacheEpoch=up.getSystemEpoch(),!t&&e?.name){let n=Ep?Ep.get(e.name.toLowerCase()):null;n&&(t=n)}!t&&Ep&&(t=Ep.get(_p.toLowerCase())??null),this._name=e?.name??t?.getName(),this._builtInID=n,this._delegate=t,this._formatSchemeXml=e?.formatSchemeXml,this._fillStyleLst=e?.fillStyleLst,this._lnStyleLst=e?.lnStyleLst,this._effectStyleLst=e?.effectStyleLst,this._bgFillStyleLst=e?.bgFillStyleLst,this._colors=new Op(e?.colors,this._delegate?.getColorScheme()),this._fonts=new Ap(e?.fonts,this._delegate?.getFontScheme());let r=gp,i={},a=Object.keys(r),o=a.length;for(let e=0;e<o;e++){let t=a[e];i[t]=`get${x(r[t])}`}i.dk1=`getDk1`,i.dk2=`getDk2`,i.lt1=`getLt1`,i.lt2=`getLt2`,i.folhlink=`getFolHlink`,this._colorMap=i;let s=this;this._schemeLookup=e=>{let t=up.getSystemEpoch();s._cacheEpoch!==t&&(s._cacheColors=new Map,s._cacheEpoch=t);let n=s._cacheColors.get(e);if(n)return n;e===`phClr`&&(e=J.Scheme.Tx1);let r=s._colorMap[e];if(!r)throw Error(`Invalid color scheme key: ${e}`);let i=s.getColorScheme(),a=i[r].bind(i)();return a||=wp[gp[e]??e],n=new up(a),s._cacheColors.set(e,n),n}}get builtInID(){return this._builtInID??null}getName(){return(this._name??this._delegate?.getName())||`Custom`}isCustom(){return this._builtInID!==null&&this._builtInID!==void 0}getColorScheme(){return this._colors}getFontScheme(){return this._fonts}schemeLookup(){return this._schemeLookup}parseColor(e){return up.parse(e,this._schemeLookup)}toJSON(){let e={name:this.getName()},t=this._colors.toJSON();t&&(Object.keys(t).length>1||t.name&&t.name!==e.name)&&(e.colors=t);let n=this._fonts.toJSON();return n&&(Object.keys(n).length>1||n.name&&n.name!==e.name)&&(e.fonts=n),this._fillStyleLst&&(e.fillStyleLst=this._fillStyleLst),this._lnStyleLst&&(e.lnStyleLst=this._lnStyleLst),this._effectStyleLst&&(e.effectStyleLst=this._effectStyleLst),this._bgFillStyleLst&&(e.bgFillStyleLst=this._bgFillStyleLst),this._formatSchemeXml&&(e.formatSchemeXml=this._formatSchemeXml),Object.keys(e).length===1&&e.name===_p?null:e}},Mp=()=>{if(Ep)return Ep;let e=((e,t,n)=>{let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a],o=i[0],s=t[i[1]]??wp,c=n[i[2]]??Tp;r.push({name:o,colors:s,fonts:c})}return r})(mp,bp(fp),xp(pp)),t=new Map,n=e.length;for(let r=0;r<n;r++){let n=new jp(null,new jp(e[r]),r+1);t.set(n.getName().toLowerCase(),n)}return Ep=t,t},Np=class{constructor(e=null,t=!1){Mp(),this._isReadOnly=t,this._customMap=new Map,this._defaultTheme=this.getByName(`Office`)}getDefaultTheme(){return this._defaultTheme}setDefaultTheme(e){if(this._isReadOnly)throw Error(hp);if(!e)throw Error(`Theme cannot be null.`);let t=this.getDefaultTheme();return this.getByName(e.getName())||this.setCustomTheme(e),this._defaultTheme=e,t}getByName(e){return e=e.toLowerCase(),this._customMap.get(e)||(Ep.get(e)??null)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t=e?.type??np.BuiltInFilterType.All,r=new Map;return t!==np.BuiltInFilterType.BuiltIn&&t!==np.BuiltInFilterType.All||Ep.forEach((e,t)=>r.set(t,e)),t!==np.BuiltInFilterType.Custom&&t!==np.BuiltInFilterType.All||this._customMap.forEach((e,t)=>r.set(t,e)),e?.selected&&r.set(e.selected.getName().toLowerCase(),e.selected),(e=>{let t=[...e];return t.sort((e,t)=>n.CommonUtils.isDefined(e.builtInID)&&!n.CommonUtils.isDefined(t.builtInID)?1:!n.CommonUtils.isDefined(e.builtInID)&&n.CommonUtils.isDefined(t.builtInID)?-1:n.CommonUtils.isDefined(e.builtInID)&&n.CommonUtils.isDefined(t.builtInID)?e.builtInID-t.builtInID:e.getName().localeCompare(t.getName())),t})(Array.from(r.values()))}getCount(){return this._customMap.size+Ep.size}setCustomTheme(e){if(this._isReadOnly)throw Error(hp);let t=e.getName().toLowerCase(),n=this._customMap.get(t);return this._customMap.set(t,e),n??null}deleteCustomTheme(e){if(this._isReadOnly)throw Error(hp);let t=null;t=typeof e==`string`?e.toLowerCase():e.getName().toLowerCase();let n=this._customMap.get(t);return this._customMap.delete(t),n??null}};(dp||={}).ElementType={WholeTable:`wholeTable`,FirstColumnStripe:`firstColumnStripe`,SecondColumnStripe:`secondColumnStripe`,FirstRowStripe:`firstRowStripe`,SecondRowStripe:`secondRowStripe`,LastColumn:`lastColumn`,FirstColumn:`firstColumn`,HeaderRow:`headerRow`,TotalRow:`totalRow`,FirstHeaderCell:`firstHeaderCell`,LastHeaderCell:`lastHeaderCell`,FirstTotalCell:`firstTotalCell`,LastTotalCell:`lastTotalCell`},(dp||={}).Empty=class{constructor(e){this._normalStyle=e}getName(){return`None`}isShownInTableStyles(){return!1}isShownInPivotStyles(){return!1}getRanged(e){return null}getProperties(){return n.CommonUtils.EmptyObject}isBuiltIn(){return!0}delete(){}toJSON(){return null}get isITableStyle(){return!0}};var Pp=Object.freeze({fallbacks:n.CommonUtils.EmptyArray,weight:400,style:U.Style.Normal,color:J.Scheme.Tx1,letterSpacing:null,underline:U.UnderlineStyle.None,strike:!1,scheme:U.Scheme.None,verticalAlign:U.VerticalAlignment.Baseline,shadow:!1,outline:!1,extend:!1}),Fp=Object.freeze({style:W.StrokeStyle.None,color:J.Scheme.Tx1}),Ip=Object.freeze({[W.Edge.Top]:Fp,[W.Edge.Left]:Fp,[W.Edge.Bottom]:Fp,[W.Edge.Right]:Fp,[W.Edge.Horizontal]:Fp,[W.Edge.Vertical]:Fp,[W.Edge.DiagonalUp]:Fp,[W.Edge.DiagonalDown]:Fp}),Lp=Object.freeze({horizontal:o.HorizontalAlignment.General,vertical:o.VerticalAlignment.Bottom,indent:0,relativeIndent:0,overflow:o.Overflow.Visible,rotation:0,stacked:!1,quotePrefix:!1,justifyLastLine:!1,readingOrder:o.ReadingDirection.Auto,readingDirection:o.ReadingDirection.Auto}),Rp=Object.freeze({locked:!1,formulaHidden:!1}),zp=Object.freeze({fill:Object.freeze({type:Y.Type.None}),numberFormat:`General`,alignment:Lp,font:Pp,border:Ip,protection:Rp,quotePrefix:!1,namedStyle:null}),Bp=(()=>{let e=[{named:X.BuiltInName.Normal},{named:X.BuiltInName.RowLevel},{named:X.BuiltInName.ColLevel},{named:X.BuiltInName.Comma,numberFormat:`_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)`},{named:X.BuiltInName.Currency,numberFormat:`_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)`},{named:X.BuiltInName.Percent,numberFormat:`0%`},{named:X.BuiltInName.Comma0,numberFormat:`_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)`},{named:X.BuiltInName.Currency0,numberFormat:`_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)`},{named:X.BuiltInName.Hyperlink,font:{color:J.Scheme.Hlink,underline:U.UnderlineStyle.Single}},{named:X.BuiltInName.FollowedHyperlink,font:{color:J.Scheme.FolHlink,underline:U.UnderlineStyle.Single}},{named:X.BuiltInName.Note,fill:`FFFFFFCC`,font:{style:U.Style.Normal,color:J.Scheme.Tx1},border:{left:{style:W.StrokeStyle.Thin,color:`FFB2B2B2`},top:{style:W.StrokeStyle.Thin,color:`FFB2B2B2`},right:{style:W.StrokeStyle.Thin,color:`FFB2B2B2`},bottom:{style:W.StrokeStyle.Thin,color:`FFB2B2B2`}}},{named:X.BuiltInName.WarningText,font:{color:`FFFF0000`}},{named:X.BuiltInName.Unknown12},{named:X.BuiltInName.Unknown13},{named:X.BuiltInName.Unknown14},{named:X.BuiltInName.Title,font:{size:18,color:J.Scheme.Tx2}},{named:X.BuiltInName.Heading1,font:{size:15,weight:700,color:J.Scheme.Tx2},border:{bottom:{style:W.StrokeStyle.Thick,color:J.Scheme.Accent1}}},{named:X.BuiltInName.Heading2,font:{size:13,weight:700,color:J.Scheme.Tx2},border:{bottom:{style:W.StrokeStyle.Thick,color:`accent1 lumMod 40, lumOff 60`}}},{named:X.BuiltInName.Heading3,font:{weight:700,color:J.Scheme.Tx2},border:{bottom:{style:W.StrokeStyle.Medium,color:`accent1 lumMod 40, lumOff 60`}}},{named:X.BuiltInName.Heading4,font:{weight:700,color:J.Scheme.Tx2}},{named:X.BuiltInName.Input,fill:`FFFFCC99`,font:{color:`FF3F3F76`},border:{left:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},top:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},right:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},bottom:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`}}},{named:X.BuiltInName.Output,fill:`FFF2F2F2`,font:{color:`FF3F3F3F`},border:{left:{style:W.StrokeStyle.Thin,color:`FF3F3F3F`},top:{style:W.StrokeStyle.Thin,color:`FF3F3F3F`},right:{style:W.StrokeStyle.Thin,color:`FF3F3F3F`},bottom:{style:W.StrokeStyle.Thin,color:`FF3F3F3F`}}},{named:X.BuiltInName.Calculation,fill:`FFF2F2F2`,font:{color:`FFFA7D00`},border:{left:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},top:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},right:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},bottom:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`}}},{named:X.BuiltInName.CheckCell,fill:`FFA5A5A5`,font:{color:J.Scheme.Bg1},border:{left:{style:W.StrokeStyle.Double,color:`FF3F3F3F`},top:{style:W.StrokeStyle.Double,color:`FF3F3F3F`},right:{style:W.StrokeStyle.Double,color:`FF3F3F3F`},bottom:{style:W.StrokeStyle.Double,color:`FF3F3F3F`}}},{named:X.BuiltInName.LinkedCell,font:{color:`FFFA7D00`},border:{bottom:{style:W.StrokeStyle.Double,color:`FFFF8001`}}},{named:X.BuiltInName.Total,font:{weight:700,color:J.Scheme.Tx1},border:{top:{style:W.StrokeStyle.Thin,color:J.Scheme.Accent1},bottom:{style:W.StrokeStyle.Double,color:J.Scheme.Accent1}}},{named:X.BuiltInName.Good,fill:`FFC6EFCE`,font:{color:`FF006100`}},{named:X.BuiltInName.Bad,fill:`FFFFC7CE`,font:{color:`FF9C0006`}},{named:X.BuiltInName.Neutral,fill:`FFFFEB9C`,font:{color:`FF9C5700`}},{named:X.BuiltInName.Accent1},{named:X.BuiltInName.Accent1_20},{named:X.BuiltInName.Accent1_40},{named:X.BuiltInName.Accent1_60},{named:X.BuiltInName.Accent2},{named:X.BuiltInName.Accent2_20},{named:X.BuiltInName.Accent2_40},{named:X.BuiltInName.Accent2_60},{named:X.BuiltInName.Accent3},{named:X.BuiltInName.Accent3_20},{named:X.BuiltInName.Accent3_40},{named:X.BuiltInName.Accent3_60},{named:X.BuiltInName.Accent4},{named:X.BuiltInName.Accent4_20},{named:X.BuiltInName.Accent4_40},{named:X.BuiltInName.Accent4_60},{named:X.BuiltInName.Accent5},{named:X.BuiltInName.Accent5_20},{named:X.BuiltInName.Accent5_40},{named:X.BuiltInName.Accent5_60},{named:X.BuiltInName.Accent6},{named:X.BuiltInName.Accent6_20},{named:X.BuiltInName.Accent6_40},{named:X.BuiltInName.Accent6_60},{named:X.BuiltInName.ExplanatoryText,font:{style:U.Style.Italic,color:`FF7F7F7F`}}];for(let t=29;t<=52;t++){let n=(t-29)%4,r=Math.floor((t-29)/4),i=``;n===1?i=` lumMod 20, lumOff 80`:n===2?i=` lumMod 40, lumOff 60`:n===3&&(i=` lumMod 60, lumOff 40`),e[t].fill=`accent${r+1}${i}`,e[t].font={color:n===0?J.Scheme.Bg1:J.Scheme.Tx1}}return n.CommonUtils.deepFreeze(e)})(),Vp=null,Hp=`TableStyleMedium2`;function Up(e){return!/^(-?\d|--)/.test(e)}function Wp(e){let t=[],n=``,r=``,i=7;for(let a,o=0;a=e.charAt(o);o++)if(/[a-zA-Z\d\xa0-\uffff_-]/.test(a)&&i===7)n+=a;else if(a===`\\`&&i===7)i=6;else if(a===` `&&i===7){if(n!==``){if(!Up(n))return null;t.push(n),n=``}}else if(i===6)/[0-9a-f]/i.test(a)?(r+=a,i=8):(n+=a,i=7);else{if(i!==8)return null;/[0-9a-f]/i.test(a)&&r.length<6?r+=a:(n+=String.fromCodePoint(parseInt(r,16)),n+=a,r=``,i=7)}if(n!==``){if(!Up(n))return null;t.push(n)}return t.join(` `)}function Gp(e,t){let n=t,r=``,i={"font-family":[]};for(let t,a=0;t=e.charAt(a);a+=1)if(n!==4||t!==`"`&&t!==`'`)if(n===3&&t===`,`)n=4,r=``;else if(n===4&&t===`,`){let e=Wp(r);e&&i[`font-family`].push(e),r=``}else if(n===5&&t===` `)/^(?:\+|-)?(?:[0-9]*\.)?[0-9]+(?:deg|grad|rad|turn)$/.test(r)?(i[`font-style`]+=` `+r,r=``):--a,n=1;else if(n!==1||t!==` `&&t!==`/`)n===2&&t===` `?(/^(?:\+|-)?([0-9]*\.)?[0-9]+(?:em|ex|ch|rem|vh|vw|vmin|vmax|px|mm|cm|in|pt|pc|%)?$/.test(r)&&(i[`line-height`]=r),n=4,r=``):r+=t;else{if(/^(?:(?:xx|x)-large|(?:xx|s)-small|small|large|medium)$/.test(r)||/^(?:larg|small)er$/.test(r)||/^(?:\+|-)?(?:[0-9]*\.)?[0-9]+(?:em|ex|ch|rem|vh|vw|vmin|vmax|px|mm|cm|in|pt|pc|%)$/.test(r))n=t===`/`?2:4,i[`font-size`]=r;else if(/^italic$/.test(r))i[`font-style`]=r;else if(/^oblique$/.test(r))i[`font-style`]=r,n=5;else if(/^small-caps$/.test(r))i[`font-variant`]=r;else if(/^(?:bold(?:er)?|lighter|normal)$/.test(r))i[`font-weight`]=r;else if(/^[+-]?(?:[0-9]*\.)?[0-9]+(?:e[+-]?(?:0|[1-9][0-9]*))?$/.test(r)){let e=parseFloat(r);e>=1&&e<=1e3&&(i[`font-weight`]=r)}else/^(?:(?:ultra|extra|semi)-)?(?:condensed|expanded)$/.test(r)&&(i[`font-stretch`]=r);r=``}else{let o=a+1;do if(o=e.indexOf(t,o)+1,!o)return null;while(e.charAt(o-2)===`\\`);i[`font-family`].push(e.slice(a+1,o-1).replace(/\\('|")/g,`$1`)),a=o-1,n=3,r=``}if(n===3&&!/^\s*$/.test(r))return null;if(n===4){let e=Wp(r);e&&i[`font-family`].push(e)}return i}function Kp(e){let t=parseFloat(e);return isNaN(t)||(t%=360,t>0?t=360-t:t<0&&(t*=-1)),t}function qp(e){if(typeof e!=`string`)return null;let t=function(e){let t=Gp(e,4);return t===null?null:t[`font-family`]}(e);Array.isArray(t)&&t.length===0&&(t=null),t=t?{"font-family":t}:function(e){let t=Gp(e,1);return t!==null&&t[`font-size`]&&t[`font-family`].length?t:null}(e);let n=null,r=null,i=null;if(t){let e=t[`font-family`],a=e.shift();a&&(n=a),e.length>0&&(r=e),t[`font-size`]!==void 0&&(i=t[`font-size`])}return{family:n,fallbacks:r,size:i}}function Jp(e,t=!1){return t===`adaptive`?e?.toCSS(`adaptive`)??null:function(e,t=!1){return e?.toHex(t)?.toString(!1).toLowerCase()??null}(e,t)}function Yp(e){return e==null?null:n.CommonUtils.roundAccurately(e,2)+`pt`}function Xp(e,t){let n=``,r=e&&e!==U.UnderlineStyle.None;return t&&(n+=`line-through`),r&&t&&(n+=` `),r&&(n+=`underline`,!0!==e&&e!==U.UnderlineStyle.Single&&e!==U.UnderlineStyle.SingleAccounting||(n+=` solid`),e!==U.UnderlineStyle.Double&&e!==U.UnderlineStyle.DoubleAccounting||(n+=` double`)),n}var Zp=Object.freeze({underline:U.UnderlineStyle.None,strike:!1});function Qp(e){if(!e)return Zp;let t=U.UnderlineStyle.None,n=!1;return(e=e.toLowerCase()).includes(`underline`)&&(t=U.UnderlineStyle.Single),(e.includes(`line-through`)||e.includes(`linethrough`))&&(n=!0),{underline:t,strike:n}}function $p(e){return e?(e=e.toLowerCase())===`single`?U.UnderlineStyle.Single:e===`double`?U.UnderlineStyle.Double:e===`single-accounting`||e===`singleaccounting`?U.UnderlineStyle.SingleAccounting:e===`double-accounting`||e===`doubleaccounting`?U.UnderlineStyle.DoubleAccounting:U.UnderlineStyle.None:U.UnderlineStyle.None}function em(e){return e?e.toLowerCase():null}function tm(e){return e?e===o.Overflow.Visible||e===o.Overflow.Clip||e===o.Overflow.Shrink?`nowrap`:e===o.Overflow.Wrap?`normal`:void 0:null}function nm(e,t){let n=``;if(e&&(e.includes(` `)&&(e=`"`+e+`"`),n=e),t)for(let e=0;e<t.length;e++)n.length>0&&(n+=`, `),n+=t[e];return n}function rm(e){let t=``,n=!1,r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);n&&a!==`]`&&a!==`"`?t+=a:a===`"`?(t+=`\\0022`,n=!n):[`[`,`]`,`,`,`#`,`.`,`@`,`/`,`:`,`;`,`-`,` `].includes(a)?(t+=`\\`+a,a===`[`?n=!0:a===`]`&&(n=!1)):[`(`,`)`].includes(a)?t+=r===`_`?`\\`+a:`\\\\\\`+a:[`$`].includes(a)?t+=`\\0022`+a+`\\0022`:t+=a,r=a}return`"`+t+`"`}function im(e){let t=e.replace(/(\\[0-9]{4})/g,e=>String.fromCharCode(parseInt(e.replace(/\\/g,``),16)));return t=t.replace(/(\\.{1})/g,e=>e.substring(e.length-1,e.length)),t.includes(`\\`)&&(t=t.replace(/(\\.{1})/g,e=>e.substring(e.length-1,e.length))),t=t.replace(/^"(.*)"$/,`$1`),t}var am=`Thin`,om=`Hairline`,sm=`Extra Light`,cm=`Ultra Light`,lm=`Light`,um=`Normal`,dm=`Regular`,fm=`Medium`,pm=`Semi Bold`,mm=`Demi Bold`,hm=`Bold`,gm=`Extra Bold`,_m=`Ultra Bold`,vm=`Black`,ym=`Heavy`,bm=`Extra Black`,xm=`Ultra Black`,Sm=`lighter`,Cm=`normal`,wm=`bold`,Tm=`bolder`,Em=new Map;Em.set(n.CommonUtils.textToKey(am),100),Em.set(n.CommonUtils.textToKey(om),100),Em.set(n.CommonUtils.textToKey(sm),200),Em.set(n.CommonUtils.textToKey(cm),200),Em.set(n.CommonUtils.textToKey(lm),300),Em.set(n.CommonUtils.textToKey(um),400),Em.set(n.CommonUtils.textToKey(dm),400),Em.set(n.CommonUtils.textToKey(fm),500),Em.set(n.CommonUtils.textToKey(pm),600),Em.set(n.CommonUtils.textToKey(mm),600),Em.set(n.CommonUtils.textToKey(um),400),Em.set(n.CommonUtils.textToKey(hm),700),Em.set(n.CommonUtils.textToKey(gm),800),Em.set(n.CommonUtils.textToKey(_m),800),Em.set(n.CommonUtils.textToKey(vm),900),Em.set(n.CommonUtils.textToKey(ym),900),Em.set(n.CommonUtils.textToKey(bm),950),Em.set(n.CommonUtils.textToKey(xm),950),Em.set(n.CommonUtils.textToKey(Sm),100),Em.set(n.CommonUtils.textToKey(Cm),400),Em.set(n.CommonUtils.textToKey(wm),700),Em.set(n.CommonUtils.textToKey(Tm),700);var Dm=`xx-small`,Om=`x-small`,km=`small`,Am=`medium`,jm=`large`,Mm=`x-large`,Nm=`xx-large`,Pm=`xxx-large`,Fm=`smaller`,Im=`larger`,Lm=`math`,Rm=RegExp(`^[0-9]*[.]?[0-9]+$`,`g`),zm=new Map;function Bm(e,t=11,r=`pt`){if(!e)return null;let i=t;e=e.trim().toLowerCase();let a=r===`pt`?U.getDeviceScale():1,o=r===`pt`?1:U.getDeviceScale();if(Rm.test(e)){let t=parseFloat(e);isNaN(t)||(e=t+r)}if(e.endsWith(`pt`))i=parseFloat(e.substring(0,e.length-2).trim())*o;else if(e.endsWith(`px`))i=parseFloat(e.substring(0,e.length-2).trim())/a;else if(e.endsWith(`em`))i=parseFloat(e.substring(0,e.length-2).trim())*t;else if(e.endsWith(`rem`))i=parseFloat(e.substring(0,e.length-3).trim())*t;else if(e.endsWith(`%`))i=parseFloat(e.substring(0,e.length-1).trim())/100*t;else if(typeof e==`string`){let r=n.CommonUtils.textToKey(e),i=zm.get(r);if(i)return i(t)}return isNaN(i)?null:i}zm.set(n.CommonUtils.textToKey(Dm),e=>.4*e),zm.set(n.CommonUtils.textToKey(Om),e=>.5*e),zm.set(n.CommonUtils.textToKey(km),e=>.6*e),zm.set(n.CommonUtils.textToKey(Am),e=>e),zm.set(n.CommonUtils.textToKey(jm),e=>1.1*e),zm.set(n.CommonUtils.textToKey(Mm),e=>1.25*e),zm.set(n.CommonUtils.textToKey(Nm),e=>1.5*e),zm.set(n.CommonUtils.textToKey(Pm),e=>2*e),zm.set(n.CommonUtils.textToKey(Fm),e=>.9*e),zm.set(n.CommonUtils.textToKey(Im),e=>1.1*e),zm.set(n.CommonUtils.textToKey(Lm),e=>e);var Vm=new Map;Vm.set(Y.BuiltInSheetPattern.None,{description:`None`,cssKey:`none`}),Vm.set(Y.BuiltInSheetPattern.Solid,{description:`Solid`,cssKey:`solid`}),Vm.set(Y.BuiltInSheetPattern.DarkGray,{description:`75% gray`,cssKey:`gray-75`}),Vm.set(Y.BuiltInSheetPattern.MediumGray,{description:`50% gray`,cssKey:`gray-50`}),Vm.set(Y.BuiltInSheetPattern.LightGray,{description:`25% gray`,cssKey:`gray-25`}),Vm.set(Y.BuiltInSheetPattern.Gray125,{description:`12.5% Gray`,cssKey:`gray-125`}),Vm.set(Y.BuiltInSheetPattern.Gray0625,{description:`6.25% Gray`,cssKey:`gray-0625`}),Vm.set(Y.BuiltInSheetPattern.DarkHorizontal,{description:`Horizontal Strip`,cssKey:`horz-stripe`}),Vm.set(Y.BuiltInSheetPattern.DarkVertical,{description:`Vertical Strip`,cssKey:`vert-stripe`}),Vm.set(Y.BuiltInSheetPattern.DarkDown,{description:`Reverse Diagonal Stripe`,cssKey:`reverse-diag-stripe`}),Vm.set(Y.BuiltInSheetPattern.DarkUp,{description:`Diagonal Strip`,cssKey:`diag-stripe`}),Vm.set(Y.BuiltInSheetPattern.DarkGrid,{description:`Diagonal Crosshatch`,cssKey:`diag-cross`}),Vm.set(Y.BuiltInSheetPattern.DarkTrellis,{description:`Thick Diagonal Crosshatch`,cssKey:`thick-diag-cross`}),Vm.set(Y.BuiltInSheetPattern.LightHorizontal,{description:`Thin Horizontal Stripe`,cssKey:`thin-horz-stripe`}),Vm.set(Y.BuiltInSheetPattern.LightVertical,{description:`Thin Vertical Stripe`,cssKey:`thin-vert-stripe`}),Vm.set(Y.BuiltInSheetPattern.LightDown,{description:`Thin Reverse Diagonal Stripe`,cssKey:`thin-reverse-diag-stripe`}),Vm.set(Y.BuiltInSheetPattern.LightUp,{description:`Thin Diagonal Stripe`,cssKey:`thin-diag-stripe`}),Vm.set(Y.BuiltInSheetPattern.LightGrid,{description:`Thin Horizontal Cross`,cssKey:`thin-horz-cross`}),Vm.set(Y.BuiltInSheetPattern.LightTrellis,{description:`Thin Diagonal Cross`,cssKey:`thin-diag-cross`});var Hm=``,Um=new Map;Vm.forEach((e,t)=>{Hm.length>0&&(Hm+=`|`),Hm+=`\\b`+e.cssKey+`\\b`,Um.set(e.cssKey,t)});var Wm=RegExp(`(\\s*(?:${Hm}))`,`g`);function Gm(e){if(!e)return null;let t=e.toLowerCase();t=t.replace(/;/,``);let n=t.match(Wm);if(!n)return null;let r=null;n&&n.length>0&&(r=(e=>{if(!e)return null;let n=t.indexOf(e);return t=t.substring(0,n)+t.substring(n+e.length,t.length),e.trim()})(n[0])),t=t.trim();let i=t?t.trim():null;return r||i?{patternType:Um.get(r??`solid`),foreground:i}:null}var Km=(e,t=!1,n=null)=>{if(!e)return null;let r=e.getStops();if(!r||r.length<1)return null;let i=r.length;if(i===1)return Jp(r[0].getColor(),t);let a=``;for(let e=0;e<i;e++){let n=r[e],o=n.getOffset(),s=o===void 0?e/(i-1)*100:100*o;a+=`${Jp(n.getColor(),t)} ${s}%${e<i-1?`, `:``}`}if(e.getGradientType()===Y.GradientType.Linear){let t=e.getAngle()??0;if(n&&n.width>0&&n.height>0&&t%90!=0){let e=n.width,r=n.height,i=(90-t)*(Math.PI/180),a=Math.cos(i)*r,o=Math.sin(i)*e;t=(90-180*Math.atan2(o,a)/Math.PI+360)%360}return`linear-gradient(${t}deg, ${a})`}return e.getGradientType()===Y.GradientType.Path||e.getGradientType()===Y.GradientType.Rect||e.getGradientType()===Y.GradientType.Shape?function(e,t,n){let r=t??Th,i=qm(r.left??0),a=qm(r.right??0),o=qm(r.top??0),s=qm(r.bottom??0);if(i>a||o>s)return null;let c=(i+a)/2,l=(o+s)/2,u=(100*c).toFixed(3),d=(100*l).toFixed(3);if(!n||n.width<=0||n.height<=0)return`radial-gradient(ellipse farthest-corner at ${u}% ${d}%, ${e})`;let f=n.width,p=n.height,m=Math.max(c,1-c),h=Math.max(l,1-l),g=Math.sqrt(m*m+h*h);return`radial-gradient(ellipse ${(g*f).toFixed(3)}px ${(g*p).toFixed(3)}px at ${u}% ${d}%, ${e})`}(a,e.getFocus(),n)||Jp((r[i-1]??r[0]).getColor(),t):null},qm=e=>Math.max(0,Math.min(1,e)),Jm=new Map;function Ym(e){if(!e)return`none`;let t=Jm.get(e.getStyle());if(!t)return null;if(t.cssKey===`none`)return t.cssKey;let n=function(e,t=!1){return e?.toRGBA(t).toString(!1)??null}(e?.getColor());return n=n?` `+n:``,`${t.size===null?``:`${t.size}pt `}${t.cssKey}${n}`}Jm.set(W.StrokeStyle.None,{size:null,cssKey:`none`}),Jm.set(W.StrokeStyle.DashDot,{size:.5,cssKey:`dot-dash`}),Jm.set(W.StrokeStyle.DashDotDot,{size:.5,cssKey:`dot-dot-dash`}),Jm.set(W.StrokeStyle.Dashed,{size:.5,cssKey:`dashed`}),Jm.set(W.StrokeStyle.MediumDashed,{size:1,cssKey:`dashed`}),Jm.set(W.StrokeStyle.Dotted,{size:.5,cssKey:`dotted`}),Jm.set(W.StrokeStyle.MediumDashDot,{size:1,cssKey:`dot-dash`}),Jm.set(W.StrokeStyle.MediumDashDotDot,{size:1,cssKey:`dot-dot-dash`}),Jm.set(W.StrokeStyle.Hair,{size:.5,cssKey:`hairline`}),Jm.set(W.StrokeStyle.Thin,{size:.5,cssKey:`solid`}),Jm.set(W.StrokeStyle.Thick,{size:1.5,cssKey:`solid`}),Jm.set(W.StrokeStyle.Medium,{size:1,cssKey:`solid`}),Jm.set(W.StrokeStyle.Double,{size:2,cssKey:`double`}),Jm.set(W.StrokeStyle.SlantDashDot,{size:1,cssKey:`dot-dash-slanted`});var Xm=[],Zm=new Set,Qm=new Map,$m=(e,t)=>{let n=e.size===null?e.cssKey:`${e.size.toString()} ${e.cssKey}`;Qm.set(n,t),Zm.has(e.cssKey)||(Xm.push(e.cssKey),Zm.add(e.cssKey))};Jm.forEach($m);var eh=Object.keys(W.StrokeStyle);for(let e=0;e<eh.length;e++)$m({size:null,cssKey:eh[e].toLowerCase()},W.StrokeStyle[eh[e]]);$m({size:null,cssKey:`double`},W.StrokeStyle.Double),$m({size:null,cssKey:`solid`},W.StrokeStyle.Medium),$m({size:null,cssKey:`hidden`},W.StrokeStyle.None),Xm.sort((e,t)=>t.length-e.length);var th=``,nh=Xm.length;for(let e=0;e<nh;e++)th.length>0&&(th+=`|`),th+=`\\b`+Xm[e]+`\\b`;var rh=RegExp(`(\\s*(?:${th}))`,`g`),ih=RegExp(`(\\s*[0-9]*[.]?[0-9]+(?:pt|px){0,1})`,`g`);function ah(e,t){if(!e)return null;let n=e.toLowerCase(),r=n.match(rh);if(!r){let e=t?.(n);return e?{color:e,style:W.StrokeStyle.Medium}:null}let i=e=>{if(!e)return null;let t=n.indexOf(e);return n=n.substring(0,t)+n.substring(t+e.length,n.length).trim(),e.trim()},a=null;if(r&&r.length>0&&(a=i(r[0])),!a)return null;let o=null;if(r=n.match(ih),r&&r.length>0){let e=i(r[0]);o=parseFloat(e.substring(0,e.length-2))}n=n.trim();let s=n?n.trim():null,c=o===null?a:`${o.toString()} ${a}`,l=Qm.get(c);return l||=Qm.get(a),l?{color:s,style:l}:null}var oh=`start`,sh=`end`,ch=`left`,lh=`right`,uh=`center`,dh=`justify`,fh=`justify-all`,ph=`baseline`,mh=`top`,hh=`middle`,gh=`bottom`,_h=`sub`,vh=`text-top`,yh=`justify`,bh=`distributed`,xh=new Map;function Sh(e){let t=n.CommonUtils.textToKey(e);return xh.get(t)||null}xh.set(n.CommonUtils.textToKey(oh),o.HorizontalAlignment.Left),xh.set(n.CommonUtils.textToKey(ch),o.HorizontalAlignment.Left),xh.set(n.CommonUtils.textToKey(sh),o.HorizontalAlignment.Right),xh.set(n.CommonUtils.textToKey(lh),o.HorizontalAlignment.Right),xh.set(n.CommonUtils.textToKey(uh),o.HorizontalAlignment.Center),xh.set(n.CommonUtils.textToKey(dh),o.HorizontalAlignment.Justify),xh.set(n.CommonUtils.textToKey(fh),o.HorizontalAlignment.Justify);var Ch=new Map;Ch.set(n.CommonUtils.textToKey(ph),o.VerticalAlignment.Bottom),Ch.set(n.CommonUtils.textToKey(mh),o.VerticalAlignment.Top),Ch.set(n.CommonUtils.textToKey(hh),o.VerticalAlignment.Center),Ch.set(n.CommonUtils.textToKey(gh),o.VerticalAlignment.Bottom),Ch.set(n.CommonUtils.textToKey(_h),o.VerticalAlignment.Bottom),Ch.set(n.CommonUtils.textToKey(vh),o.VerticalAlignment.Top),Ch.set(n.CommonUtils.textToKey(yh),o.VerticalAlignment.Justify),Ch.set(n.CommonUtils.textToKey(bh),o.VerticalAlignment.Distributed);var wh=e=>{let t=n.CommonUtils.textToKey(e);return Ch.get(t)||null},Th=Object.freeze({left:0,right:0,top:0,bottom:0}),Eh=e=>{if(e instanceof up)return{color:e.toString()};if(typeof e==`string`)try{return{color:e===`none`||e===`transparent`?null:e}}catch(e){throw e}return e},Dh=n.TypedObject.PassThrough,Oh={shorthand:(e,t)=>{if(!e||e===`none`||e===`transparent`)return null;try{return t.parseColor(e).toString()}catch(e){console.warn(`error`,e)}return e},merge:(e,t,n)=>e},kh={shorthand:(e,t)=>{if(e.isIStroke)return e.getProperties();if(typeof e==`string`&&(e=ah(e,e=>{try{return t.parseColor(e).toString()}catch{}return null})),!e)return null;let n={};return e.style&&(n.style=e.style),e.color&&(n.color=e.color),n},properties:{color:Oh,style:Dh}},Ah={shorthand:(e,t)=>{if(e.isIBorder)return e.getProperties();if(typeof e==`string`){let n=ah(e,e=>{try{return t.parseColor(e).toString()}catch{}return null});return{left:n,right:n,top:n,bottom:n,horizontal:null,vertical:null,diagonalUp:null,diagonalDown:null}}return e},properties:{top:kh,left:kh,right:kh,bottom:kh,horizontal:kh,vertical:kh,diagonalUp:kh,diagonalDown:kh}},jh={shorthand:(e,t)=>{if(typeof e==`string`){let t=cl.Styles.lookupDefault(e);return t===void 0?e:t}return typeof e==`number`?Kc(e):null}},Mh={shorthand:(e,t)=>{if(e.isIStyledFont)return e.toJSON();if(typeof e==`string`){let t=qp(e);if(t){let e={};if(t.family&&(e.family=t.family),t.fallbacks&&(e.fallbacks=t.fallbacks),t.size&&(e.size=Bm(t.size)),Object.keys(t).length>0)return e}return e}return e&&(e=>{let{bold:t,italic:n,...r}=e;if(t===void 0&&n===void 0)return e;let i=r;return t!==void 0&&i.weight===void 0&&(i.weight=t===null?null:t?700:400),n!==void 0&&i.style===void 0&&(i.style=n===null?null:n?U.Style.Italic:U.Style.Normal),i})(e)},properties:{family:{shorthand:(e,t)=>qp(e)?.family??null},fallbacks:{shorthand:(e,t)=>{if(typeof e!=`string`)return e;let n=qp(e);if(!n)return null;let r=[n.family];return n.fallbacks&&(r=r.concat(n.fallbacks)),r}},size:{shorthand:(e,t)=>{let r=e;return typeof e==`string`&&(r=Bm(e,t.getNormal().getFont().getSize())),isNaN(r)||typeof r!=`number`?null:(r=Math.max(1,Math.min(n.CommonUtils.roundAccurately(r,1),409)),r)}},weight:{shorthand:(e,t)=>{if(typeof e!=`string`)return e;let r=function(e){let t=400;if(t=typeof e==`number`?e:parseFloat(e),!isNaN(t))return t;if(typeof e==`string`){let t=n.CommonUtils.textToKey(e),r=Em.get(t);if(r)return r}return t}(e);return isNaN(r)||typeof r!=`number`?null:r}},style:Dh,color:Oh,letterSpacing:Dh,underline:{shorthand:(e,t)=>e?!0===e?U.UnderlineStyle.Single:$p(e):U.UnderlineStyle.None},strike:Dh,scheme:Dh,verticalAlign:Dh,shadow:Dh,outline:Dh,extend:Dh,charset:{shorthand:(e,t)=>{if(e==null)return null;let n=typeof e==`string`?parseInt(e,10):e;return typeof n==`number`&&Number.isFinite(n)?n:null}}}},Nh={properties:{horizontal:Dh,vertical:Dh,indent:{shorthand:(e,t)=>{let n=e;return typeof e==`string`&&(n=parseFloat(e)),isNaN(n)||typeof n!=`number`?null:n}},relativeIndent:Dh,overflow:Dh,rotation:{shorthand:(e,t)=>{let n=e;return typeof e==`string`&&(n=parseFloat(e)),isNaN(n)||typeof n!=`number`?null:(n%=360,n<0&&(n+=360),n)}},stacked:Dh,justifyLastLine:Dh,readingDirection:Dh}},Ph={shorthand:(e,t)=>e===`none`||e===`transparent`||typeof e==`object`&&Object.keys(e).length===0?{type:Y.Type.None}:(e.getType?.(),Y.Type.None,e)},Fh={shorthand:e=>{let t=Eh(e);return typeof t==`object`&&t.color&&(t.type=Y.Type.Solid),t},merge:(e,t)=>{let n=e,r=t;return n&&`color`in n&&n.color===null?{type:Y.Type.None}:n.color?n:(r?.toJSON&&(r=r.toJSON()),r?.type===Y.Type.Solid?{...r}:r?.type===Y.Type.Gradient?{type:Y.Type.Solid,color:r?.stops?.[0]?.color??J.Scheme.Bg1}:r?.type===Y.Type.Pattern?{type:Y.Type.Solid,color:r?.foreground??J.Scheme.Bg1}:n?{...n}:null)},properties:{color:Oh,type:Dh,isRotatedWithShape:Dh}},Ih={shorthand:e=>(typeof e==`object`&&e.stops&&(e.type=Y.Type.Gradient),e),merge:(e,t,n)=>{let r=e,i=t;return r.stops?r:(i?.toJSON&&(i=i.toJSON()),i?.type===Y.Type.Gradient?{...i}:i?.type===Y.Type.Solid?{type:Y.Type.Gradient,stops:[{offset:0,color:i?.color??J.Scheme.Accent1},{offset:1,color:J.Scheme.Bg1}]}:i?.type===Y.Type.Pattern?{type:Y.Type.Gradient,stops:[{offset:0,color:i?.foreground??J.Scheme.Bg1},{offset:1,color:i?.background??J.Scheme.Accent1}]}:r?{...r}:null)},properties:{type:Dh,stops:{shorthand:e=>(typeof e==`string`&&(e=e.split(`,`).map(e=>e.trim())),Array.isArray(e)?e.map((e,t)=>{if(!e)return;let n=e;return typeof e==`string`&&(n=Eh(e)),e.isIColor&&(n={color:e.toString()}),n}):e),arrayType:{shorthand:e=>Eh(e),properties:{color:Oh,offset:Dh}}},gradientType:Dh,angle:Dh,focus:Dh,isRotatedWithShape:Dh}},Lh={shorthand:(e,t)=>{if(typeof e==`object`){let t=e;(t.foreground||t.background||t.patternType)&&(t.type=Y.Type.Pattern,t.patternType=t.patternType??Y.BuiltInSheetPattern.Solid)}return e},merge:(e,t,n)=>{let r=e,i=t;if(r.background&&r.foreground)return r;i?.toJSON&&(i=i.toJSON());let a=Y.BuiltInSheetPattern.MediumGray;if(i?.type===Y.Type.Pattern){let e={type:Y.Type.Pattern,patternType:r.patternType??i.patternType};return i.foreground&&(e.foreground=i.foreground),i.background&&(e.background=i.background),r.foreground&&(e.foreground=r.foreground),r.background&&(e.background=r.background),e}return i?.type===Y.Type.Solid?{patternType:a,foreground:i?.color??J.Named.WindowText,background:J.Scheme.Bg1,...r}:i?.type===Y.Type.Gradient?{patternType:a,foreground:i?.stops?.[0]?.color??J.Named.WindowText,background:i?.stops?.[1]?.color??J.Scheme.Bg1,...r}:r?{type:Y.Type.Pattern,patternType:Y.BuiltInSheetPattern.Solid,foreground:J.Named.WindowText,background:J.Scheme.Bg1,...r}:null},properties:{type:Dh,patternType:Dh,foreground:Oh,background:Oh,isRotatedWithShape:Dh}},Rh=[Ph,Fh,Ih,Lh],zh=[];for(let e=0;e<Rh.length;e++){let t=Rh[e]?.shorthand;zh.push(t)}var Bh=zh.length,Vh={properties:{font:Mh,fill:{shorthand:(e,t)=>{e.isIFill&&(e=e.toJSON());for(let n=0;n<Bh;n++){let r=zh[n](e,t);if(r?.type)return r}return e},getSubType:(e,t)=>{let n=e.type??t?.type;return n===Y.Type.None?Ph:n===Y.Type.Solid?Fh:n===Y.Type.Gradient?Ih:n===Y.Type.Pattern?Lh:null}},alignment:Nh,border:Ah,numberFormat:jh,quotePrefix:Dh,named:Dh,insets:Dh}},Hh=Object.freeze([`font`,`fill`,`alignment`,`border`,`numberFormat`,`quotePrefix`,`insets`]),Uh={shorthand:(e,t)=>{if(!e||typeof e!=`object`)return;let n=e.named;if(!n||(n.isINamed&&(n=n.getName()),typeof n!=`string`))return;let r=null;if(n.toLowerCase()===X.BuiltInName.Normal.toLowerCase())r=Hh;else{let e=t?.getNamed(n)?.getRanged().getPropertiesAt(0,0,null);e&&(r=Object.keys(e))}let i={...e,named:n},a=r?r.length:0;for(let e=0;e<a;e++){let t=r[e];t!==`named`&&i[t]===void 0&&(i[t]=null)}return i},properties:Vh.properties},Wh={properties:{style:Uh,name:Dh,hidden:Dh,iLevel:Dh}},Gh=(e,t,n)=>{let r=e.border;if(!r)return e;let i=((e,t,n)=>{if(!e)return e;let r=null;return(e.top||e.horizontal)&&(t.rowIndex!==n.rowStart||t.colIndex<n.colStart||t.colIndex>n.colEnd)&&(r??={...e},delete r.top,e.horizontal&&(r.top=e.horizontal)),(e.bottom||e.horizontal)&&(t.rowIndex!==n.rowEnd||t.colIndex<n.colStart||t.colIndex>n.colEnd)&&(r??={...e},delete r.bottom,e.horizontal&&(r.bottom=e.horizontal)),(e.left||e.vertical)&&(t.colIndex!==n.colStart||t.rowIndex<n.rowStart||t.rowIndex>n.rowEnd)&&(r??={...e},delete r.left,e.vertical&&(r.left=e.vertical)),(e.right||e.vertical)&&(t.colIndex!==n.colEnd||t.rowIndex<n.rowStart||t.rowIndex>n.rowEnd)&&(r??={...e},delete r.right,e.vertical&&(r.right=e.vertical)),e.horizontal&&(r??={...e},delete r.horizontal),e.vertical&&(r??={...e},delete r.vertical),r??e})(r,t,n),a=e;return i!==e.border&&(a={...e},Object.keys(i).length>0?a.border=i:delete a.border),a},Kh=class{constructor(e,t,n){this._permCache=null,this._table=e,this._styles=t,this._properties=n}_resolveProperties(e){let t={name:e.name},r=this._styles,i=Object.values(dp.ElementType),a=i.length;for(let o=0;o<a;o++){let a=i[o],s=e[a];s&&n.CommonUtils.isObject(s)&&(t[a]=n.TypedObject.resolveTypedUpdates(Object.freeze(s),Vh,r))}return Object.freeze(t)}getCoords(){return this._table.getRange().getCoords()}getPropertiesAt(e,t){let r=this._table,i=this._styles,a=this._properties;Jh.rowIndex=e,Jh.colIndex=t;let o=r.getVisibleCellCoords(Jh),s=r.getVisibleRefRangeCoords();if(!s)return null;let c=Math.max(0,s.colEnd-s.colStart)+1,l=Math.max(0,s.rowEnd-s.rowStart)+1,u=Math.max(0,o.rowIndex-s.rowStart),d=Math.max(0,o.colIndex-s.colStart),f=r.getStyleOptions(),p=!1,m=0;r.isHeaderVisible()&&(m=+!!r.isShowHeaders(),p=m>u);let h=!1,g=0;r.isTotalVisible()&&(g=+!!r.isShowTotals(),h=l-g<=u);let _=d===c-1&&f.showLastColumn;r.isLastColumnVisible()||(_=!1);let v=d===0&&f.showFirstColumn;r.isFirstColumnVisible()||(v=!1);let y=!p&&!h,b=y&&f.showColumnStripes,x=0,S=0,C=0,w=!1,T=0;b&&(x=a.firstColumnStripe?.size??1,S=a.secondColumnStripe?.size??1,C=d%(x+S),w=C<x,w||(C-=x),T=Math.min(c-d,w?x:S));let E=y&&f.showRowStripes,D=0,O=0,k=0,A=!1,j=0;E&&(D=a.firstRowStripe?.size??1,O=a.secondRowStripe?.size??1,k=(u-m)%(D+O),A=k<D,A||(k-=D),j=Math.min(l-u,A?D:O));let M=!1;if(p&&a.headerRow){let e=r.getColumnAt(d);M=!!e&&!e.isHiddenButton()}let N=0;p&&(N|=1),h&&(N|=2),v&&(N|=4),_&&(N|=8),u===0&&(N|=16),u===l-1&&(N|=32),d===0&&(N|=64),d===c-1&&(N|=128),u===m&&(N|=256),u===l-g-1&&(N|=512),M&&(N|=1024),m>0&&(N|=2048),g>0&&(N|=4096);let P=`${N}`+(b?`|c${w?`f`:`s`}${C},${T}`:``)+(E?`|r${A?`f`:`s`}${k},${j}`:``),F=this._permCache?.get(P);if(F!==void 0)return F;let I={rowIndex:u,colIndex:d},L={};if(a.wholeTable&&(L=a.wholeTable,L.border&&(L=Gh(L,I,{rowStart:0,rowEnd:l-1,colStart:0,colEnd:c-1}))),b){let e=w?a.firstColumnStripe:a.secondColumnStripe;if(e){let t=e,r=e.border;r&&(t=Gh(t,{rowIndex:u,colIndex:C},{rowStart:m,rowEnd:l-g-1,colStart:0,colEnd:T}),w&&C===0&&d>0&&r?.left&&a.secondColumnStripe?.border?.right&&(r={...t.border},t.border=r,r.left=null),w&&C===x-1&&d<c-1&&r?.right&&a.secondColumnStripe?.border?.left&&(r={...t.border},t.border=r,r.right=null)),L=n.TypedObject.resolveTypedUpdates(t,Vh,i,L)}}if(E){let e=m,t=l-g-1,r=A?a.firstRowStripe:a.secondRowStripe;if(r){let o=r,s=r.border;if(s){o=Gh(o,{colIndex:d,rowIndex:k},{colStart:0,colEnd:c-1,rowStart:0,rowEnd:j}),A&&k===0&&u>=e&&r.border?.top&&a.secondRowStripe?.border?.bottom&&(s={...o.border},o.border=s,s.top=null);let n=r.border?.bottom;(n&&A&&k===D-1&&u<t&&a.secondRowStripe?.border?.top||n&&u===t)&&(s={...o.border},o.border=s,s.bottom=null)}L=n.TypedObject.resolveTypedUpdates(o,Vh,i,L)}}if(_&&a.lastColumn){let e=a.lastColumn;e.border&&(e=Gh(e,I,{rowStart:0,rowEnd:l-1,colStart:c-1,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,Vh,i,L)}if(v&&a.firstColumn){let e=a.firstColumn;e.border&&(e=Gh(e,I,{rowStart:0,rowEnd:l-1,colStart:0,colEnd:0})),L=n.TypedObject.resolveTypedUpdates(e,Vh,i,L)}if(p&&a.headerRow){let e=a.headerRow;e.border&&(e=Gh(e,I,{rowStart:0,rowEnd:m-1,colStart:0,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,Vh,i,L)}if(h&&a.totalRow){let e=a.totalRow;e.border&&(e=Gh(e,I,{rowStart:l-g,rowEnd:l-1,colStart:0,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,Vh,i,L)}if(p&&v&&a.firstHeaderCell){let e=a.firstHeaderCell;e.border&&(e=Gh(e,I,{rowStart:0,rowEnd:m-1,colStart:0,colEnd:0})),L=n.TypedObject.resolveTypedUpdates(e,Vh,i,L)}if(p&&_&&a.lastHeaderCell){let e=a.lastHeaderCell;e.border&&(e=Gh(e,I,{rowStart:0,rowEnd:m-1,colStart:c-1,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,Vh,i,L)}if(h&&v&&a.firstTotalCell){let e=a.firstTotalCell;e.border&&(e=Gh(e,I,{rowStart:l-g,rowEnd:l-1,colStart:0,colEnd:0})),L=n.TypedObject.resolveTypedUpdates(e,Vh,i,L)}if(h&&_&&a.lastTotalCell){let e=a.lastTotalCell;e.border&&(e=Gh(e,I,{rowStart:l-g,rowEnd:l-1,colStart:c-1,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,Vh,i,L)}M&&(L.insets={right:15});let ee=this._permCache;return ee||=this._permCache=new Map,ee.set(P,Object.freeze(L)),L}},qh=class{constructor(e,t,r,i){this._styles=e,this._isBuiltIn=r,this._doDelete=i,this._properties=n.CommonUtils.deepFreeze(this._resolveProperties(t)),this.isShownInTableStyles()}_resolveProperties(e){let t={name:e.name};e.table!==void 0&&(t.table=e.table),e.pivot!==void 0&&(t.pivot=e.pivot);let r=this._styles,i=Object.values(dp.ElementType),a=i.length;for(let o=0;o<a;o++){let a=i[o],s=e[a];s&&n.CommonUtils.isObject(s)&&(t[a]=n.TypedObject.resolveTypedUpdates(Object.freeze(s),Vh,r))}return Object.freeze(t)}delete(){if(!this._doDelete)throw Error(`Not able to delete builtin style.`);this._doDelete(this._properties.name)}getRanged(e){return new Kh(e,this._styles,this._properties)}getProperties(){return this._properties}getName(){return this._properties.name}isShownInTableStyles(){return!1!==this._properties.table}isShownInPivotStyles(){return this._properties.pivot??!1}isBuiltIn(){return this._isBuiltIn}toJSON(){let e=n.CommonUtils.cloneObject(this._properties);return e.name=this._properties.name,e}get isITableStyle(){return!0}},Jh={rowIndex:0,colIndex:0};function Yh(e,t){if(!e||!t)return e===t;if(e===t)return!0;if(e.style!==t.style)return!1;if(e.color===t.color)return!0;let n=e.color;(e&&e.color).isIColor&&(n=e.color.toString());let r=t.color;return(t&&t.color).isIColor&&(r=t.color.toString()),n===r}function Xh(e,t,n,r){let i=r?W.Edge.Left:W.Edge.Top,a=r?W.Edge.Right:W.Edge.Bottom,o=r?W.Edge.Vertical:W.Edge.Horizontal,s=r?t.colStart:t.rowStart,c=r?t.colEnd:t.rowEnd,l=r?n.colStart:n.rowStart,u=r?n.colEnd:n.rowEnd,d=s===l,f=c===u,p={...e};return d&&f?e:(delete p[i],delete p[a],delete p[o],d?e[i]!==void 0&&(p[i]=e[i]):e[o]!==void 0&&(p[i]=e[o]),f?e[a]!==void 0&&(p[a]=e[a]):e[o]!==void 0&&(p[a]=e[o]),u-l>0&&e[o]!==void 0&&(p[o]=e[o]),Object.keys(p).length===0?null:p)}function Zh(e,t,n){let r=e.colEnd-e.colStart+1,i=e.rowEnd-e.rowStart+1,a=t.border;if(r===1&&i===1||!a)return[[e,t]];let o=n!==void 0&&e.colEnd>=n.colEnd,s=n!==void 0&&e.rowEnd>=n.rowEnd;if((o||s)&&(a={...a},o&&(a[W.Edge.Vertical]===void 0?delete a[W.Edge.Right]:a[W.Edge.Right]=a[W.Edge.Vertical]),s&&(a[W.Edge.Horizontal]===void 0?delete a[W.Edge.Bottom]:a[W.Edge.Bottom]=a[W.Edge.Horizontal]),Object.keys(a).length===0)){let n={...t};return delete n.border,Object.keys(n).length>0?[[e,n]]:[]}let c=r===1||Yh(a[W.Edge.Left],a[W.Edge.Vertical])&&Yh(a[W.Edge.Right],a[W.Edge.Vertical]),l=i===1||Yh(a[W.Edge.Top],a[W.Edge.Horizontal])&&Yh(a[W.Edge.Bottom],a[W.Edge.Horizontal]);if(c&&l)return[[e,a===t.border?t:{...t,border:a}]];let u=[],d=(e,t,n,r,a)=>{let o=Xh(n,e,t,a);if(!o)return;if(!a||i===1){let e={...r};e.border=o,u.push([t,e]);return}let c={colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowStart};if(d(t,c,o,r,!1),i>2||s){let e={colStart:t.colStart,rowStart:t.rowStart+1,colEnd:t.colEnd,rowEnd:s?t.rowEnd:t.rowEnd-1};d(t,e,o,r,!1)}if(!s){let e={colStart:t.colStart,rowStart:t.rowEnd,colEnd:t.colEnd,rowEnd:t.rowEnd};d(t,e,o,r,!1)}};return r===1?d(e,e,a,t,!0):(d(e,{colStart:e.colStart,rowStart:e.rowStart,colEnd:e.colStart,rowEnd:e.rowEnd},a,t,!0),(r>2||o)&&d(e,{colStart:e.colStart+1,rowStart:e.rowStart,colEnd:o?e.colEnd:e.colEnd-1,rowEnd:e.rowEnd},a,t,!0),o||d(e,{colStart:e.colEnd,rowStart:e.rowStart,colEnd:e.colEnd,rowEnd:e.rowEnd},a,t,!0)),u}var Qh=(e,t,n,r)=>{let i=t,a=[],o=e[i],s=o.value;for(;o;){if(r){let e=o.rowEnd-o.rowStart+1;a.push({min:o.colStart,max:o.colEnd,value:e,touchMax:o.rowEnd})}else{let e=o.colEnd-o.colStart+1;a.push({min:o.rowStart,max:o.rowEnd,value:e,touchMax:o.colEnd})}i++,o=e[i],o&&o.value!==s&&(o=null)}let c=a.length;if(c===0)return i;if(c===1)return n.push(a[0]),i;a.sort((e,t)=>e.min===t.min?e.max-t.max:e.min-t.min);let l={...a[0]};for(let e=1;e<c;e++){let t=a[e],r=l.max,i=t.min;if(i<=r+1)if(i<=r){let e=t.max,a=t.value,o=l.value,s=l.min,c=Math.min(r,e);i>s&&n.push({min:s,max:i-1,value:o,touchMax:l.touchMax});let u=o+a,d=Math.max(l.touchMax,t.touchMax);c<Math.max(r,e)?(n.push({min:i,max:c,value:u,touchMax:d}),l=e>c?{min:c+1,max:e,value:a,touchMax:t.touchMax}:{min:c+1,max:r,value:o,touchMax:l.touchMax}):l={min:i,max:c,value:u,touchMax:d}}else n.push(l),l={...t};else n.push(l),l={...t}}return n.push(l),i},$h={onUpdate:(e,t)=>({...e,s:t}),onSplit:e=>[e.value,e.value],onMerge:(e,t,r,i)=>{if(e.s===t.s)return n.CommonUtils.deepEqual(e,t)?e:void 0}},eg=(e,t,n,r,i)=>{let a=t.colStart,o=t.rowStart,s=t.colEnd,c=t.rowEnd,l=i?c-o+1:s-a+1,u=Math.floor(.5*l),d=i?c:s,f=e.length,p=0;do{let t=e[p].value,a=[];p=Qh(e,p,a,i);let o=a.length;for(let e=0;e<o;e++){let o=a[e];o.value<u||o.touchMax<d||!i&&o.min>=c||(i||n===null||n!==t)&&(r=Kr(Gr(r??[],{min:o.min,max:o.max,value:t},$h)))}}while(p<f);return r};function tg(e,r){let i=e.before,a=e.after;if(i&&r){let o=e.amount,s=e.axis===t.IRange.Axis.Column,c=s?`colStart`:`rowStart`,l=s?`colEnd`:`rowEnd`,u=r[c],d=r[l],f=i[c]<=u,p=i[l]>=d,m=a?a[c]:-1;if(f&&p)return i;if(f&&o>0&&m!==u)a={...a},a[c]=u;else if(p)if(o>0){if(m>d)throw new n.OutOfBoundsError(``);a={...a},a[l]=d}else a?(a={...a},a[l]=d):(a={...i},a[c]=e.intersect[c])}if(!a)return null;if(r&&!n.CoordUtils.isRangeWithinRange(a,r))throw new n.OutOfBoundsError(``);return n.CoordUtils.sanitizeRange(a)}var ng=e=>{if(e==null)return null;let t,n=Object.keys(e),r=n.length;for(let i=0;i<r;i++){let r=n[i],a=e[r],o=a;if(a===null)o=void 0;else if(a&&typeof a==`object`&&!Array.isArray(a)){let e=ng(a);o=e===null?void 0:e}if(o!==a){if(t===void 0){t={};for(let r=0;r<i;r++)t[n[r]]=e[n[r]]}o!==void 0&&(t[r]=o)}else t!==void 0&&(t[r]=a)}return t===void 0?r===0?null:e:Object.keys(t).length===0?null:t},rg=class e{constructor(e,n,r,i,a,o){this._c=e,this._getEntireRange=n,this._r=r,this._p=i??null,this._t=a??null,this._o=o??t.IRange.AxisSelection.Both,this._e=this._p===null||Object.keys(this._p).length===1&&this._p.named===X.BuiltInName.Normal}isEmpty(){return this._e}getProperties(){return this._p}getCoords(){return this._r}getUpdateProperties(){return this._u}static{this.BorderKeys=[`border`]}static{this.FillKeys=[`fill`]}static{this.ContentKeys=[`font`,`numberFormat`,`alignment`,`quotePrefix`,`named`,`insets`]}splitByFeature(){let t=(e,t)=>{if(!e)return;let n;for(let r=0;r<t.length;r++){let i=t[r];e[i]!==void 0&&((n??={})[i]=e[i])}return n},n=n=>{let r=t(this._p,n),i=t(this._u,n);if(r===void 0&&i===void 0)return null;let a=new e(this._c,this._getEntireRange,this._r,r??null,this._t,this._o);return i!==void 0&&(a._u=i),a};return{border:n(e.BorderKeys),fill:n(e.FillKeys),content:n(e.ContentKeys)}}static compose(t,n,r){if(!t&&!n&&!r)return null;if(t&&!n&&!r)return t;if(!t&&n&&!r)return n;if(!t&&!n&&r)return r;let i=t??r??n,a={...r?r._p:null,...n?n._p:null,...t?t._p:null};return new e(i._c,i._getEntireRange,i._r,a,i._t,i._o)}static mergeOverlay(t,n){if(!t)return n??null;if(!n)return t;let r=n._p?.border?n:t,i={...t._p,...n._p};return new e(r._c,r._getEntireRange,r._r,i,r._t,r._o)}cloneWithUpdate(t,r=!1){if(t===void 0)return this;let i=this._c,a=this._r,o=this._p,s=n.TypedObject.resolveTypedUpdates(t,Uh,i,o,r);if(r){let t=ng(s),n=new e(i,this._getEntireRange,a,t,this._t,this._o);return t!==s&&(n._u=s),n}return new e(i,this._getEntireRange,a,s,this._t,this._o)}copyTo(t,r){let i=this._c,a=this._r,o=t.rowStart-a.rowStart,s=t.colStart-a.colStart,c=null;return n.CoordUtils.isEqualRanges(a,this._t)||(c=n.CoordUtils.translateRange(a,o,s)),{...t,value:new e(i,this._getEntireRange,t,this._p,c,this._o)}}canTile(e,t){return!(this._u??this._p)?.border}_createShifted(t){return new e(this._c,this._getEntireRange,t,this._p,this._t,this._o)}getShifted(e){let t=this._getEntireRange?.(),n=tg(e,t);return n?{...n,value:this._createShifted(n)}:null}getSplit(n,r){let i=this._c,a=this._u,o=a??this._p,s=this._r,c=o,l=n[0],u=o,d=n[1],f=o?o.border:null;if(f){let e=r===t.IRange.Axis.Column;if(e?f.left!==void 0||f.right!==void 0||f.vertical!==void 0:f.top!==void 0||f.bottom!==void 0||f.horizontal!==void 0){c={...c};let t=Xh(f,s,l,e);t?c.border=t:t===null&&delete c.border,u={...u};let n=Xh(f,s,d,e);n?u.border=n:n===null&&delete u.border}}let p=this._t,m=this._o,h=this._getEntireRange;if(a){let t=new e(i,h,n[0],ng(c),p,m);t._u=c;let r=new e(i,h,n[1],ng(u),p,m);return r._u=u,[t,r]}return[new e(i,h,n[0],c,p,m),new e(i,h,n[1],u,p,m)]}getMerged(r,i,a){let o=a===t.IRange.Axis.Column,s=this._p,c=r._p;if(s&&!c||c&&!s||!s&&!c)return;let l=Object.keys(s),u=Object.keys(c),d=l.length;if(d!==u.length)return;for(let e=0;e<d;e++){let t=l[e];if(t===`border`)continue;let r=s[t],i=c[t];if(!n.CommonUtils.deepEqual(r,i))return}let f=s.border,p=c.border;if(f&&!p||p&&!f)return;let m=this._c;if(f||p){let t=o?W.Edge.Top:W.Edge.Left,a=o?W.Edge.Bottom:W.Edge.Right;if(!Yh(f[t],p[t])||!Yh(f[a],p[a]))return;let c=this._r,l=r._r,u=1+(o?c.rowEnd-c.rowStart:c.colEnd-c.colStart),d=1+(o?c.colEnd-c.colStart:c.rowEnd-c.rowStart),h=1+(o?l.colEnd-l.colStart:l.rowEnd-l.rowStart),g=o?W.Edge.Horizontal:W.Edge.Vertical;if(u>1&&!Yh(f[g],p[g]))return;let _=o?W.Edge.Right:W.Edge.Bottom,v=o?W.Edge.Left:W.Edge.Top;if(!Yh(f[_],p[v]))return;let y=o?W.Edge.Vertical:W.Edge.Horizontal,b=f[_];if(d>1&&!Yh(b,f[y]))return;let x=h===1?p[v]:p[y];if(h>1&&!Yh(x,p[y])||!Yh(b,x))return;let S={border:{[t]:f[t],[a]:f[a],[g]:f[g],[y]:b,[v]:f[v],[_]:p[_]}},C=n.TypedObject.resolveTypedUpdates(S,Vh,m,s);return new e(m,this._getEntireRange,i,C,this._t,this._o)}return new e(m,this._getEntireRange,i,this._p,this._t,this._o)}hasTrailingEdge(){return!0}isMergeOnShift(){return!0}getInnerBorder(e){let t=this._p?.border;if(!t)return null;let r=this._t??this._r;if(!r||!n.CoordUtils.isRangeWithinRange(e,r))return null;let i=this._localizeBorderRange(t,r,e);return i?i.horizontal===void 0&&i.vertical===void 0?null:i:null}_localizeBorderRange(e,t,n){if(!e)return;let r=null,i=t.rowStart,a=t.rowEnd,o=n.rowStart,s=n.rowEnd;e.top&&o===i&&(r??={},r.top=e.top),e.bottom&&s===a&&(r??={},r.bottom=e.bottom),e.horizontal&&(s-o>0&&(r??={},r.horizontal=e.horizontal),o>i&&(r??={},r.top=e.horizontal),s<a&&(r??={},r.bottom=e.horizontal));let c=t.colStart,l=t.colEnd,u=n.colStart,d=n.colEnd;return e.left&&u===c&&(r??={},r.left=e.left),e.right&&d===l&&(r??={},r.right=e.right),e.vertical&&(d-u>0&&(r??={},r.vertical=e.vertical),u>c&&(r??={},r.left=e.vertical),d<l&&(r??={},r.right=e.vertical)),r}_localizeBorder(e,t,n,r){if(!e)return;let i=null,a=t.rowStart,o=t.rowEnd;e.top&&n===a&&(i??={},i.top=e.top),e.bottom&&n===o&&(i??={},i.bottom=e.bottom),e.horizontal&&(n>a&&(i??={},i.top=e.horizontal),n<o&&(i??={},i.bottom=e.horizontal));let s=t.colStart,c=t.colEnd;return e.left&&r===s&&(i??={},i.left=e.left),e.right&&r===c&&(i??={},i.right=e.right),e.vertical&&(r>s&&(i??={},i.left=e.vertical),r<c&&(i??={},i.right=e.vertical)),i}getPropertiesAt(e,t,n){let r=this._p,i=r,a=this._t;if(a){let n=this._r,r=a.colEnd-a.colStart+1,i=a.rowEnd-a.rowStart+1;t=n.colStart+(t-n.colStart+(a.colStart-n.colStart))%r,e=n.rowStart+(e-n.rowStart+(a.rowStart-n.rowStart))%i}let o=i?.border;if(o&&i){let n=a??this._r,s=this._localizeBorder(o,n,e,t);s!==void 0&&(i===r&&(i={...i}),s===null?delete i.border:i.border=s)}return i}toJSON(){let e=n.CommonUtils.toSafeJSON(this._p);if(!e)return e;let t=e.border;return t&&(t.top?.style===W.StrokeStyle.None&&delete t.top,t.bottom?.style===W.StrokeStyle.None&&delete t.bottom,t.left?.style===W.StrokeStyle.None&&delete t.left,t.right?.style===W.StrokeStyle.None&&delete t.right,t.horizontal?.style===W.StrokeStyle.None&&delete t.horizontal,t.vertical?.style===W.StrokeStyle.None&&delete t.vertical,Object.keys(t).length===0&&delete e.border),e}},ig=class extends rg{constructor(e,t){super(e,null,n.CoordUtils.EmptyRange,t)}isEmpty(){return this._p===null}getCoords(){return this._r}cloneWithUpdate(e){if(e===void 0)return this;let t=this._c,r=this._r;return new rg(t,null,r,n.TypedObject.resolveTypedUpdates(e,Vh,t,this._p))}_createShifted(e){return new rg(this._c,null,e,this._p)}getShifted(e){return e.after?{...e.after,value:this._createShifted(n.CoordUtils.sanitizeRange(e.after))}:null}getSplit(e,t){let n=this._c,r=this._p;return[new rg(n,null,e[0],r),new rg(n,null,e[1],r)]}getMerged(e,t,r){let i=this._p,a=e._p;if(i&&!a||a&&!i||!i&&!a)return;let o=Object.keys(i),s=Object.keys(a);if(i.named===X.BuiltInName.Normal&&(o=o.filter(e=>e.toLowerCase()!==X.BuiltInName.Normal)),a.named===X.BuiltInName.Normal&&(s=s.filter(e=>e.toLowerCase()!==X.BuiltInName.Normal)),o.length!==s.length)return;for(let e=0;e<o.length;e++){let t=o[e],r=i[t],s=a[t];if(!n.CommonUtils.deepEqual(r,s))return}let c=this._c;return new rg(c,null,t,this._p)}getPropertiesAt(e,t){return this._p}toJSON(){return n.CommonUtils.toSafeJSON(this._p)}},ag=class{constructor(e,t,n,r=null){this._name=t.name,this._properties=t,this._rangeStyle=new ig(e,t.style),this._doDelete=n,this._builtInID=r}getRanged(){return this._rangeStyle}getName(){return this._name}isHidden(){return this._properties.hidden??!1}getILevel(){return this._properties.iLevel??null}getBuiltInID(){return this._builtInID}delete(){this._doDelete?.(this)}toJSON(){return this._properties?n.CommonUtils.toSafeJSON(this._properties):null}get isINamed(){return!0}},og=class{constructor(e,t,r,i,a){this._state=e,this._normalJSON=t??{},this._toJSONInternal=r,this._fromJSONInternal=i,this._onLastEnd=a,this._state.openScopes.add(this),this._isClosed=!1,this._state.byJSONs.set(n.BufferUtils.JSONStableStringify(this._normalJSON),0),this._state.byIds.set(0,this._normalJSON)}endPersist(){if(!this._state.openScopes.delete(this))throw Error(`PersistScope is closed.`);this._isClosed=!0,this._state.openScopes.size===0&&this._onLastEnd()}getElementID(e){if(this._isClosed)throw Error(`PersistScope is closed.`);e??={};let t=n.BufferUtils.JSONStableStringify(e),r=this._state.byJSONs.get(t);return r!==void 0||(r=this._state.byJSONs.size,this._state.byJSONs.set(t,r),this._state.byIds.set(r,e)),r}getElementJSON(e){if(this._isClosed)throw Error(`PersistScope is closed.`);return this._state.byIds.get(e)??null}fromJSON(e){if(this._isClosed)throw Error(`PersistScope is closed.`);let t=JSON.parse(JSON.stringify(e||{}));this._fromJSONInternal(t);let r=t.direct,i=r?r.length:0;for(let e=0;e<i;e++){let t=e,i=r[e],a=n.BufferUtils.JSONStableStringify(i);this._state.byIds.set(t,i),this._state.byJSONs.set(a,t)}}toJSON(){if(this._isClosed)throw Error(`PersistScope is closed.`);let e=[];return this._state.byIds.forEach((t,n)=>{e[n]=t}),e.length===1&&e.splice(0,1),this._toJSONInternal(e)}},sg=class{constructor(e=null,t=null,n=11){this._defaultTableStyle=null,this._theme=e??new Np().getDefaultTheme(),this._defaultFontSize=n;let r=this;this._emitter=new v(this),this._schemeLookup=e=>r._theme.schemeLookup()(e),this._customIndexedColors=this._fromJSONIndexedColors(t),this._indexedLookup=e=>this._customIndexedColors[e]??null,this._initializeBuiltIns(),this._customCellStyles=new Map,this._customTableStyles=new Map,this._customIndexedColors=[],this._mruColors=[],this._persistCache=null}_initializeNamedStyles(e,t){let r=e?e.length:0;for(let i=0;i<r;i++){let r=e[i],a={...r},o=r.named;delete a.named;let s=n.TypedObject.resolveTypedUpdates(a,Vh,this),c=new ag(this,{name:o,style:s},this._hideOrRemoveNamed.bind(this),i);o===X.BuiltInName.Normal&&(this._normalRanged=c.getRanged(),this._normalStyle=Xg(void 0,this,null)),t.set(o.toLowerCase(),c)}}_initializeTableStyles(){let e=(()=>{if(Vp)return Vp;let e=new Map;Vp=e;let t=(e,t)=>{if(t===0)return`TableStyleNone`;let n=`Custom`;return e===`l`?n=`Light`:e===`m`?n=`Medium`:e===`d`&&(n=`Dark`),`TableStyle${n}${t}`},n=(e,t=0)=>t>0?`${e} lumMod ${100-t}, lumOff ${t}`:t<0?`${e} lumMod ${100+t}`:e,r=e=>({type:Y.Type.Pattern,patternType:Y.BuiltInSheetPattern.Solid,foreground:e,background:e}),i=(e,t=!1)=>{let n={color:e};return t&&(n.weight=700),n},a=(e,t=W.StrokeStyle.Thin)=>({style:t,color:e}),o=(e,t)=>{for(let n=0;n<7;n++)e.push(t(`accent${n+1}`))},s=0,c=[];c.push([`dk1`,n(`bg1`,-15),`dk1`]),o(c,e=>[n(e,-25),n(e,80),e]),s=1;for(let n=0;n<7;n++){let o=t(`l`,n+s),l=c[n][0],u=c[n][1]??l,d=c[n][2]??l;e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(l),border:{top:a(d),bottom:a(d)}},headerRow:{font:i(l,!0),border:{bottom:a(d)}},totalRow:{font:i(l,!0),border:{top:a(d)}},firstColumn:{font:i(l,!0)},lastColumn:{font:i(l,!0)},firstRowStripe:{fill:r(u)},firstColumnStripe:{fill:r(u)}}))}s+=7,c=[],c.push([`dk1`,`dk1`,`lt1`]),o(c,e=>[`dk1`,e,`lt1`]);for(let n=0;n<7;n++){let o=t(`l`,n+s),l=c[n][0],u=c[n][1],d=c[n][2];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(l),border:{left:a(u),right:a(u),top:a(u),bottom:a(u)}},headerRow:{font:i(d,!0),fill:r(u)},totalRow:{font:i(l,!0),border:{top:a(u,W.StrokeStyle.Double)}},firstColumn:{font:i(l,!0)},lastColumn:{font:i(l,!0)},firstRowStripe:{border:{top:a(u)}},secondRowStripe:{border:{top:a(u)}},firstColumnStripe:{border:{left:a(u)}},secondColumnStripe:{border:{left:a(u)}}}))}s+=7,c=[],c.push([`dk1`,n(`bg1`,-15)]),o(c,e=>[e,n(e,80)]);for(let n=0;n<7;n++){let o=t(`l`,n+s),l=c[n][0],u=c[n][1];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),border:{left:a(l),right:a(l),top:a(l),bottom:a(l),horizontal:a(l),vertical:a(l)}},headerRow:{font:i(`dk1`,!0)},totalRow:{font:i(`dk1`,!0),border:{top:a(l,W.StrokeStyle.Double)}},firstColumn:{font:i(`dk1`,!0)},lastColumn:{font:i(`dk1`,!0)},firstRowStripe:{fill:r(u)},firstColumnStripe:{fill:r(u)}}))}s=1,c=[],c.push([`dk1`,`dk1`,n(`bg1`,-15)]),o(c,e=>[e,n(e,40),n(e,80)]);for(let n=0;n<7;n++){let o=t(`m`,n+s),l=c[n][0],u=c[n][1],d=c[n][2];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),border:{left:a(u),right:a(u),top:a(u),bottom:a(u),horizontal:a(u)}},headerRow:{font:i(`lt1`,!0),fill:r(l)},totalRow:{font:i(`dk1`,!0),border:{top:a(l,W.StrokeStyle.Double)}},firstColumn:{font:i(`dk1`,!0)},lastColumn:{font:i(`dk1`,!0)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s+=7,c=[],c.push([`dk1`,n(`bg1`,-15),n(`bg1`,-35)]),o(c,e=>[e,n(e,80),n(e,60)]);for(let n=0;n<7;n++){let o=t(`m`,n+s),l=c[n][0],u=c[n][1],d=c[n][2];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),fill:r(u),border:{horizontal:a(`lt1`),vertical:a(`lt1`)}},headerRow:{font:i(`lt1`,!0),fill:r(l),border:{bottom:a(`lt1`,W.StrokeStyle.Thick)}},totalRow:{font:i(`lt1`,!0),fill:r(l),border:{top:a(`lt1`,W.StrokeStyle.Thick)}},firstColumn:{font:i(`lt1`,!0),fill:r(l)},lastColumn:{font:i(`lt1`,!0),fill:r(l)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s+=7,c=[],c.push([`dk1`,n(`bg1`,-15),n(`bg1`,-35)]),o(c,e=>[e,n(e,80),n(e,60)]);for(let o=0;o<7;o++){let l=t(`m`,o+s),u=c[o][0],d=n(`bg1`,-15);e.set(l.toLocaleLowerCase(),Object.freeze({name:l,wholeTable:{font:i(`dk1`),border:{top:a(`dk1`,W.StrokeStyle.Medium),bottom:a(`dk1`,W.StrokeStyle.Medium),left:o===0?a(`dk1`,W.StrokeStyle.Thin):void 0,right:o===0?a(`dk1`,W.StrokeStyle.Thin):void 0,horizontal:o===0?a(`dk1`,W.StrokeStyle.Thin):void 0,vertical:o===0?a(`dk1`,W.StrokeStyle.Thin):void 0}},headerRow:{font:i(`lt1`,!0),fill:r(u),border:{bottom:a(`dk1`,W.StrokeStyle.Medium)}},totalRow:{border:{top:a(`dk1`,W.StrokeStyle.Double)}},firstColumn:{font:i(`lt1`,!0),fill:r(u)},lastColumn:{font:i(`lt1`,!0),fill:r(u)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s+=7,c=[],c.push([`dk1`,n(`bg1`,-15),n(`bg1`,-35),`dk1`]),o(c,e=>[e,n(e,80),n(e,60),n(e,40)]);for(let n=0;n<7;n++){let o=t(`m`,n+s),l=c[n][0],u=c[n][1],d=c[n][2],f=c[n][3];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),fill:r(u),border:{top:a(f),right:a(f),left:a(f),bottom:a(f),vertical:a(f),horizontal:a(f)}},headerRow:{font:i(`dk1`),fill:r(u)},totalRow:{font:i(`dk1`),border:{top:a(l,W.StrokeStyle.Medium)}},firstColumn:{font:i(`dk1`,!0)},lastColumn:{font:i(`dk1`,!0)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s=1,c=[],c.push([`dk1`,n(`dk1`,15),n(`dk1`,25),n(`dk1`,50)]),o(c,e=>[`dk1`,n(e,-50),n(e,-25),e]);for(let n=0;n<7;n++){let o=t(`d`,n+s),l=c[n][0],u=c[n][1],d=c[n][2],f=c[n][3];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`lt1`),fill:r(f)},headerRow:{font:i(`lt1`,!0),fill:r(l),border:{bottom:a(`lt1`,W.StrokeStyle.Medium)}},totalRow:{font:i(`lt1`,!0),fill:r(u),border:{top:a(`lt1`,W.StrokeStyle.Medium)}},firstColumn:{font:i(`lt1`,!0),fill:r(d),border:{right:a(`lt1`,W.StrokeStyle.Medium)}},lastColumn:{font:i(`lt1`,!0),fill:r(d),border:{left:a(`lt1`,W.StrokeStyle.Medium)}},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s+=7,c=[],c.push([n(`bg1`,-15),`dk1`,n(`bg1`,-35)]),c.push([n(`accent1`,80),`accent2`,n(`accent1`,60)]),c.push([n(`accent3`,80),`accent4`,n(`accent3`,60)]),c.push([n(`accent5`,80),`accent6`,n(`accent5`,60)]);for(let n=0;n<4;n++){let o=t(`d`,n+s),l=c[n][0],u=c[n][1],d=c[n][2];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),fill:r(l)},headerRow:{font:i(`lt1`,!0),fill:r(u)},totalRow:{font:i(`dk1`,!0),border:{top:a(`dk1`,W.StrokeStyle.Double)}},firstColumn:{font:i(`dk1`,!0)},lastColumn:{font:i(`dk1`,!0)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}return e})(),t=new Map;return e.forEach((e,n)=>{let r=e.name.toLowerCase(),i=new qh(this,e,!0);t.set(r,i)}),t}_initializeBuiltIns(){let e=new Map;this._builtInsCellStyles=e,this._initializeNamedStyles(Bp,e),this._builtInsTableStyles=this._initializeTableStyles(),this._emptyTableStyle=new dp.Empty(this._normalStyle)}getNormal(){return this._normalStyle}getNormalRanged(){return this._normalRanged}setTheme(e){this._theme=e,this._emitter.notify(`onThemeChange`),this._emitter.notify(`onAnyChange`)}getTheme(){return this._theme}setDefaultFontSize(e){this._defaultFontSize=e,this._emitter.notify(`onDefaultFontChange`),this._emitter.notify(`onAnyChange`)}getDefaultFontSize(){return this._defaultFontSize}beginPersist(){return this._persistCache||={byIds:new Map,byJSONs:new Map,openScopes:new Set},new og(this._persistCache,{},this._toJSONInternal.bind(this),this._fromJSONInternal.bind(this),()=>{this._persistCache=null})}getNamed(e){if(!e)return null;e=e.toLowerCase();let t=null;return this._customCellStyles&&(t=this._customCellStyles.get(e)),t||=this._builtInsCellStyles.get(e),t??null}getCustomNamed(){let e=Array.from(this._customCellStyles.values());return e.sort((e,t)=>e.getName().localeCompare(t.getName())),e}setNamed(e,t=!1){if(!e||!e.name||!e.style)throw new n.NullNotAllowedError;this.validateStyleName(e.name,!1);let r=this._setCustomCellStyleInternal(e,t);return this._emitter.notify(`onNamedStylesChange`),this._emitter.notify(`onAnyChange`),r}_setCustomCellStyleInternal(e,t=!1,r=0){let i=e.name.toLowerCase(),a=this._builtInsCellStyles.get(i),o=a?.getBuiltInID()??null,s=null;t&&(s=(this._customCellStyles.get(i)??a)?._properties??null);let c=Pg(e.style,this.getNormal());e={...e,style:c};let l=n.TypedObject.resolveTypedUpdates(e,Wh,this,s),u=l.style,d=u?.named;if(typeof d==`string`&&d.toLowerCase()!==i){let e={...u};delete e.named;let t=d.toLowerCase()===X.BuiltInName.Normal.toLowerCase()?null:this.getNamed(d)?.getRanged().getPropertiesAt(0,0,null),r=t?n.TypedObject.resolveTypedUpdates(e,Vh,this,t):e;l={...l,style:r}}let f=new ag(this,l,this._hideOrRemoveNamed.bind(this),o);return l.name===X.BuiltInName.Normal&&(this._normalRanged=f.getRanged(),this._normalStyle=Xg(void 0,this,null)),this._customCellStyles.set(i,f),f}_setCustomTableStyleInternal(e,t){let n=e.toLowerCase(),r=this._customTableStyles.get(n)??this._builtInsTableStyles.get(n);r&&(e=r.getName());let i=new qh(this,{...t,name:e},!1,this._deleteCustomTableStyle.bind(this));return this._customTableStyles.set(n,i),i}_hideOrRemoveNamed(e){let t=null;if(t=typeof e==`string`?e:e?.getName?.(),!t||(t=t.toLowerCase(),t===X.BuiltInName.Normal.toLowerCase()))return!1;let n=this._builtInsCellStyles.get(t),r=!1;if(n&&!n.isHidden()){let e=n.toJSON();this.setNamed({...e,hidden:!0}),r=!0}else t=t.toLowerCase(),r=this._customCellStyles.delete(t);return r&&(this._emitter.notify(`onNamedStylesChange`),this._emitter.notify(`onAnyChange`)),r}getTableStyle(e){if(!e)return this._emptyTableStyle;let t=this._customTableStyles.get(e.toLowerCase());return t||=this._builtInsTableStyles.get(e.toLowerCase()),t??null}getCustomTableStyles(){let e=Array.from(this._customTableStyles.values());return e.sort((e,t)=>e.getName().localeCompare(t.getName())),e}setDefaultTableStyle(e){let t=e?.toLowerCase();return this._defaultTableStyle=this._customTableStyles.get(t)??this._builtInsTableStyles.get(t)??this._builtInsTableStyles.get(`tablestylemedium2`),this._emitter.notify(`onTableStylesChange`),this._emitter.notify(`onAnyChange`),e===this._defaultTableStyle.getName()}getDefaultTableStyle(){return this._defaultTableStyle||=this._builtInsTableStyles.get(Hp.toLowerCase()),this._defaultTableStyle}_deleteCustomTableStyle(e){let t=this._customTableStyles.get(e?.toLowerCase());return!!t&&(this._customTableStyles.delete(e.toLowerCase()),this._defaultTableStyle?.getName()===t.getName()&&(this._defaultTableStyle=this._builtInsTableStyles.get(Hp.toLowerCase())),this._emitter.notify(`onTableStylesChange`),this._emitter.notify(`onAnyChange`),!0)}setCustomTableStyle(e,t){let n=this._setCustomTableStyleInternal(e,t);return this._emitter.notify(`onTableStylesChange`),this._emitter.notify(`onAnyChange`),n}validateStyleName(e,t=!1){if(!e||e.trim().length===0)throw Error(`Style name cannot be empty.`);if(t&&this.getNamed(e)!==null)throw Error(`Style name is already taken.`)}normalize(e,t){if(!e)return null;let r=n.TypedObject.resolveTypedUpdates(e,Vh,this);if(!r)return null;let i=null,a=t??r.named??X.BuiltInName.Normal;i=a===X.BuiltInName.Normal?this._normalRanged.getPropertiesAt(0,0,null):this.getNamed(a)?.getRanged().getPropertiesAt(0,0,null);let o=this.getTheme().getFontScheme(),s={font:{size:this.getDefaultFontSize(),family:o.getMinorFont(),fallbacks:o.getMinorFallbacks()}};return n.CommonUtils.removeEqualValuesLayered(r,[i,s,zp]),r}resolve(e,t){if(!e)return null;let r=t??e.named??X.BuiltInName.Normal,i=r===X.BuiltInName.Normal?this._normalRanged.getPropertiesAt(0,0,null):this.getNamed(r)?.getRanged().getPropertiesAt(0,0,null),a={...e};delete a.named;let o=n.TypedObject.resolveTypedUpdates(a,Vh,this,i??void 0);return o?(typeof e.named==`string`&&(o.named=e.named),o):null}schemeLookup(){return this._schemeLookup}indexedLookup(){return this._indexedLookup}parseColor(e){return up.parse(e,this._schemeLookup,this._indexedLookup)}recentColors(){return this._mruColors}addRecentColor(e){if(!e)return;let t=this._mruColors,n=[],r=e.toString(),i=t.length;for(let e=0;e<i&&e<10;e++){let i=t[e];i.toString()!==r&&n.push(i)}return n.unshift(e),this._mruColors=Object.freeze(n),this._mruColors}clearRecentColors(){this._mruColors=n.CommonUtils.EmptyArray}getCustomIndexedColors(){return this._customIndexedColors}setCustomIndexedColors(e){this._customIndexedColors=(e?.length??0)>0?[...e]:[]}getIndexedColors(){let e=this._customIndexedColors,t=Math.max(e?.length,66),n=[];for(let r=0;r<t;r++){let t=e[r];if(t!==null){let e=t??xc(r);if(!e)continue;n.push(t??new up(e.toString()))}}return n}addListeners(e,t){return this._emitter.addListeners(e,t)}_toJSONInternal(e){let t={};e.length>0&&(t.direct=e);let n=this.getCustomNamed(),r=n.length,i=Array(r);for(let e=0;e<r;e++)i[e]=n[e].toJSON();i.length>0&&(t.named=i);let a={};this._defaultTableStyle&&this._defaultTableStyle.getName()!==`TableStyleMedium2`&&(a.defaultTableStyle=this._defaultTableStyle.getName());let o={},s=this.getCustomTableStyles(),c=s.length;for(let e=0;e<c;e++){let t=s[e],n=t.toJSON();delete n.name,n&&Object.keys(n).length>0&&(o[t.getName()]=n)}Object.keys(o).length>0&&(a.styles=o),Object.keys(a).length>0&&(t.tables=a);let l=this._customIndexedColors,u=l.length??0;if(u>0){let e=Array(u);for(let t=0;t<u;t++)e[t]=l[t].toString();t.indexedColors=e}let d=this._mruColors,f=d.length;if(f>0){let e=Array(f);for(let t=0;t<f;t++)e[t]=d[t].toString();t.mruColors=e}return Object.keys(t).length===0?null:t}_fromJSONIndexedColors(e){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let t=e.length,r=Array(t);if(t>0)for(let n=0;n<t;n++){let t=e[n];try{r[n]=this.parseColor(t)}catch{console.warn(`Unable to parse color: `+t)}}return r}_fromJSONInternal(e){this._customIndexedColors=this._fromJSONIndexedColors(e.indexedColors);let t=e.named,n=t?t.length:0;for(let e=0;e<n;e++)this._setCustomCellStyleInternal(t[e]);let r=e.direct,i=r?r.length:0;for(let e=0;e<i;e++)r[e]=this.normalize(r[e])??{};let a=Hp;if(this._defaultTableStyle=null,e.tables){e.tables.defaultTableStyle&&(a=e.tables.defaultTableStyle);let t=e.tables.styles,n=t?Object.keys(t):null,r=n?n.length:0;for(let e=0;e<r;e++){let r=n[e],i=t[r];this._setCustomTableStyleInternal(r,i)}}this._defaultTableStyle=this.getTableStyle(a);let o=e.mruColors,s=o?o.length:0,c=Array(s);if(s>0)for(let e=0;e<s;e++){let t=o[e];try{c[e]=this.parseColor(t)}catch{console.warn(`Unable to parse color: `+t)}}this._mruColors=c}},cg=class e{constructor(e,t,r,i=null,a=null,s=null){this._private={wrapped:!0,insets:n.TypesUtils.EmptyRect,orientation:o.Orientation.Horizontal,autoFit:o.Autofit.None,fontScale:1,vertical:!1,columnCount:1,columnSpacing:0,verticalAlignment:o.VerticalAlignment.Center,horizontalCentered:!1,lineReduction:0,isSpaceFirstLastPara:!1,presetTextWarp:null,paragraphs:n.CommonUtils.EmptyArray},this._bounds=null,this._textBounds=null,this._lines=null,this._lastLayoutSize=void 0,this._lastLayout=void 0,this._private=Object.assign(this._private,e||{}),this._defaultFont=t,this._alignment=r,this._lines=i,this._bounds=Object.freeze(a),this._textBounds=Object.freeze(s)}visitParas(e){e?.visitTextFrame?.(this);let t=this.paragraphs,n=t.length;for(let r=0;r<n;r++){let i=t[r];e?.visitTextParagraph?.(i,r,n);let a=i.runs,o=a.length;for(let t=0;t<o;t++)e?.visitTextRun?.(a[t],t,o)}}visitLines(e){e?.visitTextFrame?.(this);let t=this.lines,n=t.length;for(let r=0;r<n;r++){let i=t[r];e?.visitTextLine?.(i,r,n);let a=i.runs,o=a.length;for(let t=0;t<o;t++)e?.visitTextRun?.(a[t],t,o)}}layout(e=null){return this._lastLayout&&this._lastLayoutSize?.width===e?.width&&this._lastLayoutSize?.height===e?.height||(this._lastLayout=Dg(this,this._defaultFont,this._alignment,e),this._lastLayoutSize=e),this._lastLayout}clone(t){let n=t?.visitTextFrame?.(this),r=Object.assign({},this._private,n||{});return delete r.bounds,new e(r,this._defaultFont,this._alignment)}equals(e){return n.CommonUtils.deepEqual(this._private,e._private)}createTextFrame(e,t){return kg(e,this._defaultFont,this._alignment,t??this._private.wrapped)}get bounds(){if(this._bounds===null)throw Error(lg);return this._bounds}get textBounds(){if(this._textBounds===null)throw Error(lg);return this._textBounds}get lines(){return this._lines}get wrapped(){return this._private.wrapped}get insets(){return this._private.insets}get orientation(){return this._private.orientation}get autoFit(){return this._private.autoFit}get fontScale(){return this._private.fontScale}get vertical(){return this._private.vertical}get columnCount(){return this._private.columnCount}get columnSpacing(){return this._private.columnSpacing}get verticalAlignment(){return this._private.verticalAlignment}get horizontalCentered(){return this._private.horizontalCentered}get lineReduction(){return this._private.lineReduction}get isSpaceFirstLastPara(){return this._private.isSpaceFirstLastPara}get presetTextWarp(){return this._private.presetTextWarp??null}get paragraphs(){return this._private.paragraphs}},lg=`bounds can not be used until layout`,ug=class{static{this.NL=`
|
|
3
|
+
`}static{this.DefaultLineSpacing=100}static{this.DefaultTabWidth=72}},dg=class e{constructor(e){this._private={defaultFontSize:11,defaultTabSize:ug.DefaultTabWidth,tabOverrides:n.CommonUtils.EmptyArray,spacingBefore:0,spacingAfter:0,lineSpacing:ug.DefaultLineSpacing,align:o.HorizontalAlignment.Left,endParagraphSize:0,indentLevel:0,leadingIndent:0,hangingIndent:0,rightMargin:0,bullet:null},this._private=Object.assign(this._private,e||{})}clone(t){let n=t?.visitTextParagraph?.(this,0,1),r=Object.assign({},this._private,n||{});return delete r.bounds,new e(r)}equals(e){return n.CommonUtils.deepEqual(this._private,e._private)}get bounds(){return this._bounds}get defaultFontSize(){return this._private.defaultFontSize}get defaultTabSize(){return this._private.defaultTabSize}get tabOverrides(){return this._private.tabOverrides}get spacingBefore(){return this._private.spacingBefore}get spacingAfter(){return this._private.spacingAfter}get lineSpacing(){return this._private.lineSpacing}get align(){return this._private.align}get endParagraphSize(){return this._private.endParagraphSize}get indentLevel(){return this._private.indentLevel}get leadingIndent(){return this._private.leadingIndent}get hangingIndent(){return this._private.hangingIndent}get rightMargin(){return this._private.rightMargin}get bullet(){return this._private.bullet??null}get runs(){return this._private.runs}},fg=class e{constructor(e,t=null){this._private={text:null,fontName:`Arial`,bold:!1,italic:!1,superSub:!1,fontSize:11,letterSpacing:0,kerningMin:10,smallCaps:i.SmallCaps.None,offset:0,strikeStyle:i.StrikeStyle.None},this._private={...this._private,...e},this._bounds=t}clone(t){let n=t?.visitTextRun?.(this,0,1),r=Object.assign({},this._private,n||{});return delete r.bounds,new e(r)}equals(e){return n.CommonUtils.deepEqual(this._private,e._private)}get bounds(){return this._bounds}get text(){return this._private.text}get fontName(){return this._private.fontName}get bold(){return this._private.bold}get italic(){return this._private.italic}get fontSize(){return this._private.fontSize}get superSub(){return this._private.superSub}get letterSpacing(){return this._private.letterSpacing}get kerningMin(){return this._private.kerningMin}get smallCaps(){return this._private.smallCaps}get offset(){return this._private.offset}get strikeStyle(){return this._private.strikeStyle}},pg=class{constructor(e,t,n){this._private={},this._private={bounds:e,baseline:t,runs:n}}get bounds(){return this._private.bounds}get baseline(){return this._private.baseline}get runs(){return this._private.runs}get bullet(){return null}},mg=e.t((e,t)=>{function n(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function r(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new n,this.dtree=new n}var i=new n,a=new n,o=new Uint8Array(30),s=new Uint16Array(30),c=new Uint8Array(30),l=new Uint16Array(30),u=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new n,f=new Uint8Array(320);function p(e,t,n,r){var i,a;for(i=0;i<n;++i)e[i]=0;for(i=0;i<30-n;++i)e[i+n]=i/n|0;for(a=r,i=0;i<30;++i)t[i]=a,a+=1<<e[i]}var m=new Uint16Array(16);function h(e,t,n,r){var i,a;for(i=0;i<16;++i)e.table[i]=0;for(i=0;i<r;++i)e.table[t[n+i]]++;for(e.table[0]=0,a=0,i=0;i<16;++i)m[i]=a,a+=e.table[i];for(i=0;i<r;++i)t[n+i]&&(e.trans[m[t[n+i]]++]=i)}function g(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);var t=1&e.tag;return e.tag>>>=1,t}function _(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var r=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function v(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var n=0,r=0,i=0,a=e.tag;do r=2*r+(1&a),a>>>=1,++i,n+=t.table[i],r-=t.table[i];while(r>=0);return e.tag=a,e.bitcount-=i,t.trans[n+r]}function y(e,t,n){var r,i,a,o,s,c;for(r=_(e,5,257),i=_(e,5,1),a=_(e,4,4),o=0;o<19;++o)f[o]=0;for(o=0;o<a;++o){var l=_(e,3,0);f[u[o]]=l}for(h(d,f,0,19),s=0;s<r+i;){var p=v(e,d);switch(p){case 16:var m=f[s-1];for(c=_(e,2,3);c;--c)f[s++]=m;break;case 17:for(c=_(e,3,3);c;--c)f[s++]=0;break;case 18:for(c=_(e,7,11);c;--c)f[s++]=0;break;default:f[s++]=p}}h(t,f,0,r),h(n,f,r,i)}function b(e,t,n){for(;;){var r,i,a,u,d=v(e,t);if(d===256)return 0;if(d<256)e.dest[e.destLen++]=d;else for(r=_(e,o[d-=257],s[d]),i=v(e,n),u=a=e.destLen-_(e,c[i],l[i]);u<a+r;++u)e.dest[e.destLen++]=e.dest[u]}}function x(e){for(var t,n;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return-3;for(e.sourceIndex+=4,n=t;n;--n)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}(function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n})(i,a),p(o,s,4,3),p(c,l,2,1),o[28]=0,s[28]=258,t.exports=function(e,t){var n,o,s=new r(e,t);do{switch(n=g(s),_(s,2,0)){case 0:o=x(s);break;case 1:o=b(s,i,a);break;case 2:y(s,s.ltree,s.dtree),o=b(s,s.ltree,s.dtree);break;default:o=-3}if(o!==0)throw Error(`Data error`)}while(!n);return s.destLen<s.dest.length?typeof s.dest.slice==`function`?s.dest.slice(0,s.destLen):s.dest.subarray(0,s.destLen):s.dest}}),hg=e.t((e,t)=>{var n=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,r=(e,t,n)=>{let r=e[t];e[t]=e[n],e[n]=r};t.exports={swap32LE:e=>{n&&(e=>{let t=e.length;for(let n=0;n<t;n+=4)r(e,n,n+3),r(e,n+1,n+2)})(e)}}}),gg=e.t((e,t)=>{var n=mg(),{swap32LE:r}=hg();t.exports=class{constructor(e){let t=typeof e.readUInt32BE==`function`&&typeof e.slice==`function`;if(t||e instanceof Uint8Array){let i;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),i=e.readUInt32LE(8),e=e.slice(12);else{let t=new DataView(e.buffer);this.highStart=t.getUint32(0,!0),this.errorValue=t.getUint32(4,!0),i=t.getUint32(8,!0),e=e.subarray(12)}e=n(e,new Uint8Array(i)),e=n(e,new Uint8Array(i)),r(e),this.data=new Uint32Array(e.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e<this.highStart?(t=this.data[2080+(e>>11)],t=this.data[t+(e>>5&63)],t=(t<<2)+(31&e),this.data[t]):this.data[this.data.length-4]}}}),_g=e.t(e=>{(function(e){"use strict";var t=typeof Uint8Array<`u`?Uint8Array:Array,n=43,r=47,i=48,a=97,o=65,s=45,c=95;function l(e){var t=e.charCodeAt(0);return t===n||t===s?62:t===r||t===c?63:t<i?-1:t<i+10?t-i+26+26:t<o+26?t-o:t<a+26?t-a+26:void 0}e.toByteArray=function(e){var n,r,i,a,o,s;if(e.length%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var c=e.length;o=e.charAt(c-2)===`=`?2:+(e.charAt(c-1)===`=`),s=new t(3*e.length/4-o),i=o>0?e.length-4:e.length;var u=0;function d(e){s[u++]=e}for(n=0,r=0;n<i;n+=4,r+=3)d((16711680&(a=l(e.charAt(n))<<18|l(e.charAt(n+1))<<12|l(e.charAt(n+2))<<6|l(e.charAt(n+3))))>>16),d((65280&a)>>8),d(255&a);return o===2?d(255&(a=l(e.charAt(n))<<2|l(e.charAt(n+1))>>4)):o===1&&(d((a=l(e.charAt(n))<<10|l(e.charAt(n+1))<<4|l(e.charAt(n+2))>>2)>>8&255),d(255&a)),s},e.fromByteArray=function(e){var t,n,r,i=e.length%3,a=``;function o(e){return`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charAt(e)}function s(e){return o(e>>18&63)+o(e>>12&63)+o(e>>6&63)+o(63&e)}for(t=0,r=e.length-i;t<r;t+=3)a+=s(n=(e[t]<<16)+(e[t+1]<<8)+e[t+2]);switch(i){case 1:a+=o((n=e[e.length-1])>>2),a+=o(n<<4&63),a+=`==`;break;case 2:a+=o((n=(e[e.length-2]<<8)+e[e.length-1])>>10),a+=o(n>>4&63),a+=o(n<<2&63),a+=`=`}return a}})(e===void 0?e.base64js={}:e)}),vg=e.r(gg(),1),yg=e.r(_g(),1),bg={},xg=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]],Sg=new vg.default(yg.default.toByteArray(`AAgOAAAAAAAQ4QAAAQ0P8vDtnQuMXUUZx+eyu7d7797d9m5bHoWltKVUlsjLWE0VJNigQoMVqkStEoNQQUl5GIo1KKmogEgqkKbBRki72lYabZMGKoGAjQRtJJDaCCIRiiigREBQS3z+xzOTnZ3O+3HOhd5NfpkzZx7fN9988zivu2M9hGwB28F94DnwEngd/Asc1EtIs9c/bIPDwCxwLDgezHcodyo4w5C+CCwBS8FnwSXgCnA1uFbI93XwbXAbWAfWgx+CzWAb+An4KfgFeAzsYWWfYuFz4CXwGvgb+Dfo6yNkEEwGh4CZYB44FpwI3g1OY+kfBItZOo2fB84Hy8DF4HJwNbiWpV8PVoO1LH4n2NRXyN+KcAd4kNVP9XsY4aPgcfAbsBfs6SniL4K/sPjfEf6HlanXCRkCw2BGvUh/keWfXS/CY+pFXs7x9XHmM94LTmWIeU2cgbxnS/k/B3kf86jDhU8L9V2E40vAFWAlWFUfb++NOL4F3C7JX4/4GiE+hvgWsF0oS7mXldspnN+F493gyXrh9xTav0cg3EvzgVfBG6wsmVSEkxBOBgdPGpd7JI6PnqRvJ68/xlbHof53gPeA94OzwLngk+ACsAwsByvASrAK3MB0Ws3CtQjvBJvAVrADPMDSHkb4CNijaccTwvnf4fiPEs8Lxy+D18A/QU8/xjgYBjPAbDAKTgYLwOngTHAO+EQ/8wuEF4EvsPiVCFf2+9tsFStzA8LVHuXXBsi6QyqzUYiPMR/7Mc7dAx7oL8bzw/3u/Bw8Bp4Az4AXwCtgHzsmDXP5fiF9iiVvly5d0sHngar16NKlS5cuXbp06fLmYlqHXrcd3ph4P0THUY3iXh49novju4S0tzfs5d+JPKewfAsRntZb3K9ZhOMlrO6lCC8An28U9+OuovcPcPxlVu5rCL/VmHh/iHIrzn3fIPu7SN8Axmg+8AOwEWwCm7tp3bRuWjetm5Y8bSu4B9zbKO6ZVsnORrVU3f4uXTqZ2H3sLoyx3eDXjfDndE9qyj6L838CfwVvgFpzYnof4oNgOhgBc8Fos9DrZIQLmtXPP1MmF6wGj4H+KXoWguvADkXaPil+YpuQy8Am8Ey7ODdtmJDF4HowBp4De6HDTNjhfHAHeBr0DBBy0kDxfPbcgSIusgrcWhtnJ8vL+TPix7UIOQtcBq4C28Cr4KRBnANbwSuDE+s50JgyNNFuXbp06XIgsXjIvPafjvXozKY+fVFz/z0LT1uCtKVSWbrOLWPnztG8e0Xfy7ol8XtZJi7WtG+5od2UFXQ/A12vUeS7jp27yVKHjdsU9lXB869TyNvAzt0lpP2oWbwLdjiO78bx/Sz+EMJHwK9Y/LcIfw+eZ3F67/Hl5vh9xX80J+rwX8SvRDhpgL17iPAQMHNArfPrqHPewLheI+AERV6efwV418B4nOZ/H+IfYHV8GOF5LJ3eAz0fx8sM9S0fUNud39O9CulfGZhY5huI3wzWgNvBelbHZoTbNPVpfYjKQpkHwUNgl0LWblbnk0LbbDxr0OMFpL3iqWdu9nWYPlVAWkXY39LnGdCkDbeqv1YNbfcMQ3t9oe8lzm6NH9N1ZB6Ln4BwfkJZJk7RyFnYKt6b/JDQXx9p5X+eFdqOjzM9P9MB/lUlFzr20aXIdzlY4dmn9F3YqtvoO76/2hp/D/xA5Zue88nNyL8GbFbs075X0tyUig3Qd2MCnf//HjnzpbsR3g9+1kHzzVjdnE71/qVBX9rGPUh/ysNWe1neFzvIDi5zAufV1sT0N0poR22wkFUfTOPfA4N2mbZ5fSrqOHSw+IbkSBbOGSzSRgf91/GTUWYBOB2cIZQ/G8cfBZ8CFwrnL8XxF8FKcA24jqXdiPA7Qr61OF7H4mMItwzuv2/YLth1ISt3Hzu3k4W7EH5JqPdRHD/O4k+z8A8IX5Lq3y7Z4nXE9xn6kX6vQ4bKfy+ok+hH+xf3hq9dnTTHhjKd2GmDuWA242iHMq4cC7A8kJ7i8o1+skSa7Jieo38HCWnoNjKFhdSFBxzpZ7QE6lI8N4S14aASZcryaV/WWHw66f6NHuCoxuQxmvM56GX9QMd8Q4D65ywGP+ZzRJuM+zQvx/MOS2VFeqQ4IXnH26zM9Xe6/E6D+4foAzzuajPZp8Qyw5ayZVDWuH0z0BtYRkeIDqH9KO9VbH1btd/lhNqCzvl8zeLnG0S/hnU6baHfpiuO6yy0rd+DHURo/zYF5H26j03rQsip2ndzz82u1z9N4VjWKWeb68Tedpt95HRVXp7H1R6p+/Wt4FPy/PpWwscOLRJ+PVWF/+W0iVyGzs18TIvXkOJ1Wxm66vSXz+vylenrZcj1ub439W+K8RNCGTJi2p/TJ1K23VaXr35tRpnzmjxequgfcfyk6B/TGBVlyedsNgpdd/h+W1U3P99QyFPNo1X3TwpM/WLTIWYfoBqXrv6iskHZ/RFr79R6hIyHBrH3f1nrUVnjP8SnZZ+rYtzr9Exld5MNbPNErusAPg+77u/eDOPftU9yj39TH7rezxd1LvsZQJlzkWlOirG/79zjMj/mtHUKu7vKy+3/LnXr9okyKedjX5/0He9iP/j63LwOQdarEVlfy8OO/Lqw023j6xcqmwxLiOd6heM2i9cV9LJy8jMJ23yQ+rpbfu7EQ/pXE8KYvUSqvVnb4XzZa6LrHMXHR+zcLvqWbm/Bn0/HzIs6fWPHoat8XfnDKmZGxRxeMbn2UqZ5Q94nmcZRbqqUXbZ8+lcjE+cPX11t814orvvAXNcG8vqj2vvk1MGn3anlj0bIT72v47bvE+Lc98T9b6r7AKn6j+8Duf7D0nnZx/j7Zjn0j9nbpSTndaLr9WNLivP+iN23xF7L+fqv6ZouFyb78jxVXvv5jJ9YUs9/sddO8h7KNg5jrhfaJGztT6G7KF+1d6yCmD5Kdb2fan60rSc552fZr3zeQ9DpnPp+Si5cx5Ktv2QfSzF/mMbWdOm46rFI4XstnU9xeqX4NKb7TKEdcr6pZOK3ID1k/LvFHkVczEuZLEDr499YqvqBym1aEHWgcvoYOtv0M91qQl5TfpO/in6rWx8OVpT1Wedkv3f5xom3T/xeR/6Gx6V86PWAOB4bBpqWdN+yTcVxjIyGRz/FrDGu6w/3d7kPm8StX8RyPu+uuvpNju/vTLJV37GpvoM0oZPnW87VLnL/5pDno1NoW1R6yedU6TyUv3u19a3KFnIbTLYz+ZCLP4T0tU1uivFgso0pnsJ/UtXvarNY28Xq5cvkBDrQP/E5ZaiuQwwfmTlsOiQRU1fMuqrDd/3ISSuwjOwXOfTyGUMpZIXq4GpLn3pUcdfzch2x7XO1u2uZHOPb1G6b3Xg9PH1IIWeEpJlPQtqos2EKW8b0u8rnuP1UeVLoXJb9be0uG9nnbchjU+XTszT5VeNBThPHnc5OKj1U9aj0GTHIVaGy1YhEWT4ixns00DT+XEzWn/7VAsIc63Cov3OdyhwjrnaqQqZvWKXdypRdlq+k8msZ031U+Rm4fA+3TtyeR9hwfW9G9yxDN0fZMN33F+9TE6md4hwoxumfaUzI9fN3PFT3xVV2msrQ3UsnChm6Nulk8TndpS28D3zX9tTIPsF/z7Am5OkTjm1tI1JZW74+4VgsZ0N3L1yXV3WeP5uR7TGHHdvC3JQlxybfpd22tDlk/2eofRK8TzrN/qnar/K/OUTth6I/+jAnEptNbPvFHP2gs40N3+dfMWtwqvVct7/wfd8gtQ7imifial9ZJ9/3IHLYU6eDj3+4PhsNhX+vwvcWLnu6kGfEMe8DuciPfUfGZB8X/7HJy/Gefe5n+VRGFd/wyP2ta7/LO4yh/sbLV/k9lev6kfO9Dt/5U67b1/6u/epqB1U9Me23jfHY9sscAg4tkbLl+e4/U36rJ9ddxfd6sg5vq5ice42Wpk/pb9FOJ36/W9tpv4kbC79nUbZceX8Zu6/qJ+P3WvhvA8v3reh7Jbn2d6rrNC7XNZTLma4Ba0JI9efX2uLzF5scG/w9UNU1ZxW+ymUfzELeTllXlQ1rUuhzjS5fp9c964iFBOqeSz63bU065nZKdU+mDEz3qHIjjifquw0pnb/raRtvrnsYcb46ihT3taoYz6brdNW9l6rWRnE/navdPn1XlR1km7hcz1WlH/elKuSOSvLLuE8U6m8uzwRdfcGl73VyTHuyMvzJ1Sa2cWDTP/Z63Kc94n2B1PYr24dz1JlyHLlcP+S4B6vD1c9EW4q2LWstCvUjeVy63k/LMYdUNd5D1xQfvVTzX1VjkMsUv88N8VH5fReVn/Fjn++/h6X6Q8a6b1/q3g/i/ewi0/Scs8zxXeV6mWIOUPlPzBgdFerW+bZrm2P18dnjuK6HunEp+rHvPMXbr+sHVb/lnL+pTP57jPw9Cvk3PW178JD9qChfzuvTf7Htl38L1QUf/VKu9SFjwWbTWPvFEvu7Uq76y7+31g6QlYPc669pbsm9Xur2LWI9Pu8ypfDXqm3A2z8s1FWGn4ntL9NfQu2oSlftX9uetvTtv7J8Ql4zxfXGZ3zk8PeQ9w59x2uMfqI8/q5eKh/l9cb2rwsu9rSNl06ZP2Pmxtz+rNMx93yno0n2/82rVH7rQ+y9P15H6FyRun9ViH81ATmffI7nJ5r8uXXW6enbP6b/B8/l5OifVHYLnb9S39s2zcc+Ph+rh8+eQgVPS72elzGWY/tUtbbabBpDiI7yN1q6/4th2y+ErAc5+9BVvu/7KamJbWNZeuqI/R4tRf+YyD1HmOZM1bMV3/14Sn10c0Xu+Sj1nOXb5jL73ncdy02uvlXZNde65dOHYl7Vs4KYuS6FzWLn2zJlpZqPXPVPOa5yzKOyn1VhT9lmMfdbfH7D11Wf2PXN5h9y+dD287+qxgSnaYmnIrRtIb8pJe6/Uv9OVer6Whn0zfGO/BEloZI9ojmfAlUflClDd178bTmVHVTpZXOkAlk/lb42UujmI89HH5V+cl7XtowY6vTxLVWok6UrGzoGTHN+bB+6ri05687VNpvfuvRfaP2uMlNQth1D5JjGelm/8yn+9p3p/7qk9gnfeddXZmq/Sm333PJT659Kv1zjNbZ9uv2Oi//67CV8/N1nj1DmviyXDNVeJkaeaX8UsyesYg8cu2+NvdaPfb+lLDu5tvt/`)),Cg=function(e){switch(e){case 33:case 39:case 40:case 42:return 12;case 35:return 5;default:return e}},wg=function(e){switch(e){case 37:case 38:return 34;case 41:return 22;default:return e}},Tg=class{constructor(e,t=!1){this.position=e,this.required=t}};bg=class{nextCodePoint(){let e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos);return 55296<=e&&e<=56319&&56320<=t&&t<=57343?(this.pos++,1024*(e-55296)+(t-56320)+65536):e}nextCharClass(){return Cg(Sg.get(this.nextCodePoint()))}getSimpleBreak(){switch(this.nextClass){case 41:return!1;case 34:case 37:case 38:return this.curClass=34,!1;case 36:return this.curClass=36,!1}return null}getPairTableBreak(e){let t=!1;switch(xg[this.curClass][this.nextClass]){case 0:t=!0;break;case 1:t=e===41;break;case 2:if(t=e===41,!t)return t=!1,t;break;case 3:if(e!==41)return t}return this.LB8a&&(t=!1),!this.LB21a||this.curClass!==16&&this.curClass!==17?this.LB21a=this.curClass===13:(t=!1,this.LB21a=!1),this.curClass===28?(this.LB30a++,this.LB30a==2&&this.nextClass===28&&(t=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,t}nextBreak(){if(this.curClass==null){let e=this.nextCharClass();this.curClass=wg(e),this.nextClass=e,this.LB8a=e===31,this.LB30a=0}for(;this.pos<this.string.length;){this.lastPos=this.pos;let e=this.nextClass;if(this.nextClass=this.nextCharClass(),this.curClass===34||this.curClass===36&&this.nextClass!==37)return this.curClass=wg(Cg(this.nextClass)),new Tg(this.lastPos,!0);let t=this.getSimpleBreak();if(t===null&&(t=this.getPairTableBreak(e)),this.LB8a=this.nextClass===31,t)return new Tg(this.lastPos)}return this.lastPos<this.string.length?(this.lastPos=this.string.length,new Tg(this.string.length)):null}constructor(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null,this.LB8a=!1,this.LB21a=!1,this.LB30a=0}};var Eg=class{constructor(e){this._textMeasurer=e}_measureText(e){let t=this._fontSize,n=this._fontName,r=this._metricOptions;if(this._isSuperSub){let i=this._textMeasurer(e,.6*t,n,r);return{...this._textMeasurer(`M`,t,n,r),width:i.width}}return this._textMeasurer(e,t,n,r)}_breakWord(e,t,n){let r=0;for(;r<e.length;){let i={startPosition:this._charactersRead+r,text:``,x:0,y:0,width:0,widthWhitespace:0,height:0,baseline:0},a=!1,o=0,s=this._maxWidth;do{a=!1;let t=e.substring(r,r+o+1),n=t.replace(/\s+$/,``),c=this._measureText(n),l=c;t.length!==n.length&&(l=this._measureText(t)),(i.x+c.width<=s||t.length<=1)&&(i.text=t,i.width=c.width,i.widthWhitespace=l.width,i.height=Math.max(i.height,c.lineHeight),i.baseline=Math.max(i.baseline,c.baseline),a=!0,o++)}while(a&&r+o<e.length);if(a){let n=e.substring(r,e.length),i=n.replace(/\s+$/,``),a=this._measureText(i),o=a;n.length!==i.length&&(o=this._measureText(n)),t.startPosition=this._charactersRead+r,t.width=a.width,t.widthWhitespace=o.width,t.height=Math.max(t.height,a.lineHeight),t.baseline=Math.max(t.baseline,a.baseline),t.text=n}else if(!1===n?.(i))return!1;r+=o}}_breakWhiteSpace(e,t=null){for(;e&&this._charactersRead<e.length;){let n={startPosition:this._charactersRead,text:``,x:0,y:0,width:0,widthWhitespace:0,height:0,baseline:0},r=!1,i=this._maxWidth,a=this._indent,o=this._breaker;do if(r=!1,n.startPosition===0&&n.text.length===0&&(n.x=a,this._lastBreak=o.nextBreak()),this._lastBreak){let a=e.substring(n.startPosition,this._lastBreak.position),s=a.replace(/\s+$/,``),c=this._measureText(s),l=c;a.length!==s.length&&(l=this._measureText(a)),n.x+c.width<=i?(n.text=a,n.width=c.width,n.widthWhitespace=l.width,n.height=Math.max(n.height,c.lineHeight),n.baseline=Math.max(n.baseline,c.baseline),r=!0,this._charactersRead=this._lastBreak.position):n.text.length===0&&!1!==this._breakWord(a,n,t)&&(r=!0,this._charactersRead=this._lastBreak.position),(r||a.indexOf(`
|
|
4
|
+
`)===-1)&&this._lastBreak.required&&(this._lastBreak=o.nextBreak(),r=!1)}while(r&&(this._lastBreak=o.nextBreak()));if(!1===t?.(n))return!1}}wrap(e,t=null){this._breaker=new bg(e),this._linesRead=[],this._charactersRead=0,this._maxXRead=0,this._maxXWhitespaceRead=0,this._maxYRead=0,this._fontName=t?.fontName??`Arial`,this._fontSize=t?.fontSize??12,this._metricOptions={isBold:t?.bold??!1,isItalic:t?.italic??!1,letterSpacing:t?.letterSpacing??0},this._isSuperSub=t?.superSub??!1,this._indent=t?.indent??0,this._maxWidth=t?.maxWidth??2**53-1,this._maxWidth<=0&&(this._maxWidth=2**53-1),this._maxHeight=t?.maxHeight??2**53-1,this._maxHeight<=0&&(this._maxHeight=2**53-1);let n=e=>{if(this._linesRead.length>0){let t=this._linesRead[this._linesRead.length-1];e.y=t.y+t.height}if(e.y+e.height>this._maxHeight)return!1;this._maxXRead=Math.max(this._maxXRead,e.x+e.width),this._maxXWhitespaceRead=Math.max(this._maxXWhitespaceRead,e.x+e.widthWhitespace),this._maxYRead=Math.max(this._maxYRead,e.y+e.height),this._linesRead.push(e)};if(e===``){let t=this._measureText(e);n({startPosition:0,text:``,x:0,y:0,width:0,widthWhitespace:0,height:t.lineHeight,baseline:t.baseline})}else if(this._breakWhiteSpace(e,n),new bg(e.charAt(e.length-1).repeat(2)).nextBreak().required){let t=this._measureText(e);n({startPosition:e.length,text:``,x:0,y:0,width:0,widthWhitespace:0,height:t.lineHeight,baseline:t.baseline})}let r={bounds:{x:0,y:0,width:this._maxXRead,widthWhitespace:this._maxXWhitespaceRead,height:this._maxYRead},lines:this._linesRead};return this._breaker=null,this._linesRead=[],r}};function Dg(e,t,r,i=null,a=U.getSharedMeasurer()){let o=``,s=null,c=null,l=e.paragraphs,u=l.length;for(let e=0;e<u;e++){let t=l[e].runs,n=t.length;for(let e=0;e<n;e++){let n=t[e];o+=n.text,e===0&&(s=n)}e===0&&(c=l[e])}let d=e.insets??n.TypesUtils.EmptyRect,f=new Eg(a),p=i?.width?i.width-d.right-d.left:i?.width,m=i?.height?i.height-d.bottom-d.top:void 0,h=f.wrap(o,{fontName:s.fontName,fontSize:s.fontSize*U.getDeviceScale(),bold:s.bold,italic:s.italic,superSub:s.superSub,letterSpacing:s.letterSpacing,maxWidth:e.wrapped&&p?p:void 0,maxHeight:m}),g=[],_=h.lines,v=_.length,y=Array(v);for(let e=0;e<v;e++){let t=_[e],n={x:t.x,y:t.y,width:t.width,height:t.height},r=new fg({text:t.text,fontName:s.fontName,fontSize:s.fontSize,bold:s.bold,italic:s.italic,superSub:s.superSub,letterSpacing:s.letterSpacing},n);g.push(r),y[e]=new pg(n,t.baseline,[r])}return new cg({paragraphs:[new dg({runs:g,align:c.align})],wrapped:e.wrapped,verticalAlignment:e.verticalAlignment},t,r,y,{x:h.bounds.x,y:h.bounds.y,width:h.bounds.widthWhitespace,height:h.bounds.height},{x:h.bounds.x,y:h.bounds.y,width:h.bounds.width,height:h.bounds.height})}function Og(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);if(i>=65&&i<=90?t=!0:i>=97&&i<=122&&(n=!0),t&&n)return 0}return t?1:n?-1:0}function kg(e,t,n,r,i=!1){if(e==null)return null;let a=new fg({text:e,fontName:t.toCSS().fontFamily,fontSize:t.getSize(),bold:t.getWeight()>400,italic:t.getStyle()===U.Style.Italic,superSub:!i&&(t.getVerticalAlignment()===U.VerticalAlignment.Sub||t.getVerticalAlignment()===U.VerticalAlignment.Super),letterSpacing:t.getLetterSpacing()}),s=i?o.HorizontalAlignment.Left:n.getHorizontal(),c=n.getVertical(),l=new dg({runs:[a],align:s}),u=[];return u.push(new pg(null,t.getSize(),[a])),new cg({paragraphs:[l],wrapped:r&&(n.getOverflow()===o.Overflow.Wrap||s===o.HorizontalAlignment.Justify||s===o.HorizontalAlignment.Distributed||c===o.VerticalAlignment.Justify||c===o.VerticalAlignment.Distributed),verticalAlignment:c},t,n,u)}var Ag={[Y.BuiltInSheetPattern.Gray0625]:{path:`M 0.5 0.5 L 0.5 1.5 M 0.5 4.5 L 0.5 5.5 M 4.5 2.5 L 4.5 3.5 M 4.5 6.5 L 4.5 7.5`,size:8},[Y.BuiltInSheetPattern.LightGray]:{path:`M 0.5 0.5 L 0.5 1.5 M 0.5 2.5 L 0.5 3.5 M 2.5 -0.5 L 2.5 0.5 M 2.5 1.5 L 2.5 2.5 M 2.5 3.5 L 2.5 4.5`,size:4},[Y.BuiltInSheetPattern.MediumGray]:{path:`M 0.5 0.5 L 0.5 1.5 M 1.5 1.5 L 1.5 2.5 M 1.5 -0.5 L 1.5 0.5 M -0.5 -0.5 L -0.5 0.5`,size:2},[Y.BuiltInSheetPattern.DarkGray]:{path:`M 0 0 L 0 4 M 1 1 L 1 2 M 1 3 L 1 4 M 2 0 L 2 4 M 3 0.5 L 3 1.5 M 3 2.5 L 3 3.5 M 4 0 L 4 4`,size:4},[Y.BuiltInSheetPattern.LightHorizontal]:{path:`M 0 2 L 4 2`,size:4},[Y.BuiltInSheetPattern.DarkHorizontal]:{path:`M 0 2 L 4 2 M 0 3 L 4 3`,size:4},[Y.BuiltInSheetPattern.LightVertical]:{path:`M 2 0 L 2 4`,size:4},[Y.BuiltInSheetPattern.DarkVertical]:{path:`M 2 0 L 2 4 M 3 0 L 3 4`,size:4},[Y.BuiltInSheetPattern.LightUp]:{path:`M 0.5 0.5 L 0.5 1.5 M 1.5 3.5 L 1.5 4.5 M 1.5 -0.5 L 1.5 0.5 M 2.5 2.5 L 2.5 3.5 M 3.5 1.5 L 3.5 2.5`,size:4},[Y.BuiltInSheetPattern.DarkUp]:{path:`M 0.5 -0.5 L 0.5 1.5 M 0.5 3.5 L 0.5 4.5 M 1.5 2.5 L 1.5 4.5 M 2.5 1.5 L 2.5 3.5 M 3.5 0.5 L 3.5 2.5 M 1.5 -0.5 L 1.5 0.5`,size:4},[Y.BuiltInSheetPattern.LightDown]:{path:`M 0.5 0 L 0.5 1 M 1.5 1 L 1.5 2 M 2.5 2 L 2.5 3 M 3.5 3 L 3.5 4`,size:4},[Y.BuiltInSheetPattern.DarkDown]:{path:`M 0.5 -0.5 L 0.5 2 M 1.5 1 L 1.5 3 M 2.5 2 L 2.5 4 M 3.5 3 L 3.5 5 M 3.5 -0.5 L 3.5 1.0`,size:4},[Y.BuiltInSheetPattern.LightGrid]:{path:`M 1.5 -0.5 L 1.5 4.5 M -0.5 1.5 L 4.5 1.5`,size:4},[Y.BuiltInSheetPattern.DarkGrid]:{path:`M 0.5 -0.5 L 0.5 1.5 M 1.5 -0.5 L 1.5 1.5 M 2.5 1.5 L 2.5 3.5 M 3.5 1.5 L 3.5 3.5 M 0.5 3.5 L 0.5 4.5 M 1.5 3.5 L 1.5 4.5`,size:4},[Y.BuiltInSheetPattern.LightTrellis]:{path:`M 0.5 0.5 L 0.5 1.5 M 1.5 3.5 L 1.5 4.5 M 1.5 -0.5 L 1.5 0.5 M 2.5 2.5 L 2.5 3.5 M 3.5 1.5 L 3.5 2.5 M 1.5 1.5 L 1.5 2.5 M 3.5 3.5 L 3.5 4.5 M 3.5 -0.5 L 3.5 0.5`,size:4},[Y.BuiltInSheetPattern.DarkTrellis]:{path:`M 0 0 L 4 0 M 0 1 L 2 1 M 0 2 L 4 2 M 2 3 L 4 3 M 0 4 L 4 4`,size:4},[Y.BuiltInSheetPattern.Gray125]:{path:`M 0.5 0.5 L 0.5 1.5 M 0.5 4.5 L 0.5 5.5 M 2.5 2.5 L 2.5 3.5 M 2.5 6.5 L 2.5 7.5 M 4.5 0.5 L 4.5 1.5 M 4.5 4.5 L 4.5 5.5 M 6.5 2.5 L 6.5 3.5 M 6.5 6.5 L 6.5 7.5`,size:8}},jg=Ag[Y.BuiltInSheetPattern.Gray125],Mg=(e,t,n)=>`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${t}' height='${t}' viewBox='0 0 ${t} ${t}' shape-rendering='crispEdges' %3E%3Cpath d='${e}' stroke='${n}' %3E%3C/path%3E%3C/svg%3E")`,Ng=new class{_svgImage(e,t,n){let{path:r,size:i}=n;return{backgroundImage:Mg(r,i,e),backgroundRepeat:`repeat`,backgroundSize:`${i}px ${i}px`,backgroundPositionX:`0px`,backgroundPositionY:`0px`,backgroundPosition:``+-i,backgroundColor:t}}toCSS(e,t,n){return e&&e!==Y.BuiltInSheetPattern.None?e===Y.BuiltInSheetPattern.Solid?{background:n}:this._svgImage(t,n,Ag[e]??jg):{background:`none`}}toCSSMask(e,t,n){if(!e||e===Y.BuiltInSheetPattern.None||e===Y.BuiltInSheetPattern.Solid)return null;let{path:r,size:i}=Ag[e]??jg;return{base:{backgroundColor:n},marks:{backgroundColor:t,maskImage:Mg(r,i,`black`),maskRepeat:`repeat`,maskSize:`${i}px ${i}px`,maskPosition:`0px 0px`}}}};function Pg(e,t){if(e===void 0)return;if(e===null)return null;if(e.isIStyle)return e.getAuthoredProperties();let n;return n=typeof e==`function`?e(typeof t==`function`?t():t):e,n}var Fg=class{constructor(e){this._p=Object.freeze(Array.isArray(e)?e:[e??null])}value(e){let t=this._p;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!r)continue;let i=r[e];if(i!==void 0)return i}}values(e){let t=this._p,n=t.length,r;for(let i=0;i<n;i++){let n=t[i];if(!n)continue;let a=n[e];a!==void 0&&(r===void 0&&(r=[]),r.push(a))}return r}getProperties(){let e=this._p;return e?e[e.length-1]:null}toJSON(){let e=this._p,t=e.length,r={};for(let i=0;i<t;i++){let t=e[i];r=n.CommonUtils.deepMerge(r,t)}return r}},Ig=class{constructor(e,t){this._o=e,this._c=e.styles,this._p=Object.freeze(t)}_setValue(e,t){let n={[e]:t};this._o.updater(n)}_value(e){let t=this._p;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!r)continue;let i=r[e];if(i!==void 0)return i}}_values(e){let t=this._p,n=t.length,r;for(let i=0;i<n;i++){let n=t[i];if(!n)continue;let a=n[e];a!==void 0&&(r===void 0&&(r=[]),r.push(a))}return r}getProperties(){let e=this._p;return e?e[e.length-1]:null}toJSON(){return null}},Lg=e=>{switch(e){case`top`:return(0,n.messageKey)(`op.setTopBorderStyle`);case`right`:return(0,n.messageKey)(`op.setRightBorderStyle`);case`bottom`:return(0,n.messageKey)(`op.setBottomBorderStyle`);case`horizontal`:return(0,n.messageKey)(`op.setHorizontalBorderStyle`);case`vertical`:return(0,n.messageKey)(`op.setVerticalBorderStyle`);case`diagonalUp`:return(0,n.messageKey)(`op.setDiagonalUpBorderStyle`);case`diagonalDown`:return(0,n.messageKey)(`op.setDiagonalDownBorderStyle`);default:return(0,n.messageKey)(`op.setLeftBorderStyle`)}},Rg=e=>{switch(e){case`top`:return(0,n.messageKey)(`op.setTopBorderColor`);case`right`:return(0,n.messageKey)(`op.setRightBorderColor`);case`bottom`:return(0,n.messageKey)(`op.setBottomBorderColor`);case`horizontal`:return(0,n.messageKey)(`op.setHorizontalBorderColor`);case`vertical`:return(0,n.messageKey)(`op.setVerticalBorderColor`);case`diagonalUp`:return(0,n.messageKey)(`op.setDiagonalUpBorderColor`);case`diagonalDown`:return(0,n.messageKey)(`op.setDiagonalDownBorderColor`);default:return(0,n.messageKey)(`op.setLeftBorderColor`)}},zg=class extends Ig{constructor(e,t,n){super(t,n),this._edge=e}getStyle(){return this._value(`style`)}setStyle(e,t){let n=this._edge,r=n.charAt(0).toUpperCase()+n.slice(1);return this._o.updater({border:{[n]:{style:e}}},{description:Lg(n),...t}).getBorder()[`get`+r]()}getColor(){let e=this._value(`color`);return e?this._c.parseColor(e):null}setColor(e,t){let n=this._edge,r=n.charAt(0).toUpperCase()+n.slice(1);return this._o.updater({border:{[n]:{color:e}}},{description:Rg(n),...t}).getBorder()[`get`+r]()}isNone(){return this.getStyle()===W.StrokeStyle.None}toCSS(){let e=Ym(this);switch(this._edge){case W.Edge.Left:return{borderLeft:e};case W.Edge.Right:return{borderRight:e};case W.Edge.Top:return{borderTop:e};case W.Edge.Bottom:return{borderBottom:e};case W.Edge.DiagonalUp:case W.Edge.DiagonalDown:return{borderDiagonalUp:e}}}get[Symbol.toStringTag](){return`[CellBorderStroke]`}toString(){return`[CellBorderStroke]`}get isIStroke(){return!0}},Bg=class extends Ig{getLeft(){return this._left||=new zg(W.Edge.Left,this._o,this._values(W.Edge.Left)),this._left}setLeft(e,t){return this._o.updater({border:{left:e}},{description:(0,n.messageKey)(`op.setLeftBorder`),...t}).getBorder()}getRight(){return this._right||=new zg(W.Edge.Right,this._o,this._values(W.Edge.Right)),this._right}setRight(e,t){return this._o.updater({border:{right:e}},{description:(0,n.messageKey)(`op.setRightBorder`),...t}).getBorder()}getTop(){return this._top||=new zg(W.Edge.Top,this._o,this._values(W.Edge.Top)),this._top}setTop(e,t){return this._o.updater({border:{top:e}},{description:(0,n.messageKey)(`op.setTopBorder`),...t}).getBorder()}getBottom(){return this._bottom||=new zg(W.Edge.Bottom,this._o,this._values(W.Edge.Bottom)),this._bottom}setBottom(e,t){return this._o.updater({border:{bottom:e}},{description:(0,n.messageKey)(`op.setBottomBorder`),...t}).getBorder()}getHorizontal(){return this._inner(W.Edge.Horizontal)}getVertical(){return this._inner(W.Edge.Vertical)}_inner(e){let t=this._o.extent;if(!t)return null;let n=this._o.direct;if(!(n instanceof rg))return null;let r=n.getInnerBorder(t)?.[e];return r?new zg(e,this._o,[r]):null}getDiagonalUp(){return this._diagUp||=new zg(W.Edge.DiagonalUp,this._o,this._values(W.Edge.DiagonalUp)),this._diagUp}setDiagonalUp(e,t){return this._o.updater({border:{diagonalUp:e}},{description:(0,n.messageKey)(`op.setDiagonalUpBorder`),...t}).getBorder()}getDiagonalDown(){return this._diagDown||=new zg(W.Edge.DiagonalDown,this._o,this._values(W.Edge.DiagonalDown)),this._diagDown}setDiagonalDown(e,t){return this._o.updater({border:{diagonalDown:e}},{description:(0,n.messageKey)(`op.setDiagonalDownBorder`),...t}).getBorder()}setVertical(e,t){return this._o.updater({border:{vertical:e}},{description:(0,n.messageKey)(`op.setVerticalBorder`),...t}).getBorder()}setHorizontal(e,t){return this._o.updater({border:{horizontal:e}},{description:(0,n.messageKey)(`op.setHorizontalBorder`),...t}).getBorder()}setOutline(e,t){return this._o.updater({border:{top:e,bottom:e,left:e,right:e}},{description:(0,n.messageKey)(`op.setOutlineBorder`),...t}).getBorder()}_edgeStyleIsNone(e){let t=this._values(e);if(!t)return!0;for(let e=t.length-1;e>=0;e--){let n=t[e]?.style;if(n!==void 0)return n===W.StrokeStyle.None}return!0}isEmpty(){return this._isEmpty!==void 0||(this._isEmpty=this._edgeStyleIsNone(W.Edge.Top)&&this._edgeStyleIsNone(W.Edge.Bottom)&&this._edgeStyleIsNone(W.Edge.Left)&&this._edgeStyleIsNone(W.Edge.Right)&&this._edgeStyleIsNone(W.Edge.DiagonalUp)&&this._edgeStyleIsNone(W.Edge.DiagonalDown)),this._isEmpty}get[Symbol.toStringTag](){return`[CellBorder]`}toString(){return`[CellBorder]`}get isIBorder(){return!0}},Vg=class extends Ig{getHorizontal(){return this._value(`horizontal`)}setHorizontal(e,t){return this._o.updater({alignment:{horizontal:e}},{description:(0,n.messageKey)(`op.setHorizontalAlignment`),...t}).getAlignment()}getVertical(){return this._value(`vertical`)}setVertical(e,t){return this._o.updater({alignment:{vertical:e}},{description:(0,n.messageKey)(`op.setVerticalAlignment`),...t}).getAlignment()}getIndent(){return this._value(`indent`)}setIndent(e,t){return this._o.updater({alignment:{indent:e}},{description:(0,n.messageKey)(`op.setIndent`),...t}).getAlignment()}getRelativeIndent(){return this._value(`relativeIndent`)}setRelativeIndent(e,t){return this._o.updater({alignment:{relativeIndent:e}},{description:(0,n.messageKey)(`op.setRelativeIndent`),...t}).getAlignment()}getOverflow(){return this._value(`overflow`)}setOverflow(e,t){return this._o.updater({alignment:{overflow:e}},{description:(0,n.messageKey)(`op.setOverflow`),...t}).getAlignment()}getRotation(){return this._value(`rotation`)}setRotation(e,t){return this._o.updater({alignment:{rotation:e}},{description:(0,n.messageKey)(`op.setRotation`),...t}).getAlignment()}getStacked(){return this._value(`stacked`)}setStacked(e,t){return this._o.updater({alignment:{stacked:e}},{description:(0,n.messageKey)(`op.setStacked`),...t}).getAlignment()}getJustifyLastLine(){return this._value(`justifyLastLine`)}setJustifyLastLine(e,t){return this._o.updater({alignment:{justifyLastLine:e}},{description:(0,n.messageKey)(`op.setJustifyLastLine`),...t}).getAlignment()}getReadingDirection(){return this._value(`readingDirection`)}setReadingDirection(e,t){return this._o.updater({alignment:{readingDirection:e}},{description:(0,n.messageKey)(`op.setReadingDirection`),...t}).getAlignment()}get[Symbol.toStringTag](){return`[CellAlignment]`}toString(){return`[CellAlignment]`}get isITextBoxAlignment(){return!0}},Hg=class extends Ig{isEqualMeasure(e){return!!e&&this.getFamily()===e.getFamily()&&!!n.CommonUtils.isEqualArrays(this.getFallbacks(),e.getFallbacks())&&this.getSize()===e.getSize()&&this.getWeight()===e.getWeight()&&this.getStyle()===e.getStyle()&&this.getStrike()===e.getStrike()&&this.getScheme()===e.getScheme()&&this.getShadow()===e.getShadow()&&this.getOutline()===e.getOutline()&&this.getLetterSpacing()===e.getLetterSpacing()&&this.getVerticalAlignment()===e.getVerticalAlignment()}toCSS(e,t=1,r=!1){let i={fontFamily:nm(this.getFamily(),this.getFallbacks()),letterSpacing:`${this.getLetterSpacing()}px`,fontWeight:this.getWeight(),fontStyle:this.getStyle(),textDecoration:Xp(this.getUnderline(),this.getStrike()),color:this.getColor().toCSS(e),fontSize:`${n.CommonUtils.roundAccurately(this.getSize()*U.getDeviceScale()*t,2)}px`,textRendering:`geometricPrecision`};if(r){let r=this._c.getNormal().getFont().toCSS(e,t,!1),a=i.textDecoration,o=i.fontWeight;n.CommonUtils.removeEqualValues(i,r),a&&(i.textDecoration=a),o&&(i.fontWeight=o)}return i}isSuperSub(){let e=this.getVerticalAlignment();return e===U.VerticalAlignment.Sub||e===U.VerticalAlignment.Super}isSuperScript(){let e=this.getVerticalAlignment();return e===U.VerticalAlignment.Sub||e===U.VerticalAlignment.Super}getSuperSubScale(){return this.getFamily(),this.getSize(),this.getVerticalAlignment(),.6}getSuperSubShift(){return this.getFamily(),e=this.getSize(),(t=this.getVerticalAlignment())===U.VerticalAlignment.Super?-e/3:t===U.VerticalAlignment.Sub?e/5:0;var e,t}_schemeFamily(){let e=this._value(`scheme`);if(e!==U.Scheme.Major&&e!==U.Scheme.Minor)return;let t=this._c.getTheme().getFontScheme();return e===U.Scheme.Major?t.getMajorFont():t.getMinorFont()}getFamily(){return this._schemeFamily()??this._value(`family`)??this._c.getTheme().getFontScheme().getMinorFont()}setFamily(e,t){return this._o.updater({font:{family:e,scheme:e?U.Scheme.None:null}},{description:(0,n.messageKey)(`op.setFontFamily`),...t}).getFont()}getFallbacks(){let e=this._value(`fallbacks`)??this._c.getTheme().getFontScheme().getMinorFallbacks()??n.CommonUtils.EmptyArray,t=this.getFamily();t===`Aptos Narrow`&&(e=[`Calibri`,...e]);let r=this._schemeFamily()?this._value(`family`):void 0;return r&&r!==t&&!e.includes(r)&&(e=[r,...e]),e}setFallbacks(e,t){return this._o.updater({font:{fallbacks:e}},{description:(0,n.messageKey)(`op.setFontFallbacks`),...t}).getFont()}getSize(){return this._value(`size`)??this._c.getDefaultFontSize()??11}setSize(e,t){return this._o.updater({font:{size:e}},{description:(0,n.messageKey)(`op.setFontSize`),...t}).getFont()}getWeight(){return this._value(`weight`)}setWeight(e,t){return this._o.updater({font:{weight:e}},{description:(0,n.messageKey)(`op.setFontWeight`),...t}).getFont()}getBold(){return this.getWeight()>400}setBold(e,t){let r=e===null?null:e?700:400;return this.setWeight(r,{description:(0,n.messageKey)(`op.setFontBold`),...t})}getStyle(){return this._value(`style`)}setStyle(e,t){return this._o.updater({font:{style:e}},{description:(0,n.messageKey)(`op.setFontStyle`),...t}).getFont()}getItalic(){return this.getStyle()===U.Style.Italic}setItalic(e,t){let r=e===null?null:e?U.Style.Italic:U.Style.Normal;return this.setStyle(r,{description:(0,n.messageKey)(`op.setFontItalic`),...t})}getColor(){let e=this._value(`color`);return this._c.parseColor(e??J.Scheme.Bg1)}setColor(e,t){return this._o.updater({font:{color:e}},{description:(0,n.messageKey)(`op.setFontColor`),...t}).getFont()}getLetterSpacing(){return this._value(`letterSpacing`)??this.getSize()/-25}setLetterSpacing(e,t){return this._o.updater({font:{letterSpacing:e}},{description:(0,n.messageKey)(`op.setFontLetterSpacing`),...t}).getFont()}getUnderline(){return this._value(`underline`)}setUnderline(e,t){return this._o.updater({font:{underline:e}},{description:(0,n.messageKey)(`op.setFontUnderline`),...t}).getFont()}getStrike(){return this._value(`strike`)}setStrike(e,t){return this._o.updater({font:{strike:e}},{description:(0,n.messageKey)(`op.setFontStrike`),...t}).getFont()}getScheme(){return this._value(`scheme`)}setScheme(e,t){let r=e===U.Scheme.Major||e===U.Scheme.Minor?{scheme:e,family:null}:{scheme:e};return this._o.updater({font:r},{description:(0,n.messageKey)(`op.setFontScheme`),...t}).getFont()}getVerticalAlignment(){return this._value(`verticalAlign`)}setVerticalAlignment(e,t){return this._o.updater({font:{verticalAlign:e}},{description:(0,n.messageKey)(`op.setFontVerticalAlignment`),...t}).getFont()}getShadow(){return this._value(`shadow`)}setShadow(e,t){return this._o.updater({font:{shadow:e}},{description:(0,n.messageKey)(`op.setFontShadow`),...t}).getFont()}getOutline(){return this._value(`outline`)}setOutline(e,t){return this._o.updater({font:{outline:e}},{description:(0,n.messageKey)(`op.setFontOutline`),...t}).getFont()}getExtend(){return this._value(`extend`)}setExtend(e,t){return this._o.updater({font:{extend:e}},{description:(0,n.messageKey)(`op.setFontExtend`),...t}).getFont()}getCharset(){return this._value(`charset`)??null}setCharset(e,t){return this._o.updater({font:{charset:e}},{description:(0,n.messageKey)(`op.setFontCharset`),...t}).getFont()}get[Symbol.toStringTag](){return`[StyledFont]`}toString(){return`[StyledFont]`}get isIStyledFont(){return!0}},Ug=Object.freeze({background:`none`}),Wg=class extends Ig{getType(){return Y.Type.None}getColor(){return null}setColor(e,t){return e===null?this:this._o.updater({fill:{color:e}},{description:(0,n.messageKey)(`op.setFillColor`),...t}).getFill()}toCSS(e){return Ug}hasVisibleStyling(){return!1}isEqual(e){return!!e&&e.getType()===Y.Type.None}toJSON(){return{type:Y.Type.None}}get[Symbol.toStringTag](){return`[NoneFill]`}toString(){return`[NoneFill]`}get isIFill(){return!0}},Gg=class extends Ig{getType(){return Y.Type.Solid}getColor(){return this._c.parseColor(this._value(`color`)??J.Scheme.Bg1)}setColor(e,t){return this._o.updater({fill:{color:e}},{description:(0,n.messageKey)(`op.setFillColor`),...t}).getFill()}toCSS(e){return{background:this.getColor().toCSS(e)}}hasVisibleStyling(){let e=this._o.styles?.getNormal();return!e||!e.getFill().isEqual(this)}isEqual(e){return!!e&&e.getType()===Y.Type.Solid&&!!e.getColor().isEqual(this.getColor())}toJSON(){return{type:Y.Type.Solid,color:this.getColor()?.toString()??null}}get[Symbol.toStringTag](){return`[SolidFill]`}toString(){return`[SolidFill]`}get isIFill(){return!0}},Kg=class extends Ig{constructor(e,t,n,r){super(n,r),this._i=e,this._l=t}getOffset(){return this._value(`offset`)??this._i/this._l*100}getColor(){return this._c.parseColor(this._value(`color`)??J.Scheme.Bg1)}},qg=class extends Ig{getType(){return Y.Type.Gradient}getColor(){let e=this._value(`stops`)??n.CommonUtils.EmptyArray,t=e.length;return t===0?null:new Kg(0,t,this._o,[e[0]]).getColor()}setColor(e,t){let r=this._value(`stops`)??n.CommonUtils.EmptyArray,i=r.length>0?{...r[0]}:{offset:0,color:null},a=[...r];return a[0]=i,i.color=e,this._o.updater({fill:{stops:a}},{description:(0,n.messageKey)(`op.setFillColor`),...t}).getFill()}getStops(){let e=this._value(`stops`)??n.CommonUtils.EmptyArray,t=e.length,r=t===0?n.CommonUtils.EmptyArray:Array(t);for(let n=0;n<t;n++){let i=e[n];r[n]=new Kg(n,t,this._o,[i])}return r}setStops(e,t){return this._o.updater({fill:{stops:e}},{description:(0,n.messageKey)(`op.setStops`),...t}).getFill()}getGradientType(){return this._value(`gradientType`)??Y.GradientType.Linear}setGradientType(e,t){return this._o.updater({fill:{gradientType:e}},{description:(0,n.messageKey)(`op.setGradientType`),...t}).getFill()}getAngle(){return this._value(`angle`)??0}setAngle(e,t){return this._o.updater({fill:{angle:e}},{description:(0,n.messageKey)(`op.setAngle`),...t}).getFill()}getFocus(){return this._value(`focus`)??null}setFocus(e,t){return this._o.updater({fill:{focus:e}},{description:(0,n.messageKey)(`op.setFocus`),...t}).getFill()}toCSS(e,t){let n=Km(this,e,t);return n?{background:n}:null}hasVisibleStyling(){return!0}isEqual(e){return!1}toJSON(){let e={type:Y.Type.Gradient},t=this._value(`stops`)??n.CommonUtils.EmptyArray,r=t.length;if(r>0){let n=Array(r);for(let e=0;e<r;e++){let r=t[e],i={color:r.color.toString()},a=r.offset;a!==void 0&&(i.offset=a),n[e]=i}e.stops=n}return this.getAngle()!==0&&(e.angle=this.getAngle()),this.getGradientType()!==Y.GradientType.Linear&&(e.gradientType=this.getGradientType()),this.getFocus()&&(e.focus=this.getFocus()),e}get[Symbol.toStringTag](){return`[GradientFill]`}toString(){return`[GradientFill]`}get isIFill(){return!0}},Jg=class extends Ig{getType(){return Y.Type.Pattern}getColor(){return this.getBackground()}setColor(e,t){return this.setBackground(e,t)}getBackground(){let e=this._value(`background`)??J.Named.Window;return this._c.parseColor(e)}setBackground(e,t){return this._o.updater({fill:{background:e}},{description:(0,n.messageKey)(`op.setBackgroundColor`),...t}).getFill()}getForeground(){return this._c.parseColor(this._value(`foreground`)??J.Scheme.Tx1)}setForeground(e,t){return this._o.updater({fill:{foreground:e}},{description:(0,n.messageKey)(`op.setForegroundColor`),...t}).getFill()}getPatternType(){return this._value(`patternType`)??Y.BuiltInSheetPattern.None}setPatternType(e,t){return this._o.updater({fill:{patternType:e}},{description:(0,n.messageKey)(`op.setPatternType`),...t}).getFill()}toCSS(e){if(this.getPatternType()===Y.BuiltInSheetPattern.None)return{background:`none`};if(this.getPatternType()===Y.BuiltInSheetPattern.Solid)return{background:this.getForeground().toCSS(e)};let t=e!==`adaptive`&&e,n=this.getBackground().toCSS(t),r=this.getForeground().toCSS(t);return Ng.toCSS(this.getPatternType(),r,n)}toCSSMask(e){return Ng.toCSSMask(this.getPatternType(),this.getForeground().toCSS(e),this.getBackground().toCSS(e))}hasVisibleStyling(){return!0}isEqual(e){if(!e||e.getType()!==Y.Type.Pattern)return!1;let t=e;return t.getPatternType()===this.getPatternType()&&!!t.getForeground().isEqual(this.getForeground())&&!!t.getBackground().isEqual(this.getBackground())}toJSON(){let e={type:Y.Type.Pattern};this.getPatternType()!==Y.BuiltInSheetPattern.None&&(e.patternType=this.getPatternType());let t=this.getForeground();t&&(e.foreground=t.toString());let n=this.getBackground();return n&&(e.background=n.toString()),e}get[Symbol.toStringTag](){return`[PatternFill]`}toString(){return`[PatternFill]`}get isIFill(){return!0}},Yg=class{constructor(e){this._o=e,this._p=new Fg(e.properties)}toJSON(){let e=this._p.toJSON(),t=e.namedStyle??X.BuiltInName.Normal;return delete e.namedStyle,e.named=t,e}hasVisibleStyling(){if(this._hasVisibleStyling!==void 0)return this._hasVisibleStyling;let e=this.getFill();return this._hasVisibleStyling=!e||e.getType()!==Y.Type.None||!this.getBorder().isEmpty(),this._hasVisibleStyling}isNormal(){return!1}getAuthoredProperties(){let e=this._o,t=e.direct;if(!t)return null;let r=e.range,i=r?.rowStart??n.CoordUtils.EmptyCell.rowIndex,a=r?.colStart??n.CoordUtils.EmptyCell.colIndex;return t.getAuthoredPropertiesAt?t.getAuthoredPropertiesAt(i,a,null):t.getPropertiesAt(i,a,null)}createStyle(e){let t=this._o,n=Pg(e,this),r=t.range,i=t.direct.cloneWithUpdate(n);return Xg(void 0,t.styles,i,r)}measureText(e,t=this.getFont().getSize(),n,r){let i=this.getFont();n||=i.getFamily();let a=i.getFallbacks();n===`Aptos Narrow`&&(a=[`Calibri`,...a]);let o=nm(n,a);return U.getSharedMeasurer()(e,t*U.getDeviceScale(),o,{isBold:i.getWeight()>400,isItalic:i.getStyle().includes(`italic`),letterSpacing:i.getLetterSpacing(),...r})}createTextFrame(e,t=!1){return kg(e,this.getFont(),this.getAlignment(),t)}update(e,t){return this._o.updater(e,t)}clear(){return this._o.updater(null,{description:(0,n.messageKey)(`op.clearStyle`)})}getBestFit(){if(this._bestFit!==void 0)return this._bestFit;let e=this.getInsets(),t=this.measureText(`My`);return this._bestFit={width:null,height:t.lineHeight+e.top+e.bottom},this._bestFit}getInsets(){if(this._insets!==void 0)return this._insets;this.getFont().getSize();let e=(t=this.getFont().getSize(),Math.max(3,Math.round(t<225?t/5:t/3.5)));var t;let n={top:1,left:e,bottom:1,right:e},r=this._p?.value(`insets`);return r&&(r.top!==void 0&&(n.top+=r.top),r.left!==void 0&&(n.left+=r.left),r.bottom!==void 0&&(n.bottom+=r.bottom),r.right!==void 0&&(n.right+=r.right)),this._insets=Object.freeze(n),this._insets}getBorder(){return this._border||=new Bg(this._o,this._p.values(`border`)),this._border}setBorder(e,t){return this._o.updater({border:e},{description:(0,n.messageKey)(`op.setBorder`),...t})}getFont(){return this._font||=new Hg(this._o,this._p.values(`font`)),this._font}setFont(e,t){return this._o.updater({font:e},{description:(0,n.messageKey)(`op.setFont`),...t})}getFill(){if(this._fill)return this._fill;let e=this._p,t,n=e.values(`fill`);for(let e=n.length-1;t===void 0&&e>=0;e--)t=n[e]?.type;let r=e.value(`fill`);return t===Y.Type.None?this._fill=new Wg(this._o,n):t===Y.Type.Solid||!t&&r.color?this._fill=new Gg(this._o,n):t===Y.Type.Gradient?this._fill=new qg(this._o,n):t===Y.Type.Pattern?this._fill=new Jg(this._o,n):this._fill=new Wg(this._o,n)}setFill(e,t){return this._o.updater({fill:e},{description:(0,n.messageKey)(`op.setFill`),...t})}setFillSolid(e){return this._o.updater({fill:{type:Y.Type.Solid}},{description:(0,n.messageKey)(`op.setFillSolid`),...e}).getFill()}setFillGradient(e){return this._o.updater({fill:{type:Y.Type.Gradient}},{description:(0,n.messageKey)(`op.setFillGradient`),...e}).getFill()}setFillPattern(e){return this._o.updater({fill:{type:Y.Type.Pattern}},{description:(0,n.messageKey)(`op.setFillPattern`),...e}).getFill()}setFillNone(e){return this._o.updater({fill:{type:Y.Type.None}},{description:(0,n.messageKey)(`op.setFillNone`),...e}).getFill()}getAlignment(){return this._alignment||=new Vg(this._o,this._p.values(`alignment`)),this._alignment}setAlignment(e,t){return this._o.updater({alignment:e},{description:(0,n.messageKey)(`op.setAlignment`),...t})}getNumberFormat(){let e=this._p.value(`numberFormat`);return typeof e==`number`?Kc(e):e}setNumberFormat(e,t){return this._o.updater({numberFormat:e},{description:(0,n.messageKey)(`op.setNumberFormat`),...t})}getQuotePrefix(){return this._p.value(`quotePrefix`)}setQuotePrefix(e,t){return this._o.updater({quotePrefix:e},{description:(0,n.messageKey)(`op.setQuotePrefix`),...t})}getNamed(){let e=this._p.value(`named`)??X.BuiltInName.Normal;return this._o.styles.getNamed(e)}setNamed(e,t){let r=e==null?null:typeof e==`string`?e:e.getName();return this._o.updater({named:r},{description:(0,n.messageKey)(`op.setNamedStyle`),...t})}get[Symbol.toStringTag](){return`[SheetCellStyle]`}toString(){return`Style: ${ql(this._o.range)}`}get isIStyle(){return!0}};function Xg(e,t,r,i,a=Qg,o){let s=i?.rowStart??n.CoordUtils.EmptyCell.rowIndex,c=i?.colStart??n.CoordUtils.EmptyCell.colIndex,l=[zp],u=t.getNormalRanged(),d=u.getPropertiesAt(s,c,e);d&&l.push(d);let f=(e,t)=>a(e,t,i);if(!r)return new Zg({styles:t,range:i,properties:l,direct:u,extent:o,updater:f});let p=r.getPropertiesAt(s,c,e);return p?(l.push(p),new Yg({styles:t,range:i,properties:l,direct:r,extent:o,updater:f})):new Zg({styles:t,range:i,properties:l,direct:u,extent:o,updater:f})}var Zg=class extends Yg{isNormal(){return!0}getAuthoredProperties(){return null}};function Qg(e){throw Error(`Style is read-only and cannot be updated`)}async function $g(){return globalThis.crypto}var e_=async(e,t,...n)=>{let r=t_(...n);return e.subtle.digest(t,r)},t_=(...e)=>{let t=e.reduce((e,t)=>e+t.byteLength,0),n=new Uint8Array(t),r=0;return e.forEach(e=>{n.set(new Uint8Array(e),r),r+=e.byteLength}),n.buffer},n_=e=>{let t=new Uint8Array(e),n=``,r=t.byteLength;for(let e=0;e<r;e++)n+=String.fromCharCode(t[e]);return btoa(n)},r_=class e{static{this.DefaultAlgo=`SHA-512`}static{this.DefaultSpinCount=1e5}static async generateSaltAndHash(t,n=e.DefaultAlgo,r=e.DefaultSpinCount){if(!t)return null;let i=n_((await $g()).getRandomValues(new Uint8Array(16)).buffer);return{salt:i,hash:await e._convertPasswordToHash(t,i,n,r)}}static async verifyPassword(t,r,i=e.DefaultAlgo,a=e.DefaultSpinCount){if(!t||!r)throw new n.NullNotAllowedError;return((e,t)=>{let n=e.length,r=t.length,i=n===r?0:1,a=Math.max(n,r);for(let o=0;o<a;o++)i|=e.charCodeAt(o%n)^t.charCodeAt(o%r);return i===0})(await e._convertPasswordToHash(t,r.salt,i,a),r.hash)}static async _convertPasswordToHash(e,t,n,r){let i=await $g();n=n.toUpperCase();let a=(e=>{let t=e.length,n=new ArrayBuffer(2*t),r=new DataView(n);for(let n=0;n<t;n++)r.setUint16(2*n,e.charCodeAt(n),!0);return new Uint8Array(n)})(e),o=(e=>{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer})(t),s=await e_(i,n,o,a.buffer);for(let e=0;e<r;e++){let t=new Uint32Array([e]).buffer;s=await e_(i,n,s,t)}return n_(s)}},i_=class{constructor(e,t=!1){this._isPaused=!1,this._password=null,this._identities=null,this._properties=null,this._emitter=new v(this),this.fromJSON(e),this._isReadOnly=t}async lock(e,t,n,r){if(this._isReadOnly)return this;if(this.isLocked()&&!this._isPaused)throw Error(`Cannot lock an already locked object. Use unlock first.`);try{this._validatePassword()}catch{throw Error(`A password is already set. Unlock first to change.`)}let i;if(t){let e=await r_.generateSaltAndHash(t,n,r);i={salt:e.salt,hash:e.hash},n&&(i.algorithm=n),r&&(i.spinCount=r)}else i=null;return e??={},this._updateProperties(e),this._properties=e,this._password=i,this._emitter.notify(`onLockChange`),this._emitter.notify(`onChange`),this}async unlock(e){if(this._isReadOnly)throw Error(`Cannot unlock a readonly workbook.`);return await this._validatePassword(e),this._clearProperties(),this._password=null,this._identities=null,this._password=null,this._emitter.notify(`onLockChange`),this._emitter.notify(`onChange`),this}checkPassword(e){return this._validatePassword(e)}hasPassword(){return this._password!==null}async pause(e){return this._emitter.notify(`onLockChange`),this._emitter.notify(`onChange`),await this._validatePassword(e),this._password&&(this._isPaused=!0),this}resume(){return this._isPaused=!1,this}isPaused(){return this._isPaused}isLocked(){return this._properties!==null&&!this._isPaused}isReadOnly(){return this._isReadOnly}async _validatePassword(e){let t=this._password;if(!t||!t.hash)return!0;if(!e||e.length===0)throw Error(`Password is required.`);if(!await r_.verifyPassword(e,{salt:t.salt,hash:t.hash},t.algorithm,t.spinCount))throw Error(`Invalid password.`);return!0}getProperties(){return this._properties}_isPropertyAllowed(e){if(this._isReadOnly)return!1;if(!this.isLocked())return!0;let t=this._properties[e];return typeof t==`boolean`&&t}_updateProperties(e){this._properties={...e,...this._properties??{}}}_clearProperties(){this._properties=null}addListeners(e,t){return this._emitter.addListeners(e,t)}fromJSON(e){this._password=null,this._identities=null,this._isPaused=!1,this._properties=null,this._fromJSON(e??null),e&&(e.password&&(this._password=e.password),e.identities&&(this._identities=e.identities))}_fromJSON(e){}_toJSON(e){return e}toJSON(){if(!this._properties)return null;let e={};return e=this._toJSON(e)??{},this._password&&(e.password=this._password),this._identities&&(e.identities=this._identities),e}},a_=Object.freeze({selectLockedCells:!0,selectUnlockedCells:!0,autoTable:!1,deleteColumns:!1,deleteRows:!1,formatCells:!1,formatColumns:!1,formatRows:!1,insertColumns:!1,insertHyperlinks:!1,insertRows:!1,objects:!1,pivotTables:!1,scenarios:!1,sheet:!1,sort:!1,verifier:null}),o_=class extends i_{isAutoTableAllowed(){return this._isPropertyAllowed(`autoTable`)}isDeleteColumnsAllowed(){return this._isPropertyAllowed(`deleteColumns`)}isDeleteRowsAllowed(){return this._isPropertyAllowed(`deleteRows`)}isFormatCellsAllowed(){return this._isPropertyAllowed(`formatCells`)}isFormatColumnsAllowed(){return this._isPropertyAllowed(`formatColumns`)}isFormatRowsAllowed(){return this._isPropertyAllowed(`formatRows`)}isInsertColumnsAllowed(){return this._isPropertyAllowed(`insertColumns`)}isInsertHyperlinksAllowed(){return this._isPropertyAllowed(`insertHyperlinks`)}isInsertRowsAllowed(){return this._isPropertyAllowed(`insertRows`)}isObjectsAllowed(){return this._isPropertyAllowed(`objects`)}isPivotTablesAllowed(){return this._isPropertyAllowed(`pivotTables`)}isScenariosAllowed(){return this._isPropertyAllowed(`scenarios`)}isSortAllowed(){return this._isPropertyAllowed(`sort`)}isSelectLockedCellsAllowed(){return!1}isSelectUnlockedCellsAllowed(){return!1}_updateProperties(e){super._updateProperties(e),this._properties=e}_clearProperties(){super._clearProperties(),this._properties=null}_fromJSON(e){super._fromJSON(e),this._properties=e}_toJSON(e){let t=this._properties;if(t){e={...e,...t};let n=Object.keys(t);for(let r=0;r<n.length;r++){let i=t[n[r]];i!=null&&i!==a_[n[r]]&&(e[n[r]]=i)}}return super._toJSON(e)}get[Symbol.toStringTag](){return`[SheetProtection]`}toString(){return null}},s_=e=>typeof e==`string`?(0,n.t)(`error.address.invalidRangeAddress`,{address:e}):(0,n.t)(`error.address.invalidRangeAddressAny`),Z=()=>{throw Error((0,n.t)(`error.address.invalidRangeEmpty`))},c_={hasSubscribers:!1},l_=c_,u_=c_,d_=typeof performance==`object`&&performance&&typeof performance.now==`function`?performance:Date,f_=()=>l_.hasSubscribers||u_.hasSubscribers,p_=new Set,m_=typeof process==`object`&&process?process:{},h_=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),g_=e=>h_(e)?e<=2**8?Uint8Array:e<=2**16?Uint16Array:e<=2**32?Uint32Array:e<=2**53-1?__:null:null,__=class extends Array{constructor(e){super(e),this.fill(0)}},v_=class e{heap;length;static#e=!1;static create(t){let n=g_(t);if(!n)return[];e.#e=!0;let r=new e(t,n);return e.#e=!1,r}constructor(t,n){if(!e.#e)throw TypeError(`instantiate Stack using Stack.create(n)`);this.heap=new n(t),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},y_=class e{#e;#t;#n;#r;#i;#a;#o;#s;get perf(){return this.#s}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;backgroundFetchSize;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#x,autopurgeTimers:e.#S,sizes:e.#y,keyMap:e.#u,keyList:e.#d,valList:e.#f,next:e.#p,prev:e.#m,get head(){return e.#h},get tail(){return e.#g},free:e.#_,isBackgroundFetch:t=>e.#W(t),backgroundFetch:(t,n,r,i)=>e.#U(t,n,r,i),moveToTail:t=>e.#X(t),indexes:t=>e.#I(t),rindexes:t=>e.#L(t),isStale:t=>e.#j(t)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#l}get size(){return this.#c}get fetchMethod(){return this.#a}get memoMethod(){return this.#o}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(t){let{max:n=0,ttl:r,ttlResolution:i=1,ttlAutopurge:a,updateAgeOnGet:o,updateAgeOnHas:s,allowStale:c,dispose:l,onInsert:u,disposeAfter:d,noDisposeOnSet:f,noUpdateTTL:p,maxSize:m=0,maxEntrySize:h=0,sizeCalculation:g,fetchMethod:_,memoMethod:v,noDeleteOnFetchRejection:y,noDeleteOnStaleGet:b,allowStaleOnFetchRejection:x,allowStaleOnFetchAbort:S,ignoreFetchAbort:C,backgroundFetchSize:w=1,perf:T}=t;if(this.backgroundFetchSize=w,T!==void 0&&typeof T?.now!=`function`)throw TypeError(`perf option must have a now() method if specified`);if(this.#s=T??d_,n!==0&&!h_(n))throw TypeError(`max option must be a nonnegative integer`);let E=n?g_(n):Array;if(!E)throw Error(`invalid max value: `+n);if(this.#e=n,this.#t=m,this.maxEntrySize=h||this.#t,this.sizeCalculation=g,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw TypeError(`cannot set sizeCalculation without setting maxSize or maxEntrySize`);if(typeof this.sizeCalculation!=`function`)throw TypeError(`sizeCalculation set to non-function`)}if(v!==void 0&&typeof v!=`function`)throw TypeError(`memoMethod must be a function if defined`);if(this.#o=v,_!==void 0&&typeof _!=`function`)throw TypeError(`fetchMethod must be a function if specified`);if(this.#a=_,this.#w=!!_,this.#u=new Map,this.#d=Array.from({length:n}).fill(void 0),this.#f=Array.from({length:n}).fill(void 0),this.#p=new E(n),this.#m=new E(n),this.#h=0,this.#g=0,this.#_=v_.create(n),this.#c=0,this.#l=0,typeof l==`function`&&(this.#n=l),typeof u==`function`&&(this.#r=u),typeof d==`function`?(this.#i=d,this.#v=[]):(this.#i=void 0,this.#v=void 0),this.#C=!!this.#n,this.#E=!!this.#r,this.#T=!!this.#i,this.noDisposeOnSet=!!f,this.noUpdateTTL=!!p,this.noDeleteOnFetchRejection=!!y,this.allowStaleOnFetchRejection=!!x,this.allowStaleOnFetchAbort=!!S,this.ignoreFetchAbort=!!C,this.maxEntrySize!==0){if(this.#t!==0&&!h_(this.#t))throw TypeError(`maxSize must be a positive integer if specified`);if(!h_(this.maxEntrySize))throw TypeError(`maxEntrySize must be a positive integer if specified`);this.#M()}if(this.allowStale=!!c,this.noDeleteOnStaleGet=!!b,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!s,this.ttlResolution=h_(i)||i===0?i:1,this.ttlAutopurge=!!a,this.ttl=r||0,this.ttl){if(!h_(this.ttl))throw TypeError(`ttl must be a positive integer if specified`);this.#D()}if(this.#e===0&&this.ttl===0&&this.#t===0)throw TypeError(`At least one of max, maxSize, or ttl is required`);if(!this.ttlAutopurge&&!this.#e&&!this.#t){let t=`LRU_CACHE_UNBOUNDED`;(e=>!p_.has(e))(t)&&(p_.add(t),((e,t,n,r)=>{typeof m_.emitWarning==`function`?m_.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)})(`TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.`,`UnboundedCacheWarning`,t,e))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#D(){let e=new __(this.#e),t=new __(this.#e);this.#x=e,this.#b=t;let n=this.ttlAutopurge?Array.from({length:this.#e}):void 0;this.#S=n,this.#A=(n,i,a=this.#s.now())=>{t[n]=i===0?0:a,e[n]=i,r(n,i)},this.#O=n=>{t[n]=e[n]===0?0:this.#s.now(),r(n,e[n])};let r=this.ttlAutopurge?(e,t)=>{if(n?.[e]&&(clearTimeout(n[e]),n[e]=void 0),t&&t!==0&&n){let i=setTimeout(()=>{this.#j(e)?(this.#Z(this.#d[e],`expire`),n[e]=void 0):r(e,o(e))},t+1);i.unref&&i.unref(),n[e]=i}}:()=>{};this.#k=(n,r)=>{if(e[r]){let o=e[r],s=t[r];if(!o||!s)return;n.ttl=o,n.start=s,n.now=i||a(),n.remainingTTL=o-(n.now-s)}};let i=0,a=()=>{let e=this.#s.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=e=>{let t=this.#u.get(e);return t===void 0?0:o(t)};let o=n=>{let r=e[n],o=t[n];return r&&o?r-((i||a())-o):1/0};this.#j=n=>{let r=t[n],o=e[n];return!!o&&!!r&&(i||a())-r>o}}#O=()=>{};#k=()=>{};#A=()=>{};#j=()=>!1;#M(){let e=new __(this.#e);this.#l=0,this.#y=e,this.#N=t=>{this.#l-=e[t],e[t]=0},this.#F=(e,t,n,r)=>{if(!h_(n)){if(this.#W(t))return this.backgroundFetchSize;if(!r)throw TypeError(`invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.`);if(typeof r!=`function`)throw TypeError(`sizeCalculation must be a function`);if(n=r(t,e),!h_(n))throw TypeError(`sizeCalculation return invalid (expect positive integer)`)}return n},this.#P=(t,n,r)=>{if(e[t]=n,this.#t){let n=this.#t-e[t];for(;this.#l>n;)this.#B(!0)}this.#l+=e[t],r&&(r.entrySize=n,r.totalCalculatedSize=this.#l)}}#N=e=>{};#P=(e,t,n)=>{};#F=(e,t,n,r)=>{if(n||r)throw TypeError(`cannot set size without setting maxSize or maxEntrySize on cache`);return 0};*#I({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;this.#R(t)&&((e||!this.#j(t))&&(yield t),t!==this.#h);)t=this.#m[t]}*#L({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#h;this.#R(t)&&((e||!this.#j(t))&&(yield t),t!==this.#g);)t=this.#p[t]}#R(e){return e!==void 0&&this.#u.get(this.#d[e])===e}*entries(){for(let e of this.#I())this.#f[e]!==void 0&&this.#d[e]!==void 0&&!this.#W(this.#f[e])&&(yield[this.#d[e],this.#f[e]])}*rentries(){for(let e of this.#L())this.#f[e]!==void 0&&this.#d[e]!==void 0&&!this.#W(this.#f[e])&&(yield[this.#d[e],this.#f[e]])}*keys(){for(let e of this.#I()){let t=this.#d[e];t!==void 0&&!this.#W(this.#f[e])&&(yield t)}}*rkeys(){for(let e of this.#L()){let t=this.#d[e];t!==void 0&&!this.#W(this.#f[e])&&(yield t)}}*values(){for(let e of this.#I())this.#f[e]!==void 0&&!this.#W(this.#f[e])&&(yield this.#f[e])}*rvalues(){for(let e of this.#L())this.#f[e]!==void 0&&!this.#W(this.#f[e])&&(yield this.#f[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]=`LRUCache`;find(e,t={}){for(let n of this.#I()){let r=this.#f[n],i=this.#W(r)?r.__staleWhileFetching:r;if(i!==void 0&&e(i,this.#d[n],this))return this.#J(this.#d[n],t)}}forEach(e,t=this){for(let n of this.#I()){let r=this.#f[n],i=this.#W(r)?r.__staleWhileFetching:r;i!==void 0&&e.call(t,i,this.#d[n],this)}}rforEach(e,t=this){for(let n of this.#L()){let r=this.#f[n],i=this.#W(r)?r.__staleWhileFetching:r;i!==void 0&&e.call(t,i,this.#d[n],this)}}purgeStale(){let e=!1;for(let t of this.#L({allowStale:!0}))this.#j(t)&&(this.#Z(this.#d[t],`expire`),e=!0);return e}info(e){let t=this.#u.get(e);if(t===void 0)return;let n=this.#f[t],r=this.#W(n)?n.__staleWhileFetching:n;if(r===void 0)return;let i={value:r};if(this.#x&&this.#b){let e=this.#x[t],n=this.#b[t];e&&n&&(i.ttl=e-(this.#s.now()-n),i.start=Date.now())}return this.#y&&(i.size=this.#y[t]),i}dump(){let e=[];for(let t of this.#I({allowStale:!0})){let n=this.#d[t],r=this.#f[t],i=this.#W(r)?r.__staleWhileFetching:r;if(i===void 0||n===void 0)continue;let a={value:i};if(this.#x&&this.#b){a.ttl=this.#x[t];let e=this.#s.now()-this.#b[t];a.start=Math.floor(Date.now()-e)}this.#y&&(a.size=this.#y[t]),e.unshift([n,a])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let e=Date.now()-n.start;n.start=this.#s.now()-e}this.#z(t,n.value,n)}}set(e,t,n={}){let{status:r=l_.hasSubscribers?{}:void 0}=n;n.status=r,r&&(r.op=`set`,r.key=e,t!==void 0&&(r.value=t),r.cache=this);let i=this.#z(e,t,n);return r&&l_.hasSubscribers&&l_.publish(r),i}#z(e,t,n,r){let{ttl:i=this.ttl,start:a,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:s=this.sizeCalculation,status:c}=n,l=this.#W(t);if(t===void 0)return c&&(c.set=`deleted`),this.delete(e),this;let{noUpdateTTL:u=this.noUpdateTTL}=n;c&&!l&&(c.value=t);let d=this.#F(e,t,n.size||0,s,c);if(this.maxEntrySize&&d>this.maxEntrySize)return this.#Z(e,`set`),c&&(c.set=`miss`,c.maxEntrySizeExceeded=!0),this;let f=this.#c===0?void 0:this.#u.get(e);if(f===void 0)f=this.#c===0?this.#g:this.#_.length===0?this.#c===this.#e?this.#B(!1):this.#c:this.#_.pop(),this.#d[f]=e,this.#f[f]=t,this.#u.set(e,f),this.#p[this.#g]=f,this.#m[f]=this.#g,this.#g=f,this.#c++,this.#P(f,d,c),c&&(c.set=`add`),u=!1,this.#E&&!l&&this.#r?.(t,e,`add`);else{this.#X(f);let n=this.#f[f];if(t!==n){if(!o)if(this.#W(n)){n!==r&&n.__abortController.abort(Error(`replaced`));let{__staleWhileFetching:i}=n;i!==void 0&&i!==t&&(this.#C&&this.#n?.(i,e,`set`),this.#T&&this.#v?.push([i,e,`set`]))}else this.#C&&this.#n?.(n,e,`set`),this.#T&&this.#v?.push([n,e,`set`]);if(this.#N(f),this.#P(f,d,c),this.#f[f]=t,!l){let r=n&&this.#W(n)?n.__staleWhileFetching:n,i=r===void 0?`add`:t===r?`update`:`replace`;c&&(c.set=i,r!==void 0&&(c.oldValue=r)),this.#E&&this.onInsert?.(t,e,i)}}else l||(c&&(c.set=`update`),this.#E&&this.onInsert?.(t,e,`update`))}if(i!==0&&!this.#x&&this.#D(),this.#x&&(u||this.#A(f,i,a),c&&this.#k(c,f)),!o&&this.#T&&this.#v){let e,t=this.#v;for(;e=t?.shift();)this.#i?.(...e)}return this}pop(){try{for(;this.#c;){let e=this.#f[this.#h];if(this.#B(!0),this.#W(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(e!==void 0)return e}}finally{if(this.#T&&this.#v){let e,t=this.#v;for(;e=t?.shift();)this.#i?.(...e)}}}#B(e){let t=this.#h,n=this.#d[t],r=this.#f[t],i=this.#W(r);i&&r.__abortController.abort(Error(`evicted`));let a=i?r.__staleWhileFetching:r;return(this.#C||this.#T)&&a!==void 0&&(this.#C&&this.#n?.(a,n,`evict`),this.#T&&this.#v?.push([a,n,`evict`])),this.#N(t),this.#S?.[t]&&(clearTimeout(this.#S[t]),this.#S[t]=void 0),e&&(this.#d[t]=void 0,this.#f[t]=void 0,this.#_.push(t)),this.#c===1?(this.#h=this.#g=0,this.#_.length=0):this.#h=this.#p[t],this.#u.delete(n),this.#c--,t}has(e,t={}){let{status:n=l_.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op=`has`,n.key=e,n.cache=this);let r=this.#V(e,t);return l_.hasSubscribers&&l_.publish(n),r}#V(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:r}=t,i=this.#u.get(e);if(i!==void 0){let e=this.#f[i];if(this.#W(e)&&e.__staleWhileFetching===void 0)return!1;if(!this.#j(i))return n&&this.#O(i),r&&(r.has=`hit`,this.#k(r,i)),!0;r&&(r.has=`stale`,this.#k(r,i))}else r&&(r.has=`miss`);return!1}peek(e,t={}){let{status:n=f_()?{}:void 0}=t;n&&(n.op=`peek`,n.key=e,n.cache=this),t.status=n;let r=this.#H(e,t);return l_.hasSubscribers&&l_.publish(n),r}#H(e,t){let{status:n,allowStale:r=this.allowStale}=t,i=this.#u.get(e);if(i===void 0||!r&&this.#j(i))return void(n&&(n.peek=i===void 0?`miss`:`stale`));let a=this.#f[i],o=this.#W(a)?a.__staleWhileFetching:a;return n&&(o===void 0?n.peek=`miss`:(n.peek=`hit`,n.value=o)),o}#U(e,t,n,r){let i=t===void 0?void 0:this.#f[t];if(this.#W(i))return i;let a=new AbortController,{signal:o}=n;o?.addEventListener(`abort`,()=>a.abort(o.reason),{signal:a.signal});let s={signal:a.signal,options:n,context:r},c=(r,i=!1)=>{let{aborted:o}=a.signal,c=n.ignoreFetchAbort&&r!==void 0,d=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||r===void 0);if(n.status&&(o&&!i?(n.status.fetchAborted=!0,n.status.fetchError=a.signal.reason,c&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),o&&!c&&!i)return l(a.signal.reason,d);let f=u,p=this.#f[t];return(p===u||p===void 0&&c&&i)&&(r===void 0?f.__staleWhileFetching===void 0?this.#Z(e,`fetch`):this.#f[t]=f.__staleWhileFetching:(n.status&&(n.status.fetchUpdated=!0),this.#z(e,r,s.options,f))),r},l=(r,i)=>{let{aborted:o}=a.signal,s=o&&n.allowStaleOnFetchAbort,c=s||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,d=u;if(this.#f[t]===u&&(!l||!i&&d.__staleWhileFetching===void 0?this.#Z(e,`fetch`):s||(this.#f[t]=d.__staleWhileFetching)),c)return n.status&&d.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),d.__staleWhileFetching;if(d.__returned===d)throw r};n.status&&(n.status.fetchDispatched=!0);let u=new Promise((t,r)=>{let o=this.#a?.(e,i,s);a.signal.addEventListener(`abort`,()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>c(e,!0)))}),o&&o instanceof Promise?o.then(e=>t(e===void 0?void 0:e),r):o!==void 0&&t(o)}).then(c,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),l(e,!1))),d=Object.assign(u,{__abortController:a,__staleWhileFetching:i,__returned:void 0});return t===void 0?(this.#z(e,d,{...s.options,status:void 0}),t=this.#u.get(e)):this.#f[t]=d,d}#W(e){if(!this.#w)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty(`__staleWhileFetching`)&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=u_.hasSubscribers,{status:r=f_()?{}:void 0}=t;t.status=r,r&&t.context&&(r.context=t.context);let i=this.#G(e,t);return r&&n&&(r.trace=!0,u_.tracePromise(()=>i,r).catch(()=>{})),i}async#G(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:a=this.ttl,noDisposeOnSet:o=this.noDisposeOnSet,size:s=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:l=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:f=this.ignoreFetchAbort,allowStaleOnFetchAbort:p=this.allowStaleOnFetchAbort,context:m,forceRefresh:h=!1,status:g,signal:_}=t;if(g&&(g.op=`fetch`,g.key=e,h&&(g.forceRefresh=!0),g.cache=this),!this.#w)return g&&(g.fetch=`get`),this.#J(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:g});let v={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:a,noDisposeOnSet:o,size:s,sizeCalculation:c,noUpdateTTL:l,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:p,ignoreFetchAbort:f,status:g,signal:_},y=this.#u.get(e);if(y===void 0){g&&(g.fetch=`miss`);let t=this.#U(e,y,v,m);return t.__returned=t}{let t=this.#f[y];if(this.#W(t)){let e=n&&t.__staleWhileFetching!==void 0;return g&&(g.fetch=`inflight`,e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let i=this.#j(y);if(!h&&!i)return g&&(g.fetch=`hit`),this.#X(y),r&&this.#O(y),g&&this.#k(g,y),t;let a=this.#U(e,y,v,m),o=a.__staleWhileFetching!==void 0&&n;return g&&(g.fetch=i?`stale`:`refresh`,o&&i&&(g.returnedStale=!0)),o?a.__staleWhileFetching:a.__returned=a}}forceFetch(e,t={}){let n=u_.hasSubscribers,{status:r=f_()?{}:void 0}=t;t.status=r,r&&t.context&&(r.context=t.context);let i=this.#K(e,t);return r&&n&&(r.trace=!0,u_.tracePromise(()=>i,r).catch(()=>{})),i}async#K(e,t={}){let n=await this.#G(e,t);if(n===void 0)throw Error(`fetch() returned undefined`);return n}memo(e,t={}){let{status:n=l_.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op=`memo`,n.key=e,t.context&&(n.context=t.context),n.cache=this);let r=this.#q(e,t);return n&&(n.value=r),l_.hasSubscribers&&l_.publish(n),r}#q(e,t={}){let n=this.#o;if(!n)throw Error(`no memoMethod provided to constructor`);let{context:r,status:i,forceRefresh:a,...o}=t;i&&a&&(i.forceRefresh=!0);let s=this.#J(e,o),c=a||s===void 0;if(i&&(i.memo=c?`miss`:`hit`,c||(i.value=s)),!c)return s;let l=n(e,s,{options:o,context:r});return i&&(i.value=l),this.#z(e,l,o),l}get(e,t={}){let{status:n=l_.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op=`get`,n.key=e,n.cache=this);let r=this.#J(e,t);return n&&(r!==void 0&&(n.value=r),l_.hasSubscribers&&l_.publish(n)),r}#J(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:a}=t,o=this.#u.get(e);if(o===void 0)return void(a&&(a.get=`miss`));let s=this.#f[o],c=this.#W(s);return a&&this.#k(a,o),this.#j(o)?c?(a&&(a.get=`stale-fetching`),n&&s.__staleWhileFetching!==void 0?(a&&(a.returnedStale=!0),s.__staleWhileFetching):void 0):(i||this.#Z(e,`expire`),a&&(a.get=`stale`),n?(a&&(a.returnedStale=!0),s):void 0):(a&&(a.get=c?`fetching`:`hit`),this.#X(o),r&&this.#O(o),c?s.__staleWhileFetching:s)}#Y(e,t){this.#m[t]=e,this.#p[e]=t}#X(e){e!==this.#g&&(e===this.#h?this.#h=this.#p[e]:this.#Y(this.#m[e],this.#p[e]),this.#Y(this.#g,e),this.#g=e)}delete(e){return this.#Z(e,`delete`)}#Z(e,t){l_.hasSubscribers&&l_.publish({op:`delete`,delete:t,key:e,cache:this});let n=!1;if(this.#c!==0){let r=this.#u.get(e);if(r!==void 0)if(this.#S?.[r]&&(clearTimeout(this.#S[r]),this.#S[r]=void 0),n=!0,this.#c===1)this.#Q(t);else{this.#N(r);let n=this.#f[r];if(this.#W(n)?n.__abortController.abort(Error(`deleted`)):(this.#C||this.#T)&&(this.#C&&this.#n?.(n,e,t),this.#T&&this.#v?.push([n,e,t])),this.#u.delete(e),this.#d[r]=void 0,this.#f[r]=void 0,r===this.#g)this.#g=this.#m[r];else if(r===this.#h)this.#h=this.#p[r];else{let e=this.#m[r];this.#p[e]=this.#p[r];let t=this.#p[r];this.#m[t]=this.#m[r]}this.#c--,this.#_.push(r)}}if(this.#T&&this.#v?.length){let e,t=this.#v;for(;e=t?.shift();)this.#i?.(...e)}return n}clear(){return this.#Q(`delete`)}#Q(e){for(let t of this.#L({allowStale:!0})){let n=this.#f[t];if(this.#W(n))n.__abortController.abort(Error(`deleted`));else{let r=this.#d[t];this.#C&&this.#n?.(n,r,e),this.#T&&this.#v?.push([n,r,e])}}if(this.#u.clear(),this.#f.fill(void 0),this.#d.fill(void 0),this.#x&&this.#b){this.#x.fill(0),this.#b.fill(0);for(let e of this.#S??[])e!==void 0&&clearTimeout(e);this.#S?.fill(void 0)}if(this.#y&&this.#y.fill(0),this.#h=0,this.#g=0,this.#_.length=0,this.#l=0,this.#c=0,this.#T&&this.#v){let e,t=this.#v;for(;e=t?.shift();)this.#i?.(...e)}}},b_=`Resource is closed.`,x_=class{constructor(e){if(this._listeners=new Set,this._arrayBuffer=null,this._type=null,this._sourceResolved=null,this._externalURI=null,this._name=e?.name??null,this._source=e.source,!e.source)throw Error(`Source undefined`);this._refs=new Set,this._isClosed=!1}async _resolveSource(){let e=this._sourceResolved;return e||(e=this._source,typeof e==`function`&&(e=e()),e&&typeof e==`object`&&typeof e.then==`function`&&(e=await Promise.resolve(e)),this._sourceResolved=e,e)}async _resolveArrayBuffer(){let e=await this._resolveSource();if(e.base64){let t=e.base64;return n.BufferUtils.base64ToArrayBuffer(t)}if(e.fetch||e.external){let t=e.fetch??e.external,n,r;n=typeof t==`string`?t:e.input;try{let e=await fetch(n,r),t=await e.arrayBuffer(),i=e.headers.get(`Content-Type`);if(i){let e=await S_(t);e&&(this._type={mime:i,ext:e.ext},e.mime!==i&&console.warn(`Resource fetch detected mime type ${e.mime} does not match response mime type ${i}. Using response mime type.`))}return t}catch(e){throw Error(`Unable to fetch '${n}'`,{cause:e.message})}}if(e.buffer)return e.buffer;if(e.file)return await e.file.arrayBuffer();throw Error(`BinaryResource must have an initial data value.`)}getName(){return this._name}async toJSONAsync(){let e={},t=await this.getExternalURI();if(t)e.uri=t;else{let t=await this.toBuffer();e.base64=n.BufferUtils.arrayBufferToBase64(t)}return this._name&&(e.name=this._name),e}async toBuffer(){if(this._arrayBuffer)return this._arrayBuffer;try{this._arrayBuffer=this._resolveArrayBuffer()}catch(e){throw e}return this._arrayBuffer}async getType(){if(this._type)return this._type;let e=await S_(await this.toBuffer());return this._type=e,e}async getExternalURI(){if(this._externalURI)return this._externalURI;let e=await this._resolveSource(),t=Promise.resolve(null),n=e.fetch??e.external;if(n)if(typeof n==`string`)t=Promise.resolve(n);else{let e=n.input;typeof e==`string`?t=Promise.resolve(e):e instanceof URL?t=Promise.resolve(e.href):e instanceof Request&&(t=Promise.resolve(e.url))}return this._externalURI=t,t}addReference(e){if(this._isClosed)throw Error(b_);this._refs.add(e)}deleteReference(e){if(this._isClosed)throw Error(b_);if(this._refs.size===0||!this._refs.has(e))return;this._refs.delete(e);let t=this;if(this._refs.size===0){let e=this._listeners;e.forEach(n=>{n.onUnload?.(t),e.delete(n)}),this._arrayBuffer=null,this._isClosed=!0}}addUnloadListener(e){if(this._isClosed)throw Error(b_);this._listeners.add(e)}get isIResource(){return!0}isClosed(){return this._isClosed}};async function S_(e){return function(e){let t=e instanceof ArrayBuffer?new Uint8Array(e):e;if(t.length<4)return null;if(t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71)return{mime:`image/png`,ext:`png`};if(t[0]===255&&t[1]===216&&t[2]===255)return{mime:`image/jpeg`,ext:`jpeg`};if(t[0]===71&&t[1]===73&&t[2]===70&&t[3]===56)return{mime:`image/gif`,ext:`gif`};if(t[0]===66&&t[1]===77)return{mime:`image/bmp`,ext:`bmp`};if(t[0]===73&&t[1]===73&&t[2]===42&&t[3]===0||t[0]===77&&t[1]===77&&t[2]===0&&t[3]===42)return{mime:`image/tiff`,ext:`tif`};if(t.length>=44&&t[0]===1&&t[1]===0&&t[2]===0&&t[3]===0&&t[40]===32&&t[41]===69&&t[42]===77&&t[43]===70)return{mime:`image/x-emf`,ext:`emf`};if(t[0]===215&&t[1]===205&&t[2]===198&&t[3]===154||t[0]===1&&t[1]===0&&t[2]===9&&t[3]===0)return{mime:`image/x-wmf`,ext:`wmf`};if(t.length>=100){let e=new TextDecoder(`utf-8`,{fatal:!1}).decode(t.slice(0,100));if(e.includes(`<svg`)||e.includes(`<?xml`)&&e.includes(`svg`))return{mime:`image/svg+xml`,ext:`svg`}}return null}(e)||null}var C_,w_=class{constructor(e,t,n){this._state=e,this._fromJSON=t,this._onLastEnd=n,this._state.openScopes.add(this),this._isClosed=!1}endPersist(){if(!this._state.openScopes.delete(this))throw Error(`PersistScope is closed.`);this._isClosed=!0,this._state.openScopes.size===0&&this._onLastEnd()}toResourceId(e){if(this._isClosed)throw Error(`PersistScope is closed.`);let t=this._state.byRefs.get(e);return t!==void 0||(t=this._state.byRefs.size,this._state.byRefs.set(e,t),this._state.byIds.set(t,e)),t}fromResourceId(e){return this._state.byIds.get(e)??null}fromJSON(e){if(this._isClosed)throw Error(`PersistScope is closed.`);if(!e||e.length===0)return;let t=this._state.byRefs.size;for(let n=0;n<e.length;n++){let r=e[n],i=this._fromJSON(r);this._state.byRefs.set(i,t+n),this._state.byIds.set(t+n,i)}}toJSONAsync(){if(this._isClosed)throw Error(`PersistScope is closed.`);let e=[];return this._state.byRefs.forEach((t,n)=>{e[t]=Promise.resolve(n.toJSONAsync())}),Promise.all(e)}},T_=class{constructor(){this._persistOpen=null,this._resources=new Set}add(e){if(typeof e==`string`){let t=!1;this._resources.forEach(n=>{n.getName()===e&&(t=!0,e=n)}),t||(e=new x_({name:e,source:{fetch:e}}))}let t;t=e instanceof x_?e:new x_({...e});let n=this;return this._resources.has(t)||(t.addUnloadListener({onUnload:e=>{n._resources.delete(t)}}),this._resources.add(t)),t}*[Symbol.iterator](){yield*this.getItems()}getItems(e){return Array.from(this._resources)}getCount(){return this._resources.size}beginPersist(){this._persistOpen||={byRefs:new Map,byIds:new Map,openScopes:new Set};let e={},t=new Set,n=this;return new w_(this._persistOpen,r=>{let i=r.base64,a=r.uri,o={};i?o.base64=i:a&&(o.external=a);let s=n.add({name:r.name,source:o});return s.addReference(e),t.add(s),s},()=>{t.forEach(t=>{t.deleteReference(e)}),n._persistOpen=null})}},E_=class{constructor(){this._persistOpen=null,this._nextId=0,this._lastReadId=-1,this._lastReadValue=null,this._stringsByText=new Map,this._stringsById=new Map}addMultiple(e,t=!1){let n=this._stringsByText,r=this._stringsById,i=e.length,a=this._nextId;for(let o=0;o<i;o++){let i=e[o];n.get(i)!==void 0&&t||(n.set(i,a),r.set(a,i),a++)}this._lastReadId=-1,this._nextId=a}add(e){let t=this._stringsByText,n=t.get(e);if(n!==void 0)return n;let r=this._nextId++;return t.set(e,r),this._stringsById.set(r,e),this._lastReadId=-1,r}*[Symbol.iterator](){yield*this.getItems()}getItems(e){if(e?.id!==void 0){let t=this.getById(e.id);return t?[t]:[]}return Array.from(this._stringsById.values())}getById(e){if(this._lastReadId===e)return this._lastReadValue;let t=this._stringsById.get(e)??null;return this._lastReadId=e,this._lastReadValue=t,t}getCount(){return this._stringsById.size}beginPersist(){this._persistOpen||={byRefs:new Map,byIds:new Map,openScopes:new Set};let e=this;return new D_(this._persistOpen,t=>(Array.isArray(t)?e.addMultiple(t):e.add(t),t),()=>{e._persistOpen=null})}},D_=class{constructor(e,t,n){this._state=e,this._fromJSON=t,this._onLastEnd=n,this._state.openScopes.add(this),this._isClosed=!1}endPersist(){if(!this._state.openScopes.delete(this))throw Error(`PersistScope is closed.`);this._isClosed=!0,this._state.openScopes.size===0&&this._onLastEnd()}add(e){if(this._isClosed)throw Error(`PersistScope is closed.`);let t=this._state.byRefs.get(e);return t!==void 0||(t=this._state.byRefs.size,this._state.byRefs.set(e,t),this._state.byIds.set(t,e)),t}at(e){return this._state.byIds.get(e)??null}fromJSON(e){if(this._isClosed)throw Error(`PersistScope is closed.`);e&&e.length!==0&&this._fromJSON(e)}toJSONAsync(){if(this._isClosed)throw Error(`PersistScope is closed.`);let e=[];return this._state.byRefs.forEach((t,n)=>{e[t]=Promise.resolve(n.toJSONAsync?n.toJSONAsync():n)}),Promise.all(e)}};(C_||={}).Type={Absolute:`absolute`,OneCell:`oneCell`,TwoCell:`twoCell`};var O_,k_=class e{constructor(e){this._cacheSearchRange={colStart:0,rowStart:0,colEnd:0,rowEnd:0},this._cacheSearchFullyContained=!1,this._cacheSearchResults=null,this._init(e)}_init(e){this._options=Object.freeze({getEntireCoords:VD,...e}),this._isEmpty=!0,this._spatial=new wa,this._mapModelToEntries=new Map,this._setIndexToModel([]),this._mapNameToModel=new Map,this._nextOrder=0,this._createEntry=null,this._mapModelToMeta=new Map}_allocateOrder(){let e=this._nextOrder;return this._nextOrder=e+j_,e}_createSpatialEntry(e,t){let n=(this._createEntry??L_)(e,t);return n.order=this._allocateOrder(),n.orderSpan=j_,n.getSplit||=P_,{colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,value:n}}_entriesOf(e){return this._mapModelToEntries.get(e)??n.CommonUtils.EmptyArray}all(){return this._indexToModel}_setIndexToModel(e){this._indexToModel=Object.freeze(e)}search(e,t=!1,r,i){if(this._isEmpty)return i??n.CommonUtils.EmptyArray;let a=this._cacheSearchRange,o=this._cacheSearchResults;if(o!==null&&n.CoordUtils.isEqualRanges(e,a)&&t===this._cacheSearchFullyContained||(this._cacheSearchFullyContained=t,a.colStart=e.colStart,a.rowStart=e.rowStart,a.colEnd=e.colEnd,a.rowEnd=e.rowEnd,o=this._searchModels(e,t),this._cacheSearchResults=o),!i)return o;let s=o.length;for(let e=0;e<s;e++)i.push(o[e]);return i}_searchModels(e,t){let r=this._spatial.search(e,t),i=r.length;if(i===0)return n.CommonUtils.EmptyArray;let a=this._mapModelToMeta,o=i>1?[...r].sort((e,t)=>{let n=a.get(e.value.model).index,r=a.get(t.value.model).index;return n===r?e.value.order-t.value.order:n-r}):r,s=Array(i);for(let e=0;e<i;e++){let t=o[e];s[e]={...t,value:t.value.model}}return s}getByName(e){if(this._isEmpty)return null;let t=e.toLocaleLowerCase();return this._mapNameToModel.get(t)??null}setName(e,t){let n=this._mapModelToMeta,r=n.get(e);if(!r)return this;let i=new Map(n),a=new Map(this._mapNameToModel),o=r?.name;o&&a.delete(o.toLocaleLowerCase());let s={...r};s.name=t,i.set(e,s);let c=t.toLocaleLowerCase();a.set(c,e);let l=this._shallowClone();return l._mapNameToModel=a,l._mapModelToMeta=i,l}getByIndex(e){return this._isEmpty?null:this._indexToModel[e]||null}setIndex(e,t){let n=this._indexToModel,r=n.length;t<0?t=0:t>r-1&&(t=r-1);let i=this._mapModelToMeta,a=i.get(e);if(a.index===t)return this;let o=[...n],s=new Map(i),c=a.index;o.splice(c,1),o.splice(t,0,e);let l=Math.min(c,t);this._reIndexMeta(o,s,l);let u=this._shallowClone();return u._mapModelToMeta=s,u._setIndexToModel(o),u}getIndex(e){let t=this._mapModelToMeta.get(e);return t?t.index:-1}getCoords(e){let t=this._entriesOf(e);return t.length===0?null:n.CoordUtils.sanitizeRangeArray(t)}setCoords(e,t){let r=this._mapModelToEntries,i=this._entriesOf(e);if(i.length===0)return this;let a=t?t.length:0;if(a===0)return this.deleteModel(e);let o=this._spatial.clone(),s=i.length;for(let e=0;e<s;e++)o.remove(i[e],M_);let c=this._shallowClone(),l=Array(a);for(let n=0;n<a;n++)l[n]=c._createSpatialEntry(e,t[n]);o.load(l);let u=new Map(r);u.set(e,l),c._spatial=o,c._mapModelToEntries=u;let d=n.CoordUtils.sanitizeRangeArray(i),f=n.CoordUtils.sanitizeRangeArray(l);return I_(d,f)||this._mapModelToMeta.get(e)?.callbacks?.processAfterShift?.(d,f),c}clone(){let t=new e(n.CommonUtils.EmptyObject);return t._options=this._options,t._spatial=this._spatial.clone(),t._mapModelToEntries=new Map(this._mapModelToEntries),t._mapModelToMeta=new Map(this._mapModelToMeta),t._mapNameToModel=new Map(this._mapNameToModel),t._setIndexToModel([...this._indexToModel]),t._isEmpty=this._isEmpty,t._nextOrder=this._nextOrder,t._createEntry=this._createEntry,t}size(){return this._mapModelToEntries.size}isEmpty(){return this._isEmpty}has(e){return!this._isEmpty&&this._spatial.has(e)}shift(e){if(this._isEmpty)return this;let t=e?.ranges,r=e?.direction,i=e?.coordValidator,a=t.length,o=this._spatial,s=o,c=this._mapModelToEntries,l=c,u=this._mapModelToMeta,d=u,f=this._mapNameToModel,p=f,m=new Set,h=new Map,g=e=>{let t=h.get(e);return t||(t=[...c.get(e)??n.CommonUtils.EmptyArray],h.set(e,t)),t},_=(e,t)=>{let n=t?t.length:0;for(let e=0;e<n;e++){let n=t[e],r=n.value.model;m.add(r);let i=g(r),a=i.indexOf(n);a>=0&&i.splice(a,1)}let r=e?e.length:0;for(let t=0;t<r;t++){let n=e[t],r=n.value.model;m.add(r),g(r).push(n)}},v=e=>{let t=e.before.value.model;m.add(t),u.get(t)?.callbacks?.processShift?.(e)};for(let e=0;e<a;e++){let n=t[e];s=s.shift({range:n,direction:r,cloneIfUpdate:s===o,coordValidator:i,onShift:v,onUpdates:_})}if(m.size===0)return this;l=new Map(c),d=new Map(u),p=new Map(f);let y=[...this._indexToModel];this._applyEntryDeltas(h,c,l,d,p,y);let b=this._shallowClone();return b._spatial=s,b._mapModelToEntries=l,b._mapNameToModel=p,b._setIndexToModel(y),b._mapModelToMeta=d,b._isEmpty=l.size===0,b}_applyEntryDeltas(e,t,r,i,a,o){let s=2**53-1;e.forEach((e,c)=>{let l=i.get(c);if(!l)return;let u=t.get(c),d=u?n.CoordUtils.sanitizeRangeArray(u):null,f;if(e.length===0){f=null,r.delete(c),i.delete(c);let e=l.name;e&&a.delete(e.toLocaleLowerCase()),s=Math.min(s,l.index),o[l.index]=null}else e.sort(N_),r.set(c,e),f=n.CoordUtils.sanitizeRangeArray(e);I_(d,f)||l.callbacks.processAfterShift?.(d,f),f||l.callbacks.processDelete?.()}),s!==2**53-1&&this._reIndexMeta(o,i,s,!0)}deleteRanges(e,t=!1){if(this._isEmpty)return this;let n=this._spatial,r=e.length,i=[];for(let a=0;a<r;a++){let r=e[a];n.search(r,t,!1,i)}if(i.length===0)return this;let a=this._shallowClone(),o=this._spatial.clone(),s=this._mapModelToEntries,c=new Map(s),l=new Map(this._mapNameToModel),u=new Map(this._mapModelToMeta),d=[...this._indexToModel],f=new Map,p=i.length;for(let e=0;e<p;e++){let t=i[e],n=t.value.model,r=f.get(n);r||(r=new Set,f.set(n,r)),r.add(t),o.remove(t,M_)}let m=new Map;return f.forEach((e,t)=>{let n=s.get(t);n&&m.set(t,n.filter(t=>!e.has(t)))}),this._applyEntryDeltas(m,s,c,u,l,d),a._spatial=o,a._mapModelToEntries=c,a._mapNameToModel=l,a._setIndexToModel(d),a._mapModelToMeta=u,a._isEmpty=c.size===0,a}_reIndexMeta(e,t,n=0,r=!1){if(r)for(let t=e.length-1;t>=n;t--)e[t]||e.splice(t,1);let i=e.length;for(let r=n;r<i;r++){let n=e[r],i=t.get(n);if(i.index===r)continue;let a={...i};a.index=r,t.set(n,a)}}deleteModel(e){if(this._isEmpty)return this;let t=new Map(this._mapModelToEntries),n=this._mapNameToModel,r=new Map(this._mapModelToMeta),i=r.get(e);i.callbacks.processDelete?.();let a=i?.name;a&&(n=new Map(n),n.delete(a.toLocaleLowerCase()));let o=t.get(e),s=o?o.length:0,c=this._spatial;if(o&&s>0){c=this._spatial.clone();for(let e=0;e<s;e++){let t=o[e];c.remove(t,M_)}}r.delete(e),t.delete(e);let l=[...this._indexToModel],u=i.index;l[u]=null,this._reIndexMeta(l,r,u,!0);let d=this._shallowClone();return d._spatial=c,d._mapModelToEntries=t,d._mapNameToModel=n,d._mapModelToMeta=r,d._setIndexToModel(l),d._isEmpty=t.size===0,d}_onLoadFailure(e,t){let r=t?.message??(t?String(t):void 0);if(A_)throw Error(r?`${e} ${r}`:e);n.Notifier.warn(e,{meta:{type:`error`,detail:r}})}load(e,t){let r=e?e.length:0;if(r===0)return this;let i=this._options.getRanges,a=this._options.getEntireRange,o=t.createModel,s=t.addListeners,c=t.setContainerCoords,l=t.setContainerName,u=t.setContainerIndex,d=t.getContainerIndex,f=t.deleteFromContainer,p=t.invalidate,m=new Map(this._mapModelToEntries),h=new Map(this._mapModelToMeta),g=new Map(this._mapNameToModel),_=[],v=this._shallowClone();v._createEntry=t.createEntry??this._createEntry;let y=(e,t,r)=>{let m={model:null,callbacks:n.CommonUtils.EmptyObject,name:null,index:t},h,g=null,_=e,y=!1,b={getRanges:i,getEntireRange:a,invalidate:p,setContainerCallbacks:e=>{if(g)throw Error(`Cannot set container callbacks after model creation.`);m.callbacks={...m.callbacks,...e}},setContainerCoords:(e,t)=>{let n=i(e).getCoords();if(g)return c?.(g,n,t),n;_=[...n]},setContainerName:(e,t)=>{g?l?.(g,e,t):m.name=e},setContainerIndex:(e,t)=>{if(!g)throw Error(`Cannot set container index curring initializations.`);u?.(g,e,t)},getContainerIndex:()=>g?d?.(g):m.index,deleteFromContainer:e=>{g?(f?.(g,e),h?.()):y=!0},coords:e,json:r};if(y)return null;if(g=o(b),m.model=g,!m.name){let e=g.getName?.();e&&(m.name=e)}m.index;let x=[],S=_.length;for(let e=0;e<S;e++)x.push(v._createSpatialEntry(g,_[e]));return s&&(h=s(g)),{entries:x,meta:m}},b=[...this._indexToModel],x=b.length,S=a().getCoords();for(let t=0;t<r;t++){let n=e[t],r=Tu(n,S);if(!r){this._onLoadFailure(`Invalid ref '${n?.r}'.`,null);continue}let i;try{i=y(r.coords,t+x,r.value)}catch(e){this._onLoadFailure(`Unable to load anchored item at '${n?.r}'.`,e)}if(!i)continue;let a=i.entries,o=i.meta,s=o.model;m.set(s,a);let c=o.name;c&&g.set(c.toLocaleLowerCase(),s),h.set(s,o),b.push(s);let l=a.length;for(let e=0;e<l;e++)_.push(a[e])}let C=this._spatial.clone();return C.load(_),v._spatial=C,v._mapModelToEntries=m,v._mapNameToModel=g,v._mapModelToMeta=h,v._setIndexToModel(b),v._isEmpty=m.size===0,v}getBoundingRange(){return this._spatial.getBoundingRange()}toJSON(){let e=this.all(),t=e.length;if(t===0)return null;let n=this._options.getEntireRange().getCoords(),r=[];for(let i=0;i<t;i++){let t=e[i];if(t.toJSON===void 0)continue;let a=this._entriesOf(t);if(a.length===0)continue;let o=t.toJSON();r.push({r:Pu(a,n),v:o})}return r}processCallbacks(e){this._mapModelToMeta.forEach((t,n)=>{e(n,t.callbacks)})}close(){let e=this._mapModelToMeta.keys();for(let t of e)t.close()}_shallowClone(){let t=new e(n.CommonUtils.EmptyObject);return t._options=this._options,t._spatial=this._spatial,t._mapModelToEntries=this._mapModelToEntries,t._mapModelToMeta=this._mapModelToMeta,t._mapNameToModel=this._mapNameToModel,t._indexToModel=this._indexToModel,t._isEmpty=this._isEmpty,t._nextOrder=this._nextOrder,t._createEntry=this._createEntry,t}},A_=!1;(O_=k_||={}).setStrictLoad=function(e){A_=e},O_.isStrictLoad=function(){return A_};var j_=1024,M_=(e,t)=>{let n=e.value,r=t.value;return n.model===r.model&&n.order===r.order},N_=(e,t)=>e.value.order-t.value.order;function P_(e,t,n){let r=this.order,i=this.orderSpan,a=i/2>0?i/2:0;return[{...this,order:r,orderSpan:a},{...this,order:r+a,orderSpan:i-a}]}var Q,F_,I_=(e,t)=>{let r=e?e.length:0;if(r!==(t?t.length:0))return!1;for(let i=0;i<r;i++)if(!n.CoordUtils.isEqualRanges(e[i],t[i]))return!1;return!0},L_=(e,t)=>({model:e,order:0,orderSpan:j_}),R_=class{constructor(e){this._subscriptions=[],this._getSheets=e.getSheets,this._addSheetsListener=e.addSheetsListener??null}getItems(){this._syncSubscriptions();let e=this._getSheets()??n.CommonUtils.EmptyArray,t=e.length;if(t===0)return n.CommonUtils.EmptyArray;let r=null;for(let i=0;i<t;i++){let t=e[i]?.getTables().getItems()??n.CommonUtils.EmptyArray,a=t.length;for(let e=0;e<a;e++){let n=t[e]?.getNamed?.();n&&(r||=[],r.push(n))}}return r??n.CommonUtils.EmptyArray}addListeners(e,t){let r=()=>{e.onCollectionChange?.()},i={notify:r,sheets:n.CommonUtils.EmptyArray,removes:[],options:t};this._subscriptions.push(i),this._syncSubscription(i);let a=this._addSheetsListener?.(()=>{this._syncSubscription(i),r()},t);return()=>{for(let e=0;e<i.removes.length;e++)i.removes[e]?.();i.removes=[],i.sheets=n.CommonUtils.EmptyArray,this._subscriptions=this._subscriptions.filter(e=>e!==i),a?.()}}_syncSubscription(e){let t=this._getSheets()??n.CommonUtils.EmptyArray,r=e.sheets;if(t.length===r.length){let e=!0;for(let n=0;n<t.length;n++)if(t[n]!==r[n]){e=!1;break}if(e)return}for(let t=0;t<e.removes.length;t++)e.removes[t]?.();e.removes=[],e.sheets=t;for(let n=0;n<t.length;n++){let r=t[n];r&&e.removes.push(r.addListeners({onTablesChange:e.notify},e.options))}}_syncSubscriptions(){for(let e=0;e<this._subscriptions.length;e++)this._syncSubscription(this._subscriptions[e])}};(F_=Q||={}).BuiltInSelectorNames={List:`list`,Logical:`logical`,Date:`date`,DateTime:`dateTime`,Time:`time`,Text:`text`,TextLength:`textLength`,Number:`number`,Whole:`wholeNumber`},F_.BuiltInOperatorNames={And:`and`,Average:`average`,Between:`between`,Color:`color`,EqualTo:`equalTo`,GreaterThan:`greaterThan`,GreaterThanEqualTo:`greaterThanEqualTo`,LessThan:`lessThan`,LessThanEqualTo:`lessThanEqualTo`,After:`after`,AfterEqualTo:`afterEqualTo`,Before:`before`,BeforeEqualTo:`beforeEqualTo`,Unique:`unique`,Blank:`blank`,Error:`error`,InSet:`inSet`,Icon:`icon`,Not:`not`,TextEmail:`textEmail`,TextIsUrl:`textUrl`,TextStartsWith:`textStartsWith`,TextEndsWith:`textEndsWith`,TextContains:`textContains`,Expression:`expression`,TimePeriod:`timePeriod`,TopN:`topN`,Or:`or`},F_.AverageType={Above:`above`,Below:`below`,AboveOrEqual:`aboveOrEqual`,BelowOrEqual:`belowOrEqual`},F_.TimePeriodType={Last7Days:`last7Days`,LastMonth:`lastMonth`,LastQuarter:`lastQuarter`,LastWeek:`lastWeek`,LastYear:`lastYear`,M1:`M1`,M2:`M2`,M3:`M3`,M4:`M4`,M5:`M5`,M6:`M6`,M7:`M7`,M8:`M8`,M9:`M9`,M10:`M10`,M11:`M11`,M12:`M12`,NextMonth:`nextMonth`,NextQuarter:`nextQuarter`,NextWeek:`nextWeek`,Null:`null`,Q1:`Q1`,Q2:`Q2`,Q3:`Q3`,Q4:`Q4`,ThisMonth:`thisMonth`,ThisQuarter:`thisQuarter`,ThisWeek:`thisWeek`,Today:`today`,Tomorrow:`tomorrow`,YearToDate:`yearToDate`,Yesterday:`yesterday`},F_.DateItemGroupingType={Day:`day`,Hour:`hour`,Minute:`minute`,Month:`month`,Second:`second`,Year:`year`},Co();var z_=class{constructor(e){this._name=e.name,this._title=e.title,this._description=e.description,e.acceptTypes&&e.acceptTypes.length>0?this._acceptTypes=Object.freeze([...e.acceptTypes]):this._acceptTypes=null,this._paramType=e.paramType}getName(){return this._name}getAcceptsTypes(){return this._acceptTypes}acceptsList(){return!1}getParamType(e){if(this._paramType!==void 0)return this._paramType;if(e)return e.getName();let n=this._acceptTypes;if(!n)return null;for(let e of n)switch(e){case t.InteropScalarType.Number:return`number`;case t.InteropScalarType.String:return`text`;case t.InteropScalarType.Date:return`dateTime`;case t.InteropScalarType.Boolean:return`logical`}return null}isCombinator(){return!1}createDefaultParam(e){return null}getTitle(){return this._title?(0,n.t)(this._title):n.CommonUtils.camelToPrettyCase(this.getName())}getDescription(){return this._description?(0,n.t)(this._description):null}doBatch(e,t,n){return null}async _resolveOperand(e,r){if(typeof e!=`string`||!e.startsWith(`=`))return()=>e;let i=e.slice(1),a=await r.watchFormula(i);if(!a)return null;let o=r.getCoords(),s=!1,c=this.getName();return e=>{let r=e.getPosition(),l;try{l=a.getValueAt(r.rowIndex-o.rowStart,r.colIndex-o.colStart)}catch(e){if(!t.FormulaError.isError(e))throw e;l=e}return!t.FormulaError.isError(l)&&l?.isIRange&&(l=l.getValueAt(0,0)),t.FormulaError.isError(l)&&!s&&(s=!0,n.Notifier.warn(`Condition operand '=${i}' resolves to ${l.getLabel()}; '${c}' matches nothing there.`,{onceKey:`condition.operand.error.${i}`,meta:{type:`condition`}})),l}}async _createComparePredicate(e,n,r){let i=await this._resolveOperand(e,n);return i?(e,n)=>{let a=i(n);return!t.FormulaError.isError(a)&&r(e,a)}:null}toString(e,t){let r=this.getTitle(),i=e;return i==null?r:(0,n.t)(`condition.operator.titleWithParam`,{title:r,param:i})}},B_=()=>!1,V_=class e{constructor(e,t,n,r,i,a,o){this._groups=e,this._keyFn=t,this._compareFn=n,this._reverseBuild=r,this._visitedCount=i,this._totalCount=a,this._truncated=o}*getUniqueValues(){let e=this._groups,t=this._getValueOrderAscending();if(this._reverseBuild)for(let n=t.length-1;n>=0;n--)yield e.get(t[n]).value;else for(let n=0;n<t.length;n++)yield e.get(t[n]).value}getFrequency(e){return this._groups.get(this._keyFn(e))?.count??0}*getValueCounts(e){let t=this._groups,n=e?.sortBy??`frequency`,r=e?.descending??!0,i;if(n===`value`)i=this._getValueOrderAscending().slice(),r&&i.reverse();else{let e=r?-1:1;i=Array.from(t.keys()),i.sort((n,r)=>e*(t.get(n).count-t.get(r).count))}for(let e=0;e<i.length;e++){let n=t.get(i[e]);yield[n.value,n.count]}}getUniqueCount(){return this._groups.size}getVisitedCount(){return this._visitedCount}getTotalCount(){return this._totalCount}isTruncated(){return this._truncated}_getValueOrderAscending(){let e=this._valueOrderAscending;if(!e){let t=this._groups,n=this._compareFn,r=Array.from(t.keys());r.sort((e,r)=>n(t.get(e).value,t.get(r).value)),e=Object.freeze(r),this._valueOrderAscending=e}return e}static fromGrid(n,r,i,a,o,s,c){let l=a?.keyFn??H_,u=a?.filterFn,d=a?.limit,f=new Map,p=0,m=!1;if(n.getCount()!==0){let e=n.getAxis()===t.IRange.Axis.Column,a=r.length,o=(i?{...U_,...i}:U_).bounds;e:for(let t=0;t<a;t++){let i=r[t];if(!i)continue;let a=e?i.colStart:i.rowStart,s=e?i.rowStart:i.colStart,c=e?i.colEnd:i.rowEnd,h=e?i.rowEnd:i.colEnd;o.colStart=e?a:s,o.rowStart=e?s:a,o.colEnd=e?c:h,o.rowEnd=e?h:c;let g=n.getRuns(U_),_=g.next();for(;!_.done;){let[,e,t]=_.value;_=g.next();let n=t.length,r=Math.max(0,s-e),i=Math.min(n-1,h-e);if(!(r>i))for(let e=r;e<=i;e++){let n=t.at(e);if(u&&!u(n))continue;let r=l(n),i=f.get(r);if(i)i.count++;else{if(d!==void 0&&f.size>=d){m=!0;break e}f.set(r,{value:n,count:1})}p++}}}}return s>0&&f.set(l(null),{value:null,count:s}),new e(f,l,a?.compareFn??o,a?.reverse??!1,p,c??p+s,m)}static fromGroups(t,n,r,i,a,o,s){return new e(t,n,r?.compareFn??i,r?.reverse??!1,a,o,s)}};function H_(e){if(e===null)return`\0`;let n=typeof e;return n===`number`?``+e.toString():n===`string`?``+Xo(e.normalize(`NFC`),!0):n===`boolean`?``+(e?`1`:`0`):t.FormulaError.isError(e)?``+e.getCode():``+String(e)}var U_={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},W_=()=>!1,G_=(e,t)=>(t.year===void 0||t.year===e.year)&&(t.month===void 0||t.month===e.month)&&(t.day===void 0||t.day===e.day)&&(t.hour===void 0||t.hour===e.hour)&&(t.minute===void 0||t.minute===e.minute)&&(t.second===void 0||t.second===e.second),K_=()=>!1,q_=()=>!0,J_={Blank:new class extends z_{constructor(e){super({name:Q.BuiltInOperatorNames.Blank,title:(0,n.messageKey)(`condition.operator.blank.title`),acceptTypes:[t.InteropScalarType.Null],paramType:null,...e})}createPredicate(e,t){return e=>e===null}},Error:new class extends z_{constructor(e){super({name:Q.BuiltInOperatorNames.Error,title:(0,n.messageKey)(`condition.operator.error.title`),acceptTypes:[t.InteropScalarType.Error],paramType:null,...e})}createPredicate(e,n){return e=>e&&t.FormulaError.isError(e)}},Average:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.Average,title:(0,n.messageKey)(`condition.operator.average.title`),acceptTypes:[t.InteropScalarType.Number],paramType:`average`,description:(0,n.messageKey)(`condition.operator.average.desc`)})}async createPredicate(e,t){let n=t.getRange().getStats().getAggregates(),r=n.average,i=n.stdDev;if(r==null)return B_;let a=Q.AverageType.Above,o=e.type??a,s=e.stdDevs??0,c=s!==0&&i!=null?r+s*i*(o===a?1:-1):r;if(o===a||o===Q.AverageType.AboveOrEqual){let e=o===Q.AverageType.AboveOrEqual;return t=>e?t>=c:t>c}{let e=o===Q.AverageType.BelowOrEqual;return t=>e?t<=c:t<c}}createDefaultParam(e){return{type:Q.AverageType.Above,stdDevs:0}}toString(e,t){let r={...this.createDefaultParam(t),...e},i=r.type===Q.AverageType.Above||r.type===Q.AverageType.AboveOrEqual,a=r.type===Q.AverageType.AboveOrEqual||r.type===Q.AverageType.BelowOrEqual;return(0,n.t)(`condition.operator.average.toString`,{dir:i?`above`:`below`,eq:a?`yes`:`no`,stdDevs:r.stdDevs??0})}},Between:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.Between,title:(0,n.messageKey)(`condition.operator.between.title`),acceptTypes:[t.InteropScalarType.Number,t.InteropScalarType.Date],paramType:`between`,description:(0,n.messageKey)(`condition.operator.between.desc`)})}async createPredicate(e,n){let r=await this._resolveOperand(e?.from??0,n),i=await this._resolveOperand(e?.to??0,n);return r&&i?(e,n)=>{let a=r(n),o=i(n);return t.FormulaError.isError(a)||t.FormulaError.isError(o)?!1:e>=(a??0)&&e<=(o??0)}:null}createDefaultParam(e){return{from:0,to:0}}toString(e,t){let r={...this.createDefaultParam(t),...e};return(0,n.t)(`condition.operator.between.toString`,{from:r.from??0,to:r.to??0})}},EqualTo:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.EqualTo,acceptTypes:[t.InteropScalarType.String,t.InteropScalarType.Number,t.InteropScalarType.Date,t.InteropScalarType.Boolean],title:(0,n.messageKey)(`condition.operator.equalTo.title`)})}async createPredicate(e,n){if(typeof e!=`string`||!e.startsWith(`=`)){if(typeof e==`string`){let t=Zo(e);return e=>typeof e==`string`&&Zo(e)===t}return t=>t===e}let r=await this._resolveOperand(e,n);return r?(e,n)=>{let i=r(n);return!t.FormulaError.isError(i)&&(typeof i==`string`?typeof e==`string`&&Zo(e)===Zo(i):e===i)}:null}createDefaultParam(e){return e?e.getSelectType()===t.InteropScalarType.String?``:e.getSelectType()===t.InteropScalarType.Number?0:e.getSelectType()===t.InteropScalarType.Boolean||(e.getSelectType()===t.InteropScalarType.Date?0:void 0):null}},GreaterThan:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.GreaterThan,acceptTypes:[t.InteropScalarType.Number],title:(0,n.messageKey)(`condition.operator.greaterThan.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e>t)}},GreaterThanEqualTo:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.GreaterThanEqualTo,acceptTypes:[t.InteropScalarType.Number],title:(0,n.messageKey)(`condition.operator.greaterThanEqualTo.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e>=t)}},LessThan:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.LessThan,acceptTypes:[t.InteropScalarType.Number],title:(0,n.messageKey)(`condition.operator.lessThan.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e<t)}},LessThanEqualTo:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.LessThanEqualTo,acceptTypes:[t.InteropScalarType.Number],title:(0,n.messageKey)(`condition.operator.lessThanEqualTo.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e<=t)}},After:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.After,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.after.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e>t)}},AfterOrEqualTo:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.AfterEqualTo,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.afterEqualTo.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e>=t)}},Before:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.Before,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.before.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e<t)}},BeforeOrEqualTo:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.BeforeEqualTo,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.beforeEqualTo.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e<=t)}},Unique:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.Unique,title:(0,n.messageKey)(`condition.operator.unique.title`),paramType:null,acceptTypes:null,description:(0,n.messageKey)(`condition.operator.unique.desc`)})}async createPredicate(e,t){let n=t.getRange().getStats().getFrequencies();return e=>n.getFrequency(e)===1}},Expression:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.Expression,title:(0,n.messageKey)(`condition.operator.expression.title`),paramType:Q.BuiltInOperatorNames.Expression,description:(0,n.messageKey)(`condition.operator.expression.desc`)})}createDefaultParam(e){return``}async createPredicate(e,t){let n=await t.watchFormula(e);if(!n)return null;let r=t.getCoords();return(e,t)=>{let i=t.getPosition(),a=n.getValueAt(i.rowIndex-r.rowStart,i.colIndex-r.colStart);return!0===a||typeof a==`number`&&a!==0}}},InSet:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.InSet,title:(0,n.messageKey)(`condition.operator.inSet.title`),description:(0,n.messageKey)(`condition.operator.inSet.desc`)})}acceptsList(){return!0}createPredicate(e,t){let n=e?.blank??!1,r=Array.isArray(e?.items)?e.items:[],i=e?.dateGroups??[],a=i.length;if(r.length===0&&a===0&&!n)return W_;let o=r.length>0?new Set(r.map(H_)):void 0,s=a>0?{year:0,month:0,day:0,hour:0,minute:0,second:0,millis:0,dow:0,serial:0}:void 0;return e=>{if(e===null||e===``)return n;if(o?.has(H_(e)))return!0;if(a>0&&typeof e==`number`){let n=t.getDateParts(e,s);for(let e=0;e<a;e++)if(G_(n,i[e]))return!0}return!1}}createDefaultParam(e){return{items:[]}}toString(e,t){let r={...this.createDefaultParam(t),...e},i=this.getTitle(),a=r.items;if(a)return(0,n.t)(`condition.operator.inSet.items`,{title:i,count:a?a.length:0});let o=r.dateGroups;return o?(0,n.t)(`condition.operator.inSet.dateGroups`,{title:i,count:o?o.length:0}):i}},Icon:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.Icon,title:(0,n.messageKey)(`condition.operator.icon.title`),description:(0,n.messageKey)(`condition.operator.icon.desc`)})}createPredicate(e,t){return e=>!1}},Color:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.Color,title:(0,n.messageKey)(`condition.operator.color.title`),description:(0,n.messageKey)(`condition.operator.color.desc`)})}createPredicate(e,t){return e=>!1}},TextStartsWith:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.TextStartsWith,acceptTypes:[t.InteropScalarType.String],title:(0,n.messageKey)(`condition.operator.textStartsWith.title`)})}createPredicate(e,t){let n=Zo(e);return e=>Zo(e).startsWith(n)}},TextEndsWith:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.TextEndsWith,acceptTypes:[t.InteropScalarType.String],title:(0,n.messageKey)(`condition.operator.textEndsWith.title`)})}createPredicate(e,t){let n=Zo(e);return e=>Zo(e).endsWith(n)}},TextContains:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.TextContains,acceptTypes:[t.InteropScalarType.String],title:(0,n.messageKey)(`condition.operator.textContains.title`)})}createPredicate(e,t){let n=Zo(e);return e=>Zo(e).includes(n)}},TextEmail:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.TextEmail,acceptTypes:[t.InteropScalarType.String],paramType:null,title:(0,n.messageKey)(`condition.operator.textEmail.title`)})}createPredicate(e,t){return ee}},TextIsUrl:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.TextIsUrl,acceptTypes:[t.InteropScalarType.String],paramType:null,title:(0,n.messageKey)(`condition.operator.textIsUrl.title`)})}createPredicate(e,t){return I}},TimePeriod:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.TimePeriod,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.timePeriod.title`),paramType:`timePeriod`,description:(0,n.messageKey)(`condition.operator.timePeriod.desc`)})}async createPredicate(e,t){let{min:n,max:r}=this._computeRange(e,t);return e=>{if(typeof e!=`number`)return!1;let t=Math.floor(e);return t>=n&&t<=r}}createDefaultParam(e){return{type:Q.TimePeriodType.Today}}toString(e,t){let r={...this.createDefaultParam(t),...e};return(0,n.t)(`condition.operator.timePeriod.toString`,{title:this.getTitle(),period:n.CommonUtils.camelToPrettyCase(r.type)})}_computeRange(e,t){let n=e.type??Q.TimePeriodType.Today,r=e.anchorDate??t.getNow(),i=Math.floor(r),a=t.fromSerialDate(i),o=a.getFullYear(),s=a.getMonth(),c=a.getDay();switch(n){case`today`:return{min:i,max:i};case`yesterday`:return{min:i-1,max:i-1};case`tomorrow`:return{min:i+1,max:i+1};case`last7Days`:return{min:i-6,max:i};case`thisWeek`:{let e=new Date(a);e.setDate(a.getDate()-c);let n=new Date(e);return n.setDate(e.getDate()+6),{min:t.toSerialDate(e),max:t.toSerialDate(n)}}case`lastWeek`:{let e=new Date(a);e.setDate(a.getDate()-c-7);let n=new Date(e);return n.setDate(e.getDate()+6),{min:t.toSerialDate(e),max:t.toSerialDate(n)}}case`nextWeek`:{let e=new Date(a);e.setDate(a.getDate()-c+7);let n=new Date(e);return n.setDate(e.getDate()+6),{min:t.toSerialDate(e),max:t.toSerialDate(n)}}case`thisMonth`:return{min:t.toSerialDate(new Date(o,s,1)),max:t.toSerialDate(new Date(o,s+1,0))};case`lastMonth`:return{min:t.toSerialDate(new Date(o,s-1,1)),max:t.toSerialDate(new Date(o,s,0))};case`nextMonth`:return{min:t.toSerialDate(new Date(o,s+1,1)),max:t.toSerialDate(new Date(o,s+2,0))};case`M1`:case`M2`:case`M3`:case`M4`:case`M5`:case`M6`:case`M7`:case`M8`:case`M9`:case`M10`:case`M11`:case`M12`:{let e=parseInt(n.substring(1))-1;return{min:t.toSerialDate(new Date(o,e,1)),max:t.toSerialDate(new Date(o,e+1,0))}}case`Q1`:return this._quarterRange(t,o,0);case`Q2`:return this._quarterRange(t,o,1);case`Q3`:return this._quarterRange(t,o,2);case`Q4`:return this._quarterRange(t,o,3);case`thisQuarter`:{let e=Math.floor(s/3);return this._quarterRange(t,o,e)}case`lastQuarter`:{let e=Math.floor(s/3)-1,n=e<0?o-1:o,r=e<0?3:e;return this._quarterRange(t,n,r)}case`nextQuarter`:{let e=Math.floor(s/3)+1,n=e>3?o+1:o,r=e>3?0:e;return this._quarterRange(t,n,r)}case`lastYear`:return{min:t.toSerialDate(new Date(o-1,0,1)),max:t.toSerialDate(new Date(o-1,11,31))};case`yearToDate`:return{min:t.toSerialDate(new Date(o,0,1)),max:i};default:return{min:1/0,max:-1/0}}}_quarterRange(e,t,n){let r=3*n;return{min:e.toSerialDate(new Date(t,r,1)),max:e.toSerialDate(new Date(t,r+3,0))}}},TopN:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.TopN,title:(0,n.messageKey)(`condition.operator.topN.title`),acceptTypes:[t.InteropScalarType.Number],paramType:`topN`,description:(0,n.messageKey)(`condition.operator.topN.desc`)})}createPredicate(e,t){let n=t.getRange().getStats(),r=e?.top??!0,i=e?.limit??10;if(e?.percent){let e=n.getAggregates().numericalCount;if(!e)return K_;i=Math.max(1,Math.floor(i/100*e))}else if(i<1)return K_;let a=n.getSortedNumbers(),o=r?a.getLarge(i):a.getSmall(i);return o===null?q_:r?e=>e>=o:e=>e<=o}createDefaultParam(e){return{top:!0,limit:10,percent:!1}}toString(e,t){let r={...this.createDefaultParam(t),...e};return(0,n.t)(`condition.operator.topN.toString`,{edge:r.top?`top`:`bottom`,limit:r.limit??10,unit:r.percent?`percent`:`items`})}},And:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.And,title:(0,n.messageKey)(`condition.operator.and.title`),description:(0,n.messageKey)(`condition.operator.and.desc`)})}isCombinator(){return!0}async createPredicate(e,t){let n=e?e.length:0,r=Array(n),i=Array(n);for(let a=0;a<n;a++){let n=e[a],o=await t.resolveInput(n);r[a]=await o.getSelector()?.createTransformer(t),i[a]=await o.getOperator().createPredicate(o.getParam(),t)}return e=>{for(let r=0;r<n;r++)if(!(0,i[r])(e,t))return!1;return!0}}toString(e,t){let n=this.getTitle();if(!e)return n;let r=``,i=e.length,a=n.toLowerCase();for(let t=0;t<i;t++){let n=e[t],i=pv.resolveInput(n),o=i.getOperator(),s=o.toString(i.getParam(),i.getSelector())??o.getTitle?.()??``;r.length>0&&(r+=` ${a} `),r+=`${s}`}return r}},Or:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.Or,title:(0,n.messageKey)(`condition.operator.or.title`),description:(0,n.messageKey)(`condition.operator.or.desc`)})}isCombinator(){return!0}async createPredicate(e,t){let n=e?e.length:0,r=Array(n),i=Array(n);for(let a=0;a<n;a++){let n=e[a],o=await t.resolveInput(n);r[a]=await o.getSelector()?.createTransformer(t),i[a]=await o.getOperator().createPredicate(o.getParam(),t)}return e=>{for(let r=0;r<n;r++)if((0,i[r])(e,t))return!0;return!1}}toString(e,t){let n=this.getTitle();if(!e)return n;let r=``,i=e.length,a=n.toLowerCase();for(let t=0;t<i;t++){let n=e[t],i=pv.resolveInput(n),o=i.getOperator(),s=o.toString(i.getParam(),i.getSelector())??o.getTitle?.()??``;r.length>0&&(r+=` ${a} `),r+=`${s}`}return r}},Not:new class extends z_{constructor(){super({name:Q.BuiltInOperatorNames.Not,title:(0,n.messageKey)(`condition.operator.not.title`),description:(0,n.messageKey)(`condition.operator.not.desc`)})}isCombinator(){return!0}async createPredicate(e,t){let n=await t.resolveInput(e);await n.getSelector()?.createTransformer(t);let r=await n.getOperator().createPredicate(n.getParam(),t);return r?e=>!r(e,t):null}toString(e,t){let r=this.getTitle();if(!e)return r;let i=pv.resolveInput(e),a=i.getOperator();return(0,n.t)(`condition.operator.not.toString`,{title:r,condition:a.toString(i.getParam(),i.getSelector())??a.getTitle?.()??r})}}};Co();var Y_=class{constructor(e){this._name=e.name,this._title=e.title,this._description=e.description,this._type=e.type??null,this._inputType=e.inputType??this._type,this._renderingHints=null,e.renderingHints&&(Array.isArray(e.renderingHints)?this._renderingHints=Object.freeze([...e.renderingHints]):this._renderingHints=Object.freeze([e.renderingHints]))}createTransformer(e){return null}getName(){return this._name}getSelectType(){return this._type}getInputType(){return this._inputType}getTitle(){return this._title?(0,n.t)(this._title):n.CommonUtils.camelToPrettyCase(this.getName())}getDescription(){return this._description?(0,n.t)(this._description):(0,n.t)(`condition.selector.ruleDescription`,{title:this.getTitle()})}getRenderHints(){return this._renderingHints}},X_={List:new class extends Y_{constructor(e){super({renderingHints:`list`,...e})}get isList(){return!0}}({name:Q.BuiltInSelectorNames.List,title:(0,n.messageKey)(`condition.selector.list.title`),type:null,description:(0,n.messageKey)(`condition.selector.list.desc`)}),Logical:new Y_({name:Q.BuiltInSelectorNames.Logical,title:(0,n.messageKey)(`condition.selector.logical.title`),type:t.InteropScalarType.Boolean,description:(0,n.messageKey)(`condition.selector.logical.desc`)}),DateTime:new Y_({name:Q.BuiltInSelectorNames.DateTime,title:(0,n.messageKey)(`condition.selector.dateTime.title`),type:t.InteropScalarType.Date,description:(0,n.messageKey)(`condition.selector.dateTime.desc`)}),Date:new class extends Y_{constructor(){super({name:Q.BuiltInSelectorNames.Date,title:(0,n.messageKey)(`condition.selector.date.title`),type:t.InteropScalarType.Date,inputType:t.InteropScalarType.Date,description:(0,n.messageKey)(`condition.selector.date.desc`),renderingHints:[`date`,`calendar`]})}createTransformer(e){return e=>Math.floor(e)}},Time:new class extends Y_{constructor(){super({name:Q.BuiltInSelectorNames.Time,title:(0,n.messageKey)(`condition.selector.time.title`),type:t.InteropScalarType.Date,inputType:t.InteropScalarType.Date,description:(0,n.messageKey)(`condition.selector.time.desc`),renderingHints:[`time`,`clock`]})}createTransformer(e){return e=>e-Math.floor(e)}},Text:new Y_({name:Q.BuiltInSelectorNames.Text,title:(0,n.messageKey)(`condition.selector.text.title`),type:t.InteropScalarType.String,description:(0,n.messageKey)(`condition.selector.text.desc`)}),TextLength:new class extends Y_{constructor(){super({name:Q.BuiltInSelectorNames.TextLength,title:(0,n.messageKey)(`condition.selector.textLength.title`),type:t.InteropScalarType.Number,inputType:t.InteropScalarType.String,description:(0,n.messageKey)(`condition.selector.textLength.desc`)})}createTransformer(e){return e=>e?.length??0}},Number:new Y_({name:Q.BuiltInSelectorNames.Number,title:(0,n.messageKey)(`condition.selector.number.title`),type:t.InteropScalarType.Number,description:(0,n.messageKey)(`condition.selector.number.desc`)}),Whole:new class extends Y_{constructor(){super({name:Q.BuiltInSelectorNames.Whole,title:(0,n.messageKey)(`condition.selector.whole.title`),type:t.InteropScalarType.Number,inputType:t.InteropScalarType.Number,description:(0,n.messageKey)(`condition.selector.whole.desc`)})}createTransformer(e){return e=>Math.floor(e)}}},Z_=class{constructor(e){this._delegate=e,this._types=e.getAcceptsTypes?e.getAcceptsTypes():null}getName(){return this._delegate.getName()}createPredicate(e,t){return this._delegate.createPredicate(e,t)}getAcceptsTypes(){return this._types?this._types:null}acceptsList(){return this._delegate.acceptsList?.()??!1}getParamType(e){return e?e.getName():null}isCombinator(){return!1}getTitle(){return this._delegate.getTitle?.()}getDescription(){return this._delegate.getDescription?.()??null}createDefaultParam(e){return this._delegate.createDefaultParam?.(e)}doBatch(e,t,n){return this._delegate.doBatch?.(e,t,n)}toString(e,t){return this._delegate.toString?.(e,t)}get[Symbol.toStringTag](){return`[Condition]: ${this.getName()}`}};function Q_(e){if(t.FormulaError.isError(e))return{t:`e`,v:e.getCode()};if(!e||typeof e!=`object`)return e;if(e.isICondition)return e.toJSON();if(Array.isArray(e)){let t=!1,n=e.map(e=>{let n=$_(e);return n!==e&&(t=!0),n});return t?n:e}if(typeof e.operator==`string`)return $_(e);if(t.FormulaError.isError(e.from)||t.FormulaError.isError(e.to)){let n={...e};return t.FormulaError.isError(n.from)&&(n.from={t:`e`,v:n.from.getCode()}),t.FormulaError.isError(n.to)&&(n.to={t:`e`,v:n.to.getCode()}),n}return e}function $_(e){if(!e||typeof e!=`object`)return e;if(e.isICondition)return e.toJSON();let t=Q_(e.param);return t===e.param?e:{...e,param:t}}function ev(e){if(e&&typeof e==`object`&&e.t===`e`&&typeof e.v==`number`)return t.FormulaError.getBuiltInByCode(e.v)}function tv(e){if(!e)return null;if(e.isICondition)return e;if(typeof e==`function`){let t=e;return new pv(null,new Z_({getName:()=>`Predicate`,createPredicate:e=>t}))}if(typeof e==`string`){let t=e.trim(),n=/^(<=|>=|<>|=|<|>)(.*)$/i.exec(t);if(n){let[,e,t]=n,r=t.trim(),i={"<":Q.BuiltInOperatorNames.LessThan,"<=":Q.BuiltInOperatorNames.LessThanEqualTo,">":Q.BuiltInOperatorNames.GreaterThan,">=":Q.BuiltInOperatorNames.GreaterThanEqualTo,"=":Q.BuiltInOperatorNames.EqualTo}[e],a=pv.Operators.get(i);if(!a)throw Error(`Unknown operator for shorthand: ${e}`);return new pv(null,a,r)}}if(typeof e==`object`){let t={...e},n=null,r=t.selector;if(r)if(typeof r==`string`){if(n=pv.Selectors.get(r)??null,!n)throw Error(`Unknown selector name: ${r}`)}else n=r;let i=t.operator;if(typeof i==`function`&&(i=i()),typeof i==`string`){let e=pv.Operators.get(i);if(!e)throw Error(`Unknown operator name: ${i}`);i=e}let a=t.includeBlanks,o=function(e){let t=ev(e);if(t)return t;if(!e||typeof e!=`object`||Array.isArray(e))return e;let n=ev(e.from),r=ev(e.to);return n||r?{...e,from:n??e.from,to:r??e.to}:e}(t.param);if(i||n||a!==void 0)return new pv(n,i,o,a)}return null}var nv=class{constructor(e,t){this._resolved=null,this._json={...e},this._reason=t}resolve(){let e=this._resolved;if(e)return e;try{e=tv(this._json)}catch(e){return this._reason=e?.message??this._reason,null}return this._resolved=e,e}getUnresolvedReason(){return this._reason}getSelector(){return this.resolve()?.getSelector()??null}getOperator(){return this.resolve()?.getOperator()??null}getParam(){return this._json.param??null}isIncludeBlanks(){return this._json.includeBlanks??!1}toString(){return this.resolve()?.toString()??this._reason}toJSON(){let e=this._resolved;return e?e.toJSON():{...this._json}}get isICondition(){return!0}};function rv(e){if(!e)return null;try{return tv(e)}catch(t){let r=t?.message??`Unresolvable condition.`;return n.Notifier.debug(`Condition kept unresolved: ${r}`,{onceKey:`condition.unresolved.${r}`,meta:{type:`condition`}}),new nv(e,r)}}function iv(e){return e.getOperator()?.getName()===Q.BuiltInOperatorNames.Expression||av(e.getParam())}function av(e){return typeof e==`string`?e.startsWith(`=`):!(!e||typeof e!=`object`)&&(Array.isArray(e)?e.some(ov):e.isICondition||e.operator!==void 0?ov(e):!(typeof e.from!=`string`||!e.from.startsWith(`=`))||!(typeof e.to!=`string`||!e.to.startsWith(`=`)))}function ov(e){if(!e||typeof e!=`object`)return!1;if(e.isICondition)return iv(e);let t=e.operator;return(typeof t==`string`?t:t?.getName?.())===Q.BuiltInOperatorNames.Expression||av(e.param)}var sv=(e,n)=>e===n||e===t.InteropScalarType.Date&&n===t.InteropScalarType.Number;async function cv(e,n){let r=n.coords,i=n.values,a=n.cellValuesOptions,o=i.entries(a),s={position:null},c=new fv(n.runtime,s,n.values,r,n.calculation??null,n.visibleCoords);c.setWatchFormula(n.watchFormula??null);let l=e.getSelector(),u=l?await l.createTransformer(c):null,d=l?.getInputType()??null,f=l?.getSelectType()??null,p=e.getOperator(),m=p?.getAcceptsTypes?.()??null,h=await p?.createPredicate(e.getParam(),c);if(!h)return;c.setBatchCapable(typeof p?.doBatch==`function`);let g=n.onBlank;if(g){let e=i.getCount();if((r.rowEnd-r.rowStart+1)*(r.colEnd-r.colStart+1)>e){c.beginPredicateCall();let e=h(null,c);c.wasDeferred()||g(e)}}let _=n.onTrue,v=n.onFalse,y=[],b=o.next();for(;!b.done;){let e=b.value;b=o.next();let t=e[1],n=e[0];if(d!==null&&!sv(d,WD(t))){v&&v(n,t);continue}let r=u?u(t,c):t;if(m!==null){let e=f??WD(r);if(!m.includes(e)){v&&v(n,t);continue}}s.position=n,c.beginPredicateCall();let i=h(r,c);c.wasDeferred()?y.push([n,t]):i?_&&_(n,t):v&&v(n,t)}if(y.length>0){let n=await p.doBatch(c.getDeferredKeys(),e.getParam(),c);for(let[e,i]of y){let a;try{a=n?.getValueAt(e.rowIndex-r.rowStart,e.colIndex-r.colStart)??null}catch(e){if(!t.FormulaError.isError(e))throw e;a=e}!t.FormulaError.isError(a)&&a?_&&_(e,i):v&&v(e,i)}}}async function lv(e){let r=e.coords,i={bounds:r,axis:e.axis??t.IRange.Axis.Column},a=e.getHiddenRuns;if(a){let n=e.includeHidden;!0!==n&&n!==t.IRange.Axis.Row&&(i.processRowSkip=ii(a(t.IRange.Axis.Row))),!0!==n&&n!==t.IRange.Axis.Column&&(i.processColumnSkip=ii(a(t.IRange.Axis.Column)))}let o=e.conditions[0];if(!o)return;let s=pv.resolveInput(o);if(!s)return void n.Notifier.debug(`No condition to evaluate.`,{onceKey:`condition.none`,meta:{type:`condition`}});let c=e.calculation;c&&iv(s)&&await c.ready(),await cv(s,{runtime:e.runtime,values:e.values,coords:r,cellValuesOptions:i,calculation:e.calculation,watchFormula:e.watchFormula,onTrue:e.onTrue,onFalse:e.onFalse,onBlank:e.onBlank})}function uv(e,t,n){if(t>n)return[];let r=Jr(e.map(e=>({min:e.min,max:e.max,value:!0}))),i=[];return $r(r,e=>{!0!==e.value&&i.push({min:e.min,max:e.max})},t,n),i}function dv(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(let e=0;e<r.length;e++)t.push({min:r[e].min,max:r[e].max})}return t.length===0?[]:Kr(qr(Jr(t)))}var fv=class{constructor(e,t,n,r,i=null,a){this._coords=null,this._values=null,this._range=null,this._watchFormula=null,this._batchCapable=!1,this._deferredCall=!1,this._deferredKeys=null,this._runtime=e,this._scope=t,this._values=n,this._coords=Object.freeze(r),this._calculation=i,this._visibleCoords=a}setBatchCapable(e){this._batchCapable=e,this._deferredKeys=null}beginPredicateCall(){this._deferredCall=!1}wasDeferred(){return this._deferredCall}getDeferredKeys(){return this._deferredKeys??new Set}getType(e){return WD(e)}getPosition(){return this._scope.position}getCoords(){return this._coords}getRange(){let e=this._range;if(!e){let t=this._visibleCoords;e=t?new KO(this._runtime,this._values,this._coords,t):new GO(this._runtime,this._values,this._coords),this._range=e}return e}toType(e,t){return $D(this._runtime,e,WD(e),t,!1)}async resolveInput(e){return pv.resolveInput(e)}fromSerialDate(e){return pr(e,this._runtime.isDate1904())}getDateParts(e,t){return ur(e,this._runtime.isDate1904(),t)}toSerialDate(e){return mr(e,this._runtime.isDate1904())}getNow(){return this._runtime.getNow()}deferBatch(e){if(!this._batchCapable)throw Error(`ICondition.IContext.deferBatch was called but the active operator does not implement doBatch.`);this._deferredCall=!0,(this._deferredKeys??=new Set).add(e)}setWatchFormula(e){this._watchFormula=e}async watchFormula(e){if(!e||!e.trim())return null;let t=this._watchFormula;if(t)return t(e);let n=this.createFormula(e);return n?await n.evaluate({block:this._coords,alwaysReturnRange:!0}):null}createFormula(e,t){return this._calculation?this._calculation.createFormula(e,t??{rowIndex:this._coords.rowStart,colIndex:this._coords.colStart}):null}async resolveFormula(e){if(typeof e!=`string`||!e.startsWith(`=`))return e;let t=this.createFormula(e);if(!t)return null;let n=await t.evaluate();return n?.isIRange?n.getValueAt(0,0):n}},pv=class{constructor(e,t,n=void 0,r=!1){this._selector=e,this._operator=t,this._param=n,this._includeBlanks=r}getSelector(){return this._selector}getOperator(){return this._operator}getParam(){return this._param??null}isIncludeBlanks(){return this._includeBlanks}toString(){let e=this._selector,t=e?e.getTitle():(0,n.t)(`condition.anySelector`),r=this._operator,i;return r&&(i=r.toString?.(this.getParam(),e)??r.getTitle?.()??n.CommonUtils.camelToPrettyCase(r.getName())),i?(0,n.t)(`condition.selectorWithOperator`,{selector:t,operator:i}):t}toJSON(){let e=this.getOperator(),t=this.getSelector(),n=this.getParam(),r={};return t&&(r.selector=t.getName()),e&&(r.operator=e.getName()),n!=null&&(typeof n.toJSON==`function`&&(n=n.toJSON()),r.param=Q_(n)),this.isIncludeBlanks()&&(r.includeBlanks=!0),r}get isICondition(){return!0}};(function(e){let t=e.BuiltInSelectors=X_,n=e.BuiltInOperators=J_;e.Selectors=new c(t),e.Operators=new c(n),e.resolveInput=tv,e.fromJSON=rv})(pv||={});var mv=`Item has been closed. No further operations are allowed.`,hv=class{constructor(e){this._closed=!1,this._range=null,this._ranges=null,this._options=e,e=this._initializeOptions(e),this._options=e;let t=this;this._transactions=this._options.transactions??new m({transient:!0}),this._id=this._transactions.create(),this._emitter=new v(this,this._transactions);let r=this._options.coords;r=Array.isArray(r)?n.CoordUtils.sanitizeRangeArray(r):n.CoordUtils.sanitizeRange(r),this._options.setContainerCallbacks?.({processShift:e=>t._processContainerShift(e),processAfterShift:(e,n)=>t._processAfterContainerShift(e,n),processDelete(){t._processContainerDelete()},processLayout(){t._processContainerLayout()},processProtection(){t._processContainerProtection()}}),this._transactionsRemoveListener=this._transactions.addStateListener(this._id,{onBeforeCommitStart(e,n,r){t._processBeforeCommitStart(e,n,r)},onAfterStateChange(e,n,r){t._processAfterStateChange(e,n,r)},onRestoreOrRevert(e,n,r){t._processRestoreOrRevert(e,n,r)}}),this._updateState({isDeleted:!1,anchorCoords:r},(0,n.messageKey)(`op.createAnchoredItem`)),this._initialize(e)}_initializeOptions(e){if(!e)throw Error(`Anchored.ConstructorOptions is required`);if(!(e={...e}).coords)throw Error(`coords is required`);return e}_initialize(e){}_getEmitter(){return this._emitter}delete(e){this._delete()}isProtected(){return this._options.isProtected?.()??!1}getAnchorCoords(){let e=this._getState()?.anchorCoords;return e?Array.isArray(e)?e.length===0?null:e:[e]:null}getFirstAnchorCoords(){let e=this._getState()?.anchorCoords;return e?Array.isArray(e)?e[0]??null:e:null}_invalidateRangeCache(){this._range=null,this._ranges=null}_isAnchorAbsolute(){return!1}getRanges(e){if(!e&&this._ranges)return this._ranges;let t=this._getState()?.anchorCoords,n=t?this._options.getRanges(t,e):new rD(null);return t&&this._isAnchorAbsolute()&&(n=n.getFixed(!0)),e||(this._ranges=n),n}getRange(e){if(!e&&this._range)return this._range;let t=this.getRanges(e),n=t.isInvalid()?nD:t.at(0);return e||(this._range=n),n}_setAnchorRanges(e,t){let r=this._options.getRanges(e).getCoords();if(r.length===0)throw new n.ExpectedError((0,n.t)(`error.address.noAddress`));let i=this._options.setContainerCoords;return i?(i(e,t),this):(this._updateState({anchorCoords:[...r]},{description:(0,n.messageKey)(`op.setRanges`),...t}),this._processAnchorCoords(),this._emitter.notify(`onAnchorCoordsChange`),this)}getAnchorType(){return this._getState()?.anchorType??C_.Type.TwoCell}getId(){return this._id}getVersionId(){return this._transactions.getVersionId(this._id)}beginCommit(e){return this._beginCommit(e)}doBatch(e,t){let n=this;return this._transactions.doBatch(e,typeof t==`string`?{description:t}:t,e=>{n._processTransactionDone(e)})}_processTransactionDone(e){}_getState(){if(this._closed)throw Error(mv);return this._transactions.getState(this._id)}_beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_getTransactions(){return this._transactions}_updateState(e,t,r,i=!1){if(this._closed)throw Error(mv);if(!e)return;if(typeof t==`string`&&(t={description:t}),!i&&this.isProtected())throw new n.ExpectedError(((e=(0,n.messageKey)(`op.update`))=>(0,n.t)(`error.anchor.protected`,{description:(0,n.t)(e)}))(t?.description));let a=this._beginCommit(t?.description);e&&`anchorCoords`in e&&this._invalidateRangeCache();try{let t=this._getState(),n=a.updateState(this._id,e),i=!1;if(r){let e=r.length;for(let t=0;t<e;t++){let e=r[t];i||=e===`onAnyChange`,this._emitter.notify(e)}}!i&&r&&r.length>0&&this._emitter.notify(`onAnyChange`),this._processUpdateState(t,n),a.commit()}catch(e){throw a.rollback(),e}return this}_notify(e){if(!e)return;Array.isArray(e)||(gv[0]=e,e=gv);let t=e?e.length:0;if(t===0)return;let n=!1;for(let r=0;r<t;r++){let t=e[r];n||=t!==`onAnyChange`,this._emitter.notify(t)}n||this._emitter.notify(`onAnyChange`)}_processAfterContainerShift(e,t){let r=t?t.length:0;if(!_v(this._getState()?.anchorCoords,t)){let e=null,i={anchorCoords:r===0?null:t};r===0&&(i.isDeleted=!0,e=[`onDelete`]),this._updateState(i,{description:(0,n.messageKey)(`op.updateAnchor`)},e),this._processAnchorCoords()}this._emitter.notify(`onAnchorCoordsChange`)}_processContainerShift(e){let t=this._getState()?.anchorCoords;if(Array.isArray(t)&&t.length>1)return e.after;let r=null,i={anchorCoords:e.after};return e.after||(i.isDeleted=!0,r=[`onDelete`]),this._updateState(i,{description:(0,n.messageKey)(`op.updateAnchor`)},r),this._processAnchorCoords(),e.after}_processBeforeCommitStart(e,t,n){}_processAfterStateChange(e,t,n){}_processUpdateState(e,t){}_processRestoreOrRevert(e,t,n){this._invalidateRangeCache(),this._emitter.notify(`onInvalidated`)}_processAnchorCoords(){this._invalidateRangeCache()}_processContainerLayout(){}_getActionDescription(e){return null}_delete(){if(this._getState().isDeleted)return;let e={description:this._getActionDescription(`delete`)??(0,n.messageKey)(`op.delete`)},t=this._beginCommit(e?.description);try{this._processDelete(),this._updateState({isDeleted:!0}),this._options.deleteFromContainer?.(e),t.commit()}catch(e){throw t.rollback(),e}}_processContainerDelete(){this._processAnchorCoords(),this._processDelete()}_processDelete(){this._invalidateRangeCache(),this._emitter.notify(`onDelete`)}_processContainerProtection(){this._emitter.notify(`onProtectedChange`)}addListeners(e,t){return this._emitter.addListeners(e,t)}isClosed(){return this._closed}isDeleted(){return this._closed||(this._getState()?.isDeleted??!1)}_processClose(){this._closed=!0,this._invalidateRangeCache(),this._emitter.notify(`onClose`),this._transactionsRemoveListener?.(),this._transactions.remove(this._id)}close(){this._closed||this._processClose()}get isIAnchored(){return!0}},gv=[null],_v=(e,t)=>{let r=t?t.length:0;if(!e)return r===0;let i=Array.isArray(e)?e:[e];if(i.length!==r)return!1;for(let e=0;e<r;e++)if(!n.CoordUtils.isEqualRanges(i[e],t[e]))return!1;return!0};function vv(e,t,r){let i=(0,n.t)(e,r);return i===e?t:i}function yv(e=1){return vv((0,n.messageKey)(`table.defaultName`),`Table${e}`,{n:e})}function bv(){return vv((0,n.messageKey)(`table.emptyColumnName`),`Column`)}function xv(e,t){return`${e}${t+1}`}function Sv(e){return e?e.trim().toLocaleLowerCase():null}var Cv=Object.freeze({showRowStripes:!0,showColumnStripes:!1,showFirstColumn:!1,showLastColumn:!1});function wv(e){if(!e)return n.CommonUtils.EmptyArray;let t=e.length,r=e;for(let n=0;n<t;n++){let t=e[n];typeof t==`string`&&(r===e&&(r=[...e]),r[n]={name:t})}return r}var Tv=(e,t=bv(),n=xv)=>{let r=new Set,i=e.length;for(let t=0;t<i;t++){let n=e[t]?.name;if(!n)continue;let i=Sv(n);r.add(i)}let a=-1,o=Sv(t);return()=>{let e;do a++,e=n(o,a);while(r.has(e));return a}};function Ev(e,t,n=0,r,i=bv(),a=xv){let o=e?e.length:0,s=wv(e),c=t?t.length:0,l=wv(t),u=Math.max(c,o),d=Array(u);for(let e=0;e<u;e++){let t=e>=n?l[e-n]:void 0;t===void 0&&(t=s[e]),d[e]=t}let f=0,p=0,m=0,h=0,g=!0,_=Tv(d,i),v=new Map;for(let e=0;e<n;e++){let t=d[e]?.name,n=Sv(t);n&&v.set(n,1)}let y,b,x=n+c;for(let e=n;e<u;e++){let t=d[e],n=t?.name,o=n,c=Sv(o);if(c)h++,y=c,b=n,g=!1;else{if(e>=x&&(h=0,m=0),g||(m=h),r||m<=1){let t=_();o=a(i,t),o!==s[e]?.name&&(p=t+1),c=Sv(o)}else f++,c=y,o=b;h=0,g=!0}let l=v.get(c)??0;l===1&&(l+=Math.max(0,Math.max(p+f,m)-1)),l>0&&(o=a(o,l)),l++,v.set(c,l),o!==n&&(d[e]={...t,name:o})}return d}var Dv,Ov,kv=class{constructor(e,t,n,r,i){this._table=e,this._id=t,this._getProps=n,this._updateProps=r,this._deleteSelf=i}getTable(){return this._table}getName(){return this._getProps(this._id).name??null}setName(e){return this._updateProps(this._id,{name:e},(0,n.messageKey)(`op.setColumnName`)),this}getId(){return this._getProps(this._id).id??null}getIndex(){return this._getProps(this._id).index??-1}setTotalsRowLabel(e){return this._updateProps(this._id,{totalsRowLabel:e},(0,n.messageKey)(`op.setTotalsRowLabel`)),this}getTotalsRowLabel(){return this._getProps(this._id).totalsRowLabel||null}setTotalsRowFormula(e){return this._updateProps(this._id,{totalsRowFormula:e},(0,n.messageKey)(`op.setTotalsRowFormula`)),this}getTotalsRowFormula(){return this._getProps(this._id).totalsRowFormula??null}getSort(){return this._table.getSortAt(this._getProps(this._id).index)}getFilter(){return this._table.getFilterAt(this._getProps(this._id).index)}isHiddenButton(){return this._table.isHiddenButtonAt(this._getProps(this._id).index)}setHiddenButton(e){return this._table.setHiddenButtonAt(this._getProps(this._id).index,e),this}getRange(){let e=this._table.getRange(),t=e?.getCoords(),n=this._getProps(this._id).index;return e.getIntersect({colStart:t.colStart+n,rowStart:t.rowStart,colEnd:t.colStart+n,rowEnd:t.rowEnd})}delete(e){this._deleteSelf(this._id,e)}toJSON(){let e=n.CommonUtils.cloneObject(this._getProps(this._id));return delete e.index,delete e.sortProps,delete e.filterProps,e}get[Symbol.toStringTag](){return`[TableColumn]`}toString(){return this.getName()??``}get isIColumn(){return!0}},Av=class{constructor(e){this._closed=!1,this._options={...e};let t=this;this._transactions=this._options?.transactions??new m({transient:!0}),this._id=this._transactions.create({isDeleted:!1}),this._emitter=new v(this,this._transactions),e?.json&&this._fromJSON(e.json),this._options?.setContainerReadOnlyCallback?.(()=>{t._processOnContainerReadOnly()}),this._transactionsRemoveListener=this._transactions.addStateListener(this._id,{onAfterStateChange(e,n,r){t._processAfterStateChange(e,n,r)},onRestoreOrRevert(e,n,r){t._processRestoreOrRevert(e,n,r)}}),this._processInit()}_fromJSON(e){}isReadOnly(){return this._options.isReadOnly?.()??!1}isDeleted(){return this._getState().isDeleted??!1}getType(){return this._options.type}get isIModel(){return!0}_processTransactionDone(e){}_getActionDescription(e){return null}_getState(){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));return this._transactions.getState(this._id)}_beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_getTransactions(){return this._transactions}_updateState(e,t,r){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));if(!e)return this;let i=this._beginCommit(t?.description);try{i.updateState(this._id,e);let n=!1,a=r?r.length:0;for(let e=0;e<a;e++){let t=r[e];n||=t===`onAnyChange`,this._emitter.notify(t)}!n&&r&&a>0&&this._emitter.notify(`onAnyChange`),i.commit(t)}catch(e){throw i.rollback(),e}return this}_getEmitter(){return this._emitter}_processInit(){}_processAfterStateChange(e,t,n){}_processRestoreOrRevert(e,t,n){this._emitter.notify(`onInvalidated`)}delete(e){this._getState().isDeleted||this._delete(e)}_delete(e){e={description:this._getActionDescription(`delete`)??(0,n.messageKey)(`op.delete`),...e};let t=this._beginCommit(e?.description);try{this._options.deleteFromContainer&&this._options.deleteFromContainer?.(e),this._processDelete(),t.commit()}catch(e){throw t.rollback(),e}}_processOnContainerDeleted(){this._processDelete()}_processDelete(){this._updateState({isDeleted:!0},void 0,[`onDelete`])}_processOnContainerReadOnly(){this._emitter.notify(`onReadOnlyChange`)}addListeners(e,t){return this._emitter.addListeners(e,t)}getId(){return this._id}getVersionId(){return this._transactions.getVersionId(this._id)}beginCommit(e){return this._beginCommit(e)}doBatch(e,t){let n=this;return this._transactions.doBatch(e,typeof t==`string`?{description:t}:t,e=>{n._processTransactionDone(e)})}isClosed(){return this._closed}close(){this._closed||(this._emitter.notify(`onClose`),this._closed=!0,this._transactionsRemoveListener?.(),this._transactions.remove(this._id))}},jv=class extends Av{_fromJSON(e){let t={};if(t.name=e?.name??null,!t.name)throw Error((0,n.t)(`error.model.nameRequired`));t.comment=e?.comment??null,t.hidden=e?.hidden??!1,t.scope=e?.scope??null,this._updateState(t,{description:t.name?(0,n.t)(`op.createItemNamed`,{name:t.name}):(0,n.messageKey)(`op.createItem`)})}_toJSON(){let e=this._getState(),t={name:e.name};return e.comment&&(t.comment=e.comment),e.hidden&&(t.hidden=e.hidden),e.hidden&&(t.hidden=e.hidden),e.scope&&(t.scope=e.scope),t}getName(){return this._getState().name}setName(e,t){if(!e)throw Error((0,n.t)(`error.model.nameRequired`));return this._updateState({name:e},{description:(0,n.t)(`op.updateNamed`,{name:e}),...t})}getComment(){return this._getState().comment}setComment(e,t){return this._updateState({comment:e},{description:(0,n.messageKey)(`op.setComment`),...t})}isHidden(){return this._getState().hidden}getScope(){return this._getState().scope}get isINamed(){return!0}},Mv=class extends jv{constructor(e,t,n){super({...n,type:`namedTable`}),this._sheet=e,this._table=t;let r=this;this._table.addListeners({onDelete:()=>{r._options.deleteFromContainer?r._options.deleteFromContainer?.():r._delete()},onAnyChange:()=>{r._emitter.notify(`onAnyChange`)},onAnchorCoordsChange:()=>{r._emitter.notify(`onAnyChange`)}},{transactional:!0})}async select(e){return await this._table.select(e),this}getRanges(){let e=this._table;return(this._sheet.getWorkbook()??this._sheet).getRanges(e.getDataRange()).getFixed(!0)}getPartReference(e){if(e?.length!==1)return null;let t=e[0],n=this._table.getName();if(t.scope&&t.scope!==this._sheet.getName())return null;let r=this._rowBand(t);if(!r)return null;let i=this._columnSpan(t);if(!i||i.kind===`all`&&r.length===1&&r[0]===`#Data`)return null;let a=i.kind!==`all`&&r.length===1&&r[0]===`#Data`?[]:r,o=null,s=null;i.kind===`one`?(o=i.name,s=`[${i.name}]`):i.kind===`span`&&(o=s=`[${i.first}]:[${i.last}]`);let c=a.map(e=>`[${e}]`);return s&&c.push(s),c.length===1?`${n}[${a.length===1?a[0]:o}]`:`${n}[${c.join(this._listSeparator())}]`}_rowBand(e){let t=this._table,n=e=>e?.getCoords()??null,r=t=>{let r=n(t);return!!r&&r.rowStart===e.rowStart&&r.rowEnd===e.rowEnd};if(r(t.getDataRange()))return[`#Data`];if(t.isShowHeaders()&&r(t.getHeaderRowRange()))return[`#Headers`];if(t.isShowTotals()&&r(t.getTotalRowRange()))return[`#Totals`];if(r(t.getRange()))return[`#All`];let i=n(t.getDataRange()),a=t.isShowHeaders()?n(t.getHeaderRowRange()):null,o=t.isShowTotals()?n(t.getTotalRowRange()):null;return i&&a&&e.rowStart===a.rowStart&&e.rowEnd===i.rowEnd?[`#Headers`,`#Data`]:i&&o&&e.rowStart===i.rowStart&&e.rowEnd===o.rowEnd?[`#Data`,`#Totals`]:null}_columnSpan(e){let t=this._table,n=t.getRange()?.getCoords();if(n&&e.colStart===n.colStart&&e.colEnd===n.colEnd)return{kind:`all`};let r=t.getColumns(),i=null,a=null;for(let t=0;t<r.length;t++){let n=r[t].getRange()?.getCoords();n&&(n.colStart===e.colStart&&(i=r[t]),n.colEnd===e.colEnd&&(a=r[t]))}return i&&a?i===a?{kind:`one`,name:i.getName()}:{kind:`span`,first:i.getName(),last:a.getName()}:null}_listSeparator(){return Qn(this._sheet.getWorkbook()?.getLocale()??`en`).listSeparator}getScope(){return null}getType(){return`table`}getName(){return this._table.getName()}getValue(){return this._table}},Nv=class{constructor(e,t,n,r){this._table=e,this._id=t,this._getProps=n,this._getColumnProps=r}sort(e){this.setCriteria({reverse:e??!1},!1)}getCriteria(){return this._getProps(this._id).criteria??null}setCriteria(e,t,r){let i,a={};if(e&&(e.reverse!==void 0&&(a.reverse=e.reverse),e.collatorOptions!==void 0&&(a.collatorOptions=e.collatorOptions),e.sortOn!==void 0&&(a.sortOn=e.sortOn),e.iconSet!==void 0&&(a.iconSet=e.iconSet),e.iconId!==void 0&&(a.iconId=e.iconId),e.dxfId!==void 0&&(a.dxfId=e.dxfId),e.customList!==void 0&&(a.customList=e.customList)),t){let t=this._table.getActiveSorts(),o=t.length,s=this.getIndex(),c=!1,l=[];for(let e=0;e<o;e++){let n=t[e],r=n.getIndex(),i=r===s;c||=i,i||(l[e]={index:r,criteria:n.getCriteria()})}e!==null&&l.push({index:this.getIndex(),criteria:a}),i={sorts:l,description:(0,n.t)(`op.sortColumn`,{name:this._getColumnProps(this._id).name}),...r}}else i={sorts:[{index:this.getIndex(),criteria:a}],description:(0,n.t)(`op.sortColumn`,{name:this._getColumnProps(this._id).name}),...r};this._table.sort(i)}apply(){this._table.applySorts()}getIndex(){return this._getColumnProps(this._id).index}getRange(){let e=this._table,t=e.getRange(),n=t.getCoords(),r=e.isShowTotals(),i=n.colStart+this.getIndex();return t.getIntersect({colStart:i,rowStart:n.rowStart,colEnd:i,rowEnd:n.rowEnd-+!!r})}getLevel(){return this._getProps(this._id).level??-1}delete(e){this.getLevel()!==-1&&this.setCriteria(null,!0,{description:(0,n.messageKey)(`op.clearSort`),...e})}},Pv=class{constructor(e,t,n,r){this._table=e,this._id=t,this._getProps=n,this._getColumnProps=r}filter(e,t){return this.setCondition(e,!1,t),this}getCondition(){return this._getProps(this._id).condition??null}setCondition(e,t,r){let i=[];if(t){let e=this._table.getActiveFilters(),t=e.length,n=this.getIndex(),r=!1;for(let a=0;a<t;a++){let t=e[a],o=t.getIndex(),s=o===n;r||=s,s||(i[a]={index:o,...t.getCondition().toJSON()})}}let a=pv.resolveInput(e);a!==null&&i.push({index:this.getIndex(),...a});let o={conditions:i,description:(0,n.t)(`op.filterColumn`,{name:this._getColumnProps(this._id).name}),...r};this._table.filter(o)}apply(){this._table.applyFilters()}getIndex(){return this._getColumnProps(this._id).index}getRange(){let e=this._table,t=e.getRange(),n=t.getCoords(),r=e.isShowTotals(),i=n.colStart+this.getIndex();return t.getIntersect({colStart:i,rowStart:n.rowStart,colEnd:i,rowEnd:n.rowEnd-+!!r})}getLevel(){return this._getProps(this._id).level??-1}delete(e){this.getLevel()!==-1&&this.setCondition(null,!1,{description:(0,n.messageKey)(`op.deleteFilter`),...e})}},Fv=class extends hv{constructor(e){super(e)}_initializeOptions(e){let t=e?.coords;return Array.isArray(t)&&(e={...e,coords:t[0]}),super._initializeOptions(e)}initializeColumnCreator(e,t,n,r){return i=>new kv(e,i,t,n,r)}initializeSortCreator(e,t,n){return r=>new Nv(e,r,t,n)}initializeFilterCreator(e,t,n){return r=>new Pv(e,r,t,n)}_initialize(e){super._initialize(e),this._emptyColumnName=bv(),this._emptyColumnNamer=xv;let t=this;this._styles=e.styles??e?.sheet?.getStyles()??new sg,this._names=e?.names,this._sheet=e?.sheet,this._processTableUpdate=e?.processTableUpdate,this._setContainerName=e?.setContainerName,this._lastTransactionId=this._getTransactions().getCurrentCommit().getId(),this._colHeadersSizeUnlistener=null,this._rowHeadersSizeUnlistener=null,this._visibleRange=null,this._isHeaderVisible=!0,this._isTotalVisible=!0,this._isFirstColumnVisible=!0,this._isLastColumnVisible=!0,this._styleCache=null,this._stylePropsCache=null,this._stylesRemoveListener=this._styles.addListeners({onTableStylesChange(){t._styleCache=null,t._stylePropsCache=null,t._notify(`onStyleChange`),t._notify(`onAnyChange`)}}),this._createColumn=this.initializeColumnCreator(this,e=>t._getState().mapColumnPropsById.get(e),(e,r,i)=>{let a=t._getState(),o=a.mapColumnPropsById.get(e),s;if(i=typeof i==`string`?{description:i}:{description:(0,n.t)(`op.updateColumnNamed`,{name:o.name}),...i},r){if(r.id)throw Error(`Table column ID is immutable and can not be changed.`);if(s={...o,...r},r.name||r.totalsRowFormula||r.totalsRowLabel){let e=a.orderedColumnsProps,n=[...e];n[o.index]=s,n=Ev(e,n,0,!0,this._emptyColumnName,this._emptyColumnNamer);let r=t._beginCommit(i);try{this._updateColumnsState(n),this._writeSyncSheet(!1),r.commit()}catch(e){throw r.rollback(),e}return}}else s={id:o.id,index:o.index,name:o.name,sortProps:null,filterProps:null};this._updateState(s,i)},(e,n)=>{t._deleteColumn(e,n)});let r=e=>t._getState().mapColumnPropsById.get(e);this._createSort=this.initializeSortCreator(this,e=>t._getState().mapColumnPropsById.get(e)?.sortProps||Rv,r),this._createFilter=this.initializeFilterCreator(this,e=>t._getState().mapColumnPropsById.get(e)?.filterProps||zv,r),this._updateState({name:yv(),headerRowCount:1,totalsRowCount:0,mapColumnById:Lv,mapColumnByIndex:Lv,mapColumnByName:Lv,orderedColumns:n.CommonUtils.EmptyArray,mapColumnPropsById:Lv,orderedColumnsProps:n.CommonUtils.EmptyArray,sortsActive:n.CommonUtils.EmptyArray,filtersActive:n.CommonUtils.EmptyArray,mapHiddenButtons:Lv,lastColId:0,description:``},(0,n.messageKey)(`op.initializeTable`));let i=e?.sheet;if(i&&e?.syncSheet){let t=this._getState(),n=t.anchorCoords,r=t.headerRowCount,i=t.totalsRowCount;this._ensureHeightForHeaderTotals(n,r,i,e?.json?.headerRowCount,e?.json?.totalsRowCount)}try{this._fromJSON(e?.json)}catch(e){throw console.error(`Error creating Table from JSON`,e),e}if(i){if(e?.syncSheet){let e=this._readSyncSheet(!0);e&&(this._updateColumnsState(e.columns,(0,n.messageKey)(`op.updateColumnsFromSheet`)),this._writeSyncSheet())}this._setupAutoExpand(),this._columnListener=e=>{if(this._lastTransactionId===e.getTransactionId()||e.isUndo)return;let t=this._readSyncSheet();if(!t)return;let r=t.columns;this._updateColumnsState(r,(0,n.messageKey)(`op.updateColumnsFromSheet`)),t.converted&&this._writeSyncSheet()},this._processHeaderListener(),this._processTotalsListener();let t=this,r={onSizesChange:()=>{t._calcVisible()}};this._colHeadersSizeUnlistener=i.getColumnHeaders().addListeners(r),this._rowHeadersSizeUnlistener=i.getRowHeaders().addListeners(r),this._calcVisible()}if(this._names){let t=this._createNamed();t&&e.setContainerName?.(t.getName()),this._namedItem=t}}getNamed(){return this._namedItem??null}_ensureVisible(){this._calcVisible()}_calcVisible(){let e=this.getFirstAnchorCoords(),t=this._sheet,n=0,r=0;e&&t&&(n=t.getColumnHeaders().getVisibleIndex(e.colEnd).min,r=t.getRowHeaders().getVisibleIndex(e.rowEnd).min);let i=this.isShowHeaders(),a=this.isShowTotals();if(e&&t&&(n<e.colEnd||r<e.rowEnd)){let o=t.getColumnHeaders(),s=t.getRowHeaders(),c=o.getVisibleIndex(e.colStart).max,l=s.getVisibleIndex(e.rowStart).max;this._visibleRange={colStart:c,colEnd:n,rowStart:l,rowEnd:r},this._isHeaderVisible=i&&!s.at(e.rowStart).isHidden(),this._isTotalVisible=a&&!s.at(e.rowEnd).isHidden(),this._isFirstColumnVisible=!o.at(e.colStart).isHidden(),this._isLastColumnVisible=!o.at(e.colEnd).isHidden()}else this._visibleRange=null,this._isFirstColumnVisible=!0,this._isLastColumnVisible=!0,this._isHeaderVisible=i,this._isTotalVisible=a}getSnapshot(e){let t=this.toJSON(),n=this.getFirstAnchorCoords(),r=this.getName(),i={...t},a=this,o=Object.freeze({...e}),s=!1;return{async copyTo(e,t){let r=e.tables,c=e.range;({...o,...t}).isCut&&!s&&(a.delete(),s=!0);let l={colStart:c.colStart,rowStart:c.rowStart,colEnd:n.colEnd-n.colStart+c.colStart,rowEnd:n.rowEnd-n.rowStart+c.rowStart};return r.add(l,{properties:i,disabledAutofit:!0,hasHeader:!0}),l},getCoords:()=>n,getSource:()=>a,getName:()=>r,getMarkOptions:()=>o,isISnapshot:!0}}getAnchorType(){return C_.Type.TwoCell}getStyle(){if(this._styleCache)return this._styleCache;let e=this._getState();return e?(this._styleCache=this._styles.getTableStyle(e.style.name)??this._styles.getDefaultTableStyle(),this._styleCache):this._styles.getTableStyle(null)}addRow(e,t){return this.addRows(e??2**53-1,1,t)}_ensureHeightForHeaderTotals(e,r,i,a,o){let s=this._sheet;if(!s)return!1;let c=e,l=a??r,u=l-r;if(l>r){let e=s.getEntireRange().getCoords().rowStart,r=c.rowStart-u,i={colStart:c.colStart,rowStart:r,colEnd:c.colEnd,rowEnd:c.rowStart-1};if(r<e){let n=e-r;i.rowStart=e,i.rowEnd=n-1,s.getRange(i).insert(t.IRange.Axis.Row),i.rowEnd=c.rowEnd+n,c=i}else{let e=s.getRange(i);if(c=n.CoordUtils.unionRanges(i,c),e.isContentful()){let n=e.getOffsetBy(u,0);n.insert(t.IRange.Axis.Row),i=n.getCoords(),c.rowStart+=u,c.rowEnd+=u}}}else if(u!==0){let e={...c};e.rowEnd=c.rowStart+u+1,s.doBatch(()=>{s.getRange(e).clear()},{}),c={...c},c.rowStart-=u}let d=o??i,f=d-i;if(d>i){let e={colStart:c.colStart,rowStart:c.rowEnd+1,colEnd:c.colEnd,rowEnd:c.rowEnd+f},r=s.getRange(e);r.isContentful()&&r.insert(t.IRange.Axis.Row),c=n.CoordUtils.unionRanges(e,c)}else if(f!==0){let e={...c};e.rowStart=c.rowEnd+f+1,s.doBatch(()=>{s.getRange(e).clear()},{}),c={...c},c.rowEnd+=f}let p=n.CoordUtils.isEqualRanges(c,e);return p||(this._updateState({anchorCoords:c}),this._options.setContainerCoords?.(c),this._calcVisible(),this._styleCache=null),u!==0&&this._processHeaderListener(),f!==0&&this._processTotalsListener(),p||u!==0||f!==0}addRows(e,r=1,i){let a=this._getState(),o={...a.anchorCoords},s=this._sheet,c=o.rowEnd,l=a.headerRowCount,u=a.totalsRowCount,d=c-o.rowStart+1-l-u;e=Math.max(0,Math.min(e??2**53-1,d-1));let f=o.rowStart+l+e,p=this._beginCommit({description:r>1?(0,n.messageKey)(`op.addTableRows`):(0,n.messageKey)(`op.addTableRow`),...i});try{if(s){let n={colStart:o.colStart,rowStart:f,colEnd:o.colEnd,rowEnd:f+r-1};if(s.getRange(n).insert(t.IRange.Axis.Row),e===0&&l===0){let e={...this._getState().anchorCoords,rowStart:o.rowStart};this._updateState({anchorCoords:e}),this._options.setContainerCoords?.(e),this._calcVisible(),this._styleCache=null}}(!s||f>c)&&this._resize({colStart:o.colStart,rowStart:o.rowStart,colEnd:o.colEnd,rowEnd:o.rowEnd+r},i),p.commit()}catch(e){throw p.rollback(),e}return this}deleteRowsAt(e,r=1,i){let a=this._getState(),o={...a.anchorCoords},s=this._sheet,c=a.headerRowCount,l=o.rowStart+c+e,u=o.rowEnd-l+1;if(c>0&&u<0)throw Error((0,n.t)(`error.table.tableNoBody`));r=Math.max(1,Math.min(r,u));let d=this._beginCommit({description:r>1?(0,n.messageKey)(`op.deleteTableRows`):(0,n.messageKey)(`op.deleteTableRow`),...i});try{if(s){let e={colStart:o.colStart,rowStart:l,colEnd:o.colEnd,rowEnd:l+r-1};s.getRange(e).delete(t.IRange.Axis.Row)}else this._resize({colStart:o.colStart,rowStart:o.rowStart,colEnd:o.colEnd,rowEnd:o.rowEnd-r},i);d.commit()}catch(e){throw d.rollback(),e}return this}_deleteColumn(e,r){let i=this._getState(),a=i.mapColumnPropsById.get(e);if(!a)return;let o=this._beginCommit({description:(0,n.t)(`op.deleteColumnNamed`,{name:a.name}),...r});try{let e=a.index,n=this._sheet;if(n){let r=i.anchorCoords,a=r.colStart+e,o={colStart:a,rowStart:r.rowStart,colEnd:a,rowEnd:r.rowEnd};n.getRange(o).delete(t.IRange.Axis.Column)}let s=i.orderedColumnsProps,c=[...s.slice(0,e),...s.slice(e+1)];this._updateColumnsState(c,r),o.commit()}catch(e){throw o.rollback(),e}}addColumn(e=-1,r,i,a){let o=this._getState().anchorCoords,s=e,c=o.colEnd-o.colStart+1;s===-1&&(s=c),s=Math.min(Math.max(0,s),c);let l=this._beginCommit({description:(0,n.messageKey)(`op.addTableColumn`),...a});try{let e=o.colStart+s,n=o.rowStart,a=o.rowEnd,u={colStart:e,rowStart:n,colEnd:e,rowEnd:a},d=this._sheet;if(d&&d.getRange(u).insert(t.IRange.Axis.Column),(!d||s===0||s>=c)&&this._resize({colStart:o.colStart,rowStart:o.rowStart,colEnd:o.colEnd+1,rowEnd:o.rowEnd}),i!==void 0){let e=this._getState().orderedColumnsProps,t=[...e.slice(0,s),{name:i},...e.slice(s)];t=Ev(e,t,0,!0,this._emptyColumnName,this._emptyColumnNamer),this._updateColumnsState(t)}if(d&&r&&r.length>0){if(!Array.isArray(r))throw Error(`Values must be an 1D array if provided.`);let i=a-n+1;if(r.length>i)throw Error(`Values length ${r.length} exceeds table data row count of ${i}.`);d.getRange({colStart:e,rowStart:n,colEnd:e,rowEnd:n+r.length-1}).setValues([r],{axis:t.IRange.Axis.Column})}l.commit()}catch(e){throw l.rollback(),e}return this.getColumnAt(s)}getColumns(){return this._getState()?.orderedColumns??n.CommonUtils.EmptyArray}getColumn(e){let t=this.getColumnByName(e);return t===null?this.getColumnById(e):t}getColumnById(e){let t=this._getState()?.mapColumnById;return t?t.get(e)??null:null}getColumnByName(e){let t=this._getState()?.mapColumnByName;return t?t.get(e?.toLocaleLowerCase())??null:null}convertToRange(e=2**53-1,r){let i=this._beginCommit((0,n.messageKey)(`op.convertToRange`));try{if(this._sheet){let n=this.getFirstAnchorCoords(),r=(n.colEnd-n.colStart+1)*(n.rowEnd-n.rowStart+1);if(r>e)throw Error(`There are ${r} and there is a limit of ${e}.`);let i=this._sheet.getRange(n),a=i.createSparseBuilder({axis:t.IRange.Axis.Column});i.forEach((e,t)=>{let n=t.getCoords(),r=t.getCell();a.pushAt(n.rowIndex,n.colIndex,{style:r.getStyle(!1)})},{includeEmpty:!0,axis:t.IRange.Axis.Column}),a.apply()}this.delete(r)}catch{i.rollback(),i=null}return i&&i.commit(),this._sheet.getRange(this._getState().anchorCoords)}resizeTo(e,t,n){let r=this._getState().anchorCoords,i=r.colStart,a=r.rowStart;return this._resize({colStart:i,rowStart:a,colEnd:i+t-1,rowEnd:a+e-1},n)}resize(e,t){return this._resize(e,t)}_resize(e,t,r=(0,n.messageKey)(`op.resizeTable`)){let i=this._sheet.getRange(e).getCoords();if(!i)throw Error(s_(e));let a=this._getState(),o=a.anchorCoords,s=a.headerRowCount,c=a.totalsRowCount;if(o.rowStart!==i.rowStart||i.colEnd<o.colStart||i.colStart>o.colEnd||i.rowEnd<o.rowStart+s+c+1)throw new n.ExpectedError((0,n.t)(`error.table.tableResizeInvalidBounds`));let l=this._beginCommit({description:r,...t});try{n.CoordUtils.isEqualRanges(i,o)||this._modifyTable({anchorCoords:i},t,r,!0),l.commit()}catch(e){throw l.rollback(),e}return this._sheet.getRange(i)}getName(){return this._getState()?.name}setName(e,t){return this._modifyTable({name:e},t,(0,n.t)(`op.setTableNameNamed`,{name:e}))}getDescription(){return this._getState()?.description}setDescription(e,t){return this._modifyTable({description:e},t,(0,n.messageKey)(`op.setTableDescription`))}select(e){return this.getDataRange().select(e)}_processRestoreOrRevert(e,t,n){this._styleCache=null,super._processRestoreOrRevert(e,t,n)}_processAnchorCoords(){this._styleCache=null,super._processAnchorCoords()}_processAfterContainerShift(e,t){super._processAfterContainerShift(e,t)}getDataRange(){let e=this._getUsedCoords();return e?this._sheet.getRange(e):nD}_getUsedCoords(){let e=this._getState(),t=e.headerRowCount,n=e.totalsRowCount,r=e.anchorCoords;if(!r)return null;let i={...r,rowStart:r.rowStart+t,rowEnd:r.rowEnd-n};return i.rowEnd<i.rowStart||i.colEnd<i.colStart?null:i}getHeaderRowRange(){let e=this._getHeaderCoords();return e?this._sheet.getRange(e):nD}_getHeaderCoords(){let e=this._getState(),t=e.headerRowCount;if(t<1)return null;let n=e.anchorCoords;return n?{...n,rowEnd:n.rowStart+t-1}:null}getTotalRowRange(){let e=this._getTotalCoords();return e?this._sheet.getRange(e):nD}_getTotalCoords(){let e=this._getState(),t=e.totalsRowCount;if(t<1)return null;let n=e.anchorCoords;return n?{...n,rowStart:n.rowEnd-t+1}:null}getStyleOptions(){return this.isDeleted()?Cv:this._getState()?.style}updateStyleOptions(e,t=(0,n.messageKey)(`op.updateStyleInfo`)){let r=this.getStyleOptions(),i=e?{...r,...e}:Cv;return this._modifyTable({style:i},void 0,t),this._styleCache=null,this._notify(`onStyleChange`),this}getRangedStyle(){let e=this._stylePropsCache;return e||(e=this.getStyle().getRanged(this),this._stylePropsCache=e),e}getStyleAt(e){return Xg(void 0,this._styles,this.getRangedStyle(),n.CoordUtils.cellToRange(e))}isShowTotals(){return this._getState()?.totalsRowCount>0}setShowTotals(e,t){return this._modifyTable({totalsRowCount:+!!e},t,e?(0,n.messageKey)(`op.showTotals`):(0,n.messageKey)(`op.hideTotals`))}isShowHeaders(){return this._getState()?.headerRowCount>0}setShowHeaders(e,t){return this._modifyTable({headerRowCount:+!!e},t,e?(0,n.messageKey)(`op.showHeaders`):(0,n.messageKey)(`op.hideHeaders`))}isShowHighlightFirstColumn(){return this._getState().style?.showFirstColumn??!1}setShowHighlightFirstColumn(e,t){return this._modifyTable({style:{...this._getState().style,showFirstColumn:e}},t,e?(0,n.messageKey)(`op.showHighlightFirstColumn`):(0,n.messageKey)(`op.hideHighlightFirstColumn`))}isShowHighlightLastColumn(){return this._getState().style?.showLastColumn??!1}setShowHighlightLastColumn(e,t){return this._modifyTable({style:{...this._getState().style,showLastColumn:e}},t,e?(0,n.messageKey)(`op.showHighlightLastColumn`):(0,n.messageKey)(`op.hideHighlightLastColumn`))}isShowBandedColumns(){return this._getState().style?.showColumnStripes??!1}setShowBandedColumns(e,t){return this._modifyTable({style:{...this._getState().style,showColumnStripes:e}},t,e?(0,n.messageKey)(`op.showBandedColumns`):(0,n.messageKey)(`op.hideBandedColumns`))}isShowBandedRows(){return this._getState().style?.showRowStripes??!1}setShowBandedRows(e,t){return this._modifyTable({style:{...this._getState().style,showRowStripes:e}},t,e?(0,n.messageKey)(`op.showBandedRows`):(0,n.messageKey)(`op.hideBandedRows`))}_setupAutoExpand(){if(this._autoExpandRemoveListener?.(),this.isDisabledAutoExpand())return;let e=this._sheet;if(!e)return;let t=this;this._autoExpandRemoveListener=e.getEntireRange().addListener(r=>{if(this._lastTransactionId===r.getTransactionId()||r.trigger!==`setCells`||r.isUndo)return;let i=t.getFirstAnchorCoords();if(!i)return;let a=r.getFrom().getCoords()[0],o=null;if(a.rowStart>=i.rowStart&&a.rowEnd<=i.rowEnd&&a.colStart>=i.colStart&&a.colStart<=i.colEnd+1&&a.colEnd>i.colEnd){let t={...a,colStart:i.colEnd+1};if(e.getRange(t).isContentful()){let n={...t,rowStart:i.rowStart,rowEnd:t.rowStart-1};if(n.rowEnd-n.rowStart<0||!e.getRange(n).isContentful()){let n={...t,rowStart:t.rowEnd+1,rowEnd:i.rowEnd};(n.rowEnd-n.rowStart<0||!e.getRange(n).isContentful())&&(o={...i,colEnd:a.colEnd})}}}else if(!t.isShowTotals()&&a.colStart>=i.colStart&&a.colEnd<=i.colEnd&&a.rowStart>=i.rowStart&&a.rowStart<=i.rowEnd+1&&a.rowEnd>i.rowEnd){let t={...a,rowStart:i.rowEnd+1};if(n.CoordUtils.isRangeWithinRange(t,e.getEntireRange().getCoords())&&e.getRange(t).isContentful()){let n={...t,colStart:i.colStart,colEnd:t.colStart-1};if(n.colEnd-n.colStart<0||!e.getRange(n).isContentful()){let n={...t,colStart:t.colEnd+1,colEnd:i.colEnd};(n.colEnd-n.colStart<0||!e.getRange(n).isContentful())&&(o={...i,rowEnd:a.rowEnd})}}}if(o&&e.getRange(o).getMerges().length>0&&(o=null),o&&e.getTables().getItems({address:o}).length!==1&&(o=null),o){let e=t._beginCommit((0,n.messageKey)(`op.tableAutoExpansion`));try{t.resize(o),e.commit({viewAfter:null})}catch(t){e.rollback(),console.warn(`Unable to AutoExpand`),console.warn(t)}}},{transactional:!1,ignoreShifts:!0})}setDisabledAutoExpand(e,t){return this._modifyTable({disabledAutoExpand:e},t,(0,n.messageKey)(`op.setDisabledAutoExpand`)),this._setupAutoExpand(),this}isDisabledAutoExpand(){return(this._getState()?.disabledAutoExpand||!this._sheet)??!1}applyFilters(e){let t=this._getState().filtersActive,r=t.length;if(r===0)return this;let i=Array(r);for(let e=0;e<r;e++){let n=t[e];i[e]={index:n.getIndex(),...n.getCondition().toJSON()}}let a={description:(0,n.messageKey)(`op.applyFilters`),...e,conditions:i};return this._applyFilters(a),this}deleteFilters(e){let t=this._beginCommit({description:(0,n.messageKey)(`op.deleteFilters`),...e});try{let e=this._getState(),n=[...e.orderedColumnsProps],r=new Map(e.mapColumnPropsById),i=this._updateFilters([],e.filtersActive,n,r);this._updateState({orderedColumnsProps:Object.freeze(n),mapColumnPropsById:r,filtersActive:i}),this._processTableUpdate?.(),this._notify(`onFilterChange`),t.commit()}catch(e){throw t.rollback(),e}return this}getActiveFilters(){let e=this._getState();return e?e.filtersActive:null}getFilterAt(e){let t=this._getState();if(!t)return null;let n=t.orderedColumnsProps[e]??null;if(!n)return null;let r=n.filterProps;return r?t.filtersActive[r.level]:this._createFilter(n.id)}_updateSorts(e,t,r,i){let a=t.length;for(let e=0;e<a;e++){let n=t[e].getIndex(),a=r[n];if(!a||!a.sortProps)continue;let o={...a};delete o.sortProps,i.set(o.id,o),r[n]=o}let o=e?e.length:0;if(o===0)return n.CommonUtils.EmptyArray;let s=[];for(let t=0;t<o;t++){let a=e[t],o=a.index??t,c=r[o];if(!c)continue;let l={...c};if(i.set(l.id,l),r[o]=l,a.criteria===null)l.sortProps=null;else{let e=n.CommonUtils.cloneObject({...a});delete e.index,l.sortProps={level:t,...e}}let u=this._createSort(l.id);s.push(u)}return Object.freeze(s)}_updateFilters(e,t,r,i){let a=t.length;for(let e=0;e<a;e++){let n=t[e].getIndex(),a=r[n];if(!a)continue;let o={...a};delete o.filterProps,i.set(o.id,o),r[n]=o}let o=e?e.length:0;if(o===0)return n.CommonUtils.EmptyArray;let s=[];for(let t=0;t<o;t++){let n=e[t],a=pv.resolveInput(n),o=n?.index??t,c=r[o];if(!c)continue;let l={...c};i.set(l.id,l),r[o]=l,l.filterProps=n===null?null:{level:t,condition:a};let u=this._createFilter(l.id);s.push(u)}return Object.freeze(s)}filter(e,t){let r=this._beginCommit({description:(0,n.messageKey)(`op.filterTable`),...t}),i=e;try{let e=this._getState(),t=[...e.orderedColumnsProps],n=new Map(e.mapColumnPropsById),a=this._updateFilters(i.conditions,e.filtersActive,t,n);this._updateState({orderedColumnsProps:Object.freeze(t),mapColumnPropsById:n,filtersActive:a}),this._applyFilters(i),this._processTableUpdate?.(),this._notify(`onFilterChange`),r.commit()}catch(e){throw r.rollback(),e}return this}sort(e){let t=this._beginCommit({description:(0,n.messageKey)(`op.sortTable`),...e});try{let n=this._getState(),r=[...n.orderedColumnsProps],i=new Map(n.mapColumnPropsById),a=this._updateSorts(e?.sorts,n.sortsActive,r,i);this._updateState({orderedColumnsProps:Object.freeze(r),mapColumnPropsById:i,sortsActive:a}),e&&e.sorts&&e.sorts.length===0||this._applySorts(e),this._processTableUpdate?.(),this._notify(`onSortChange`),t.commit()}catch(e){throw t.rollback(),e}return this}applySorts(e){let r=this._getState().sortsActive,i=r.length;if(i===0)return this;let a=Array(i);for(let e=0;e<i;e++){let t=r[e];a[e]={index:t.getIndex(),criteria:t.getCriteria()}}let o={description:(0,n.messageKey)(`op.applySort`),...e,sorts:a,hasHeader:this.isShowHeaders(),axis:t.IRange.Axis.Row};return this._applySorts(o,!0),this}deleteSorts(e){let t=this._beginCommit({description:(0,n.messageKey)(`op.deleteSorts`),...e});try{let e=this._getState(),n=[...e.orderedColumnsProps],r=new Map(e.mapColumnPropsById),i=this._updateSorts([],e.sortsActive,n,r);this._updateState({orderedColumnsProps:Object.freeze(n),mapColumnPropsById:r,sortsActive:i}),this._processTableUpdate?.(),this._notify(`onSortChange`),t.commit()}catch(e){throw t.rollback(),e}return this}applySortsAndFilters(e){return this.doBatch(()=>{this.applyFilters(),this.applySorts()},{description:(0,n.messageKey)(`op.refreshSortsAndFilters`),...e}),this}deleteSortsAndFilters(e){return this.doBatch(()=>{this.deleteSorts(),this.deleteFilters()},{description:(0,n.messageKey)(`op.deleteSortsAndFilters`),...e}),this}getActiveSorts(){return this._getState().sortsActive}getSortAt(e){let t=this._getState();if(!t)return null;let n=t.orderedColumnsProps[e]??null;if(!n)return null;let r=n.sortProps;return r?t.sortsActive[r.level]:this._createSort(n.id)}setHiddenButtonAt(e,t){let r=this._getState(),i,a=r.mapHiddenButtons;return t===r.hiddenButtons?a.get(e)!==t&&(a=new Map(a),a.delete(e),i={mapHiddenButtons:a}):a.get(e)!==t&&(a=new Map(a),a.set(e,t),i={mapHiddenButtons:a}),i&&this._updateState(i,(0,n.messageKey)(`op.setHiddenButtons`)),this}isHiddenButtonAt(e){let t=this._getState();return!t||(t.mapHiddenButtons.get(e)??t.hiddenButtons??!1)}setHiddenButtons(e){if(this._getState())return this._updateState({hiddenButtons:e,mapHiddenButtons:Iv},(0,n.messageKey)(`op.setHiddenButtons`),[`onHiddenButtonsChange`]),this}isHiddenButtons(){let e=this._getState();return!e||!0===e.hiddenButtons&&e.mapHiddenButtons.size===0}_applyFilters(e){this.getRange().filter({...e,conditions:e?.conditions??[],hasHeader:this.isShowHeaders(),axis:t.IRange.Axis.Row}),this._processTableUpdate?.(),this._notify(`onFilterChange`)}_applySorts(e,n=!1){this.getRange().sort({...e,hasHeader:this.isShowHeaders(),axis:t.IRange.Axis.Row}),n&&(this._processTableUpdate?.(),this._notify(`onSortChange`))}getColumnAt(e){return this._getState()?.orderedColumns[e]??null}_updateColumnsState(e,t){let r=this._getState(),i=r.lastColId,a=e.length;if(a===0&&!this._sheet)throw Error((0,n.t)(`error.table.tableNoBody`));let o=r.mapColumnById,s=new Map,c=e,l=new Map,u=new Map,d=new Map,f=Array(a),p,m;for(let e=0;e<a;e++){let t=c[e];t.index=e,p=null,t.id!==void 0&&(m=parseInt(t.id),Number.isInteger(m)&&(i=Math.max(i,m),p=t.id)),p===null&&(i++,p=i+``),t.id=p;let n=o.get(p);n||=this._createColumn(p),s.set(p,t),f[e]=n,l.set(p,n),u.set(e,n);let r=t.name.toLocaleLowerCase();d.set(r,n)}return this._updateState({orderedColumnsProps:Object.freeze(c),mapColumnPropsById:s,orderedColumns:Object.freeze(f),mapColumnById:l,mapColumnByIndex:u,mapColumnByName:d,lastColId:i},t),f}getVisibleRefRangeCoords(){return this._ensureVisible(),this._visibleRange?this._visibleRange:this.getFirstAnchorCoords()}getVisibleCellCoords(e){return this._ensureVisible(),e&&this._visibleRange?{colIndex:Math.min(this._visibleRange.colEnd,Math.max(this._visibleRange.colStart,this._sheet.getColumnHeaders().getVisibleIndex(e.colIndex).min)),rowIndex:Math.min(this._visibleRange.rowEnd,Math.max(this._visibleRange.rowStart,this._sheet.getRowHeaders().getVisibleIndex(e.rowIndex).min))}:e}isHeaderVisible(){return this._ensureVisible(),this._isHeaderVisible}isTotalVisible(){return this._ensureVisible(),this._isTotalVisible}isFirstColumnVisible(){return this._ensureVisible(),this._isFirstColumnVisible}isLastColumnVisible(){return this._ensureVisible(),this._isLastColumnVisible}_readSyncSheet(e=!1,t=!1){let r=this._sheet;if(!r)return null;let i=this._getState().orderedColumnsProps,a=this.getFirstAnchorCoords();if(!a)return null;let o=this._getHeaderCoords(),s=t?void 0:this._getTotalCoords();if(!o&&!s)return null;let c=a.colEnd-a.colStart+1,l=Array(c).fill(null),u=!1;if(o){let t=0;r.getRange({...o,rowEnd:o.rowStart}).forEach((n,r)=>{let a,o=i[t];n===null?e?(a=o?.name,u=!0):a=null:typeof n==`string`?a=n:(a=r.getCell().getText(),u=!0),l[t]={...o,name:a},t++},{includeEmpty:!0})}if(s){let e=0;r.getRange({...s,rowStart:s.rowEnd}).forEach((t,n)=>{let r=n.getCell(),a=r.getFormulaText()??void 0,o;typeof t==`string`?o=t:t!==null&&(o=r.getText());let s=l[e]??i[e];if(s&&a===s.totalsRowFormula&&o===s.totalsRowLabel)return void e++;u=!0;let c={...s};l[e]=c,delete c.totalsRowLabel,delete c.totalsRowFormula,a?c.totalsRowFormula=a:o&&(c.totalsRowLabel=o),e++},{includeEmpty:!0})}let d=Ev(i,l,0,!0,this._emptyColumnName,this._emptyColumnNamer);var f,p;return u||=(f=l,p=d,!n.CommonUtils.isEqualArrays(f,p,(e,t)=>n.CommonUtils.deepEqual(e,t))),{columns:d,converted:u}}_writeSyncSheet(e=!1){let r=this._sheet;if(!r)return;let i=this._getState(),a=i.orderedColumnsProps,o=this._getHeaderCoords(),s=this._getTotalCoords();if(!o&&!s||e)return;let c=(0,n.messageKey)(`op.syncColumnsToSheet`),l=this._beginCommit(c);try{let e=r.getEntireRange().createSparseBuilder({axis:t.IRange.Axis.Row}),n=a.length;if(o){let t=o.rowStart,r=o.colStart;for(let i=0;i<n;i++){let n=a[i].name;n&&e.pushAt(t,r+i,n)}}if(s&&!i.shownTotalsRow){let e=r.getEntireRange().createSparseBuilder({axis:t.IRange.Axis.Row}),i=s.rowStart,o=s.colStart;for(let t=0;t<n;t++){let n=a[t].totalsRowLabel;n&&e.pushAt(i,o+t,n)}e.apply(),this._updateState({shownTotalsRow:!0})}e.apply({textParser:!1})}catch(e){throw l.rollback(),e}l&&l.commit()}_processDelete(){let e=this._getState();e.headerRemoveListener?.(),e.totalsRemoveListener?.(),this._updateState({headerRemoveListener:null,totalsRemoveListener:null});let t=this._namedItem;t&&t.delete(),super._processDelete()}_processFilterUpdate(){let e=this._getUsedCoords();console.log(`process on Filter and Sort dataRange`,e)}_processContainerShift(e){if(e.isSplit)throw Error((0,n.t)(`error.table.tableSplit`));let r=this._getState(),i=e.after,a=e.intersect;if(i&&i.rowStart+r.headerRowCount>=i.rowEnd+1)throw Error((0,n.t)(`error.table.tableNoBody`));let o=e.axis===t.IRange.Axis.Column;if(e.amount<0&&i&&!o){let e=this._getHeaderCoords();if(e&&a.rowStart<=e.rowEnd&&a.rowEnd>=e.rowStart)throw Error((0,n.t)(`error.table.tableRemoveHeader`));let t=this._getTotalCoords();t&&a.rowStart<=t.rowEnd&&a.rowEnd>=t.rowStart&&this.setShowTotals(!1)}let s=super._processContainerShift(e);if(o){let t=e.amount,r=a.colStart-e.before.colStart,i=t>0;if(r<=0&&i)return s;r<0&&(t-=r,r=0);let o=[...this._getState().orderedColumnsProps];i?o=function(e,t,n,r=bv(),i=xv){let a=Array(n),o=e.length;t<0&&(t=o),e.splice(t,0,...a);let s=Tv(e,r)(),c=s!==0&&s<o,l=0;if(s===0){let t=new Set,n=e.length;for(let r=0;r<n;r++){let n=e[r]?.name;if(!n)continue;let i=Sv(n);t.add(i)}for(let e=0;s===0&&e<n;e++){let n=Sv(i(r,e));t.has(n)&&(s=e)}s===0&&(s=o-1)}let u=c?null:e[t-1]?.name;(c||s>=o)&&(l=s);for(let e=0;e<n;e++){let t;c||l<s?(t=i(r,l),u=t,l++):t=u,a[e]={...a[e],name:t}}return Ev(e,a,t,!1,r,i)}(o,r,t):o.splice(r,-t),this._updateColumnsState(o,i?(0,n.messageKey)(`op.addColumns`):(0,n.messageKey)(`op.deleteColumns`)),this._writeSyncSheet(!i)}else i||this._updateColumnsState([],(0,n.messageKey)(`op.deleteColumns`));return i||this._delete(),this._processAnchorCoords(),s}_beginCommit(e){let t=super._beginCommit(e);return this._lastTransactionId=t.getId(),t}_modifyTable(e,t,r,i=!0){if(this.isDeleted())throw Error(`Table has been closed. No further operations are allowed.`);let a=this._getState(),o=a.anchorCoords,s=a.headerRowCount,c=a.totalsRowCount,l=this._getTotalCoords()??null;t?.description||(t={...t,description:r});let u=this._beginCommit(t);try{if(this._updateState(e,t),e.name!==void 0){if(!e.name)throw Error((0,n.t)(`error.table.tableNoName`));this._setContainerName?.(e.name)}let d=e.anchorCoords??null,f=this._ensureHeightForHeaderTotals(d??a.anchorCoords,s,c,e.headerRowCount,e.totalsRowCount),p=!1,m=!1;if(d){if(!this._getUsedCoords())throw Error((0,n.t)(`error.table.tableNoBody`));this._updateState({anchorCoords:d},r);let e=this._getState();if(d.colStart!==o.colStart||d.colEnd!==o.colEnd){let t=d.colEnd-d.colStart+1,r=e.orderedColumnsProps;if(p=t!==r.length,p){let e=[...r];if(d.colEnd>o.colEnd)e.splice(e.length,0,...Array(d.colEnd-o.colEnd)),e=Ev(null,e,0,!0,this._emptyColumnName,this._emptyColumnNamer);else if(d.colEnd<o.colEnd){let t=o.colEnd-d.colEnd;e.splice(e.length-t,t)}d.colStart<o.colStart?(e.splice(0,0,...Array(o.colStart-d.colStart)),e=Ev(null,e,0,!0,this._emptyColumnName,this._emptyColumnNamer)):d.colStart>o.colStart&&e.splice(0,d.colStart-o.colStart),this._updateColumnsState(e,(0,n.messageKey)(`op.updateColumns`))}}let t=d.rowEnd!==o.rowEnd;if(m=t&&l!==null,d.rowStart!==o.rowStart||t){if(t&&l){let e=this._sheet;e&&e.getRange(l).clear()}this._calcVisible()}if(i){let e=this._readSyncSheet(!0,m);e&&e.converted&&this._updateColumnsState(e.columns,(0,n.messageKey)(`op.syncColumnsFromSheet`))}this._options.setContainerCoords?.(d)}(f||p)&&this._writeSyncSheet(),e.style!==void 0&&(this._styleCache=null),this._notify(`onAnyChange`),u.commit()}catch(e){throw u.rollback(),e}return this}addListeners(e,t){return this._getEmitter().addListeners(e,t)}_processAfterStateChange(e,t,n){super._processAfterStateChange(e,t,n),this._styleCache=null,this._stylePropsCache=null,this._processTableUpdate?.(),this._notify(`onAnyChange`)}_processHeaderListener(){this._getState().headerRemoveListener?.();let e=this._sheet;if(!e)return;let t=this._getHeaderCoords();if(!t){let e=this._getUsedCoords();t={...e,rowEnd:e.rowStart}}this._lastTransactionId=this._getTransactions().getCurrentCommit().getId();let n=e.getRange(t).addListener(this._columnListener,{transactional:!0});this._updateState({headerRemoveListener:n})}_processTotalsListener(){this._getState().totalsRemoveListener?.();let e=this._sheet;if(!e)return;let t=this._getTotalCoords();if(!t)return;this._lastTransactionId=this._getTransactions().getCurrentCommit().getId();let n=e.getRange(t).addListener(this._columnListener,{transactional:!0});this._updateState({totalsRemoveListener:n})}get[Symbol.toStringTag](){return`[Table]`}toString(){return this.getName()??``}toJSON(){let e={},t=this._getState();if(!t)return null;t.name&&(e.name=t.name),t.description&&(e.description=t.description),t.headerRowCount!==1&&(e.headerRowCount=t.headerRowCount),t.totalsRowCount!==0&&(e.totalsRowCount=t.totalsRowCount),t.disabledAutoExpand&&(e.disabledAutoExpand=t.disabledAutoExpand);let r=t.orderedColumns;if(r){let t=r.length,n=Array(t);for(let e=0;e<t;e++){let t=r[e]?.toJSON();t&&(n[e]=t)}e.columns=n}if(t.style){let r=n.CommonUtils.diffValues(t.style,{...Cv,name:null});r&&(e.style=r)}let i=t.sortsActive,a=i.length;if(a>0){let n=t.orderedColumnsProps,r=Array(a);for(let e=0;e<a;e++){let t=i[e]?.getIndex(),a=n[t];if(!a)continue;let o={...a.sortProps,index:t};delete o.level,r[e]=o}e.sort={sorts:r}}let o=t.filtersActive,s=o.length;if(s>0){let n=t.orderedColumnsProps,r=Array(s);for(let e=0;e<s;e++){let t=o[e]?.getIndex(),i=n[t];if(!i)continue;let a=i.filterProps;if(!a)continue;let s=a.condition.toJSON();s.index=t,r[e]=s}e.filter={conditions:r}}if(!0===t.hiddenButtons)e.hiddenButtons=!0;else{let n=t.mapHiddenButtons;if(n.size>0){let t=[];n.forEach((e,n)=>{t.push(n)}),e.hiddenButtons=t}}return e}getSheet(){return this._sheet??null}_createNamed(){return this._names?new Mv(this._sheet,this,{transactions:this._getTransactions(),json:{name:this.getName()}}):null}_fromJSON(e){let t=e??{},r=(0,n.messageKey)(`op.addTable`),i=this.getFirstAnchorCoords(),a=i.colEnd-i.colStart+1,o=function(e,t=bv(),n=xv){let r=Array(e);for(let i=0;i<e;i++)r[i]={name:n(t,i)};return r}(a);a>1&&(o[0].totalsRowLabel=vv((0,n.messageKey)(`table.totalsRowLabel`),`Total`));let s=t.columns;s&&(s.length>a&&(s=s.slice(0,a)),o=wv(s)),this._updateColumnsState(o,r);let c={...this._getState()};if(t.name!==void 0&&(c.name=t.name),this._names){let e=this._names.findValidName(c.name);c.name!==e&&(c.name=e)}c.description&&=c.description.trim(),c.headerRowCount=t.headerRowCount??1,c.totalsRowCount=t.totalsRowCount??0,c.disabledAutoExpand=t.disabledAutoExpand??!1;let l=t.style;typeof l==`string`&&(l={name:l}),c.style={...Cv,...l};let u=t.sort;if(u){let e=[...c.orderedColumnsProps],t=new Map(c.mapColumnPropsById),n=this._updateSorts(u.sorts,c.sortsActive,e,t);c.orderedColumnsProps=Object.freeze(e),c.mapColumnPropsById=t,c.sortsActive=n}let d=t.filter;if(d){let e=[...c.orderedColumnsProps],t=new Map(c.mapColumnPropsById),n=this._updateFilters(d.conditions,c.filtersActive,e,t);c.orderedColumnsProps=Object.freeze(e),c.mapColumnPropsById=t,c.filtersActive=n}let f=t.hiddenButtons;if(f!==void 0)if(Array.isArray(f)){c.hiddenButtons=!1;let e=f.length,t=new Map;for(let n=0;n<e;n++){let e=f[n];t.set(e,!0)}c.mapHiddenButtons=t}else c.hiddenButtons=f,c.mapHiddenButtons=Iv;this._updateState(c,r)}close(){super.close(),this.isClosed()||(this._autoExpandRemoveListener?.(),this._getState()?.headerRemoveListener?.(),this._updateState({headerRemoveListener:null},(0,n.messageKey)(`op.closeTable`)),this._stylesRemoveListener?.(),this._colHeadersSizeUnlistener?.(),this._rowHeadersSizeUnlistener?.())}get isITable(){return!0}},Iv=new Map,Lv=new Map,Rv=Object.freeze({criteria:null,level:-1}),zv=Object.freeze({condition:null,level:-1}),Bv=class extends kv{getName(){let e,t=this.getIndex(),n=this.getTable(),r=n.getSheet();if(r){let i=n.getRange().getCoords().colStart;e=r.getColumnHeaders().getTextAt(i+t)}return e||=`Column ${t+1}`,e}setName(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}getId(){return this._getProps(this._id).id??null}getIndex(){return this._getProps(this._id).index??-1}setTotalsRowLabel(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}getTotalsRowLabel(){return null}setTotalsRowFormula(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}getTotalsRowFormula(){return null}delete(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}get[Symbol.toStringTag](){return`[AutoTableColumn]`}toJSON(){return null}},Vv=class extends Fv{_initialize(e){let t={...e.json};e={...e,json:t},t.disabledAutoExpand=!0,t.name=vv((0,n.messageKey)(`table.autoTableName`),`AutoTable`),t.description=vv((0,n.messageKey)(`table.autoTableDescription`),`AutoTable created for filtering and sorting`),e.names=null,e.styles=new sg,e.setContainerName=e=>{throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))},super._initialize(e)}initializeColumnCreator(e,t,n,r){return i=>new Bv(e,i,t,n,r)}_processHeaderListener(){}_readSyncSheet(e=!1){return null}_writeSyncSheet(e=!1){}_calcVisible(){}isShowHeaders(){return!1}addRows(e,t=1,r){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}addColumn(e=-1,t,r,i){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}deleteRowsAt(e,t=1,r){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}getColumnByName(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}convertToRange(e=2**53-1,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setName(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setDescription(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}updateStyleOptions(e,t=(0,n.messageKey)(`op.updateStyleInfo`)){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowTotals(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowHeaders(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowHighlightFirstColumn(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowHighlightLastColumn(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowBandedColumns(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowBandedRows(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}_resize(e,t,r=(0,n.messageKey)(`op.resizeTable`)){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}get[Symbol.toStringTag](){return`[AutoTable]`}toString(){return this.getRange().toString()}toJSON(){let e=super.toJSON();return e?(delete e.name,delete e.description,delete e.style,delete e.columns,delete e.disabledAutoExpand,delete e.totalsRowCount,delete e.headerRowCount,e):null}},Hv=class e extends hv{static{this.instanceCounter=0}constructor(e){if(super(e),!e.content)throw Error(`Content type is required`);this._content=e.content,this._optionsMovable=e;let t=this;this._optionsMovable.setContainerCallbacks?.({processZIndex:()=>t._processZIndex(),processSelection:(e,n)=>t._processContainerSelect(e,n)}),e.json&&this._fromJSON(e.json);let n=this._content.addListeners({onDelete:()=>{t._options.deleteFromContainer&&t._options.deleteFromContainer?.()}},{transactional:!0});this._updateState({contentListenerRemove:n},null,[])}getContent(){return this._content}_processAfterStateChange(e,t,n){super._processAfterStateChange(e,t,n),this._getEmitter().notify(`onBoundsChange`),this._getEmitter().notify(`onAnyChange`)}_processZIndex(){this._getEmitter().notify(`onAnyChange`)}_processContainerSelect(e,t){this._getEmitter().notify(`onSelectionChange`)}isSelected(){return this._optionsMovable.isSelected?.()??!1}async scrollIntoView(e){return this._optionsMovable.scrollIntoView?.(e)??!1}async select(e){if(!1===await this._optionsMovable.select?.(e))return!1;if(!1!==e?.autoFocus){let e=await this._getEmitter().notify(`onRequestFocus`,{async:!0});if(!e)return!1;let t=e.length;for(let n=0;n<t;n++)if(!1===e[n])return!1}return!0}unselect(){let e=this._optionsMovable.isSelected?.()??!1;return this._optionsMovable.unselect?.(),e}_clone(){let t=this.isSelected(),n=this.getZIndex(),r=this._optionsMovable.getMaxBounds,i=this.getContent(),a={beginPersistResource:this._optionsMovable.beginPersistResource,getBoundsAtCoords:this._optionsMovable.getBoundsAtCoords,getCoordsAtBounds:this._optionsMovable.getCoordsAtBounds,isSelected:()=>t,getZIndex:()=>n,getContainerIndex:()=>n,getMaxBounds:r,getRanges:e=>this._optionsMovable.getRanges(e),getEntireRange:()=>this._optionsMovable.getEntireRange(),transactions:new m({transient:!0}),json:this.toJSON(),coords:this.getFirstAnchorCoords(),content:i},o=new e(a),s=this._getState();return o._updateState({...s}),o}getSnapshot(e,t){let r=this._optionsMovable.getCoordsAtBounds(e),i=this._getState().offsets,a=this.getFirstAnchorCoords();if((i.br.x>0||i.br.y>0)&&(a={...a},a.colEnd-=+(i.br.x>0),a.rowEnd-=+(i.br.y>0)),!n.CoordUtils.isRangeWithinRange(a,r))return null;let o=this,s=o._clone(),c=Object.freeze({...t}),l=!1;return{async copyTo(e,t){let n={...c,...t};return await s._doCopy(e,n),n.isCut&&!l&&(o.delete(),l=!0),e.bounds},getCoords:()=>s.getBounds(),getSource:()=>s,getName:()=>s.getName(),getMarkOptions:()=>c,toText:()=>s._toText(),toHtml:()=>s._toHtml(),toImage:()=>s._toImage(),isISnapshot:!0}}async _doCopy(e,t){let r=this._optionsMovable.beginPersistResource(),i=this.toJSON(r.toResourceId.bind(r)),a=(0,n.t)((0,n.messageKey)(`movable.copySuffix`),{name:this.getName()});i.content.json.name=a===`movable.copySuffix`?`${this.getName()} (Copy)`:a;let o=i.content.json;delete i.content;let s=e.movables;if(!s)throw Error(`Movables is required`);let c=e.bounds??this.getBounds();try{await s.add({...i,...t,fromResourceId:r.fromResourceId.bind(r),bounds:c,type:this.getContent().getType(),json:o,description:(0,n.messageKey)(`op.copyMovable`)})}finally{r.endPersist()}}_toText(){return this.getContent().toText?.()}_toHtml(){return this.getContent().toHtml?.()}_toImage(){return this.getContent().toImage?.()}setName(e){return this._updateState({name:e},{description:(0,n.messageKey)(`op.setMovableName`)},[`onNameChange`]),this}getName(){return this.isDeleted()?null:this._getState()?.name}setDescription(e){return this._updateState({description:e},{description:(0,n.messageKey)(`op.setMovableDescription`)}),this}getDescription(){return this.isDeleted()?null:this._getState()?.description}setHidden(e=!1){return this._updateState({hidden:e},{description:(0,n.messageKey)(`op.setMovableVisibility`)}),this}isHidden(){return this._getState()?.hidden??!1}setLockAspectRatio(e){return this._updateState({lockAspectRatio:e},{description:(0,n.messageKey)(`op.setLockAspectRatio`)}),this}isLockAspectRatio(){return this._getState()?.lockAspectRatio??this._optionsMovable.defaultLockAspectRatio??!1}setRotation(e=0){return this._updateState({rotation:e},{description:(0,n.messageKey)(`op.setMovableRotation`)}),this}getRotation(){return this._getState()?.rotation??0}moveToBack(){return this._optionsMovable.moveToBackOnContainer?.(),this}moveBackward(){return this._optionsMovable.moveBackwardOnContainer?.(),this}moveToFront(){return this._optionsMovable.moveToFrontOnContainer?.(),this}moveForward(){return this._optionsMovable.moveForwardOnContainer?.(),this}getZIndex(){return this._optionsMovable.getZIndex?.()??0}setBounds(e,t){if(!e)return this;let r={...this.getBounds(),...e};if(this._optionsMovable.getMaxBounds&&(r={x:Math.max(r.x,this._optionsMovable.getMaxBounds().x),y:Math.max(r.y,this._optionsMovable.getMaxBounds().y),width:Math.min(r.width,this._optionsMovable.getMaxBounds().width),height:Math.min(r.height,this._optionsMovable.getMaxBounds().height)}),r.width<0||r.height<0)throw new n.OutOfBoundsError;let i=this._updateMovableLocation({bounds:r,anchorType:C_.Type.Absolute}),a=this._beginCommit(t?.description??(0,n.messageKey)(`op.setMovableBounds`));return this._updateState({offsets:i.offsets,anchorCoords:i.anchorCoords},{description:(0,n.messageKey)(`op.updateMovableBounds`)}),this._options.setContainerCoords(i.anchorCoords),this._invalidateBounds(),a.commit(),this}_updateMovableLocation(e){let t=e.offsets??Uv(),n=e.anchorCoords??this.getFirstAnchorCoords(),r=e.anchorType??this.getAnchorType(),i=e.bounds??this.getBounds();if(i){if(r===C_.Type.Absolute){n=this._optionsMovable.getCoordsAtBounds(i);let e=this._optionsMovable.getBoundsAtCoords(n);t={...t,tl:{x:i.x-e.x,y:i.y-e.y}}}if(r===C_.Type.Absolute||r===C_.Type.OneCell){let e=this._optionsMovable.getBoundsAtCoords({colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colStart,rowEnd:n.rowStart}),r=this._optionsMovable.getCoordsAtBounds({x:e.x,y:e.y,width:i.width+Math.min(e.width,t.tl.x),height:i.height+Math.min(e.height,t.tl.y)});n={colStart:n.colStart,rowStart:n.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd};let a=this._optionsMovable.getBoundsAtCoords({colStart:n.colEnd,rowStart:n.rowEnd,colEnd:n.colEnd,rowEnd:n.rowEnd}),o=i.width-(a.x-e.x-Math.min(t?.tl.x??0,e.width)),s=i.height-(a.y-e.y-Math.min(t?.tl.y??0,e.height));t={...t,br:{x:o,y:s}}}return t!==e.offsets&&(t.br.y<=0&&(t.br={...t.br,y:0},n.rowEnd--),t.br.x<=0&&(t.br={...t.br,x:0},n.colEnd--)),{anchorCoords:n,offsets:t}}}_calcAbsoluteBounds(e,t=Uv()){if(!e)return null;let n=this._optionsMovable.getBoundsAtCoords({rowStart:e.rowStart,colStart:e.colStart,colEnd:e.colStart,rowEnd:e.rowStart}),r=+!t.br.x,i=+!t.br.y,a=this._optionsMovable.getBoundsAtCoords({colStart:e.colEnd+r,rowStart:e.rowEnd+i,colEnd:e.colEnd+r,rowEnd:e.rowEnd+i}),o=Math.min(n.x+(t?.tl.x??0),n.x+n.width),s=Math.min(n.y+(t?.tl.y??0),n.y+n.height);return{x:o,y:s,width:Math.min(a.x+(t?.br.x??0),a.x+a.width)-o,height:Math.min(a.y+(t?.br.y??0),a.y+a.height)-s}}getBounds(){return this._getState()?.bounds}setAnchorType(e){return n.CommonUtils.validEnumValue(C_.Type,e),this._updateState({anchorType:e},{description:(0,n.messageKey)(`op.setMovableResizeBehavior`)},[`onAnchorTypeChange`]),this}_processContainerShift(e){let r=this.getAnchorType(),i=this._getState()?.offsets,a=i,o=!1,s=e.before,c=e.axis===t.IRange.Axis.Column,l=e.intersect,u=e.amount,d=e.after;if(r!==C_.Type.Absolute){let e=c?l.colStart:l.rowStart,t=c?s.colStart:s.rowStart;r===C_.Type.TwoCell&&(t=c?s.colEnd:s.rowEnd),o=e<=t}if(o&&(r!==C_.Type.OneCell||d)||(d=s),o&&d&&u<0&&(c?(l.colStart<=s.colStart&&l.colEnd>=s.colStart&&(a={...a,tl:{...a.tl,x:0}}),a.br.x>0&&l.colStart<=s.colEnd&&l.colEnd>=s.colEnd&&(a={...a,br:{...a.br,x:0}},d={...d,colEnd:d.colEnd+1})):(l.rowStart<=s.rowStart&&l.rowEnd>=s.rowStart&&(a={...a,tl:{...a.tl,y:0}}),a.br.y>0&&l.rowStart<=s.rowEnd&&l.rowEnd>=s.rowEnd&&(a={...a,br:{...a.br,y:0}},d={...d,rowEnd:d.rowEnd+1}))),d!==null){let{offsets:e,anchorCoords:t}=this._updateMovableLocation({anchorCoords:d,offsets:a});a=e,d=t}let f=null,p=this._beginCommit((0,n.messageKey)(`op.shiftingMovableBounds`));try{if(i!==a||!n.CoordUtils.isEqualRanges(s,d)){let e={offsets:a,anchorCoords:d};this._updateState(e)}this._invalidateBounds(),f=super._processContainerShift({...e,after:d}),p.commit()}catch(e){throw p.rollback(),e}return f}_invalidateBounds(){let e=this.getFirstAnchorCoords();if(e===null)return;let t=this._getState()?.offsets,n=this._calcAbsoluteBounds(e,t);this._updateState({bounds:n},null,[`onBoundsChange`])}_processContainerDelete(){super._processContainerDelete(),this._getState().contentListenerRemove?.(),this.getContent().delete()}_processContainerLayout(){let e=this.getFirstAnchorCoords(),t=this._getState()?.offsets,{offsets:r,anchorCoords:i}=this._updateMovableLocation({anchorCoords:e,offsets:t}),a=this._beginCommit((0,n.messageKey)(`op.updatingMovableBounds`));try{if(t!==r||e!==i){let e={offsets:r,anchorCoords:i};this._updateState(e)}this._invalidateBounds(),super._processContainerLayout(),a.commit(Wv)}catch(e){throw a.rollback(),e}}_processAnchorCoords(){super._processAnchorCoords()}enrichOffset(e,t,r){if(e.r!==void 0&&e.c!==void 0)return e;let i=(e?.x??0)+t,a=(e?.y??0)+r,o=this._optionsMovable.getCoordsAtBounds({x:i,y:a,width:0,height:0}),s=this._optionsMovable.getBoundsAtCoords(o);return(e={...e}).c===void 0&&(e.c=o.colStart,e.x=n.CommonUtils.roundAccurately(i-s.x,1)),e.r===void 0&&(e.r=o.rowStart,e.y=n.CommonUtils.roundAccurately(a-s.y,1)),e}_fromJSON(t){let r=Uv(),i={...n.CoordUtils.EmptyRange},a=t.anchor,o=a?.tl??n.CommonUtils.EmptyObject,s=a?.br??n.CommonUtils.EmptyObject,c={c:o.c,r:o.r,x:o.x,y:o.y},l={c:s.c,r:s.r,x:s.x,y:s.y},u=t.anchorType;c.r!=null&&c.c!=null||(u??=C_.Type.Absolute);let d=c.x=c.x??0,f=c.y=c.y??0;if(c=this.enrichOffset(c,0,0),l.x=l.x??0,l.y=l.y??0,l.r==null||l.c==null){u??=C_.Type.OneCell;let e=this._optionsMovable.getBoundsAtCoords({rowStart:c.r,colStart:c.c,colEnd:c.c,rowEnd:c.r}),t=this.enrichOffset(l,e.x+c.x,e.y+c.y);l.r??(l.r=t.r,l.y=t.y),l.c??(l.c=t.c,l.x=t.x)}l=this.enrichOffset(l,d,f),r.tl=c,r.br=l,i.colStart=c.c,i.rowStart=c.r,i.colEnd=Math.max(i.colStart,l.c+(r.br.x>0?0:-1)),i.rowEnd=Math.max(i.rowStart,l.r+(r.br.y>0?0:-1));let p=this._beginCommit((0,n.messageKey)(`op.loadMovable`));u??=C_.Type.TwoCell;let m={offsets:r,name:t.name??null,description:t.description??null,hidden:t.hidden??!1,rotation:t.rotation??0,lockAspectRatio:t.lockAspect??null,anchorType:u};m.name||=`${this._content.getTypeDescription()} ${++e.instanceCounter}`,m.bounds=this._calcAbsoluteBounds(i,r),this._updateState(m,{description:(0,n.messageKey)(`op.loadMovable`)}),this._optionsMovable.setContainerCoords?.(i),p.commit()}toJSON(e){let t=this._getState(),r=t.anchorCoords,i=t.offsets,a={tl:{c:r.colStart,r:r.rowStart},br:{c:r.colEnd+ +!i?.br?.x,r:r.rowEnd+ +!i?.br?.y}};i&&(i.tl?.x&&(a.tl.x=n.CommonUtils.roundAccurately(i.tl.x,1)),i.tl?.y&&(a.tl.y=n.CommonUtils.roundAccurately(i.tl.y,1)),i.br?.x&&(a.br.x=n.CommonUtils.roundAccurately(i.br.x,1)),i.br?.y&&(a.br.y=n.CommonUtils.roundAccurately(i.br.y,1)));let o=this._content.toJSON(e)??{},s={anchor:a,content:{type:this._content.getType(),json:o}},c=t.anchorType;return c&&c!==C_.Type.TwoCell&&(s.anchorType=this.getAnchorType()),t.hidden&&(s.hidden=t.hidden),t.name&&(s.name=t.name),t.description&&(s.description=t.description),t.rotation!==void 0&&t.rotation!==0&&(s.rotation=t.rotation),n.CommonUtils.isDefined(t.lockAspectRatio)&&t.lockAspectRatio!==this._optionsMovable.defaultLockAspectRatio&&(s.lockAspect=t.lockAspectRatio),s}get isIMovable(){return!0}},Uv=()=>({tl:{x:0,y:0},br:{x:0,y:0}}),Wv={forceAmend:!0},Gv=class{constructor(e,t,n,r,i,a){this._add=e,this._getItems=t,this._getCount=n,this._updateSelected=r,this._addListeners=i,this._addPicture=a}async add(e){return this._add(e)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){return this._getItems(e)}getCount(){return this._getCount()}updateSelected(e,t){return this._updateSelected(e,t)}addListeners(e,t){return this._addListeners(e,t)}addPicture(e,t){return this._addPicture(e,t)}},Kv=/^[^a-zA-Z_\\]+$/,qv=/^[^a-zA-Z0-9_.]+$/,Jv=class{constructor(e){this._closed=!1,this._lastLookup=n.CommonUtils.EmptyArray,this._lastLookupAddress=null,this._lastLookupType=null,this._lastIncludeHidden=!1,this._lastAllowExtrudes=!1,this._lastLookupName=void 0,this._lastLookupScope=void 0,this._lastLookupHasScope=!1,this._sources=n.CommonUtils.EmptyArray,this._sourcesRemoveListeners=[],this._options={...e},this._getSources=e.getSources??null,this._transactions=this._options.transactions??new m({transient:!0}),this._emitter=new v(this,this._transactions)}_resolveSources(){if(!this._getSources||this._closed)return this._sources;let e=this._getSources()??n.CommonUtils.EmptyArray,t=this._sources;if(e.length===t.length){let n=!0;for(let r=0;r<e.length;r++)if(e[r]!==t[r]){n=!1;break}if(n)return t}let r=this,i=this._sourcesRemoveListeners.length;for(let e=0;e<i;e++)this._sourcesRemoveListeners[e]?.();this._sourcesRemoveListeners=[],this._sources=e;let a=e.length;for(let t=0;t<a;t++)this._sourcesRemoveListeners.push(e[t].addListeners({onCollectionChange:()=>{r._closed||(r._invalidateLookup(),r._emitter.notify(`onCollectionChange`))}},{transactional:!1}));return this._invalidateLookup(),e}_getOwningSource(){let e=this._resolveSources(),t=e.length;for(let n=0;n<t;n++)if(e[n].add)return e[n];return null}*[Symbol.iterator](){yield*this.getItems()}getItems(e){if(this.isClosed())return n.CommonUtils.EmptyArray;let t,r,i,a,o,s=null,c=!1;if(e&&(s=e.address??null,t=e.allowExtrudes??void 0,r=e.type??void 0,i=e.includeHidden??void 0,a=e.name??void 0,c=`scope`in e,o=c?e.scope??null:void 0,s===this._lastLookupAddress&&r===this._lastLookupType&&i===this._lastIncludeHidden&&t===this._lastAllowExtrudes&&a===this._lastLookupName&&o===this._lastLookupScope&&c===this._lastLookupHasScope))return this._lastLookup;this._lastLookupAddress=s,this._lastLookupType=r,this._lastIncludeHidden=i,this._lastAllowExtrudes=t??void 0,this._lastLookupName=a,this._lastLookupScope=o,this._lastLookupHasScope=c;let l=null;if(s){let e=this._options.addressToRanges(s);if(!e)return n.Notifier.debug(`Invalid range`,{meta:{type:`error`,address:s}}),this._lastLookup=null,null;l=e.getCoords()}let u=this._collectCandidates(l,t);if(u.length===0)return this._lastLookup=n.CommonUtils.EmptyArray,n.CommonUtils.EmptyArray;let d=a?.toLowerCase(),f=[],p=u.length;for(let e=0;e<p;e++){let t=u[e];r&&t.getType()!==r||!i&&t.isHidden()||d&&t.getName().toLowerCase()!==d||c&&t.getScope()!==o||f.push(t)}return f=f.sort((e,t)=>{let n=e.getType().localeCompare(t.getType());return n===0?e.getName().localeCompare(t.getName()):n}),this._lastLookup=f,f}getByRanges(e,t){return this._getByRanges(e,t,null)}_getByRanges(e,t,r){if(this.isClosed())return n.CommonUtils.EmptyArray;let i=this._qualifyCoords(e,r);if(!i)return n.CommonUtils.EmptyArray;let a=this.getItems(t),o=a?a.length:0;if(o===0)return n.CommonUtils.EmptyArray;let s=[],c=[];for(let e=0;e<o;e++){let r=a[e],o=null;try{o=r.getRanges?.()?.getCoords()??null}catch{}if(o&&n.CoordUtils.isEqualRangesArrays(o.slice().sort(n.CoordUtils.rowFirstRangeComparator),i)){s.push(r.getName());continue}if(!t?.includeParts)continue;let l=r.getPartReference?.(i)??null;l&&c.push(l)}for(let e=0;e<c.length;e++)s.push(c[e]);return s}_qualifyCoords(e,t){let r=null;try{r=(t?t.getRanges(e):this._options.addressToRanges(e))?.getCoords()??null}catch{return null}if(!r||r.length===0)return null;let i=t?t.getName():this._currentScope();return r.map(e=>e.scope?e:{...e,scope:i}).sort(n.CoordUtils.rowFirstRangeComparator)}_collectCandidates(e,t){let r=this._resolveSources(),i=r.length;if(i===0)return n.CommonUtils.EmptyArray;let a=[];for(let n=0;n<i;n++){let i=r[n].getItems(),o=i.length;for(let n=0;n<o;n++){let r=i[n];r&&(e&&!this._matchesCoords(r,e,t)||a.push(r))}}return a}_matchesCoords(e,t,r){let i=null;try{i=e.getRanges?.()?.getCoords()??null}catch{return!1}if(!i||i.length===0)return!1;let a=t.length,o=i.length;for(let e=0;e<a;e++){let a=t[e],s=a.scope;for(let e=0;e<o;e++){let t=i[e];if(t&&(!s||!t.scope||t.scope===s)){if(r){if(n.CoordUtils.isRangesIntersect(t,a))return!0}else if(n.CoordUtils.isRangeWithinRange(t,a))return!0}}}return!1}getByName(e,t=!1){return this._getByName(e,t,this._currentScope())}_getByName(e,t=!1,n=null){if(!e||this._closed||typeof e!=`string`)return null;let r=e.toLowerCase();return this._findInSources(e=>e.getName().toLowerCase()===r,t?void 0:n??void 0)}_currentScope(){return this._options.getCurrentScope?.()??null}_scopedTo(e){let t=this,n=new Map;return new Proxy(t,{get:(r,i)=>{if(i===`getItems`)return n=>((e,t)=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i].getScope();a?a===t&&n.push(e[i]):r.push(e[i])}if(n.length===0)return r.slice();let i=new Map;for(let e=0;e<r.length;e++)i.set(r[e].getName().toLowerCase(),r[e]);for(let e=0;e<n.length;e++)i.set(n[e].getName().toLowerCase(),n[e]);return Array.from(i.values())})(t.getItems(n),e.getName());if(i===`getByName`)return(n,r)=>t._getByName(n,r,e.getName());if(i===`getByRanges`)return(n,r)=>t._getByRanges(n,r,e);if(i===`addFormula`)return(n,r,i)=>t._addFormula(n,r,i,e.getName());let a=Reflect.get(t,i,t);if(typeof a!=`function`)return a;let o=n.get(i);return o||(o=a.bind(t),n.set(i,o)),o}})}getById(e){return e?this._closed?null:this._findInSources(t=>t.getId()===e):null}_findInSources(e,t){let n=t?.toLowerCase(),r=null,i=this._resolveSources(),a=i.length;for(let t=0;t<a;t++){let a=i[t].getItems(),o=a.length;for(let t=0;t<o;t++){let i=a[t];if(!i||!e(i))continue;let o=i.getScope();if(o){if(n&&o.toLowerCase()===n)return i}else r||=i}}return r}_findInSourcesByKey(e,t){let n=e.toLowerCase().trim(),r=t?t.toLowerCase():null,i=this._resolveSources(),a=i.length;for(let e=0;e<a;e++){let t=i[e].getItems(),a=t.length;for(let e=0;e<a;e++){let i=t[e];if(!i||i.getName().toLowerCase().trim()!==n)continue;let a=i.getScope();if((a?a.toLowerCase():null)===r)return i}}return null}getCount(){if(this._closed)return 0;let e=0,t=this._resolveSources(),n=t.length;for(let r=0;r<n;r++)e+=t[r].getItems().length;return e}findValidName(e,t=null,r=!1){if(!e)throw Error((0,n.t)(`error.named.templateRequired`));let i=this,a=e=>{try{return i._validateName(e,t,r),!0}catch{}return!1};return a(e)?e:b(e,a)}validateName(e,t=null,n=!1){return this._validateName(e,t,n)}_validateName(e,t,r=!1){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));if(!e||e.length===0)throw Error((0,n.t)(`error.named.nameEmpty`));if(e.length>255)throw Error((0,n.t)(`error.named.nameMaxLength`));if(e.indexOf(` `)!==-1)throw Error((0,n.t)(`error.named.containsSpaces`));let i=e.trim().toLowerCase(),a=i.substring(1,e.length-1);if(new RegExp(Kv).test(i[0]))throw Error((0,n.t)(`error.named.invalidFirstChar`));if(new RegExp(qv).test(a))throw Error((0,n.t)(`error.named.invalidTrailingChar`));if(i.length===1&&(i[0]===`r`||i[0]===`c`))throw Error((0,n.t)(`error.named.invalidSpecialRC`));if(function(e,t=Rl,n=Ll,r=!1){let i=fu(e,r);if(!i||i[2]||!i[1])return!1;let a=lu(e,pu);if(!a)return!1;let o=a.rowIndex;if(o<0||o>t)return!1;let s=a.colIndex;return!(s<0||s>=n)}(e))throw Error((0,n.t)(`error.named.invalidInvalidCellAddress`));let o=e.toLowerCase()?.trim();t&&(o=o+`:`+t.toLowerCase());let s=this._findInSourcesByKey(e,t);if(s){let i=s.getRanges?.()??null;if(!r||i&&i.getCount()>0)throw Error((0,n.t)(`error.named.nameExistsInScope`,{name:e,scope:t}))}}addFormula(e,t,n=!1){return this._addFormula(e,t,n,null)}_addFormula(e,t,r=!1,i=null){let a=this._getOwningSource();if(!a?.add)throw Error(`Cannot define '${e}': no calculation engine is attached to these names.`);if(this._options.isReadOnly?.())throw Error((0,n.t)(`error.named.nameReadonly`));return this._validateName(e,i,r),a.add({name:e,expression:t,replaceExisting:r,scope:i})}beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_invalidateLookup(){this._lastLookup=n.CommonUtils.EmptyArray,this._lastLookupAddress=null,this._lastLookupType=null,this._lastLookupName=void 0,this._lastLookupScope=void 0,this._lastLookupHasScope=!1}addListeners(e,t){return this._resolveSources(),this._emitter.addListeners(e,t)}isClosed(){return this._closed}close(){if(this._closed)return;this._emitter.notify(`onClose`),this._closed=!0;let e=this._sourcesRemoveListeners.length;for(let t=0;t<e;t++)this._sourcesRemoveListeners[t]?.();this._sourcesRemoveListeners=[]}get isINamedCollection(){return!0}},Yv=class extends Av{constructor(e){if(super(e),e.resource)this._resource=e.resource;else{if(!e.json)throw Error(`Resource is required to create Picture.`);this._resource=e.fromResourceId(e.json.resId)}}getType(){return`picture`}toJSON(e){let t={},n=e?.(this._resource);n!==null&&(t.resId=n);let r=this._getState();return r&&r.effects&&(t.effects=r.effects),t}getTypeDescription(){return`Picture`}async _asDataUrl(){if(this._dataUrl)return this._dataUrl;let e=await this.getDetails(),t=await n.ImageUtils.getImageDataUrl(e.asUrl());return this._dataUrl=t.dataUrl,this._dataUrl}toHtml(){return null}async toImage(){let e=await this.toArrayBuffer();return new Blob([e],{type:n.MimeType.Png})}async toArrayBuffer(){let e=(await this._asDataUrl()).substring(n.ImageUtils.DATA_URL_PNG_PREFIX.length);return n.BufferUtils.base64ToArrayBuffer(e)}getResource(){return this._resource}async getDetails(){return this._details||=new Promise(async(e,t)=>{try{let t=await this._resource.toBuffer(),r=await this._resource.getType(),i=await n.ImageUtils.loadImageDetails(t,r?.mime);e({getNaturalSize:()=>i.naturalSize,asUrl:()=>i.asUrl,asSVGText:()=>i.asSVGText})}catch(e){t(e)}}),this._details}_getActionDescription(e){return(0,n.messageKey)(`op.deletePicture`)}_fromDrawingJSON(e,t){this._resource?.deleteReference(this),this._resource=t?.(e.resId),this._resource.addReference(this)}_toDrawingJSON(e){let t={},n=e?.(this._resource);return n!==null&&(t.resId=n),t}_processDelete(){super._processDelete()}},Xv=class extends Av{constructor(e){super(e),e.json&&this._updateState({data:e.json})}getType(){return`chart`}getChartTitle(){let e=this._getState()?.data;if(!e)return null;let t=e?.title?.text?.runs?.[0]?.text??null;return t&&typeof t==`string`?t:null}getChartType(){return(this._getState()?.data)?.types?.[0]?.type??`unknown`}getDescription(){return`Chart: ${this.getChartType()}`}toJSON(e){let t=this._getState(),n=null;return t&&t.data&&(n=t.data),n}getTypeDescription(){return`Chart`}},Zv=class extends Av{constructor(e){super(e),e.json&&this._updateState({data:e.json})}getType(){return`shape`}getName(){return this._options?.getName?.()??``}getDescription(){return`Shape: ${this._getState()?.data}`}toJSON(e){let t=this._getState(),n=null;return t&&t.data&&(n=t.data),n}getTypeDescription(){return`Shape`}get[Symbol.toStringTag](){return`[Shape]`}toString(){return this.getTypeDescription()}},Qv=class extends Av{constructor(e){super(e),e.json&&this._updateState({data:e.json,name:e.name})}getType(){return`slicer`}getDescription(){let e=this._getState();return`Slicer: ${e?.data?.name??e?.name}`}toJSON(e){return this._getState(),null}getTypeDescription(){return`Slicer`}get[Symbol.toStringTag](){return`[Slicer]`}toString(){return this.getTypeDescription()}},$v=class extends Av{constructor(e){super(e),e.json&&this._updateState({data:e.json,type:e.type})}getType(){return this._getState()?.type??`custom`}getDescription(){let e=this._getState(),t=e?.type??`Custom`,n=e?.data;return`${t}${n?`: ${n}`:``}`}toJSON(e){let t=this._getState(),n=null;return t&&t.data&&(n=t.data),n}getTypeDescription(){return`CustomElement`}};(Dv||={}).Content={Values:`values`,Formats:`formats`,Formulas:`formulas`,Hyperlinks:`hyperlinks`,Tables:`tables`,Notes:`notes`,Comments:`comments`},(Ov||={}).Feature={Contentful:`contentful`,DateFormat:`dateFormat`,Error:`error`,Formula:`formula`,Spills:`spills`,CalcError:`calcError`,Fill:`fill`,Border:`border`,NumberFormat:`numberFormat`,Alignment:`alignment`,Font:`font`,Merge:`merge`,Table:`table`,AutoTable:`autoTable`,Hyperlink:`hyperlink`,Comments:`comments`,Unlock:`unlock`,Conditionals:`conditionals`,DataValidations:`dataValidations`};function ey(e,t,n=!0,r=!0){let i=0,a=0;if(!n&&!r)return{x:i,y:a};let o=!1,s=0;do{let s={x:t.x+i,y:t.y+a,width:0,height:0},c=e.getItems({bounds:s});if(o=!1,c.length>0){for(let e=0;!o&&e<c.length;e++){let t=c[e].getBounds();t.x===s.x&&t.y===s.y&&(o=!0)}o&&(i+=n?16:0,a+=r?16:0)}}while(o&&++s<100);return{x:i,y:a}}function ty(e){if(!e||e.length<=1)return!1;if(e.length===2)return n.CoordUtils.isRangesIntersect(e[0],e[1]);let t=new wa;t.load(e);let r=e.length;for(let n=0;n<r;n++)if(t.search(e[n]).length>1)return!0;return!1}function ny(e,r,i){let a=[];if(n.CoordUtils.isRangesIntersect(e,r)){let o=n.CommonUtils.subtractRect({top:e.rowStart,left:e.colStart,bottom:e.rowEnd+1,right:e.colEnd+1},{top:r.rowStart,left:r.colStart,bottom:r.rowEnd+1,right:r.colEnd+1},i===t.IRange.Axis.Column),s=o.length;for(let e=0;e<s;e++){let t={colStart:o[e].left,rowStart:o[e].top,colEnd:o[e].right-1,rowEnd:o[e].bottom-1};a.push(t)}}else a.push(e);return a}function ry(e,t,r){if(!t||!e?.[0])return;let i=e.length;for(let a=0;a<i;a++){let i=e[a];n.CoordUtils.intersectRanges(i,t)&&r(i,!n.CoordUtils.isRangeWithinRange(i,t),a)}}function iy(e){return e?{colIndex:e.colStart,rowIndex:e.rowStart}:null}function ay(e,t){let n=e.colStart,r=e.rowStart,i=t.colStart,a=t.rowStart;return(e,t)=>{let o=e.colIndex-n,s=t.colIndex-i;return o===s?e.rowIndex-r-(t.rowIndex-a):o-s}}function oy(e,t){let n=e.colStart,r=e.rowStart,i=t.colStart,a=t.rowStart;return(e,t)=>{let o=e.rowIndex-r,s=t.rowIndex-a;return o===s?e.colIndex-n-(t.colIndex-i):o-s}}function sy(e,t,r=!1,i=!1){t||={...e};let a=t.colEnd-t.colStart+1,o=t.rowEnd-t.rowStart+1;if(i){let e=a;a=o,o=e}let s={...e};if(s.colEnd=e.colStart+a-1,s.rowEnd=e.rowStart+o-1,r){if(!n.CoordUtils.isSingleCell(e)){let t=e.colEnd-e.colStart,n=e.rowEnd-e.rowStart;s.colEnd=e.colStart+(i?n:t),s.rowEnd=e.rowStart+(i?t:n)}return s}let c=e.colEnd-e.colStart+1;if(c%a!==0)return s;let l=e.rowEnd-e.rowStart+1;return l%o!==0||(s.colEnd=e.colStart+c-1,s.rowEnd=e.rowStart+l-1),s}var cy,ly,uy=class{constructor(e,t,n){this._add=e,this._get=t,this._getByName=n}add(e,t){if(!e)throw Error((0,n.t)(`error.table.tableNoBody`));return this._add(e,t)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){if(e&&e.name&&Object.keys(e).length===0)return[this._getByName(e.name)];let t;e?.address&&(t=e.address);let n=this._get(t,e?.ignoreHidden,e?.fullyContained);if(e?.name){let t=e.name.toLocaleLowerCase();for(let e=0;e<n.length;e++)if(n[e].getName().toLocaleLowerCase()===t)return[n[e]]}return n}getByName(e){if(typeof e!=`string`)throw Error(`Get by name must take a valid name.`);return this._getByName(e)}getCount(){return this._get(null,!1,!1).length}};function dy(e,r,i){let a=[];r?.ranges&&r.ranges.length>0?a=r.ranges:r?.cell&&(a=[n.CoordUtils.cellToRange(r.cell)]);let o=e===t.IRange.Axis.Column,s=o?i.rowStart:i.colStart,c=o?i.rowEnd:i.colEnd,l=[];for(let e=0;e<a.length;e++){let t=a[e],n=o?t.colStart:t.rowStart,r=o?t.colEnd:t.rowEnd,i=o?t.rowStart:t.colStart,u=o?t.rowEnd:t.colEnd;l=Kr(Gr(l,{min:n,max:r,value:i<=s&&u>=c},{onUpdate:(e,t)=>!!e||!!t}))}return l}function fy(e,t,r){if(!e)return n.CoordUtils.EmptySelection;let i=t.cell,a=r.colStart,o=r.rowStart,s=r.colEnd,c=r.rowEnd,l=e?.cell;!l||n.CoordUtils.isEqualCells(i,l)&&l.scope===i?.scope||(i=Object.freeze({...l,colIndex:Math.max(a,Math.min(l.colIndex??t.cell?.colIndex??0,s)),rowIndex:Math.max(o,Math.min(l.rowIndex??t?.cell?.rowIndex??0,c))}));let u=e?.ranges?[...e.ranges]:[],d=!1,f=u.length,p=f===0;for(let e=0;e<f;e++){let t=u[e];t&&(u[e]=Object.freeze({...t,colStart:Math.max(a,Math.min(t.colStart,s)),rowStart:Math.max(o,Math.min(t.rowStart,c)),colEnd:Math.max(a,Math.min(t.colEnd,s)),rowEnd:Math.max(o,Math.min(t.rowEnd,c))}),p||=n.CoordUtils.isCellWithinRange(i,t),d||=Object.keys(t).length>4)}let m=t?.ranges??[];!d&&n.CoordUtils.isEqualRangesArrays(m,u)||(m=u);let h=e?.rangeIndex??t?.rangeIndex??n.CoordUtils.EmptySelection.rangeIndex;if(h=Math.max(-1,Math.min(h,m.length-1)),!p&&h>=0&&m[h]){let e=m[h],t=i.rowIndex;t<e.rowStart?t=e.rowStart:t>e.rowEnd&&(t=e.rowEnd);let n=i.colIndex;n<e.colStart?n=e.colStart:n>e.colEnd&&(n=e.colEnd),i=Object.freeze({...i,colIndex:n,rowIndex:t})}return Object.freeze({cell:i,ranges:m,rangeIndex:h})}function py(e){if(!e)return null;let t=[];if(e.ranges&&e.ranges.length>0){let n=Math.max(0,Math.min(e.rangeIndex??0,e.ranges.length));for(let r=n;r<e.ranges.length;r++)t.push(e.ranges[r]);for(let r=0;r<n;r++)t.push(e.ranges[r])}else e.cell&&t.push(n.CoordUtils.cellToRange(e.cell));return t}function my(e,t,r=-1){if(!e||e.length===0)return null;let i=e[0],a=e.length===1&&i.rowStart===i.rowEnd&&i.colStart===i.colEnd,o=r===-1?e.length-1:Math.min(Math.max(0,r),e.length-1);if(!t){let n=e[o];t={rowIndex:n.rowStart,colIndex:n.colStart}}return{cell:t,ranges:a?n.CommonUtils.EmptyArray:[...e],rangeIndex:a?-1:o}}function hy(e,t){if(!t||t.rowStart>e.rowEnd||t.rowEnd<e.rowStart||t.colStart>e.colEnd||t.colEnd<e.colStart)return[{...e}];let n=[];t.rowStart>e.rowStart&&n.push({colStart:e.colStart,rowStart:e.rowStart,colEnd:e.colEnd,rowEnd:t.rowStart-1}),t.rowEnd<e.rowEnd&&n.push({colStart:e.colStart,rowStart:t.rowEnd+1,colEnd:e.colEnd,rowEnd:e.rowEnd});let r=Math.max(e.rowStart,t.rowStart),i=Math.min(e.rowEnd,t.rowEnd);return t.colStart>e.colStart&&n.push({colStart:e.colStart,rowStart:r,colEnd:t.colStart-1,rowEnd:i}),t.colEnd<e.colEnd&&n.push({colStart:t.colEnd+1,rowStart:r,colEnd:e.colEnd,rowEnd:i}),n}function gy(e,t){if(!t||t.length===0)return e.map(e=>({...e}));let n=e;for(let e=0;e<t.length&&n.length>0;e++){let r=[];for(let i=0;i<n.length;i++)r.push(...hy(n[i],t[e]));n=r}return n}function _y(e,t){return e.colStart<=t.colStart&&e.colEnd>=t.colEnd&&e.rowStart<=t.rowStart&&e.rowEnd>=t.rowEnd?{...e}:t.colStart<=e.colStart&&t.colEnd>=e.colEnd&&t.rowStart<=e.rowStart&&t.rowEnd>=e.rowEnd?{...t}:e.colStart===t.colStart&&e.colEnd===t.colEnd&&e.rowStart<=t.rowEnd+1&&t.rowStart<=e.rowEnd+1?{colStart:e.colStart,rowStart:Math.min(e.rowStart,t.rowStart),colEnd:e.colEnd,rowEnd:Math.max(e.rowEnd,t.rowEnd)}:e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd&&e.colStart<=t.colEnd+1&&t.colStart<=e.colEnd+1?{colStart:Math.min(e.colStart,t.colStart),rowStart:e.rowStart,colEnd:Math.max(e.colEnd,t.colEnd),rowEnd:e.rowEnd}:null}(ly=cy||={}).fastStringToCol=uu,ly.fastStringToCell=su,ly.fastStringToRange=du,ly.rangeToString=(e,t,n)=>ql(e,t,n),ly.cellToString=Wl,ly.normalizeA1ToR1C1=Cu,ly.resolveRelativeToA1=vu,ly.sheetNameToString=Gl,ly.sheetAndRangeToString=Kl,ly.runToString=Ou,ly.stringToRun=ku,ly.runToRef=Au,ly.refToRun=ju,ly.runsToRefs=Mu,ly.refsToRuns=Nu;var vy=(e,t)=>e-t;function yy(e,t){return e.rowStart<=t.rowEnd&&t.rowStart<=e.rowEnd&&e.colStart<=t.colEnd&&t.colStart<=e.colEnd}var by=class{constructor(){this._bands=new Map,this._tall=[],this._isTall=[],this._all=[],this._isKnown=[],this._overlapping=!1}isOverlapping(){return this._overlapping}markOverlapping(){this._overlapping=!0}add(e,t){this._isKnown[e]||(this._isKnown[e]=!0,this._all.push(e));let n=t.rowStart>>5,r=t.rowEnd>>5;if(r-n>64)return void(this._isTall[e]||(this._isTall[e]=!0,this._tall.push(e)));let i=this._bands;for(let t=n;t<=r;t++){let n=i.get(t);n===void 0&&i.set(t,n=[]),n.push(e)}}collectRows(e,t,n,r,i){let a=this._tall;for(let e=0;e<a.length;e++){let t=a[e];n[t]!==r&&(n[t]=r,i.push(t))}let o=e>>5,s=t>>5;if(s-o>64){let e=this._all;for(let t=0;t<e.length;t++){let a=e[t];n[a]!==r&&(n[a]=r,i.push(a))}return}let c=this._bands;for(let e=o;e<=s;e++){let t=c.get(e);if(t!==void 0)for(let e=0;e<t.length;e++){let a=t[e];n[a]!==r&&(n[a]=r,i.push(a))}}}collectNeighbors(e,t,n,r){this.collectRows(e.rowStart-1,e.rowStart-1,t,n,r),this.collectRows(e.rowEnd+1,e.rowEnd+1,t,n,r),(e.rowEnd>>5)-(e.rowStart>>5)>64&&!this._overlapping||this.collectRows(e.rowStart,e.rowEnd,t,n,r)}},xy=class{constructor(){this._keys=[]}getSize(){return this._keys.length}push(e){let t=this._keys;t.push(e);let n=t.length-1;for(;n>0;){let e=n-1>>1;if(t[e]<=t[n])break;let r=t[e];t[e]=t[n],t[n]=r,n=e}}pop(){let e=this._keys,t=e[0],n=e.pop(),r=e.length;if(r>0){e[0]=n;let t=0;for(;;){let n=2*t+1;if(n>=r)break;let i=n+1,a=i<r&&e[i]<e[n]?i:n;if(e[t]<=e[a])break;let o=e[t];e[t]=e[a],e[a]=o,t=a}}return t}};function Sy(e,t){let n=e.map(e=>({...e})),r=Array(n.length).fill(!1),i=n.length+t.length;return i*i<=256?(function(e,t,n){for(let r=0;r<n.length;r++){let i=[n[r]];for(let t=0;t<e.length&&i.length>0;t++){let n=[];for(let r=0;r<i.length;r++)n.push(...hy(i[r],e[t]));i=n}for(let n=0;n<i.length;n++)e.push(i[n]),t.push(!0)}let r=!0;for(;r;){r=!1;for(let n=0;n<e.length&&!r;n++)for(let i=n+1;i<e.length&&!r;i++){if(!t[n]&&!t[i])continue;let a=_y(e[n],e[i]);a&&(e[n]=a,t[n]=!0,e.splice(i,1),t.splice(i,1),r=!0)}}}(n,r,t),n):function(e,t,n){let r=e.length,i=Array(r).fill(!0),a=Array(r).fill(-1),o=new xy,s=[],c=0,l=l=>{s.length=0,n.collectNeighbors(e[l],a,c++,s);for(let n=0;n<s.length;n++){let a=s[n];if(a===l||!i[a]||!t[l]&&!t[a]||!_y(e[l],e[a]))continue;let c=a<l?a:l,u=a<l?l:a;o.push(c*r+u)}};for(let e=0;e<r;e++)l(e);for(;o.getSize()>0;){let a=o.pop(),s=Math.floor(a/r),c=a-s*r;if(!i[s]||!i[c]||!t[s]&&!t[c])continue;let u=_y(e[s],e[c]);u&&(e[s]=u,t[s]=!0,i[c]=!1,n.add(s,u),l(s))}let u=[];for(let t=0;t<r;t++)i[t]&&u.push(e[t]);return u}(n,r,function(e,t,n){let r=new by,i=[],a=[],o=e.length;for(let t=0;t<o;t++){if(i.push(-1),!r.isOverlapping()){a.length=0,r.collectRows(e[t].rowStart,e[t].rowEnd,i,-2-t,a);for(let n=0;n<a.length;n++)if(yy(e[t],e[a[n]])){r.markOverlapping();break}}r.add(t,e[t])}for(let o=0;o<n.length;o++){a.length=0,r.collectRows(n[o].rowStart,n[o].rowEnd,i,o,a),a.sort(vy);let s=[n[o]];for(let t=0;t<a.length&&s.length>0;t++){let r=e[a[t]];if(!yy(n[o],r))continue;let i=[];for(let e=0;e<s.length;e++)i.push(...hy(s[e],r));s=i}for(let n=0;n<s.length;n++){let a=e.length;e.push(s[n]),t.push(!0),i.push(-1),r.add(a,s[n])}}return r}(n,r,t))}var Cy,wy,Ty=class extends hv{constructor(...e){super(...e),this._conditionWatches=new Map,this._markedValueRange=void 0,this._valueUpdatesScheduled=!1}_initialize(e){super._initialize(e),this._getValueGrid=e.getGridValues,this._updateState({...Ey,...this._getDefaultState(e)},this._getActionDescription(`initialize`)??(0,n.messageKey)(`op.initialize`));try{this._fromJSON(e?.json)}catch(e){throw console.error(`Error creating anchored conditional from JSON`,e),e}let t=this;this._rangeListener=e=>{t._markValueUpdates(e.getTo())},this._processAnchorCoords()}_markValueUpdates(e=null){this._markedValueRange===void 0?this._markedValueRange=e:this._markedValueRange=null,this._valueUpdatesScheduled||(this._valueUpdatesScheduled=!0,queueMicrotask(()=>{this._valueUpdatesScheduled=!1;let e=this._markedValueRange;this._markedValueRange=void 0,e!==void 0&&(this.isClosed()||this.isDeleted()||this._processValueUpdates(e))}))}_watchConditionFormula(e,t,n,r){r.add(t);let i=this._conditionWatches.get(t);if(!i){if(e.getCount()===0)return null;let n=this;i={remove:()=>{},values:[],pending:[]},this._conditionWatches.set(t,i);let r=i;r.remove=e.addWatch(t,(e,t)=>{r.values[t]=e;let i=r.pending[t];if(i&&i.length>0){r.pending[t]=[];for(let t=0;t<i.length;t++)i[t](e)}n._markValueUpdates(null)})}let a=i.values[n];if(a)return a;let o=i;return new Promise(e=>{(o.pending[n]??=[]).push(e)})}_pruneConditionWatches(e){for(let[t,n]of[...this._conditionWatches])e.has(t)||(this._removeConditionWatch(n),this._conditionWatches.delete(t))}_removeConditionWatches(){for(let e of this._conditionWatches.values())this._removeConditionWatch(e);this._conditionWatches.clear()}_removeConditionWatch(e){e.remove();for(let t=0;t<e.pending.length;t++){let n=e.pending[t];if(n)for(let e=0;e<n.length;e++)n[e](null)}e.pending.length=0}_processClose(){this._removeConditionWatches(),this._getState().removeListener?.(),super._processClose()}_processAnchorCoords(){let e=this._getState();if(!e||(e.removeListener?.(),super._processAnchorCoords(),!this._rangeListener))return;let t=this.getRanges(),r=t.isInvalid()?void 0:t.addListener(this._rangeListener,Dy);this._updateState({removeListener:r},this._getActionDescription(`updateListener`)??(0,n.messageKey)(`op.updateListener`)),this._markValueUpdates(null)}_processContainerShift(e){let t=super._processContainerShift(e);return e.after||this._getState().anchorCoords||this._delete(),this._processAnchorCoords(),t}_isAnchorAbsolute(){return!0}getCoords(){return this.getFirstAnchorCoords()}setRanges(e,t){return this._setAnchorRanges(e,t)}getIndex(){return this._options?.getContainerIndex?.()??-1}setIndex(e){return this._options?.setContainerIndex?.(e),this}getCondition(){return this._getState().condition??null}setCondition(e,t){let r=pv.resolveInput(e);return this._updateState({condition:r},{description:(0,n.messageKey)(`op.setCondition`),...t},[`onConditionChange`])}_rebaseAnchorFormulas(e,t){if(e.rowIndex===t.rowIndex&&e.colIndex===t.colIndex)return!0;let n=this._getState().condition;if(!n)return!0;let r=JSON.parse(JSON.stringify(n.toJSON())),i=this._rebaseConditionFormulas(r,e,t);return i!==null&&(i&&this.setCondition(r),!0)}_rebaseConditionFormulas(e,t,n){if(!e||typeof e!=`object`)return!1;let r=e.param;if(e.operator===Q.BuiltInOperatorNames.Expression){if(typeof r!=`string`||!r)return!1;let i=this._shiftFormulaText(r,t,n);return i===null?null:i!==r&&(e.param=i,!0)}if(typeof r==`string`){if(!r.startsWith(`=`))return!1;let i=this._shiftFormulaText(r.slice(1),t,n);return i===null?null:`=`+i!==r&&(e.param=`=`+i,!0)}if(!r||typeof r!=`object`)return!1;if(Array.isArray(r)){let e=!1;for(let i of r){let r=this._rebaseConditionFormulas(i,t,n);if(r===null)return null;e||=r}return e}if(typeof r.operator==`string`)return this._rebaseConditionFormulas(r,t,n);let i=!1;for(let e of[`from`,`to`]){let a=r[e];if(typeof a!=`string`||!a.startsWith(`=`))continue;let o=this._shiftFormulaText(a.slice(1),t,n);if(o===null)return null;`=`+o!==a&&(r[e]=`=`+o,i=!0)}return i}_extendPastedRanges(e,t){return!(this.isDeleted()||this.getIndex()<0)&&JSON.stringify(this.toJSON())===t&&(this._extendRanges(e),!0)}_extendRanges(e){let t=this.getRanges().getCoords(),r=Sy(t,e);if(n.CoordUtils.isEqualRangesArrays(t,r))return;let i=t[0],a=r[0];if((a.rowStart!==i.rowStart||a.colStart!==i.colStart)&&!this._rebaseAnchorFormulas({rowIndex:i.rowStart,colIndex:i.colStart},{rowIndex:a.rowStart,colIndex:a.colStart})){let i=gy(e,t);if(i.length===0)return;r=t.concat(Sy(n.CoordUtils.EmptyRanges,i))}this.setRanges(r)}_shiftFormulaText(e,t,n){let r=this._options.getCalculation?.()??null;if(!r)return null;try{let i=r.createFormula(e,t),a=i?.shift(n);return a?a.hasRefError()&&!i.hasRefError()?null:a.getExpression():null}catch{return null}}createDefaultCondition(){return pv.resolveInput({selector:null,operator:null,param:null})}apply(){}async _evalConditionRanges(e){let t=this._getState().condition;if(!t)return;let n=this._options,r=n.getCalculation?.()??null,i=this._getValueGrid(),a=this.getRanges(),o=new Set,s=a.getCount();for(let c=0;c<s;c++){let s=a.at(c).getCoords();if(!s)continue;let l=c;await lv({runtime:n.getRuntime?.(),calculation:r,conditions:[t],values:i,coords:s,watchFormula:e=>this._watchConditionFormula(a,e,l,o),onTrue:e.onTrue,onFalse:e.onFalse})}this._pruneConditionWatches(o)}get[Symbol.toStringTag](){return`[${this._getType()}]`}toString(){let e=this._getState().condition,t=e?.getSelector()?.getName(),n=e?.getOperator()?.getName(),r=this.getRange()?.toString();return`${this._getType()}${t?`:${t}`:``}${n?`:${n}`:``}${r?`:${r}`:``}`}},Ey=Object.freeze({condition:null,removeListener:null}),Dy=Object.freeze({transactional:!1});(wy=Cy||={}).ScaleType={ColorScale:`colorScale`,DataBar:`dataBar`,IconSet:`iconSet`},wy.ColorStopType={AutoMin:`autoMin`,AutoMax:`autoMax`,Formula:`formula`,Max:`max`,Min:`min`,Num:`num`,Percent:`percent`,Percentile:`percentile`};var Oy=class e{constructor(e,t){this._c=e,this._m=t}getModel(){return this._m}getCoords(){return this._c}getPropertiesAt(e,t,n){return this._m.getPropertiesAt(e,t,n)}getDecorationAt(e,t,n){return this._m.getDecorationAt(e,t,n)}getSplit(t){let n=this._m;return[new e(t[0],n),new e(t[1],n)]}},ky=class extends Ty{constructor(...e){super(...e),this._colorScale=null,this._dataBar=null,this._iconSet=null,this._matches=null,this._stopValues=new Map,this._stopWatchRemoves=null,this._stopWatchKey=null,this._prepareGeneration=0}_initialize(e){if(!e.json)throw Error(`json is required`);this._styles=e.sheet?.getStyles()??new sg,super._initialize(e),this._stylesRemoveListener=this._styles.addListeners({onThemeChange:()=>{this._markValueUpdates(null)}})}_getType(){return`ConditionalFormat`}_getActionDescription(e){return e===`delete`?(0,n.messageKey)(`op.deleteConditionalFormat`):e===`initialize`?(0,n.messageKey)(`op.initializeConditionalFormat`):(0,n.messageKey)(`op.updateConditionalFormatListener`)}_getDefaultState(e){return{...Ay}}_processValueUpdates(e=null){let t=this._getState();if(!t)return;let n=this._options,r=this,i=t.scale,a=this.getRanges();this._syncStopWatches(a,i?.stops??null);let o=++this._prepareGeneration,s=i?.type===Cy.ScaleType.ColorScale?i.stops:null;s?(async()=>{let e=await r._prepareColorScale(a,s);o===r._prepareGeneration&&(r._colorScale=e,n.invalidate?.())})():this._colorScale=null;let c=i?.type===Cy.ScaleType.DataBar?i:null;c?(async()=>{let e=await r._prepareDataBar(a,c);o===r._prepareGeneration&&(r._dataBar=e,n.invalidate?.())})().catch(()=>{o===r._prepareGeneration&&(r._dataBar=null)}):this._dataBar=null;let l=i?.type===Cy.ScaleType.IconSet?i:null;l?(async()=>{let e=await r._prepareIconSet(a,l);o===r._prepareGeneration&&(r._iconSet=e,n.invalidate?.())})().catch(()=>{o===r._prepareGeneration&&(r._iconSet=null)}):this._iconSet=null,t.condition&&t.style?(async()=>{let e=new no({axis:r._getValueGrid().getAxis()});await r._evalConditionRanges({onTrue:t=>{e.setValueAt(t.rowIndex,t.colIndex,!0)}}),o===r._prepareGeneration&&(r._matches=e,n.invalidate?.())})().catch(()=>{o===r._prepareGeneration&&(r._matches=null)}):this._matches=null}async _resolveStopValues(e,t){let n=t.some(e=>e.type===Cy.ColorStopType.Min||e.type===Cy.ColorStopType.Max||e.type===Cy.ColorStopType.Percent||e.type===Cy.ColorStopType.AutoMin||e.type===Cy.ColorStopType.AutoMax),r=null,i=null,a=null;if(n){r=e.getStats();let t=r.getAggregates();i=t.min??null,a=t.max??null}let o=[];for(let n of t){let t=null;switch(n.type??Cy.ColorStopType.Num){case Cy.ColorStopType.Min:t=i;break;case Cy.ColorStopType.Max:t=a;break;case Cy.ColorStopType.AutoMin:t=i===null?null:Math.min(0,i);break;case Cy.ColorStopType.AutoMax:t=a===null?null:Math.max(0,a);break;case Cy.ColorStopType.Num:t=Number(n.value)??0;break;case Cy.ColorStopType.Percentile:r??=e.getStats(),t=r.getSortedNumbers().getPercentile((Number(n.value)??0)/100);break;case Cy.ColorStopType.Percent:{let e=Math.max(0,Math.min(100,Number(n.value)??0));i!==null&&a!==null&&(t=i+e/100*(a-i));break}case Cy.ColorStopType.Formula:{let e=this._stopValues.get(``+n.value);typeof e==`number`&&(t=e);break}default:t=Number(n.value)??0}o.push(t!==null&&Number.isFinite(t)?t:null)}return o}_formulaAnchor(e){let t=e.getCount()>0?e.at(0).getCoords():null;return t?{rowIndex:t.rowStart,colIndex:t.colStart}:null}_syncStopWatches(e,t){let n=[],r=t?t.length:0;for(let e=0;e<r;e++){let r=t[e];if(r.type!==Cy.ColorStopType.Formula)continue;let i=``+(r.value??``);i.trim().length>0&&!n.includes(i)&&n.push(i)}let i=n.length>0?this._formulaAnchor(e):null,a=i?`${i.rowIndex}:${i.colIndex}|${n.join(`\0`)}`:null;if(a===this._stopWatchKey||(this._removeStopWatches(),this._stopWatchKey=a,!a||!i))return;let o=e.getSheet().getRange({rowStart:i.rowIndex,rowEnd:i.rowIndex,colStart:i.colIndex,colEnd:i.colIndex}),s=this,c=[];for(let e=0;e<n.length;e++){let t=n[e];c.push(o.addWatch(t,e=>{let n=e.getValueAt(0,0),r=typeof n==`number`&&Number.isFinite(n)?n:null;s._stopValues.has(t)&&s._stopValues.get(t)===r||(s._stopValues.set(t,r),s._markValueUpdates(null))}))}this._stopWatchRemoves=c}_removeStopWatches(){let e=this._stopWatchRemoves;if(e){for(let t=0;t<e.length;t++)e[t]();this._stopWatchRemoves=null,this._stopValues.clear()}}_processClose(){this._removeStopWatches(),this._stopWatchKey=null,this._stylesRemoveListener?.(),this._stylesRemoveListener=null,super._processClose()}async _prepareColorScale(e,t){if(!t||t.length===0)return null;let n=await this._resolveStopValues(e,t),r=this._styles,i=[];for(let e=0;e<t.length;e++){let a=n[e];if(a===null)continue;let o=t[e],s=r.parseColor(o.color).toRGBA(),c=[s.red,s.green,s.blue];i.push({v:a,rgb:c,exclusive:o.exclusive??!1})}return i.length===0?null:(i.sort((e,t)=>e.v-t.v),{stops:i,colorFor:Fy(i)})}async _prepareDataBar(e,t){let n=t.stops;if(!n||n.length<2)return null;let r=await this._resolveStopValues(e,n),i=r[0],a=r[r.length-1];if(i===null||a===null||a===i)return null;let o;o=t.axisPosition===`none`?0:t.axisPosition===`middle`?.5:Ny((0-i)/(a-i));let s=Ny((t.minLength??0)/100),c=Ny((t.maxLength??100)/100),l=this._styles,u=e=>e===void 0?void 0:l.parseColor(e).toCSS(`adaptive`,!0),d={type:Cy.ScaleType.DataBar,axis:o,color:u(t.color)??jy,negativeColor:u(t.negativeFillColor),borderColor:u(t.borderColor),negativeBorderColor:u(t.negativeBorderColor),axisColor:u(t.axisColor),gradient:t.gradient??!1,direction:t.direction===`rightToLeft`?`rightToLeft`:`leftToRight`,showValue:t.showValue??!0};return{barFor:e=>{let t=Ny((e-i)/(a-i))-o,n=t>=0?1-o:o,r;if(n<=0)r=o;else{let e=s+Math.abs(t)/n*(c-s);r=o+(t>=0?1:-1)*e*n}return{...d,value:Ny(r)}}}}async _prepareIconSet(e,t){let n=t.stops;if(!n||n.length===0)return null;let r=t.iconSet;if(!r)return null;let i=await this._resolveStopValues(e,n),a=n.length,o=t.icon,s=t.reverse??!1,c=t.showValue??!0;return{iconFor:e=>{let t=0;for(let r=1;r<a;r++){let a=i[r];if(a!==null){if(!(n[r].exclusive?e>a:e>=a))break;t=r}}s&&(t=a-1-t);let l=o?.[t];if(l){let e=function(e){let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:0}(l.set);return l.id<0||l.id>=e?null:{type:Cy.ScaleType.IconSet,index:l.id,set:l.set,count:e,showValue:c}}return{type:Cy.ScaleType.IconSet,index:t,set:r,count:a,showValue:c}}}}setStopIfTrue(e,t){return this._updateState({stopIfTrue:e},{description:e?(0,n.messageKey)(`op.setStopTrue`):(0,n.messageKey)(`op.setStopFalse`),...t},[`onAnyChange`]),this}isStopIfTrue(){return this._getState().stopIfTrue??!1}getScale(){return this._getState().scale??null}getStyle(){return this._getState().style??null}_rebaseAnchorFormulas(e,t){if(!super._rebaseAnchorFormulas(e,t))return!1;if(e.rowIndex===t.rowIndex&&e.colIndex===t.colIndex)return!0;let n=this._getState().scale,r=n?.stops;if(!r||r.length===0)return!0;let i=!1,a=Array(r.length);for(let n=0;n<r.length;n++){let o=r[n];if(a[n]=o,o.type!==Cy.ColorStopType.Formula||typeof o.value!=`string`||!o.value)continue;let s=this._shiftFormulaText(o.value,e,t);if(s===null)return!1;s!==o.value&&(i=!0,a[n]={...o,value:s})}return i&&this.update({scale:{...n,stops:a}}),!0}getSnapshot(e){let t={...this.toJSON()},r=JSON.stringify(this.toJSON()),i=this.getRange().getCoords(),a=this,o=Object.freeze({...e});return{async copyTo(e,i){let o=e.ranges??[e.range];if(!e.extend||!a._extendPastedRanges(o,r)){let n=e.conditionals.add(o,{...t});e.index!==void 0&&n.setIndex(e.index)}return n.CoordUtils.unionRangesArrays(o)},getCoords:()=>i,getSource:()=>a,getName:()=>`Conditional Format`,getMarkOptions:()=>o,isISnapshot:!0}}_createSpatial(e){return new Oy(e,this)}update(e,t){if(this.isDeleted())throw Error(`Table has been closed. No further operations are allowed.`);let r=this._getState(),i=this._beginCommit(t?.description??(0,n.messageKey)(`op.updateConditionalFormat`));try{let{condition:n,stopIfTrue:a,...o}=e,s={...r,...o,...`stopIfTrue`in e?{stopIfTrue:a??!1}:null,...`condition`in e?{condition:pv.fromJSON(n)}:null};`condition`in e&&s.condition&&!(`scale`in e)?s.scale=null:`scale`in e&&s.scale&&!(`condition`in e)&&(s.condition=null),this._updateState(s,t),this._getEmitter().notify(`onAnyChange`),i.commit()}catch(e){throw i.rollback(),e}return this._markValueUpdates(null),this}toJSON(){let e={},t=this._getState();if(t===null)return null;if(t.condition){let n=t.condition.toJSON();n&&(e.condition=n)}return t.style&&(e.style=t.style),t.scale&&(e.scale=t.scale),t.stopIfTrue&&(e.stopIfTrue=t.stopIfTrue),t.pivot&&(e.pivot=t.pivot),t.ext&&(e.ext=t.ext),e}_fromJSON(e){let t=e??{},r={...Ay,style:t.style??null,scale:t.scale??null,stopIfTrue:t.stopIfTrue??!1,pivot:t.pivot??!1,ext:t.ext??null,condition:pv.fromJSON(t.condition)};this._updateState(r,{description:(0,n.messageKey)(`op.initializeConditionalFormat`)})}getPropertiesAt(e,t,n){let r=this._colorScale;if(r&&typeof n==`number`)return{fill:{type:`solid`,color:r.colorFor(n)}};let i=this._matches;return i&&i.getValueAt(e,t)?this._getState().style:null}getDecorationAt(e,t,n){if(typeof n!=`number`||!Number.isFinite(n))return null;let r=this._dataBar;if(r)return r.barFor(n);let i=this._iconSet;return i?i.iconFor(n):null}get isIConditionalFormat(){return!0}},Ay=Object.freeze({condition:null,removeListener:null,style:null,scale:null,stopIfTrue:!1,pivot:!1,ext:null}),jy=`rgb(99, 142, 198)`;function My(e,t,n){return e+(t-e)*n}function Ny(e){return e<0?0:e>1?1:e}function Py(e){return`rgb(${e[0]}, ${e[1]}, ${e[2]})`}function Fy(e){let t=e.length;if(t===0)return e=>``;let n=e[0],r=e[t-1];return i=>{if(!Number.isFinite(i))return``;if(i<=n.v)return Py(n.rgb);if(i>=r.v)return Py(r.rgb);let a=1;for(;a<t;){let t=e[a];if(i<t.v)break;if(i!==t.v)a++;else{if(!t.exclusive)break;a++}}if(a<=0)return Py(n.rgb);if(a>=e.length)return Py(r.rgb);let o=e[a-1],s=e[a],c=s.v-o.v;if(c===0)return Py((s.exclusive?o:s).rgb);let l=(i-o.v)/c;return Py(function(e,t,n){return n=Ny(n),[Math.round(My(e[0],t[0],n)),Math.round(My(e[1],t[1],n)),Math.round(My(e[2],t[2],n))]}(o.rgb,s.rgb,l))}}var Iy,Ly=class{constructor(e,t,n){this._add=e,this._get=t,this._createItem=n}add(e,t){if(!e)throw Error((0,n.t)(`error.address.noAddress`));return this._add(e,t)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t;return e?.address&&(t=e.address),this._get(t,e?.ignoreHidden,e?.fullyContained)}createItem(e){return this._createItem(e)}getCount(){return this._get(null,!1,!1).length}};(Iy||={}).AlertStyle={Stop:`stop`,Warning:`warning`,Information:`information`};var Ry,zy,By=class extends Ty{constructor(...e){super(...e),this._results=null,this._evalGeneration=0}_getType(){return`DataValidation`}_getActionDescription(e){return e===`delete`?(0,n.messageKey)(`op.deleteDataValidation`):e===`initialize`?(0,n.messageKey)(`op.initializeDataValidation`):(0,n.messageKey)(`op.updateDataValidationListener`)}_getDefaultState(e){return{...Vy}}_processValueUpdates(e=null){let n=this._getState();if(!n)return;let r=n.condition,i=++this._evalGeneration;if(!r)return void(this._results&&this._results.getCount()>0&&(this._results=null,this._options.invalidate?.(this.getRange().getCoords())));let a=this._options;(async()=>{let e=this._getValueGrid(),n=e.getAxis()===t.IRange.Axis.Column,r=new _i.Builder;if(await this._evalConditionRanges({onFalse:e=>{let t=n?e.colIndex:e.rowIndex,i=n?e.rowIndex:e.colIndex;r.pushAt(t,i,!0)}}),i!==this._evalGeneration)return;let o=r.build(),s=(this._results?.getCount()??0)>0;if(!o&&!s)return;let c=new no({axis:e.getAxis()});o&&c.setValues(o.tuples),this._results=c;let l=this.getRanges(),u=l.getCount();for(let e=0;e<u;e++){let t=l.at(e).getCoords();t&&a.invalidate?.(t)}})().catch(()=>{})}getAlertAt(e,t){return this._results?.getValueAt(e,t)??!1}getAlertEntries(e){let t=this._results;return t||=this._results=new no({axis:this._getValueGrid().getAxis()}),t.entries(e)}getAlertCount(){return this._results?.getCount()??0}setHideDropdown(e,t){return this._updateState({hideDropdown:e??!1},{description:(0,n.messageKey)(`op.setHideDropdown`),...t},[`onConfigChange`])}isHideDropdown(){return this._getState().hideDropdown}setPromptMessage(e,t){return this._updateState({prompt:e??``},{description:(0,n.messageKey)(`op.setPromptMessage`),...t},[`onConfigChange`])}getPromptMessage(){return this._getState().prompt}setPromptTitle(e,t){return this._updateState({promptTitle:e??``},{description:(0,n.messageKey)(`op.setPromptTitle`),...t},[`onConfigChange`])}getPromptTitle(){return this._getState().promptTitle}setShowPromptMessage(e,t){return this._updateState({showPromptMessage:e??!1},{description:(0,n.messageKey)(`op.setShowPromptMessage`),...t},[`onConfigChange`])}isShowPromptMessage(){return this._getState().showPromptMessage}setAlertMessage(e,t){return this._updateState({alert:e??``},{description:(0,n.messageKey)(`op.setAlertMessage`),...t},[`onConfigChange`])}getAlertMessage(){return this._getState().alert}setAlertTitle(e,t){return this._updateState({alertTitle:e??``},{description:(0,n.messageKey)(`op.setAlertTitle`),...t},[`onConfigChange`])}getAlertTitle(){return this._getState().alertTitle}setShowAlertMessage(e,t){return this._updateState({showAlertMessage:e??!1},{description:(0,n.messageKey)(`op.setShowErrorMessage`),...t},[`onConfigChange`])}isShowAlertMessage(){return this._getState().showAlertMessage}setAlertStyle(e,t){return this._updateState({alertStyle:e??Vy.alertStyle},{description:(0,n.messageKey)(`op.setAlertStyle`),...t},[`onConfigChange`])}getAlertStyle(){return this._getState().alertStyle}setIncludeBlanks(e,t){let r=this._getState().condition;return r?this._updateState({condition:pv.fromJSON({...r.toJSON(),includeBlanks:e??!1})},{description:(0,n.messageKey)(`op.setIncludeBlanks`),...t},[`onConfigChange`]):this}isIncludeBlanks(){return this._getState().condition?.isIncludeBlanks()??!1}getRenderHints(){return this._getState().condition?.getSelector()?.getRenderHints?.()??n.CommonUtils.EmptyArray}update(e,t){let r=e&&`isIDataValidation`in e?e.toJSON()??{}:{...e};return this.doBatch(()=>{this._fromJSON(r),this._markValueUpdates(),this._notify([`onAnyChange`])},{description:(0,n.messageKey)(`op.updateDataValidation`),...t}),this}getSnapshot(e){let t={...this.toJSON()},r=JSON.stringify(this.toJSON()),i=this.getFirstAnchorCoords(),a=(0,n.t)(`name.dataValidation`),o=this,s=Object.freeze({...e});return{async copyTo(e,i){let a=e.ranges??[e.range];if(!e.extend||!o._extendPastedRanges(a,r)){let n=e.validations.add(a,{...t});e.index!==void 0&&n.setIndex(e.index)}return n.CoordUtils.unionRangesArrays(a)},getCoords:()=>i,getSource:()=>o,getName:()=>a,getMarkOptions:()=>s,isISnapshot:!0}}addListeners(e,t){return this._getEmitter().addListeners(e,t)}toJSON(){let e={},t=this._getState();if(!t)return null;if(t.prompt&&(e.prompt=t.prompt),t.promptTitle&&(e.promptTitle=t.promptTitle),t.showPromptMessage&&(e.showPromptMessage=t.showPromptMessage),t.alert&&(e.alert=t.alert),t.alertTitle&&(e.alertTitle=t.alertTitle),t.showAlertMessage&&(e.showAlertMessage=t.showAlertMessage),t.alertStyle&&t.alertStyle!==Vy.alertStyle&&(e.alertStyle=t.alertStyle),t.hideDropdown&&(e.hideDropdown=t.hideDropdown),t.imeMode&&(e.imeMode=t.imeMode),t.ext&&(e.ext=t.ext),t.condition){let n=t.condition.toJSON();n&&(e.condition=n)}return e}_fromJSON(e,t){let r=e??{},i={...this._getState()};r.prompt!==void 0&&(i.prompt=r.prompt),r.promptTitle!==void 0&&(i.promptTitle=r.promptTitle),r.showPromptMessage!==void 0&&(i.showPromptMessage=r.showPromptMessage),r.alert!==void 0&&(i.alert=r.alert),r.alertTitle!==void 0&&(i.alertTitle=r.alertTitle),r.showAlertMessage!==void 0&&(i.showAlertMessage=r.showAlertMessage),r.alertStyle!==void 0&&(i.alertStyle=r.alertStyle),r.hideDropdown!==void 0&&(i.hideDropdown=r.hideDropdown),r.imeMode!==void 0&&(i.imeMode=r.imeMode),r.ext!==void 0&&(i.ext=r.ext);let a=r.condition;i.condition=a===void 0?null:pv.fromJSON(a),this._updateState(i,{description:(0,n.messageKey)(`op.addDataValidation`),...t})}get isIDataValidation(){return!0}},Vy=Object.freeze({condition:null,removeListener:null,alertStyle:Iy.AlertStyle.Information,hideDropdown:!1,imeMode:null,ext:null,prompt:``,promptTitle:``,showPromptMessage:!1,alert:``,alertTitle:``,showAlertMessage:!1}),Hy=class{constructor(e,t,n){this._add=e,this._get=t,this._createItem=n}add(e,t){if(!e)throw Error((0,n.t)(`error.address.invalidRange`));return this._add(e,t)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t;return e?.address&&(t=e.address),this._get(t,e?.ignoreHidden,e?.fullyContained)}getCount(){return this._get(null,!1,!1).length}createItem(e){return this._createItem(e)}},Uy=class extends hv{constructor(...e){super(...e),this._sessionUnlocked=!1}_initialize(e){super._initialize(e),this._updateState({...Wy},(0,n.messageKey)(`op.initializeProtectedRange`)),this._fromJSON(e?.json);let t=this._getState().name;t&&this._options.setContainerName?.(t)}_getActionDescription(e){return e===`delete`?(0,n.messageKey)(`op.deleteProtectedRange`):e===`initialize`?(0,n.messageKey)(`op.initializeProtectedRange`):null}_isAnchorAbsolute(){return!0}_processContainerShift(e){let t=super._processContainerShift(e);return e.after||this._getState().anchorCoords||this._delete(),this._processAnchorCoords(),t}getName(){return this._getState().name}setName(e,t){if(!e)throw new n.ExpectedError((0,n.t)(`error.protectedRange.noName`));if(e===this._getState().name)return this;let r=t?.description??(0,n.messageKey)(`op.setProtectedRangeName`);return this.doBatch(()=>{this._options.setContainerName?.(e,{...t,description:r}),this._updateState({name:e},{...t,description:r},[`onConfigChange`])},{...t,description:r}),this}getIndex(){return this._options?.getContainerIndex?.()??-1}setIndex(e){return this._options?.setContainerIndex?.(e),this}setRanges(e,t){return this._setAnchorRanges(e,t)}getSecurityDescriptor(){return this._getState().securityDescriptor}setSecurityDescriptor(e,t){return this._updateState({securityDescriptor:e||null},{description:(0,n.messageKey)(`op.setProtectedRangePermissions`),...t},[`onConfigChange`])}hasPassword(){return this._getState().password!==null}getEncryptedPassword(){return this._getState().password}async setPassword(e,t){let r=null;if(e){let n=t?.algorithm,i=t?.spinCount,a=await r_.generateSaltAndHash(e,n,i);r={salt:a.salt,hash:a.hash},n&&(r.algorithm=n),i&&(r.spinCount=i)}return this.relock(),this._updateState({password:r},{description:(0,n.messageKey)(`op.setProtectedRangePassword`),...t},[`onConfigChange`])}isUnlocked(){return!this.hasPassword()||this._sessionUnlocked}async unlock(e){return!this.hasPassword()||!!await this.checkPassword(e)&&(this._sessionUnlocked||(this._sessionUnlocked=!0,this._notify([`onUnlockChange`])),!0)}relock(){return this._sessionUnlocked&&(this._sessionUnlocked=!1,this._notify([`onUnlockChange`])),this}async checkPassword(e){let t=this._getState().password;return!t||!t.hash||!!e&&r_.verifyPassword(e,{salt:t.salt,hash:t.hash},t.algorithm,t.spinCount)}update(e,t){let r=e&&`isIProtectedRange`in e?e.toJSON()??{}:{...e};return this.doBatch(()=>{let e=r.name;e!==void 0&&e!==this._getState().name&&this.setName(e,t),this._fromJSON({...r,name:void 0},t),this._notify([`onConfigChange`])},{description:(0,n.messageKey)(`op.updateProtectedRange`),...t}),this}addListeners(e,t){return this._getEmitter().addListeners(e,t)}toJSON(){let e=this._getState();if(!e)return null;let t={};return e.name&&(t.name=e.name),e.securityDescriptor&&(t.securityDescriptor=e.securityDescriptor),e.password&&(t.password={...e.password}),t}_fromJSON(e,t){let r=e??{},i={};r.name!==void 0&&(i.name=r.name),r.securityDescriptor!==void 0&&(i.securityDescriptor=r.securityDescriptor||null),r.password!==void 0&&(i.password=r.password??null),Object.keys(i).length!==0&&this._updateState(i,{description:(0,n.messageKey)(`op.addProtectedRange`),...t})}get[Symbol.toStringTag](){return`[ProtectedRange]`}toString(){return`ProtectedRange:${this.getName()}:${this.getRanges()?.toString()}`}get isIProtectedRange(){return!0}},Wy=Object.freeze({name:``,securityDescriptor:null,password:null}),Gy=class{constructor(e,t,n,r){this._add=e,this._get=t,this._getByName=n,this._createItem=r}add(e,t){if(!e)throw Error((0,n.t)(`error.address.noAddress`));return this._add(e,t)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){if(e?.name){let t=this._getByName(e.name);return t?[t]:[]}let t;return e?.address&&(t=e.address),this._get(t,e?.ignoreHidden,e?.fullyContained)}createItem(e){return this._createItem(e)}getCount(){return this._get(null,!1,!1).length}};(zy=Ry||={}).HeaderTextStyle={A1:`a1`,Zero:`zero`,One:`one`},zy.ColumnHeaderTableNames={Sticky:`sticky`,Hidden:`hidden`,None:`none`};var Ky,qy,Jy=(e=(0,n.messageKey)(`op.update`))=>(0,n.t)(`error.sheet.protectedField`,{description:(0,n.t)(e)}),Yy=e=>(0,n.t)(`error.sheet.itemOverlapping`,{type:e}),Xy=e=>(0,n.t)(`error.sheet.maxValues`,{max:e}),Zy=Object.freeze([Ov.Feature.Contentful]),Qy=e=>e===void 0?Zy:Object.freeze([...typeof e==`string`?[e]:e]),$y=class{constructor(e,t,n,r){this._range=null,this._clipped=null,this._coords=Object.freeze(e),this._internal=t,this._features=n,this._bounds=r}getFeatures(){return this._features}getCoords(){return this._coords}getAddress(e){let t=this._internal;return Xl(this._coords,t.getSheet().getEntireCoords(),void 0)}getRowCount(){let e=this._coords;return e.rowEnd-e.rowStart+1}getColumnCount(){let e=this._coords;return e.colEnd-e.colStart+1}isClipped(){let e=this._clipped;return e===null&&(e=this._probeClipped(),this._clipped=e),e}_probeClipped(){let e=this._coords,t=this._bounds,n=this._internal.getSheet().getEntireCoords(),r=e=>{let t=new rb(e,this._internal).getCounts(this._features),n=this._features;for(let e=0;e<n.length;e++)if((t[n[e]]??0)>0)return!0;return!1};return!!(e.rowStart===t.rowStart&&t.rowStart>n.rowStart&&r({rowStart:t.rowStart-1,rowEnd:t.rowStart-1,colStart:e.colStart,colEnd:e.colEnd}))||!!(e.rowEnd===t.rowEnd&&t.rowEnd<n.rowEnd&&r({rowStart:t.rowEnd+1,rowEnd:t.rowEnd+1,colStart:e.colStart,colEnd:e.colEnd}))||!!(e.colStart===t.colStart&&t.colStart>n.colStart&&r({rowStart:e.rowStart,rowEnd:e.rowEnd,colStart:t.colStart-1,colEnd:t.colStart-1}))||!!(e.colEnd===t.colEnd&&t.colEnd<n.colEnd&&r({rowStart:e.rowStart,rowEnd:e.rowEnd,colStart:t.colEnd+1,colEnd:t.colEnd+1}))}getCell(){return this.getRange().getCell()}getRange(){let e=this._range;return e||(e=new rb(this._coords,this._internal),this._range=e),e}toString(){return this.getAddress()}get[Symbol.toStringTag](){return`[CellRegion: ${this.getAddress()}]`}get isICellRegion(){return!0}},eb=class{constructor(e,t,n,r){this._regions=null,this._range=null,this._bounds=e,this._internal=t,this._features=n,this._options=r}getFeatures(){return this._features}getRange(){let e=this._range;return e||(e=new rb(this._bounds,this._internal),this._range=e),e}getCount(){return this._materialize().length}*[Symbol.iterator](){yield*this._materialize()}_materialize(){let e=this._regions;if(!e){let t=this._internal,n=t.featureRegions(this._bounds,this._features,this._options),r=n.length;e=Array(r);for(let i=0;i<r;i++)e[i]=new $y(n[i],t,this._features,this._bounds);this._regions=e}return e}get[Symbol.toStringTag](){return`[CellRegions: ${this._features.join(`, `)}]`}get isICellRegions(){return!0}},tb=Object.freeze([]),nb=Object.freeze({transactional:!1}),rb=class e{constructor(e,t,n){this._coords=Object.freeze(e),this._internal=t,this._readOnly=n?.readOnly??null,this._options=n??void 0}_getStickyOptions(){return this._options?.getOptions}getCoords(){return this._coords}_createRange(t,n){let r=this._internal;if(!t)return dD(r.getSheet(),r.getSheet().getEntireCoords());if(t=this._scopeDerived(t),r.validateCoords(t),r.getSheet().isClosed())return dD(null,r.getSheet().getEntireCoords(),t);let i=this._options;return n&&(i={...this._options,getOptions:DD(this._options?.getOptions,n)}),new e(t,this._internal,i)}_scopeDerived(e){let t=this._coords.scope;return t&&e&&!e.scope?{...e,scope:t}:e}_createRanges(e,t){let n=this._options;return t&&(n={...this._options,getOptions:DD(this._options?.getOptions,t)}),new VE(this._coords.scope?e?.map(e=>this._scopeDerived(e)):e,this._internal,n)}_deriveRanges(e,t){let n=this.getCoords(),r=n;return t&&(r=t(n),!r)?null:this._createRanges(r,e)}_deriveRange(e,t,n){if(!e)return this;let r=this._internal.rangeToCoords(e);if(!r)return this;let i=this.getCoords();if(CD(r,i))return this;if(n){let e=n(r,i);if(!e)return null;r={...i,...e}}return function(e,t){t&&(t.$colStart===void 0?delete e.$colStart:e.$colStart=t.$colStart,t.$rowStart===void 0?delete e.$rowStart:e.$rowStart=t.$rowStart,t.$colEnd===void 0?delete e.$colEnd:e.$colEnd=t.$colEnd,t.$rowEnd===void 0?delete e.$rowEnd:e.$rowEnd=t.$rowEnd)}(r,i),this._createRange(r,DD(this._options?.getOptions,t))}_validateMaxSize(e=5e4){let t=this.getCoords(),r=this._internal,i=r.getUsedCoords(),a=Math.min(t.colEnd,i?.colEnd??t.colEnd),o=Math.min(t.rowEnd,i?.rowEnd??t.rowEnd),s=1;a>=t.colStart&&(s=r.getSheet().getColumnHeaders().getVisibleCount(t.colStart,a));let c=1;if(o>=t.rowStart&&(c=r.getSheet().getRowHeaders().getVisibleCount(t.rowStart,o)),c*s>e)throw new n.ExpectedError(Xy(e))}entries(e){let t=this.getCoords(),r=t,i=this._internal;if(e?.address){let a=i.rangeToCoords(e?.address);if(!a)throw new n.ExpectedError(s_(e?.address));if(r=n.CoordUtils.intersectRanges(a,t),!r)return si}r.colEnd<r.colStart&&(r.colStart=t.colStart,r.colEnd=t.colEnd),r.rowEnd<r.rowStart&&(r.rowStart=t.rowStart,r.rowEnd=t.rowEnd);let a=this._getStickyOptions();return i.cellIterator({ignoreHidden:a?.ignoreHidden??!1,...e,searchTypes:Mf(e?.features??a?.features),bounds:r})}[Symbol.iterator](){return this.values()}values(e){let t=this.entries({...e,features:tb});return{next(){let e=t.next();return e.done?oi:{done:!1,value:e.value.value}},[Symbol.iterator](){return this}}}forEach(e,t){if(!e)return;let n=this.entries(t),r=n.next();for(;!r.done;){let t=r.value,i=e(t.value,t.context);if(i)return i.break;r=n.next()}}_validateWrite(){let e=this._readOnly;if(e)throw new n.ExpectedError((0,n.t)(e))}updateCells(e,r,i){this._validateWrite();let a=this.getCoords();i||=a;let o=this._internal,s=o.isDataColumn(),c={majorStart:s?a.colStart:a.rowStart,majorEnd:s?a.colEnd:a.rowEnd,minorStart:s?a.rowStart:a.colStart,minorEnd:s?a.rowEnd:a.colEnd},l=(r?.axis??t.IRange.Axis.Row)===t.IRange.Axis.Column!==s,u=Xa(Array.isArray(e)?e:[[e]],l,c);return o.updateTuples(u,{description:r?.description??(n.CoordUtils.isSingleCell(i)?(0,n.t)(`op.setCellAddress`,{address:Xl(i,o.getSheet().getEntireCoords())}):(0,n.t)(`op.setRangeAddress`,{address:Xl(i,o.getSheet().getEntireCoords())})),...r},null,{isCell:!0}),this}setValues(e,t){if(!e||!Array.isArray(e)&&!e.isIRange)throw new n.ExpectedError((0,n.t)(`error.sheet.setValuesType`));return this._setValueOrValues(e,t)}setValue(e,t){if(e&&(Array.isArray(e)||e.isIRange))throw new n.ExpectedError((0,n.t)(`error.sheet.setValueType`));return this._setValueOrValues(e,t)}setFormula(e,t){if(e&&(Array.isArray(e)||e.isIRange))throw new n.ExpectedError((0,n.t)(`error.sheet.setValueType`));return this._setValueOrValues(e,t)}_setValueOrValues(e,r){this._validateWrite();let i=this.getCoords(),a=this,o=this._internal,s=o.isDataColumn(),c=(r?.axis??t.IRange.Axis.Row)===t.IRange.Axis.Column,l=Array.isArray(e),u=!l&&e?.isIRange;if(r?.skipBoundsCheck??n.CoordUtils.isSingleCell(i)){let t=c?i.colStart:i.rowStart,r=c?i.rowStart:i.colStart,o=0,s=0;if(l){let t=e;o=Math.max(0,t.length-1),s=0;for(let e=0;e<t.length;e++)s=Math.max(s,t[e].length-1)}else if(u){let t=e.getColumnCount(),n=e.getRowCount();o=c?t-1:n-1,s=c?n-1:t-1}let d={...i,colEnd:c?t+o:r+s,rowEnd:c?r+s:t+o};n.CoordUtils.isEqualRanges(d,i)||(i=d,a=this._deriveRange(d)??this)}let d=s?i.colStart:i.rowStart,f=s?i.colEnd:i.rowEnd,p=s?i.rowStart:i.colStart,m={majorStart:d,majorEnd:f,minorStart:p,minorEnd:s?i.rowEnd:i.colEnd},h=null;if(l){let t=c!==s;h=Xa(Array.isArray(e)?e:[[e]],t,m)}else if(u){let r=e,a=r._values;if(a&&a.getValues&&a.getAxis&&a.getAxis()===(s?t.IRange.Axis.Column:t.IRange.Axis.Row)){let e=r._coords;if(h=a.getValues(e),h){let e=h.bounds;h=function(e,t,n){let r=e.tuples,i=e.bounds,a=t,o=n,s=[];for(let e of r){let t=e[0]+a,n=e[1],r=[];for(let e of n){let t=e[0]+o;r.push([t,e[1]])}s.push([t,r])}return{tuples:s,bounds:{majorStart:i.majorStart+a,minorStart:i.minorStart+o,majorEnd:i.majorEnd+a,minorEnd:i.minorEnd+o}}}(h,d-e.majorStart,p-e.minorStart)}}else{let e=s?t.IRange.Axis.Column:t.IRange.Axis.Row;h=function(e,t,r,i=null){let a=t!==n.RangeAxis.Row,o=i?.colIndex??0,s=i?.rowIndex??0,c=a?o:s,l=a?s:o,u=e.next();for(;!u.done;){let t=u.value,n=t.coords,i=a?n.colIndex:n.rowIndex,o=a?n.rowIndex:n.colIndex;r.pushAt(c+i,l+o,t.value),u=e.next()}return r.build()}(r.entries({axis:e}),e,o.createTupleBuilder(),{colIndex:i.colStart,rowIndex:i.rowStart})}}else h=Ya(e,m,s);return o.updateTuples(h,{description:r?.description??(n.CoordUtils.isSingleCell(i)?(0,n.t)(`op.setValueAddress`,{address:Xl(i,o.getSheet().getEntireCoords())}):(0,n.t)(`op.setValuesAddress`,{address:Xl(i,o.getSheet().getEntireCoords())})),...r}),a}getValues(e){this._validateMaxSize(e?.maxSize);let t=this.getCoords();return SD(this._internal.cellIterator,t,e,!1,!1)}getValuesRange(){let e=this._internal,t=e.getSheet();return new ok(t.getRuntime(),e.getState().cellValuesGrid,this.getCoords(),void 0,t.getEntireCoords.bind(t),t.getName.bind(t))}setComputedValues(e,t){let r=this;return r._internal.getSheet().doBatch(()=>{let t=e(r.getValuesRange());r.setValues(t)},{description:(0,n.messageKey)(`op.setComputedValues`),...t}),this}getInteropValues(e){this._validateMaxSize(e?.maxSize);let t=this.getCoords();return SD(this._internal.cellIterator,t,e,!1,!0)}getValue(){let e=this.getCoords();return this._internal.getScalar(e.rowStart,e.colStart,!1)}getInteropValue(){let e=this.getCoords();return this._internal.getScalar(e.rowStart,e.colStart,!0)}calculate(e){return this._internal.calculate([this.getCoords()],{full:e}),this}getCells(e){this._validateMaxSize(e?.maxSize);let t=this.getCoords();return SD(this._internal.cellIterator,t,e,!0,!1)}getCell(e){let t=this.getCoords(),r=t.colStart,i=t.rowStart,a=this._internal;if(e){let o=a.cellToCoords(e);if(!n.CoordUtils.isCellWithinRange(o,t))throw new n.ExpectedError((0,n.t)(`error.sheet.oobCell`));r=o.colIndex,i=o.rowIndex}return a.getCellAt(i,r)}getFormula(e){return this.getCell(e).getFormula()}createFormula(e){let t=this.getCoords();return this.getSheet().createFormula(e,{rowIndex:t.rowStart,colIndex:t.colStart})}addWatch(e,t){return this._addWatch(e,{onValues:t})}_addWatch(e,t,n){let r=this.getCoords(),i=this.getSheet().getCalculation();if(!n&&typeof e!=`string`){let t=e.getAnchor();if(t&&(t.rowIndex!==r.rowStart||t.colIndex!==r.colStart))throw Error(`ICellRange.addWatch was given a formula anchored outside the range; fill it with IFormula.shift first.`)}let a=!1,o=null,s=0,c=async e=>{let n=t.onValues;if(!n)return void(a||t.onChange?.());let i=++s,o=await e.evaluate({block:r,alwaysReturnRange:!0});a||i!==s||n(o)};return(async()=>{if(await i.ready(),a)return;let s=n??{rowIndex:r.rowStart,colIndex:r.colStart},l=typeof e==`string`?this.getSheet().createFormula(e,s):e;if(l.getAnchor()?.rowIndex===r.rowStart&&l.getAnchor()?.colIndex===r.colStart||(l=l.shift({rowIndex:r.rowStart,colIndex:r.colStart})??l),a)return;let u=l.getReferences()?.getCoords()??[],d=r.rowEnd!==r.rowStart||r.colEnd!==r.colStart?l.shift({rowIndex:r.rowEnd,colIndex:r.colEnd})?.getReferences()?.getCoords()??[]:[],f=[];for(let e=0;e<u.length;e++){let t=u[e];if(!t)continue;let n=d[e]??t;f.push({rowStart:Math.min(t.rowStart,n.rowStart),rowEnd:Math.max(t.rowEnd,n.rowEnd),colStart:Math.min(t.colStart,n.colStart),colEnd:Math.max(t.colEnd,n.colEnd),scope:t.scope})}o=f.length>0?this.getSheet().getRanges(f).addListener(()=>{c(l)},nb):null,a?o?.():t.onValues&&await c(l)})(),()=>{a=!0,o?.()}}async select(e){let t=await this._internal.autoSelect(e??!0,my([this.getCoords()]));return this._createRange(t[0])}find(e){return this._internal.find([this.getCoords()],e)}getFixed(e){return this._createRange(wD(this.getCoords(),e))}getRangeAt(e,t,n,r,i){return this._createRange({rowStart:e,colStart:t,rowEnd:n??e,colEnd:r??t},i)}getRowAt(e,t){let n=this.getCoords();return this._createRange({colStart:n.colStart,rowStart:e,colEnd:n.colEnd,rowEnd:e},t)}getRowAfter(e){let t=this.getCoords();if(!t)return this;let n=t.rowEnd;return this._createRange({colStart:t.colStart,rowStart:n+1,colEnd:t.colEnd,rowEnd:n+1},e)}getRowBefore(e){let t=this.getCoords();if(!t)return this;let n=t.rowStart;return this._createRange({colStart:t.colStart,rowStart:n-1,colEnd:t.colEnd,rowEnd:n-1},e)}getRowBy(e,t){let n=this.getCoords(),r=n.rowStart+e;return this._createRange({colStart:n.colStart,rowStart:r,colEnd:n.colEnd,rowEnd:r},t)}getColumnAt(e,t){let n=this.getCoords();return this._createRange({colStart:e,rowStart:n.rowStart,colEnd:e,rowEnd:n.rowEnd},t)}getColumnAfter(e){let t=this.getCoords();if(!t)return this;let n=t.colEnd;return this._createRange({colStart:n+1,rowStart:t.rowStart,colEnd:n+1,rowEnd:t.rowEnd},e)}getColumnBefore(e){let t=this.getCoords();if(!t)return this;let n=t.colStart;return this._createRange({colStart:n-1,rowStart:t.rowStart,colEnd:n-1,rowEnd:t.rowEnd},e)}getColumnBy(e,t){let n=this.getCoords(),r=n.colStart+e;return this._createRange({colStart:r,rowStart:n.rowStart,colEnd:r,rowEnd:n.rowEnd},t)}getTopLeft(e){let t=this.getCoords();if(!t)return this;let n=t.colStart,r=t.rowStart;return this._createRange({colStart:n,rowStart:r,colEnd:n,rowEnd:r},e)}getBottomRight(e){let t=this.getCoords();if(!t)return this;let n=t.colEnd,r=t.rowEnd;return this._createRange({colStart:n,rowStart:r,colEnd:n,rowEnd:r},e)}getSurrounding(e){let t=this._internal;return this._createRange(t.surroundingRegion(this.getCoords(),e))}getExtended(e,r){let i=null,a=this.getCoords();switch(e){case t.IRange.Direction.Up:i={colIndex:a.colStart,rowIndex:a.rowStart};break;case t.IRange.Direction.Down:i={colIndex:a.colStart,rowIndex:a.rowEnd};break;case t.IRange.Direction.Left:i={colIndex:a.colStart,rowIndex:a.rowStart};break;case t.IRange.Direction.Right:i={colIndex:a.colEnd,rowIndex:a.rowStart}}let o=this._internal,s=r?o.cellToCoords(r):i;if(!n.CoordUtils.isCellWithinRange(s,a))throw new n.ExpectedError((0,n.t)(`error.address.invalidCell`));let c=o.extendRange(e,s);return c=n.CoordUtils.unionRanges(a,c),this._createRange(c)}getEntireRows(e,n){let r=this._internal;return this._createRange(iD([this.getCoords()],r.getSheet().getEntireCoords(),t.IRange.Axis.Column,e)[0],n)}getEntireColumns(e,n){let r=this._internal;return this._createRange(iD([this.getCoords()],r.getSheet().getEntireCoords(),t.IRange.Axis.Row,e)[0],n)}getRowHeaders(e){let t=this.getCoords();return this._internal.getSheet().getRowHeaders().getRange(t,e)}getColumnHeaders(e){let t=this.getCoords();return this._internal.getSheet().getColumnHeaders().getRange(t,e)}getDifferences(e,n){return this._deriveRanges(n,r=>{let i=this._internal,a=ny(r,i.rangeToCoords(e),t.IRange.Axis.Row);return i.getVisible(a,n)})}getIntersect(e,t){return this._deriveRange(e,t,(e,t)=>n.CoordUtils.intersectRanges(e,t))}getUnion(e,t){return this._deriveRange(e,t,(e,t)=>n.CoordUtils.unionRanges(e,t))}getResizeTo(e,t,r){if(t??=0,(e??=0)<0||t<0)throw new n.ExpectedError((0,n.t)(`error.address.invalidRange`));let i=this.getCoords();return this._deriveRange({colStart:i.colStart,rowStart:i.rowStart,colEnd:t+i.colStart-1,rowEnd:e+i.rowStart-1},r)}getResizeBy(e,t,n){e??=0,t??=0;let r=this.getCoords();return this._deriveRange({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd+t,rowEnd:r.rowEnd+e},n)}getOffsetTo(e,t,n){let r=this.getCoords(),i=t,a=e,o={colStart:i,rowStart:a,colEnd:r.colEnd-r.colStart+i,rowEnd:r.rowEnd-r.rowStart+a};return this._deriveRange(o,n)}getOffsetBy(e,t,n){let r=this.getCoords(),i=r.colStart+t,a=r.rowStart+e,o={colStart:i,rowStart:a,colEnd:r.colEnd-r.colStart+i,rowEnd:r.rowEnd-r.rowStart+a};return this._deriveRange(o,n)}getUsedRange(e){let t=this._internal.getUsedCoords(DD(this._getStickyOptions(),e));if(!t)return null;let r=n.CoordUtils.intersectRanges(t,this.getCoords());return r?this._deriveRange(r,e):null}isEmpty(){let e=this._internal.getUsedCoords();return!e||!n.CoordUtils.intersectRanges(e,this.getCoords())}getColumnStart(){return this.getCoords().colStart}getRowStart(){return this.getCoords().rowStart}getColumnEnd(){return this.getCoords().colEnd}getRowEnd(){return this.getCoords().rowEnd}getColumnCount(){let e=this.getCoords();return e.colEnd-e.colStart+1}getRowCount(){let e=this.getCoords();return e.rowEnd-e.rowStart+1}getVisible(e){return this._deriveRanges(e,t=>this._internal.getVisible([t],e))}isContentful(e){let t=this._internal,n=this._getStickyOptions(),r=e??n?.features;if(r===void 0)return t.isContentful([this.getCoords()],n?.ignoreHidden??!1);let i=t.featureCounts([this.getCoords()],r,n?.ignoreHidden??!1),a=typeof r==`string`?[r]:r;for(let e=0;e<a.length;e++)if(i[a[e]]>0)return!0;return!1}getStats(e){return this._internal.getRangeStats([this.getCoords()],e)}getCounts(e){let t=this._internal,n=this._getStickyOptions();return t.featureCounts([this.getCoords()],e??n?.features,n?.ignoreHidden??!1)}getDirectPrecedents(){return this._internal.dependencyRanges(this.getCoords(),`precedents`,!0)}getDirectDependents(){return this._internal.dependencyRanges(this.getCoords(),`dependents`,!0)}getPrecedents(){return this._internal.dependencyRanges(this.getCoords(),`precedents`,!1)}getDependents(){return this._internal.dependencyRanges(this.getCoords(),`dependents`,!1)}getRegions(e,t){let n=this._getStickyOptions(),r=Qy(e??t?.features??n?.features);return new eb(this.getCoords(),this._internal,r,{...t,ignoreHidden:t?.ignoreHidden??n?.ignoreHidden??!1})}getCount(e){let t=this._internal,n=e??Dv.Content.Values,r=t.contentCounts([this.getCoords()],[n],this._getStickyOptions()?.ignoreHidden??!1);return r?r[n]??0:0}isEntireRows(){let e=this._internal;return aD([this.getCoords()],e.getSheet().getEntireCoords(),!0)}isEntireColumns(){let e=this._internal;return oD([this.getCoords()],e.getSheet().getEntireCoords(),!0)}isEntireRange(){let e=this.getCoords(),t=this._internal;return oD([e],t.getSheet().getEntireCoords(),!0)&&aD([e],t.getSheet().getEntireCoords(),!0)}isSingleCell(){let e=this.getCoords();return n.CoordUtils.isSingleCell(e)}isEqual(e,t){let n=this._internal.rangeToCoords(e);return CD(this.getCoords(),n)}get size(){let e=this._coords;return e.colEnd-e.colStart+1*(e.rowEnd-e.rowStart+1)}getBounds(){return this._internal.getBoundsAtCoords(this.getCoords())}isInvalid(){return!1}getDefaultShiftAxis(){return this._internal.getDefaultShiftAxis(this.getCoords())}getDefaultSortCriteria(e,t){return this._internal.getDefaultSortCriteria(this.getCoords(),e,t)}getMerges(){return this._internal.getMerges([this.getCoords()],this._getStickyOptions()?.ignoreHidden??!1)}_itemQuery(e){return{ignoreHidden:!!this._getStickyOptions()?.ignoreHidden,...e,address:this.getCoords()}}getConditionalFormats(e){return this._internal.getSheet().getConditionalFormats().getItems(this._itemQuery(e))}getDataValidations(e){return this._internal.getSheet().getDataValidations().getItems(this._itemQuery(e))}getTables(e){return this._internal.getSheet().getTables().getItems(this._itemQuery(e))}getMovables(e){return this._internal.getSheet().getMovables().getItems(this._itemQuery(e))}getSnapshot(e){return this._internal.getSnapshot([this.getCoords()],e)}isReadOnly(){return this._readOnly!==null}addListener2(e,t){return this._internal.addRangesListeners2([this.getCoords()],e,t,!1)}addListener(e,t){return this._internal.addRangesListeners([this.getCoords()],e,t)}getSheet(){return this._internal.getSheet()}autoFill(e,t){t?.preview||this._validateWrite();let n=this._internal,r=n.rangeToCoords(e,()=>[],!0);t?.snap&&(r=n.autoFillRange(this.getCoords(),r));let i=n.autoFill(this.getCoords(),r,t);return t?.preview?new ib(r,n,i,this._getStickyOptions()):i?this._createRange(r):this}autoFit(e){return this._validateWrite(),this._internal.autoFit([this.getCoords()],e),this}clear(e,t){return this._validateWrite(),this._internal.clear([this.getCoords()],e,t),this}setHyperlink(e,t){return this._validateWrite(),this._internal.setHyperlinks([this.getCoords()],e,t),this}setComments(e,t){return this._validateWrite(),this._internal.setComments([this.getCoords()],e,t),this}getStyle(){return this._internal.getStyle([this.getCoords()])}merge(e){return this._validateWrite(),this._internal.merge([this.getCoords()],e),this}unmerge(e){return this._validateWrite(),this._internal.unmerge([this.getCoords()],e),this}textToColumns(e){if(this._validateWrite(),this.getColumnCount()!==1)throw new n.ExpectedError((0,n.t)(`error.address.textToColumnsMulti`));typeof e==`string`&&(e={delimiter:e});let r=function(e,n){let r=n?.textQualifier===void 0?`"`:n.textQualifier,i=n?.preserveEmptyFields??!1,a=n?.delimiter,o=e.sparseBuilder(),s=1,c=e.entries({axis:t.IRange.Axis.Column,onError:`ignore`}),l=c.next();for(;!l.done;){let e=l.value.value,t=l.value.coords.rowIndex;l=c.next();let n=e,u=typeof e;if(u===`string`)a===void 0&&(a=LD(e,r));else{if(u!==`number`)continue;n=e.toString()}if(a===void 0)continue;let d=RD(n,a,r,i);for(let e=0;e<d.length;e++)d[e]!==null&&o.pushAt(t,e,d[e]);s=Math.max(s,d.length)}return s===1?e:o.build()}(this.getValuesRange(),e),i=r.getColumnCount(),a=this,o=!0;if(e?.destination&&(a=this._deriveRange(e.destination),o=a.getTopLeft().isEqual(this.getTopLeft())),i<=1&&o)return this;if(!e?.replaceExisting){let e=a.getCoords(),t=o?e.colStart+1:e.colStart,s=e.colStart+i-1;if(s>=t&&this.getRangeAt(e.rowStart,t,e.rowStart+r.getRowCount()-1,s).isContentful())throw new n.ExpectedError((0,n.t)(`error.address.textToColumnsOverwrite`))}return a.setValues(r,{description:(0,n.messageKey)(`op.textToColumns`),...e,skipBoundsCheck:!0})}removeDuplicates(e){this._validateWrite();let r=this.getCoords(),i=this.getColumnCount(),a=this.getRowCount(),o=e?.hasHeader??!1,s;Array.isArray(e?.columns)&&(s=e.columns.map(e=>{let t=typeof e==`string`?uu(e)-r.colStart:e;if(!(t>=0&&t<i))throw new n.ExpectedError((0,n.t)(`error.address.removeDuplicatesColumn`,{column:e}));return t}));let c=function(e,n,r){let i=r?new Set(r):null,a=new Map,o=new Set,s=[],c=0,l=(e,t)=>{c+=t-e+1;let n=s[s.length-1];n&&n.rowEnd===e-1?n.rowEnd=t:s.push({rowStart:e,rowEnd:t})},u=(e,t)=>{n&&e===0||(o.has(t)?l(e,e):o.add(t))},d=(e,t)=>{n&&e===0&&(e+=1),e<t&&!o.has(``)&&(o.add(``),e+=1),e<t&&l(e,t-1)},f=-1,p=``,m=e.entries({axis:t.IRange.Axis.Row,includeEmpty:!1}),h=m.next();for(;!h.done;){let{value:e,coords:{rowIndex:t,colIndex:r}}=h.value;t!==f&&(f!==-1&&u(f,p),d(f+1,t),f=t,p=``),n&&t===0||i!==null&&!i.has(r)||(p+=zD(r,e,a)),h=m.next()}return f!==-1&&u(f,p),{runs:s,count:c,isEmpty:f===-1}}(this.getValuesRange(),o,s);if(c.isEmpty)throw new n.ExpectedError((0,n.t)(`error.address.removeDuplicatesNoData`));let l=this._internal,u=this.getResizeTo(a-c.count,i);if(c.count>0){let i=c.runs.map(e=>({colStart:r.colStart,colEnd:r.colEnd,rowStart:r.rowStart+e.rowStart,rowEnd:r.rowStart+e.rowEnd})),a={colStart:r.colStart,colEnd:r.colEnd,rowStart:r.rowEnd-c.count+1,rowEnd:r.rowEnd},o={description:(0,n.messageKey)(`op.removeDuplicates`),...e,autoSelect:!1,viewBefore:{view:l.getSheet().getView(),selection:my([r]),selectOptions:e?.autoSelect},viewAfter:{view:l.getSheet().getView(),selection:my([u.getCoords()]),selectOptions:e?.autoSelect}};this.doBatch(()=>{l.deleteCells(i,t.IRange.Axis.Row),l.insertCells([a],t.IRange.Axis.Row)},o)}return e?.autoSelect&&l.autoSelect(e.autoSelect,my([u.getCoords()])),u}insert(e){return this._validateWrite(),typeof e==`object`&&e?.span?(this._spanShift(e,!0),this):(this._internal.insertCells([this.getCoords()],e),this)}_spanShift(e,r){let{span:i,...a}=e,o=this._internal.getSheet(),s=this.getCoords(),c=e.axis??this.getDefaultShiftAxis(),l=null,u=o.getTables().getItems();for(let e=0;e<u.length;e++){let t=u[e].getRange().getCoords();if(!(s.rowEnd<t.rowStart||s.rowStart>t.rowEnd||s.colEnd<t.colStart||s.colStart>t.colEnd)){if(!(s.rowStart>=t.rowStart&&s.rowEnd<=t.rowEnd&&s.colStart>=t.colStart&&s.colEnd<=t.colEnd))throw new n.ExpectedError((0,n.t)(`error.table.tableSplit`));l=u[e];break}}if(!l){let e=o.getEntireCoords(),n=c===t.IRange.Axis.Row?{...s,colStart:e.colStart,colEnd:e.colEnd}:{...s,rowStart:e.rowStart,rowEnd:e.rowEnd};r?this._internal.insertCells([n],{...a,axis:c}):this._internal.deleteCells([n],{...a,axis:c});return}if(c===t.IRange.Axis.Row){let e=l.getDataRange().getCoords();if(s.rowStart<e.rowStart||s.rowEnd>e.rowEnd)throw new n.ExpectedError((0,n.t)(`error.table.tableBodyRows`));let t=s.rowStart-e.rowStart,i=s.rowEnd-s.rowStart+1;r?l.addRows(t,i,a):l.deleteRowsAt(t,i,a);return}let d=l.getRange().getCoords(),f=s.colStart-d.colStart,p=s.colEnd-s.colStart+1,m=l,h=a.description??(r?p>1?(0,n.messageKey)(`op.addTableColumns`):(0,n.messageKey)(`op.addTableColumn`):p>1?(0,n.messageKey)(`op.deleteTableColumns`):(0,n.messageKey)(`op.deleteTableColumn`));o.doBatch(()=>{if(r)for(let e=0;e<p;e++)m.addColumn(f);else{let e=[];for(let t=0;t<p;t++){let n=m.getColumnAt(f+t);n&&e.push(n)}for(let t=e.length-1;t>=0;t--)e[t].delete()}},{...a,description:h})}addAutoTable(e){return this._validateWrite(),this._internal.getSheet().addAutoTable(this.getCoords(),e)}addTable(e){return this._validateWrite(),this._internal.getSheet().getTables().add(this.getCoords(),e)}async insertFrom(e,t){this._validateWrite();let n=await this._internal.insertFrom([this.getCoords()],e,t);return n?this._createRange(n):null}async copyFrom(e,t){this._validateWrite();let n=await this._internal.copyFrom(this.getCoords(),e,t);return n?this._createRange(n):null}delete(e){return this._validateWrite(),typeof e==`object`&&e?.span?(this._spanShift(e,!1),this):(this._internal.deleteCells([this.getCoords()],e),this)}sort(e){this._validateWrite();let t=this._internal,r=this.getCoords(),i=t.sort(r,e);return n.CoordUtils.isEqualRanges(i,r)?this:this._createRange(i)}sortAt(e,t,n,r){return this.sort({sorts:[{index:e,criteria:{reverse:t,sortOn:n}}],...r})}async filter(e,t){this._validateWrite();let r=this._internal,i=this.getCoords(),a=await r.filter(i,e,t);return n.CoordUtils.isEqualRanges(a,i)?this:this._createRange(a)}doBatch(e,t){return this._internal.getSheet().doBatch(t=>e(t),typeof t==`string`?t:{description:(0,n.messageKey)(`op.rangeUpdate`),...t})}createSparseBuilder(e){return this._internal.createSparseBuilder(e,this)}getAddress(e){let t=this._internal;return Zl(this.getCoords(),t.getSheet().getEntireCoords())}toString(){return this.getAddress()}get[Symbol.toStringTag](){return`[SheetRange]`}get isICellRange(){return!0}},ib=class extends rb{constructor(e,t,r,i){super(e,t,{getOptions:i??{},readOnly:(0,n.messageKey)(`error.sheet.previewRange`)}),this._projection=r}getCell(e){let t=this.getCoords(),r=t.rowStart,i=t.colStart;if(e){let a=this._internal.cellToCoords(e);if(!n.CoordUtils.isCellWithinRange(a,t))throw new n.ExpectedError((0,n.t)(`error.sheet.oobCell`));r=a.rowIndex,i=a.colIndex}return this._projection.getCellAt(r,i)}getCells(e){return this._validateMaxSize(e?.maxSize),this._projectRows(e=>e)}getValues(e){return this._validateMaxSize(e?.maxSize),this._projectRows(e=>e.getValue())}getInteropValues(e){return this._validateMaxSize(e?.maxSize),this._projectRows(e=>e.getInteropValue())}getValuesRange(){return ab()}_projectRows(e){let t=this.getCoords(),n=this._projection,r=[];for(let i=t.rowStart;i<=t.rowEnd;i++){let a=[];for(let r=t.colStart;r<=t.colEnd;r++)a.push(e(n.getCellAt(i,r)));r.push(a)}return r}get[Symbol.toStringTag](){return`[PreviewSheetRange]`}},ab=()=>{throw new n.ExpectedError((0,n.t)(`error.sheet.previewRange`))},ob=class extends rb{constructor(e,t,n,r,i,a){super(n,r,i),this.isINamedRange=!0,this._id=e,this._name=t,this._rangesResolver=a??null}getId(){return this._id}getName(){return this._name}getRanges(){return this._rangesResolver?this._rangesResolver():new VE([this._coords],this._internal,this._options)}toString(){return`${this.getName()} => ${this.getAddress()}`}get[Symbol.toStringTag](){return`[NamedRange: ${this._name}]`}},sb=class extends ob{constructor(e,t,n){super(e.id,e.name,{rowStart:e.rowIndex,colStart:e.colIndex,rowEnd:e.rowIndex,colEnd:e.colIndex},t,n),this._node=e}getRanges(){return this._node.ranges()}getDirectPrecedents(){return this._node.directPrecedents()}getPrecedents(){return this._node.precedents()}getDirectDependents(){return this._node.directDependents()}getDependents(){return this._node.dependents()}get[Symbol.toStringTag](){return`[NamedCellRange: ${this.getName()} @ ${this.getAddress()}]`}};function cb(e,r,i){let a=1,o=1,s=!1,c=e._getMerges([r]);if(c.length>0){s=!0;let e=c[0];if(a=e.colEnd-e.colStart+1,o=e.rowEnd-e.rowStart+1,(r.colEnd-r.colStart+1)%a!=0||(r.rowEnd-r.rowStart+1)%o!=0)throw new n.ExpectedError((0,n.t)(`error.sheet.sortMergeSize`));let t=c.length;for(let e=1;e<t;e++){let t=c[e];if(t.colEnd-t.colStart+1!==a||t.rowEnd-t.rowStart+1!==o)throw new n.ExpectedError((0,n.t)(`error.sheet.sortMergeSize`))}}let l=function(e,r,i,a){let o;typeof r==`boolean`?o={sorts:[{index:0,criteria:{reverse:r}}]}:Array.isArray(r)?o={sorts:r}:(o={...r},o.sorts&&o.sorts.length!==0||(o.sorts=[{index:0}]));let s=o?.axis??t.IRange.Axis.Row;o.axis=s,o.hasHeader=o.hasHeader??!1,o.reverse=o.reverse??Qo.DefaultRangeOptions.reverse,o.collatorOptions=o.collatorOptions??Qo.DefaultRangeOptions.collatorOptions,o.collators=o.collators??Qo.DefaultCollators;let c=s===t.IRange.Axis.Row,l=e;o.hasHeader&&(l={...l},c?l.rowStart+=a:l.colStart+=i);let u=c?l.colEnd-l.colStart:l.rowEnd-l.rowStart,d=o.sorts?[...o.sorts]:[];d.length===0&&d.push({index:0});let f=d.length;for(let e=0;e<f;e++){let t=d[e]={index:e,...d[e]};if(t.index<0||t.index>u)throw new n.OutOfBoundsError((0,n.t)(`error.sort.sortOobRange`));let r=t.criteria;r!==null&&(t.criteria={reverse:r?.reverse??o.reverse,collatorOptions:r?.collatorOptions??o.collatorOptions,...r},d[e]=t)}return o.sorts=d,o}(r,i,a,o),u=l.axis,d=u===t.IRange.Axis.Row,f=r;l?.hasHeader&&(f={...f},d?f.rowStart+=o:f.colStart+=a);let p=d?f.colStart:f.rowStart,m=l.sorts,h=m.length;for(let e=0;e<h;e++){let t=m[e];t.index+=p}let g=m[0].criteria,_=l?.description??(g?.reverse?(0,n.messageKey)(`op.sortDescending`):(0,n.messageKey)(`op.sortAscending`));e._protectionCheck(()=>[`sort`],r,_);let v=[],y=null,b=null,x=null,S=-(2**53-1),C=Array(h),w=new Map;for(let e=0;e<h;e++)w.set(m[e],e);m.sort((e,t)=>e.index-t.index);for(let e=0;e<h;e++)C[w.get(m[e])]=e;let T=null,E=l?.includeHidden??!1;E||(T=ii(bD(d?e._rowHeaders:e._colHeaders)));let D=e._cellIterator({bounds:f,axis:u,ignoreHidden:!E&&u,searchTypes:{[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.Continuous]:!1,[q.Type.Merge]:!1}}),O=d?o:a,k=(d?f.rowStart:f.colStart)-O,A=D.next();for(;!A.done;){let e=A.value.context,t=e.getCell();if(s&&!t.isTopLeft()){A=D.next();continue}let n=e.getCoords(),r=d?n.rowIndex:n.colIndex,i=d?n.colIndex:n.rowIndex;if(k!==r){for(k+=O,T&&(k=T(k));k<r;)v.push(null),k+=O;b=[],x=[],y={minorIndex:r,values:b,sortValues:x},v.push(y),k=r,S=m[0].index}for(;i>S;){let e=m[x.length];S=e?e.index:2**53-1,i>S&&x.push(null)}i===S&&x.push(t),b.push(t),A=D.next()}if(!y||v.length===0)return;let j=new Map,M=new Map,N=l.collators,P=N.length;for(let e=0;e<P;e++){let t=N[e],n=t.type,r;typeof t==`string`||(r=t.compare),j.set(n,r),M.set(n,e)}let F=e.getRuntime().getLocaleProfile(),I=F.tag,L,ee,te,R,ne=null,z=null,B=null;v.sort((e,n)=>{let r=m.length;for(let i=0;i<r;i++){let r=C[i],a=m[r],o=e?e.sortValues[r]:null,s=n?n.sortValues[r]:null,c=o?o.getValue():null,l=s?s.getValue():null,u=c===null,d=l===null;if(c===l)continue;if(u&&d)return 0;if(!u&&d)return-1;if(u&&!d)return 1;let f=o.getType(),p=s.getType();if(f===t.ScalarType.Error&&p===t.ScalarType.Error)return 0;let h=0,g=a.criteria;if(f!==p){let e=0;f===L?e=te:(e=M.get(f),L=f,te=e);let t=0;p===ee?t=R:(t=M.get(p),ee=p,R=t),h=e-t}else{let e=z;if(ne!==f){if(e=j.get(f),z=e,!e)continue;ne=f;let t=0;p===ee?t=R:(t=M.get(p),ee=p,R=t);let n=N[t]?.defaultOptions;B={...F.collator,...n,...g?.collatorOptions,locale:I}}h=e(c,l,B)}return g?.reverse&&(h*=-1),h}return 0});let re=e._beginCommit({description:_}),ie=e._getState().borderSpatial,ae=[f];E||(ae=e._getVisible(ae,{axes:d?t.IRange.AxisSelection.Row:t.IRange.AxisSelection.Column})),e._clear(ae,void 0,void 0,!0);let oe=e._createSparseBuilder({axis:u}),se=d?f.rowStart:f.colStart,ce=v.length;for(let e=0;e<ce;e++){let t=v[e];if(T&&(se=T(se)),t){let e=t.values,n=e.length;for(let t=0;t<n;t++){let n=e[t],r=n.getCoords(),i=d?se:r.rowIndex,a=d?r.colIndex:se;oe.pushAt(i,a,n)}}se+=O}return oe.apply(),e._updateState({borderSpatial:ie}),re.commit(),f}async function lb(e,r,i,a){let o=function(e){return e?typeof e==`object`&&Array.isArray(e.conditions)?e:{conditions:[e]}:{conditions:[]}}(i),s=o.axis??t.IRange.Axis.Row,c=s===t.IRange.Axis.Row,l=[],u=[];await async function(e){let n=e.coords,r=e.axis??t.IRange.Axis.Row,i=r===t.IRange.Axis.Row,a=i?n.rowStart:n.colStart,o=i?n.rowEnd:n.colEnd;e.hasHeader&&(a+=1);let s=e.conditions,c=s?s.length:0,l=[],u=e.getHiddenRuns;if(u){let t=e.includeHidden??!0;!0!==t&&t!==r&&(l=u(r).slice())}if(a<=o)for(let r=0;r<c;r++){let c=s[r],u=pv.resolveInput(c);if(!u)continue;let d=c?.index,f=typeof d==`number`?d:r,p=(i?n.colStart:n.rowStart)+f,m=i?{rowStart:a,rowEnd:o,colStart:p,colEnd:p}:{rowStart:p,rowEnd:p,colStart:a,colEnd:o},h=uv(l,a,o).map(e=>i?{rowStart:e.min,rowEnd:e.max,colStart:p,colEnd:p}:{rowStart:p,rowEnd:p,colStart:e.min,colEnd:e.max}),g={bounds:m,axis:i?t.IRange.Axis.Column:t.IRange.Axis.Row};if(l.length>0){let e=ii(l);i?g.processRowSkip=e:g.processColumnSkip=e}let _=[],v=[],y=(e,t)=>{let n=i?e.rowIndex:e.colIndex;_.push(n),t&&v.push(n)};await cv(u,{runtime:e.runtime,values:e.values,coords:m,cellValuesOptions:g,calculation:e.calculation,visibleCoords:h,onTrue:e=>y(e,!1),onFalse:e=>y(e,!0)});let b=Yr(v,!0);if(u.isIncludeBlanks())l=dv(l,b);else{let e=uv(dv(l,Yr(_,!0)),a,o);l=dv(l,b,e)}}if(a<=o){let t=e.onHiddenRun;if(t)for(let e=0;e<l.length;e++)t(l[e]);let n=e.onVisibleRun;if(n){let e=uv(l,a,o);for(let t=0;t<e.length;t++)n(e[t])}}}({runtime:e.getRuntime(),calculation:e._calculation,values:e._getState().cellValuesGrid,coords:r,conditions:o.conditions,axis:s,hasHeader:o.hasHeader,includeHidden:o.includeHidden,getHiddenRuns:n=>bD(n===t.IRange.Axis.Row?e._rowHeaders:e._colHeaders),onVisibleRun:e=>{l.push({...e})},onHiddenRun:e=>{u.push({...e})}});let d=a?.description??(0,n.messageKey)(`op.filter`),f=c?e._rowHeaders:e._colHeaders,p=e._beginCommit({description:d,...a});try{l.length>0&&f._setHidden(l,!1,{description:d}),u.length>0&&f._setHidden(u,!0,{description:d}),p.commit()}catch(e){throw p.rollback(),e}return r}(qy=Ky||={}).MAX_EXPRESSION_LENGTH=8192,qy.Status={Ready:`ready`,Error:`error`,Starting:`starting`,Stopping:`stopping`,Off:`off`},qy.CalculationMode={Automatic:`auto`,Manual:`manual`,AutomaticExceptTables:`automaticExceptTables`},qy.ResultStatus={Ready:`ready`,Stale:`stale`,Pending:`pending`,Streaming:`streaming`};var ub={separatorFunction:`,`,separatorColumn:`,`,separatorRow:`;`,separatorDecimal:`.`};function db(e){return e===`,`?{separatorDecimal:`,`,separatorFunction:`;`,separatorColumn:`;`,separatorRow:`|`}:ub}var fb=[[`All`,`all`],[`Data`,`data`],[`Headers`,`headers`],[`Totals`,`totals`],[`This Row`,`thisRow`]];function pb(e,t){let n=e.trim().toUpperCase();for(let[e,r]of fb)if(e.toUpperCase()===n||t?.[r]?.trim().toUpperCase()===n)return e}var mb={separators:ub,booleanTrue:`TRUE`,booleanFalse:`FALSE`,errorLiterals:[],errorRefs:[],parseBoolean:e=>{let t=e.toUpperCase();return t===`TRUE`||t!==`FALSE`&&void 0},parseError:e=>t.FormulaError.getBuiltInByLabel(e.toUpperCase())??void 0,parseSpecifier:e=>pb(e),localizeBoolean:e=>e?`TRUE`:`FALSE`,localizeError:e=>e?.getLabel?.()??String(e),localizeSpecifier:e=>e};function hb(e=ub,t){let n=mo(t),r=n?.booleans?.true??`TRUE`,i=n?.booleans?.false??`FALSE`,a=[],o=[],s=n?.errors;if(s)for(let e in s)(e===`Ref`||e===`Name`?o:a).push(s[e]);let c=n?.specifiers;return{separators:e,booleanTrue:r,booleanFalse:i,errorLiterals:a,errorRefs:o,specifiers:c,parseBoolean:e=>vo(e,t),parseError:e=>yo(e,t),parseSpecifier:e=>pb(e,c),localizeBoolean:e=>e?r:i,localizeError:e=>_o(e,t),localizeSpecifier:e=>function(e,t){if(!t)return e;let n=e.trim().toUpperCase();for(let[r,i]of fb)if(r.toUpperCase()===n)return t[i]?.trim()||e;return e}(e,c)}}var $={Unparsed:`unparsed`,Paren:`paren`,Infix:`infix`,Prefix:`prefix`,Postfix:`postfix`,Function:`function`,Call:`call`,Error:`error`,Number:`number`,Boolean:`boolean`,String:`string`,Separator:`separator`,List:`list`,Type:`type`,Array:`array`,Row:`row`,Cell:`cell`,Named:`named`,TableReference:`tableReference`,TableSpecifier:`tableSpecifier`,TableColumn:`tableColumn`,ExternalReference:`externalReference`,Empty:`empty`,Whitespace:`whitespace`};function gb(e){let t=(e=e.toUpperCase()).length,n=0;for(let r=0;r<t;r++){let i=e.charCodeAt(r);isNaN(i)||(n+=(i-64)*26**(t-r-1))}return n}function _b(e,t,n){let r=e.match(/([$]?)([A-Za-z]{1,3})([$]?)([1-9][0-9]*)/),i=gb(r[2])-1,a=r[1].length===1,o=r[4]-1,s=r[3].length===1;return a||i===-(2**53-1)||(i-=n),s||o===-(2**53-1)||(o-=t),{type:$.Cell,value:{colIndex:i,rowIndex:o,$colIndex:a,$rowIndex:s,scope:null},inputs:null,isReference:!0}}function vb(e){return{type:$.Cell,value:{colIndex:e.colIndex,rowIndex:e.rowIndex,$colIndex:e.$colIndex||!1,$rowIndex:e.$rowIndex||!1,scope:null},inputs:null,isReference:!0}}function yb(e,t){let n=e.startsWith(`$`);n&&(e=e.substring(1));let r=gb(e)-1;return n||r===-(2**53-1)||(r-=t),{type:$.Cell,value:{colIndex:r,rowIndex:-(2**53-1),$colIndex:n,$rowIndex:!1,scope:null},inputs:null,isReference:!0}}function bb(e,t){let n=e.startsWith(`$`);n&&(e=e.substring(1));let r=parseInt(e)-1;return n||r===-(2**53-1)||(r-=t),{type:$.Cell,value:{colIndex:-(2**53-1),$colIndex:!1,rowIndex:r,$rowIndex:n,scope:null},inputs:null,isReference:!0}}function xb(e,t){return{type:$.Function,value:e,inputs:t}}function Sb(e,t){return{type:$.Call,value:null,inputs:t&&t.length>0?[e,...t]:[e]}}function Cb(e,t){return{type:$.TableReference,value:e,inputs:t,isReference:!0}}function wb(e,t=mb){let n=e.startsWith(`[`)?e.slice(1,-1):e;if(n.startsWith(`#`)&&t.parseSpecifier){let e=t.parseSpecifier(n.slice(1));e&&(n=`#`+e)}return{type:$.TableSpecifier,value:n,inputs:null,isReference:!0}}function Tb(e){let t=e;return e.startsWith(`[`)&&e.endsWith(`]`)?t=e.slice(1,-1):e.startsWith(`'`)&&e.endsWith(`'`)&&(t=e.slice(1,-1).replace(/''/g,`'`)),{type:$.TableColumn,value:t,inputs:null,isReference:!0}}function Eb(e,t,n,r=!1){let i={type:$.Infix,value:e,inputs:[t,n]};return r&&(i.isReference=!0),i}function Db(e,t,n=!1){let r={type:$.Postfix,value:e,inputs:t?[t]:null};return n&&(r.isReference=!0),r}function Ob(e,t,n=!1){let r={type:$.Prefix,value:e,inputs:t?[t]:null};return n&&(r.isReference=!0),r}function kb(e,t){return{type:$.Prefix,value:e,inputs:[t]}}function Ab(e){return{type:$.Named,value:{nameId:e,scope:null},inputs:null,isReference:!0}}function jb(e,n=mb){let r=n.separators.separatorDecimal,i=e;r!==`.`&&(i=i.split(r).join(`.`)),i.includes(`**`)&&(i=i.replace(`**`,`e`));let a=Number(t.Scalar.truncateNumberText(i));if(!(a>=-999999999999999e293&&a<=999999999999999e293))throw new t.FormulaError.Parse(`Number out of range: ${e}`);return{type:$.Number,value:a,image:e,isLiteral:!0}}function Mb(e){return{type:$.String,value:e.length>1?e.substring(1,e.length-1).replace(/""/g,`"`):e,isLiteral:!0}}function Nb(e){return{type:$.Array,value:[e],isLiteral:!0}}function Pb(){return{type:$.Row,value:[],isLiteral:!0}}function Fb(e,t=mb){return{type:$.Boolean,value:t.parseBoolean(e)??!1,image:e,isLiteral:!0}}function Ib(e,n=mb){return{type:$.Error,value:n.parseError(e)??t.FormulaError.getBuiltInByLabel(e.toUpperCase()),image:e,isLiteral:!0}}function Lb(e,n=mb,r){let i=e?n.parseError(e)??t.FormulaError.getBuiltInByLabel(e.toUpperCase()):t.FormulaError.BuiltIn.Ref;return{type:$.Error,value:r?{error:i,scope:r}:{error:i},image:e,inputs:null,isReference:!0}}function Rb(e){return t.FormulaError.isError(e)?e:e?.error}function zb(e){return e.indexOf(`#`)>0}function Bb(){return{type:$.Empty,value:void 0,isLiteral:!0}}function Vb(e,t){return e&&function e(n,r,i=[]){let a=n.inputs,o;if(a){let t=a.length;for(let r=0;r<t;r++){let t=a[r];if(t===void 0)continue;i.push(n);let s=e(t,n,i);i.pop(),s!==void 0&&s!==t&&(o||=[...a],o[r]=s)}}let s=n;if(o&&(s={...n},s.inputs=o),s===void 0)return s;let c=t(s,r,i);return c===void 0?s:c}(e,void 0,[])}function Hb(e,t){return t.wsBefore&&(e.wsBefore=t.wsBefore),t.wsAfter&&(e.wsAfter=t.wsAfter),t.image&&(e.image=t.image),e}var Ub=Object.freeze([[`^`],[`*`,`/`],[`+`,`-`],[`&`],[`<`,`>`,`=`,`<>`,`<=`,`>=`]]),Wb=(Object.freeze([`:`,`.:.`,`.:`,`:.`]),Object.freeze([`:`,` `,`.:.`,`.:`,`:.`])),Gb=Object.freeze([`@`]),Kb=Object.freeze([`#`]),qb=(Object.freeze(Wb.concat(Kb)),Object.freeze(Wb.concat(Gb).concat(Kb))),Jb=class{constructor(e,t,r){if(!r)throw new n.NullNotAllowedError;if(typeof r==`string`&&(r={address:r}),typeof r.address!=`string`)throw Error((0,n.t)(`error.hyperlink.invalidHyperlink`));this._t=e,this._r=t,this._p=r}open(e,t){return this._r(this.getAddress(),null,e??this.getTarget(),t)}getTarget(){return this._p.target||(this._p.address.startsWith(`#`)?`_self`:`_blank`)}getTextToDisplay(){return this._t()||this.getAddress()}getAddress(){return this._p.address??``}getScreenTip(){return this._p.screenTip??null}get isIHyperlink(){return!0}},Yb=Object.freeze({displayText:``,conditionalColor:null,repeatChars:n.CommonUtils.EmptyArray,spacingChars:n.CommonUtils.EmptyArray,errorPlaceholder:null,formattedRuns:Object.freeze({runs:n.CommonUtils.EmptyArray,length:0,width:0,lastRepeatIndex:-1}),canWrap:!1,asDate:null,isDateFormat:!1,isTimeFormat:!1});function Xb(e,r,i,a,s,c){if(r==null)return Yb;let l=``,u=null,d=null,f=null,p=null,m=Ec();if(a===t.ScalarType.Error)l=_o(r);else if(a===t.ScalarType.RichData)l=`(Rich Object)`;else if(a===t.ScalarType.Boolean)l=go(r);else if(s)try{let t=m.format(s,r,{date1904:e?.isDate1904()??!1,locale:e?.getLocale()??void 0,placeholders:!0});l=t.text,d=t.fills??null,f=t.skips??null,p=t.color}catch(e){console.warn(`Invalid formatCode: `+l,s,e)}let h=m.isDateFormat(s),g=m.isTimeFormat(s),_=h||g?pr(r,e?.isDate1904()??!1):null;l===null&&(u=`#`,l=u.repeat(5));let v=null,y=i.getAlignment(),b=y.getHorizontal(),x=y.getVertical(),S=y.getOverflow(),C=!(a!==t.ScalarType.String||b===o.HorizontalAlignment.Fill||d!==null&&d.length!==0||S!==o.Overflow.Wrap&&b!==o.HorizontalAlignment.Justify&&b!==o.HorizontalAlignment.Distributed&&x!==o.VerticalAlignment.Justify&&x!==o.VerticalAlignment.Distributed),w=l;C||a!==t.ScalarType.String||(w=w.replaceAll(/\n/g,``));let T=f?f.length:0,E=d?d.length:0,D=T>0||E>0;if(S!==o.Overflow.Wrap||D){let e=i.getFont(),t=e.getSize();e.isSuperSub()&&(t*=e.getSuperSubScale());let n=[];for(let e=0;e<T;e++){let r=f[e],a=i.measureText(r.char,t).width;n.push({...r,type:`spacing`,width:a})}if(E>0){let e=d[E-1],r=i.measureText(e.char,t).width;n.push({...e,type:`repeat`,width:r})}n=n.sort((e,t)=>e.offset-t.offset);let r=[],a=0,o=0,s=-1,c=-1,l=e=>{let n={type:`text`,width:i.measureText(e,t).width,text:e};r.push(n),o+=n.width,a+=e.length},u=n.length;for(let e=0;e<u;e++){let t=n[e];if(c!==t.offset){let e=w.substring(a,t.offset);e&&l(e)}let i={type:t.type,width:t.width,text:t.char};t.type===`repeat`?s=r.length:o+=i.width,r.push(i),c=t.offset}if(a<w.length){let e=w.substring(a,w.length);e&&l(e)}v={runs:Object.freeze(r),length:a,width:o,lastRepeatIndex:s}}let O={displayText:l??``,conditionalColor:p?c(p):null,repeatChars:d??n.CommonUtils.EmptyArray,spacingChars:f??n.CommonUtils.EmptyArray,errorPlaceholder:u,formattedRuns:v,canWrap:C,asDate:_,isDateFormat:h,isTimeFormat:g};return Object.freeze(O)}function Zb(e){let t=typeof e==`number`?Number(e.toPrecision(15)):e,r=n.CommonUtils.castToString(t),i=r.indexOf(`e`);if(i===-1)return r;let a=r.substring(i+2);return`${r.substring(0,i)}E${r[i+1]}${a.length<2?`0`+a:a}`}function Qb(e,n){if(e==null)return``;switch(n){case t.ScalarType.Number:return Zb(e);case t.ScalarType.Boolean:return go(e);case t.ScalarType.Error:{let n=e;return typeof n?.getLabel==`function`?_o(n):t.FormulaError.Label.Unknown}}return``+e}function $b(e,t,n,r){return{x:e*r-t*n,y:e*n+t*r}}function ex(e){let t=0,n=0,r=0,i=0,a=0,o=0,s=0,c=e.length;if(c===0)return{m:0,b:0};if(c===1)return{m:1,b:e[0]};for(let l=0;l<c;l++)o=l+1,s=e[l],s==null||isNaN(s)||(t+=o,n+=s,i+=o*o,r+=o*s,a++);let l=(a*r-t*n)/(a*i-t*t);return{m:l,b:n/a-l*t/a}}var tx=class{constructor(e,t){this._c=e,this._tvTl=t}tvTl(){return this._tvTl(this._c)}getCoords(){return this._c}},nx=class e{get _block(){return this._blockOwn}constructor(e,t,n){this._coords=e,this._blockOwn=t,this._options=n}getTokens(e){let t=this._coords??n.CoordUtils.EmptyCell;return this._block.getTokensAt(t.rowIndex,t.colIndex,e)}isValid(){return!this._block.getError()}autoCorrect(){return this.isValid()?null:this._options.autoCorrect?.(this.getExpression(),this._coords??void 0)??null}evaluate(e){let t=this._coords??n.CoordUtils.EmptyCell,r=typeof e==`number`?e:e?.evalIndex,i=this._block.evaluateAt(t.rowIndex,t.colIndex,r);return this._block.finalizeValue(i)}getCalculationStatus(){return Ky.Status.Ready}getReferences(){let e=this._coords;return e?this._resolveReferences(this._options.getCalcGrid?.()?.getReferencesAt(e.rowIndex,e.colIndex)):null}hasRefError(){let e=this._coords;return!!e&&ix(this._options.getCalcGrid?.()?.getReferencesAt(e.rowIndex,e.colIndex))}_resolveReferences(e){if(!e?.length)return null;let n=this._options.resolveSheetScope,r=[];for(let i of e)if(i&&!t.FormulaError.isError(i))if(`nameId`in i)r.push(i.nameId);else{let e=i;if(e.scope&&n){let t=n(e.scope);t&&(e={...e,scope:t})}else if(!e.scope){let t=this._options.getOwnScope?.();t&&(e={...e,scope:t})}r.push(e)}else r.push(null);if(!r.some(e=>e!==null))return null;try{return this._options.getRanges(r)}catch{let e=r.map(e=>{if(e===null)return null;try{return this._options.getRanges([e]),e}catch{return null}});return e.some(e=>e!==null)?this._options.getRanges(e):null}}setReferenceAt(t,r,i){let a=this._coords,o=this._options,s=o.getCalcGrid?.();if(!a||!s)return n.CommonUtils.EmptyArray;let c=o.getRange(r),l=c?.isINamedRange?{nameId:c.getId()}:c.getCoords()??null;if(typeof r==`string`&&!r.includes(`:`)&&l?.colStart!==void 0){let e=l,t={colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart??!1,$rowIndex:e.$rowStart??!1};e.scope&&(t.scope=e.scope),l=t}let u=(0,n.t)(`op.updateFormulaAt`,{address:o.getRange(a).getAddress()}),d;return i&&typeof i!=`string`&&!i.description&&((i={...i}).description=u),o.doBatchCalcGrid(e=>{let r=a.rowIndex,i=a.colIndex;return e.setReferenceAt(r,i,t,l),d=e.getFormulaBlockAt(r,i),n.CoordUtils.cellToRange(a)},i??u),new e(a,d,o)}setReferenceModeAt(t,r=`self`,i,a){let o=this._coords??n.CoordUtils.EmptyCell,s=this._options,c=s.getCalcGrid().getReferencesAt(o.rowIndex,o.colIndex)[t];if(!c||`nameId`in c)throw Error(`Reference at index ${t} is not a cell reference and cannot have its style changed.`);let l=c,u=s.getRange(o),d=u?(0,n.t)(`op.updateReferenceStyleAt`,{address:u.getAddress()}):(0,n.messageKey)(`op.updateReferenceStyle`);a&&typeof a!=`string`&&!a.description&&((a={...a}).description=d);let f=ax(l,r,i),p;return s.doBatchCalcGrid(e=>{let r=o.rowIndex,i=o.colIndex;return e.setReferenceAt(r,i,t,f),p=e.getFormulaBlockAt(r,i),n.CoordUtils.cellToRange(o)},a??d),new e(o,p,s)}isReferenceOnly(){return this._block.isReferenceOnly()}isVolatile(){let e=this._coords;return!!e&&(this._options.getCalcGrid?.()?.isVolatileAt(e.rowIndex,e.colIndex)??!1)}getExpression(e){let t=e?.cell??this._coords??n.CoordUtils.EmptyCell,r=e?.r1c1??!1;return this._block.getTextAt(t.rowIndex,t.colIndex,r,e?.formulaTransform,e?.evalIndex,e?.canonical)}getAnchor(){return this._coords}shift(e){return this._options.createAt?.(this.getExpression({cell:e}),e)??null}get[Symbol.toStringTag](){return`[Formula]`}toString(){return this.getExpression()}get isIFormula(){return!0}},rx=class e extends nx{constructor(e,t,n,r){super(e,t,n),this._doEval=r}evaluate(e){let t=this._block;return this._doEval(t,e)}getReferences(){let e=this._coords;if(!e)return null;let t=this._block.getReferences(e.rowIndex,e.colIndex);return this._resolveReferences(t?.map(t=>t?.colStart===void 0?t:xu(t,e.rowIndex,e.colIndex)))}hasRefError(){let e=this._coords??n.CoordUtils.EmptyCell;return ix(this._block.getReferences(e.rowIndex,e.colIndex))}setReferenceAt(t,n){let r=this._coords;if(!r)return this;let i=this._options.getRange(n),a=i?.isINamedRange?{nameId:i.getId()}:i.getCoords()??null,o=typeof n==`string`?n.includes(`!`):n?.colStart===void 0||!!n.scope;a?.scope&&!o&&(a={...a,scope:void 0});let s=a?.colStart===void 0?a:Su(a,r.rowIndex,r.colIndex);if(typeof n==`string`&&!n.includes(`:`)&&s?.colStart!==void 0){let e=s,t={colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart??!1,$rowIndex:e.$rowStart??!1};e.scope&&(t.scope=e.scope),s=t}return new e(r,this._block.setReferenceAt(t,s),this._options,this._doEval)}setReferenceModeAt(e,t=`self`,n,r){let i=this._coords;if(!i)return this;let a=this._block.getReferences(i.rowIndex,i.colIndex)?.[e];if(!a||`nameId`in a||a.colStart===void 0)return this;let o=a;if(o.scope&&this._options.resolveSheetScope){let e=this._options.resolveSheetScope(o.scope);e&&(a={...o,scope:e})}let s=xu(a,i.rowIndex,i.colIndex);return this.setReferenceAt(e,ax(s,t,n))}};function ix(e){if(!e?.length)return!1;for(let n=0;n<e.length;n++){let r=e[n];if(!r||t.FormulaError.isError(r))return!0}return!1}var ax=(e,t=`self`,n)=>{let r=t===`right`,i=n;if(i===void 0){let t=r?e.$colEnd:e.$colStart,n=r?e.$rowEnd:e.$rowStart;i=t&&n?0:n&&!t?1:t&&!n?2:3}let a=i+1;(a>3||a<0)&&(a=0);let o=a===0||a===1,s=a===0||a===2,c={...e};return t===`self`?(c.$rowStart=o,c.$colStart=s,c.$rowEnd=o,c.$colEnd=s):t===`right`?(c.$rowEnd=o,c.$colEnd=s):(c.$rowStart=o,c.$colStart=s),c},ox=(e,t)=>e+t,sx=(e,t)=>e-t,cx=(e,t)=>e*t,lx=(e,n)=>n===0?t.FormulaError.BuiltIn.Div0:e/n,ux=(e,n)=>{if(e===0){if(n<0)return t.FormulaError.BuiltIn.Div0;if(n===0)return NaN}return e**n},dx=(e=``,n=``)=>{e===null&&(e=``),n===null&&(n=``);let r=typeof n;typeof e==`boolean`&&(e=go(e)),r===`boolean`&&(n=go(n));let i=``+e+n;return i.length>t.Scalar.MAX_TEXT_LENGTH?i.slice(0,t.Scalar.MAX_TEXT_LENGTH):i},fx=(e,t=null,n=null)=>e.compare(t,n)===0,px=(e,t=null,n=null)=>e.compare(t,n)!==0,mx=(e,t=null,n=null)=>e.compare(t,n)>0,hx=(e,t=null,n=null)=>e.compare(t,n)>=0,gx=(e,t=null,n=null)=>e.compare(t,n)<0,_x=(e,t=null,n=null)=>e.compare(t,n)<=0,vx={type:t.ScalarType.Number,coerce:[t.ScalarType.Boolean,t.ScalarType.String],onError:`value`,misalignValue:t.FormulaError.BuiltIn.NA},yx={type:t.ScalarType.String,coerce:[t.ScalarType.Boolean,t.ScalarType.Number],onError:`value`,misalignValue:t.FormulaError.BuiltIn.NA},bx={onError:`value`,misalignValue:t.FormulaError.BuiltIn.NA},xx=(e,n,r,i)=>{if(n!==null&&n.colStart!==void 0&&(n=e.getValueAt(n.rowStart,n.colStart,n.scope))&&t.FormulaError.isError(n))return n;if(r!==null&&r.colStart!==void 0&&(r=e.getValueAt(r.rowStart,r.colStart,r.scope))&&t.FormulaError.isError(r))return r;if(typeof n==`number`&&typeof r==`number`)return i(n,r);let a,o;if(n?.isIRange?a=n:r?.isIRange&&(o=r),!a&&!o){let a=e.getRuntime();return n=$D(a,n,WD(n,!0),t.ScalarType.Number,!0),r=$D(a,r,WD(r,!0),t.ScalarType.Number,!0),n&&t.FormulaError.isError(n)?n:r&&t.FormulaError.isError(r)?r:i(n,r)}let s=!a,c=s?n:r;return(a??o).broadcast(c,(n,r)=>n&&t.FormulaError.isError(n)?n:r&&t.FormulaError.isError(r)?r:sO(s?i(r,n):i(n,r),e),vx).fillEmpty(0)},Sx=(e,n,r,i)=>{if(!0===n?.isLambda||!0===r?.isLambda)return t.FormulaError.BuiltIn.Value;if(n!==null&&n.colStart!==void 0&&(n=e.getValueAt(n.rowStart,n.colStart,n.scope))&&t.FormulaError.isError(n))return n;if(r!==null&&r.colStart!==void 0&&(r=e.getValueAt(r.rowStart,r.colStart,r.scope))&&t.FormulaError.isError(r))return r;let a,o,s=!1;return n?.isIRange?(a=n,o=r):r?.isIRange&&(a=r,o=n,s=!0),a?a.broadcast(o,(n,r)=>n&&t.FormulaError.isError(n)?n:r&&t.FormulaError.isError(r)?r:s?i(e,r,n):i(e,n,r),bx):t.FormulaError.isError(n)?n:t.FormulaError.isError(r)?r:i(e,n,r)},Cx=(e,n,r)=>{if(r??=0,r!==null&&r.colStart!==void 0&&(r=e.getValueAt(r.rowStart,r.colStart,r.scope))&&t.FormulaError.isError(r))return r;let i,a=1;if(n===`+`)return r;if(n!==`-`)throw new t.FormulaError.Value(`Unrecognized prefix: ${n}`);return a=-a,r?.isIRange&&(i=r),i?i.broadcast(a,(e,n)=>e&&t.FormulaError.isError(e)?e:n&&t.FormulaError.isError(n)?n:cx(e,n),vx):typeof(r=$D(e.getRuntime(),r,WD(r,!0),t.ScalarType.Number,!0))==`number`?r*a:t.FormulaError.BuiltIn.Value},wx=e=>e.getCode()<=t.FormulaError.Code.NA?e:t.FormulaError.BuiltIn.Value,Tx=(e,n,r,i)=>{if(t.FormulaError.isError(n))return wx(n);if(r&&t.FormulaError.isError(r))return wx(r);if(!n)return t.FormulaError.BuiltIn.Ref;if(n.isIReferenceRange&&r&&!r.isIReferenceRange?r=e.getReference(r):r&&r.isIReferenceRange&&n&&!n.isIReferenceRange&&(n=e.getReference(n)),n.isIReferenceRange&&(n=n.getCoords()),n.colStart===void 0||(r.isIReferenceRange&&(r=r.getCoords()),r.colStart===void 0))return t.FormulaError.BuiltIn.Value;let a=i(n,r);return t.FormulaError.isError(a)?a:a?e.getReference(a):t.FormulaError.BuiltIn.Null},Ex={"+":(e,t,n)=>xx(e,t,n,ox),"-":(e,t,n)=>xx(e,t,n,sx),"*":(e,t,n)=>xx(e,t,n,cx),"/":(e,t,n)=>xx(e,t,n,lx),"^":(e,t,n)=>xx(e,t,n,ux)," ":(e,t,n,r)=>Tx(e,t,n,Lu),":":(e,t,n,r)=>Tx(e,t,n,Ru),".:.":(e,t,n,r)=>{let i=Tx(e,t,n,Ru);return e.getFunction(`TRIMRANGE`).execute(i,3,3)},".:":(e,t,n,r)=>{let i=Tx(e,t,n,Ru);return e.getFunction(`TRIMRANGE`).execute(i,1,1)},":.":(e,t,n,r)=>{let i=Tx(e,t,n,Ru);return e.getFunction(`TRIMRANGE`).execute(i,2,2)},"&":(e,n,r)=>((e,n,r,i)=>{if(n!==null&&n.colStart!==void 0&&(n=e.getValueAt(n.rowStart,n.colStart,n.scope))&&t.FormulaError.isError(n))return n;if(r!==null&&r.colStart!==void 0&&(r=e.getValueAt(r.rowStart,r.colStart,r.scope))&&t.FormulaError.isError(r))return r;if(typeof n==`string`&&typeof r==`string`)return i(n,r);let a,o;if(n?.isIRange?a=n:r?.isIRange&&(o=r),!a&&!o){let a=e.getRuntime();return n=$D(a,n,WD(n,!0),t.ScalarType.String,!1),r=$D(a,r,WD(r,!0),t.ScalarType.String,!1),t.FormulaError.isError(n)?n:t.FormulaError.isError(r)?r:i(n,r)}let s=!a,c=s?n:r;return(a??o).broadcast(c,(e,n)=>e&&t.FormulaError.isError(e)?e:n&&t.FormulaError.isError(n)?n:s?i(n,e):i(e,n),yx)})(e,n,r,dx),"=":(e,t,n)=>Sx(e,t,n,fx),"<>":(e,t,n)=>Sx(e,t,n,px),">":(e,t,n)=>Sx(e,t,n,mx),"<":(e,t,n)=>Sx(e,t,n,gx),">=":(e,t,n)=>Sx(e,t,n,hx),"<=":(e,t,n)=>Sx(e,t,n,_x)},Dx={"-":(e,t)=>Cx(e,`-`,t),"+":(e,t)=>Cx(e,`+`,t),"@":(e,n)=>{if(!n||!n.isIRange)return n;let r=n;if(!n.isIReferenceRange)return r.getValueAt(0,0);let i=n.getCoords(),a=r.getRowCount(),o=r.getColumnCount();if(o>1&&a>1)return t.FormulaError.BuiltIn.Value;if(a>1){let t=e.getRow()-i.rowStart;if(t>=0&&t<a)return r.getValueAt(t,0)}else{if(!(o>1))return r.getValueAt(0,0);{let t=e.getColumn()-i.colStart;if(t>=0&&t<o)return r.getValueAt(0,t)}}return t.FormulaError.BuiltIn.Value}},Ox={"%":(e,t)=>xx(e,t,100,lx),"#":(e,n)=>e.getSpillAt(n.rowStart,n.colStart,n.scope)||t.FormulaError.BuiltIn.Ref};function kx(e,t){for(let n=e.length-1;n>=0;n--)if(e[n].type===t)return e[n]}var Ax=class{constructor(){this.referenceIndices=[],this.rootReferences=new Set,this.cells=new Map,this.references=new Map,this.names=new Map}processNode(e,t){let n=e.type;if(e.isReference){let t={node:e,index:this.references.size,op:null,value:null,inputs:null};if(this.references.set(e,t),n===$.Cell){let n=e.value;n.$colIndex&&(t.hasHorizontalAbs=!0),n.$rowIndex&&(t.hasVerticalAbs=!0),t.value=this.cells.size,this.cells.set(e,this.cells.size),this.rootReferences.add(t),e.referenceIndex=this.referenceIndices.length,this.referenceIndices.push(t.index);return}if(n===$.Infix||n===$.Prefix||n===$.Postfix||n===$.List){let n=e.inputs||[],r=n.length,i=e.value;t.op=i;let a=lO(r);t.inputs=a;for(let e=0;e<r;e++){let r=n[e],i=this.references.get(r);i?(i.hasHorizontalAbs&&(t.hasHorizontalAbs=!0),i.hasVerticalAbs&&(t.hasVerticalAbs=!0),a[e]=i.index):a[e]=-1,i&&this.rootReferences.delete(i)}if(this.rootReferences.add(t),Hx.includes(i)){let r=n[0],i=!!r&&r.type===$.Cell,a=n[1],o=!!a&&a.type===$.Cell;i&&o&&a.referenceIndex!==void 0&&r.referenceIndex!==void 0&&(this.referenceIndices.splice(a.referenceIndex,1),a.referenceIndex=r.referenceIndex,e.referenceIndex=r.referenceIndex,this.referenceIndices[r.referenceIndex]=t.index)}else i===`#`&&(e.referenceIndex=n[0].referenceIndex);return}if(n===$.Error||n===$.Named){let r=n===$.Named?e.value.nameId:Rb(e.value),i=this.names.get(r);t.op=n,i===void 0&&(i=this.names.size,this.names.set(r,i)),t.value=i,this.rootReferences.add(t),e.referenceIndex=this.referenceIndices.length,this.referenceIndices.push(t.index);return}if(n===$.TableReference)return t.op=n,this.rootReferences.add(t),e.referenceIndex=this.referenceIndices.length,void this.referenceIndices.push(t.index)}else if(t&&t.isReference){let t={node:e,index:this.references.size,op:$.Function,value:e.value,inputs:null};this.references.set(e,t)}}};function jx(e,t=!1,n=ub){let r=[],i=(e,n,i)=>{let a={type:e.type,value:e.value};e.image!==void 0&&(a.text=(e=>{let n=t?e.value?.scopeImage:void 0;return typeof n==`string`?n:``})(e)+e.image);let o=e.evalIndex??i;return o!==void 0&&(a.evalIndex=o),n&&(a.context=n),e.referenceIndex!==void 0&&(a.referenceIndex=e.referenceIndex),e.isReference&&(a.isReference=!0),r.push(a),a},a=(e,t,n,i,a)=>{if(t==null||r.length>1&&e===$.Whitespace&&r[r.length-1].type===$.Whitespace)return;let o={type:e,value:t,text:a??t};i!==void 0&&(o.evalIndex=i),n&&(o.context=n),r.push(o)};(function e(t,o,s){let c=t.evalIndex??s??0,l=t.type,u=(t,r,i)=>{if(!t)return;let o=t.length;for(let s=0;s<o;s++)e(t[s],r,i),s<o-1&&a($.Separator,`,`,r,i,n.separatorFunction)};if(t.isLiteral){if(a($.Whitespace,t.wsBefore,o,c),l===$.Array){a($.Type,`{`,o,c);let r=t.value,i=r.length;for(let t=0;t<i;t++){let s=r[t],l=s.value,u=l.length;for(let t=0;t<u;t++){let r=l[t];a($.Whitespace,r.wsBefore,o,c),e(r,o,c),a($.Whitespace,r.wsAfter,o,c),t<u-1&&a($.Separator,`,`,o,c,n.separatorColumn)}t<i-1&&(a($.Whitespace,s.wsBefore,o,c),a($.Separator,`;`,o,c,n.separatorRow),a($.Whitespace,s.wsAfter,o,c))}t.error||a($.Type,`}`,o,c)}else l===$.String&&(t={type:l,value:`"`+`${t.value}`.replace(/"/g,`""`)+`"`,image:t.image}),i(t,o,c);a($.Whitespace,t.wsAfter,o,c)}else if(l===$.Infix)e(t.inputs[0],o,c),a($.Whitespace,t.wsBefore,o,c),i(t,o,c),a($.Whitespace,t.wsAfter,o,c),e(t.inputs[1],o,c);else if(l===$.Prefix)a($.Whitespace,t.wsBefore,o,c),i(t,o,c),a($.Whitespace,t.wsAfter,o,c),t.inputs&&e(t.inputs[0],o,c);else if(l===$.Postfix)e(t.inputs[0],o,c),a($.Whitespace,t.wsBefore,o,c),i(t,o,c),a($.Whitespace,t.wsAfter,o,c);else{a($.Whitespace,t.wsBefore,o,c);let s=t.inputs;switch(l){case $.Function:{let i=String(t.value),l={type:$.Function,value:i,text:t.image??i,evalIndex:t.evalIndex};o&&(l.context=o),l.isLookup=!0,t.referenceIndex&&(l.referenceIndex=t.referenceIndex),r.push(l);let u={name:i,argIndex:-1,type:`function`};if(a($.Paren,`(`,u,t.evalIndex),s){let t=s.length;for(let r=0;r<t;r++){let i={...u,argIndex:r};e(s[r],i,c),r<t-1&&a($.Separator,`,`,i,c,n.separatorFunction)}}t.error||a($.Paren,`)`,u,t.evalIndex);break}case $.Call:{let r=function(e){return e.inputs?.[0]}(t);r&&e(r,o,c);let i={name:r?.type===$.Named?r.value.nameId:``,argIndex:-1,type:`function`};a($.Paren,`(`,i,t.evalIndex);let s=function(e){let t=e.inputs;return t&&t.length>1?t.slice(1):[]}(t),l=s.length;for(let t=0;t<l;t++){let r={...i,argIndex:t};e(s[t],r,c),t<l-1&&a($.Separator,`,`,r,c,n.separatorFunction)}t.error||a($.Paren,`)`,i,t.evalIndex);break}case $.Cell:i(t,o,c);break;case $.Paren:a(l,`(`,o,c),u(s,o,c),t.error||a(l,`)`,o,c);break;case $.TableReference:{let n=t.value?.tableId??``,i={name:n,argIndex:-1,type:`table`},l=r.length;if(n&&(a($.TableReference,n,o,c),r[r.length-1].isLookup=!0),a($.Paren,`[`,i,c),s){let t=s.length;for(let n=0;n<t;n++){let r={...i,argIndex:n};e(s[n],r,c),n<t-1&&a($.Separator,`,`,r,c)}}t.error||a($.Paren,`]`,i,c);let u=t.referenceIndex;for(let e=l;e<r.length;e++)u!==void 0&&(r[e].referenceIndex=u),r[e].isReference=!0;break}case $.TableSpecifier:{let e=t.image,n=t.value,r=e!=null&&e.startsWith(`[`)&&e.endsWith(`]`);a($.TableSpecifier,r?`[${n}]`:n,o,c);break}case $.TableColumn:{let e=t.image,n=t.value,r=e!=null&&e.startsWith(`[`)&&e.endsWith(`]`);a($.TableColumn,r?`[${n}]`:n,o,c);break}case $.List:u(s,o,c);break;case $.Named:{let e=i(t,o,c),n=t.value;e.value=n.scope?{name:n.nameId,scope:n.scope}:{name:n.nameId},t.binding?.declaration&&t.binding.optional&&(e.value.optional=!0),e.isLookup=!0,delete e.referenceIndex;break}default:t.value!==void 0&&i(t,o,c),s&&s.forEach(t=>e(t,o,c))}a($.Whitespace,t.wsAfter,o,c)}})(e);let o=new Map;for(let e of r)if(e.type===$.Cell&&e.referenceIndex!==void 0){let t=o.get(e.referenceIndex);t?t.push(e):o.set(e.referenceIndex,[e])}for(let e of o.values())e.length===1?e[0].refSide=`self`:(e[0].refSide=`left`,e[e.length-1].refSide=`right`);let s=new Map;for(let e of r)if(e.isReference&&e.referenceIndex!==void 0&&e.evalIndex!==void 0){let t=s.get(e.referenceIndex);(t===void 0||e.evalIndex<t)&&s.set(e.referenceIndex,e.evalIndex)}if(s.size>0){for(let e of r)if(e.isReference&&e.referenceIndex!==void 0){let t=s.get(e.referenceIndex);t!==void 0&&(e.evalIndex=t)}}return r}function Mx(e,t){let n=``;for(let r=0;r<e.length;r++){let i=e[r],a=i.type;if(a===$.Cell||a===$.Named||a===$.Error){let e=a===$.Cell?i.value?.scope:i.value?.scope??void 0,r=a===$.Error?i.text!==void 0&&zb(i.text):i.text?.includes(`!`)??!1;if(e&&i.text!==void 0&&!r){n+=Gl(t?.resolve(sf,e)?.toString()??e)+`!`+i.text;continue}if(a===$.Named){n+=i.text??i.value?.name??``;continue}}let o=i.text??i.value;typeof o==`string`&&(n+=o)}return n}function Nx(e,t){let n;if(Vb(e,e=>{e.evalIndex===t&&(n=e)}),!n)return[];let r=jx(n);return r.length>1&&r[0].type===$.Whitespace&&r.shift(),r.length>1&&r[r.length-1].type===$.Whitespace&&r.pop(),r}function Px(e){return Vb(e,e=>{if(e.type!==$.TableReference)return;let t=function(e){if(e.value!==null&&typeof e.value==`object`)return e.value;let t=e.value,n=e.inputs,r=!1,i=!1,a=!1,o=!1,s=null,c=null,l=!1,u=e=>{e?.type===$.TableColumn&&(s=e.value,c=e.value)};if(n)for(let e of n){let t=e.type;if(t===$.TableSpecifier){let t=e.value.toUpperCase().trim();t===`#ALL`?i=!0:t===`#HEADERS`?a=!0:t===`#TOTALS`?o=!0:t===`#DATA`?r=!0:t!==`@`&&t!==`#THIS ROW`||(l=!0)}else if(t===$.TableColumn)u(e);else if(t===$.Infix&&e.value===`:`){let t=e.inputs?.[0],n=e.inputs?.[1];t?.type===$.TableColumn&&(s=t.value),n?.type===$.TableColumn&&(c=n.value)}else t===$.Prefix&&e.value===`@`&&(l=!0,u(e.inputs?.[0]))}let d;return d=i?1:a&&r?4:o&&r?5:a?2:o?3:0,{tableId:t,spec:d,columnFromId:s,columnToId:c,isThisRow:l}}(e);return{...e,value:t}})}var Fx=e=>{if(e?.type!==$.TableSpecifier)return 4;switch(e.value.toUpperCase().trim()){case`#ALL`:return 0;case`#HEADERS`:return 1;case`#DATA`:return 2;case`#TOTALS`:return 3;default:return 4}};function Ix(e){if(!e)return n.CommonUtils.EmptyArray;let t=n.CommonUtils.EmptyArray;return Vb(e,e=>{if(e.type!==$.Named||e.binding)return;let r=e.value.nameId;r&&(t===n.CommonUtils.EmptyArray&&(t=[]),t.includes(r)||t.push(r))}),t}var Lx=new Set([`SUBTOTAL`,`AGGREGATE`]);function Rx(e,t){if(!e||!t)return!1;let n=!1;return Vb(e,e=>{if(n||e.type!==$.Function)return;let r=t(e.value)?.getName();r&&Lx.has(r.toUpperCase())&&(n=!0)}),n}function zx(e){if(!e)return n.CommonUtils.EmptyArray;let t=n.CommonUtils.EmptyArray;return Vb(e,e=>{let r=null;if(e.type===$.Named){if(e.binding)return;r=e.value.nameId??null}else e.type===$.TableReference&&(r=typeof e.value==`string`?e.value:null);r&&(t===n.CommonUtils.EmptyArray&&(t=[]),t.includes(r)||t.push(r))}),t}function Bx(e,t,n,r=!1,i=null,a=null){let o=n,s,c;o=Px(o),r||(o=Vb(o,e=>{if(e.type!==$.TableReference)return;let t=e.inputs;if(!t||t.findIndex(e=>e.type===$.TableSpecifier&&e.value.toUpperCase().trim()===`#THIS ROW`)===-1)return;let n=[],r;for(let e of t)e.type===$.TableSpecifier&&e.value.toUpperCase().trim()===`#THIS ROW`||(e.type!==$.TableColumn&&(e.type!==$.Infix||e.value!==`:`)||r?n.push(e):r=e);if(!r)return n.push({type:$.Prefix,value:`@`,inputs:null,isReference:!0}),{...e,inputs:n};let i=r.image??r.value,a=i.startsWith(`[`)&&i.endsWith(`]`)?{...r,image:i.slice(1,-1)}:r;return n.push(Ob(`@`,a,!0)),{...e,inputs:n}}),o=function(e){return Vb(e,e=>{if(e.type!==$.TableReference)return;let t=e.inputs;if(!t||t.length<2)return;let n=t.map((e,t)=>({input:e,index:t,rank:Fx(e)})).sort((e,t)=>e.rank-t.rank||e.index-t.index).map(e=>e.input);return n.every((e,n)=>e===t[n])?void 0:{...e,inputs:n}})}(o)),[s,c]=function(e){let t=new Map,n=0,r=[e];for(;r.length>0;){let e=r.shift();if(t.set(e,{...e,evalIndex:n++}),e&&e.inputs)for(let t of e.inputs)r.push(t)}return t.forEach((e,n)=>{n&&n.inputs&&(e.inputs=n.inputs.map(e=>t.get(e)??e))}),[t.get(e),n]}(o);let l=lO(c),u=[],d=[],f=new Ax,p=!1;s=Vb(s,(t,n,r)=>{let i=t.type,a=t.evalIndex;if(l[a]=null,i===$.TableColumn||i===$.TableSpecifier||t.isReference&&kx(r,$.TableReference))return;if(p||=!qx(t),t.binding?.declaration)return d[t.binding.slot]=-1,void(l[a]=void 0);let o=(e=>{for(let t=e.length-1;t>=0;t--)if(e[t].binder?.kind===`lambda`)return!0;return!1})(r);o&&i===$.Named&&(t.deferredResolve=!0);let s=t.binder;if(s&&s.kind===`let`){let e=t.inputs,n=e?.length??0,r=0;for(let t=0;t+1<n&&r<s.slots.length;t+=2)e[t]?.binding?.declaration&&(d[s.slots[r++]]=e[t+1]?.evalIndex??-1)}if((t.isReference||n&&n.isReference)&&(f.processNode(t,n),t.isReference)){if(i===$.Cell||i===$.TableReference||i===$.Error||i===$.Named)return;if(i===$.Infix||i===$.Prefix||i===$.Postfix||i===$.List)return void(o||u.push(t))}if(t.isLiteral)if(i!==$.Array)l[a]=t.value;else{let n=t.value,r=n.length,i=lO(r);for(let e=0;e<r;e++){let t=n[e].value,r=t.length,a=lO(r);for(let e=0;e<r;e++){let n=t[e],r=null;if(n&&(r=n.type===$.Error?Rb(n.value):n.value,n.type===$.Prefix)){let e=n.value;r=n.inputs[0].value,e===`-`&&(r=-r)}a[e]=r}i[e]=a}let o=cO(i);l[a]=new GO(e,o.values,o.coords,void 0,o.isLiteral)}else{if(i!==$.Empty)return o||u.push(t),t;l[a]=void 0}});let m=lO(f.cells.size);f.cells.forEach((e,t)=>{let n=t.value,r=n.colIndex,i=n.rowIndex,a=n.$colIndex,o=n.$rowIndex,s={colStart:r,rowStart:i,colEnd:r,rowEnd:i,$colStart:a,$rowStart:o,$colEnd:a,$rowEnd:o};r===-(2**53-1)&&(s.colEnd=2**53-1),i===-(2**53-1)&&(s.rowEnd=2**53-1),n.scope&&(s.scope=n.scope),m[e]=s});let h=m.length,g=lO(h);for(let e=0;e<h;e++)g[e]={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null};let _=lO(f.references.size);f.references.forEach(e=>{_[e.index]=e});let v=[];f.rootReferences.forEach(e=>{v.push(e.index)});let y=u.length;for(let e=0;e<y;e++){let t=u[e],n=t.type;n===$.Infix?t.fn=Ex[t.value]:n===$.Prefix?t.fn=Dx[t.value]:n===$.Postfix&&(t.fn=Ox[t.value])}let b,x=r?db(Qn(e.getLocale()).decimal):ub,S={runtime:e,symbols:t,getFunction:a,ast:s,evaluations:l,executions:u,bindings:d,referencesAbsolute:g,referencesExecute:_,referencesRelative:m,referencesRoot:v,referenceIndices:f.referenceIndices,getTokens:()=>b??=jx(s,r,x),namedIds:Ix(s),symbolIds:zx(s),hasTotals:Rx(s,a),isReferenceOnly:!p,error:i,transform:n=>{let o=Vb(s,n);return o===s?S:Bx(e,t,o,r,i,a)}};return S}function Vx(e){let n=-1,r=-1;return Number.isSafeInteger(e.previousToken?.startLine)?(n=e.previousToken.startLine,r=e.previousToken.endColumn+1):Number.isSafeInteger(e.token?.startLine)&&(n=e.token.startLine,r=e.token.startColumn),n===-1?new t.FormulaError.Parse(e.message,{cause:e}):(e.errorLocation={line:n,column:r},new t.FormulaError.Parse(e.message,{line:n,column:r,cause:e}))}Object.freeze([[`:`,`.:.`,`.:`,`:.`],[`^`],[`*`,`/`],[`+`,`-`],[`&`],[`<`,`>`,`=`,`<>`,`<=`,`>=`]]);var Hx=Object.freeze([`:`,`.:.`,`.:`,`:.`]),Ux=Object.freeze([`:`,` `,`.:.`,`.:`,`:.`]),Wx=Object.freeze([`@`]),Gx=Object.freeze([`#`]),Kx=Object.freeze(Ux.concat(Gx)),qx=(Object.freeze(Ux.concat(Wx).concat(Gx)),e=>{if(!e)return!1;let t=e.type;if(t===$.Cell||t===$.TableReference)return!0;if(t===$.Infix){if(!Ux.includes(e.value))return!1;let t=e.inputs,n=t[0],r=t[1];return qx(n)&&qx(r)}return t===$.List&&(e.inputs?.every(qx)??!1)}),Jx=e=>!!e&&(!(e.type!==$.Infix||!Kx.includes(e.value))||!(e.type!==$.Postfix||!Gx.includes(e.value))||e.type===$.Array||e.type===$.TableReference),Yx=Object.freeze([`+`,`-`,`*`,`/`,`^`,`&`,`=`,`<>`,`>`,`<`,`>=`,`<=`]),Xx=Object.freeze([`-`,`+`]),Zx=(e,t)=>{if(!e)return!1;let n=e.type;if(e.isLiteral)return n!==$.Error;if(n===$.Paren||n===$.List){let n=e.inputs;return!(!n||n.length===0)&&n.every(e=>Zx(e,t))}if(n===$.Infix)return Yx.includes(e.value);if(n===$.Prefix)return Xx.includes(e.value);if(n===$.Postfix)return e.value===`%`;if(n===$.Function){if(!t)return!1;let n=t(e.value);if(!n)return!1;let r=n.getDeclaration().getReturnType(),i=r.getRangeType();return i!==`p`&&(i!==null||r.getLambda()===null&&r.getScalarType()!=null)}return!1},Qx=(e,t)=>{if(!e)return null;let n=null,r=e=>{if(n||!e)return;if(e.type===$.Infix&&e.value===` `){let r=e.inputs,i=r?.[0],a=r?.[1];if(Zx(i,t))return void(n=i);if(Zx(a,t))return void(n=a)}let i=e.inputs;if(i)for(let e=0;e<i.length&&!n;e++)r(i[e])};return r(e),n},$x=e=>{for(let t=0;t<e.length;t++)if(e[t].getRepeatingTypes())return t;return-1},eS=(e,t,n)=>{let r=e[t].getRepeatingTypes(),i=r.length,a=t,o=e.length-t-1,s=o;for(;s>0&&e[t+s].isOptional();)s--;let c=+!e[t].isOptional(),l=r[i-1].isOptional();for(let e=s;e<=o;e++){let t=n-a-e;if(t>=0&&t%i===0&&t/i>=c)return{n:t/i,short:!1,variable:t,period:i,prefix:a,suffix:e};if(l&&t===i-1)return{n:1,short:!0,variable:t,period:i,prefix:a,suffix:e}}return null},tS=e=>{if(!e)return null;let t=null,n=e=>{if(t||!e)return;if(e.type===$.Array&&Array.isArray(e.value)){let n=e.value,r=n[0]?.value?.length??0;for(let e=1;e<n.length&&!t;e++){let i=n[e]?.value?.length??0;i!==r&&(t=`Array rows must all be the same length — row ${e+1} has ${i} value${i===1?``:`s`}, but row 1 has ${r}.`)}}let r=e.inputs;if(r)for(let e=0;e<r.length&&!t;e++)n(r[e])};return n(e),t},nS=(e,t)=>{if(!e||!t)return null;let n=null,r=e=>{if(n||!e)return;if(e.type===$.Function){let r=e.value,i=t(r);if(i){let t=i.getDeclaration().getParameters(),a=e.inputs?.length??0,o=t.length>0?$x(t):-1,s=t.length>0&&t[t.length-1].isRest();if(o>=0){if(!eS(t,o,a)){let e=t[o].getRepeatingTypes().length,i=t.length-1;n=e===1?`Too few arguments for ${r}. Expected at least ${i+1}, but got ${a}.`:`Wrong number of arguments for ${r}. Expected ${i} plus a multiple of ${e}, but got ${a}.`}}else if(!s&&a>t.length)n=`Too many arguments for ${r}. Expected ${t.length}, but got ${a}.`;else for(let e=a;e<t.length&&!n;e++){let i=t[e];i.isOptional()||i.isRest()||(n=`Parameter ${i.getName()} is missing for ${r}.`)}}}let i=e.inputs;if(i)for(let e=0;e<i.length&&!n;e++)r(i[e])};return r(e),n},rS=(e,t)=>{if(!e||!t)return null;let n=null,r=e=>{if(n||!e)return;if(e.type===$.Function){let r=t(e.value);if(r){let i=r.getDeclaration().getParameters(),a=e.inputs;if(i.length>0&&a){let e=((e,t)=>{let n=Array(t),r=e.length,i=r>0?$x(e):-1;if(i<0){let i=r>0?e[r-1]:null,a=!!i&&i.isRest();for(let o=0;o<t;o++)n[o]=o<r?e[o]:a?i:null;return n}let a=e[i].getRepeatingTypes(),o=a.length,s=i,c=eS(e,i,t),l=c?c.suffix:r-i-1,u=Math.max(0,t-s-l);for(let c=0;c<t;c++)if(c<s)n[c]=e[c];else if(c<s+u)n[c]=a[(c-s)%o];else{let t=i+1+(c-s-u);n[c]=t<r?e[t]:null}return n})(i,a.length);for(let r=0;r<a.length&&!n;r++){let i=e[r];i&&i.getRangeType()===`p`&&Zx(a[r],t)&&(n=a[r])}}}}let i=e.inputs;if(i)for(let e=0;e<i.length&&!n;e++)r(i[e])};return r(e),n},iS=(e,t)=>{if(!e)return null;let n=null,r=e=>{if(n||!e)return;if(e.type===$.Call){let r=e.inputs?.[0];if(r&&Zx(r,t))return void(n=`This expression always produces a value, so it cannot be called as a function.`)}let i=e.inputs;if(i)for(let e=0;e<i.length&&!n;e++)r(i[e])};return r(e),n},aS=(e,t)=>{if(e.type!==$.Function)return;let n=e.value;if(typeof n!=`string`)return;let r=(t?.(n)?.getName()??n).toUpperCase();return r===`LET`?`let`:r===`LAMBDA`?`lambda`:void 0},oS=e=>{if(e?.type!==$.Named)return;let t=e.value;return t?.nameId&&!t.scope&&!0!==t.optional?t.nameId:void 0},sS=/^[A-Za-z_\\][A-Za-z0-9_\\]*$/,cS=new Set([`TRUE`,`FALSE`]),lS=e=>{if(e?.type===$.Named){let t=e.value;return!0!==t?.optional||!t.nameId||t.scope?void 0:t.nameId}if(e?.type!==$.TableReference)return;let t=e.value,n;if(t===null||typeof t==`string`){if(t)return;let r=e.inputs;if(!r||r.length!==1||r[0]?.type!==$.TableColumn)return;let i=r[0].value;if(typeof i!=`string`)return;n=i}else{let e=t;if(!e||e.tableId!==``||e.spec!==0||!0===e.isThisRow||!e.columnFromId||e.columnFromId!==e.columnToId)return;n=e.columnFromId}return sS.test(n)&&!cS.has(n.toUpperCase())&&e.image===`[${n}]`?n:void 0},uS=e=>{let t=Ab(e.image??e.value);t.image=e.image??e.value,t.wsBefore=e.wsBefore;let n={type:$.Call,value:null,inputs:[t,...e.inputs??[]],wsAfter:e.wsAfter};return e.error&&(n.error=e.error),n};function dS(e,t){return e&&t?Vb(e,e=>{if(e.type===$.Function&&typeof e.value==`string`&&!t(e.value))return uS(e)}):e}function fS(e,t=null){if(!e)return e;let n=[],r=0,i=e=>{let t=e.inputs;if(!t)return e;let n;for(let e=0;e<t.length;e++){let r=t[e];if(!r)continue;let i=a(r);i!==r&&(n||=[...t],n[e]=i)}return n?{...e,inputs:n}:e},a=e=>{if(!e)return e;let o=aS(e,t);if(o)return((e,t)=>{let o=e.inputs,s=o?.length??0;if(!o||s<1)return i(e);let c=n.length,l=[],u=[...o],d=(e,t=!1)=>{let i=u[e],a=oS(i),o=!1;if(a===void 0&&t){if(a=lS(i),a===void 0)return;o=!0}else if(a===void 0)return;let s=r++;n.push({key:a.toUpperCase(),slot:s,name:a}),l.push(s),u[e]=o?{...i,type:$.Named,value:{nameId:a,scope:null},inputs:null,binding:{slot:s,declaration:!0,optional:!0},isReference:!1}:{...i,binding:{slot:s,declaration:!0},isReference:!1}};if(t===`lambda`){for(let e=0;e<s-1;e++)d(e,!0);u[s-1]&&(u[s-1]=a(u[s-1]))}else{for(let e=0;e+1<s;e+=2)u[e+1]&&(u[e+1]=a(u[e+1])),d(e);s%2==1&&u[s-1]&&(u[s-1]=a(u[s-1]))}for(;n.length>c;)n.pop();return{...e,inputs:u,binder:{kind:t,slots:l}}})(e,o);if(e.type===$.Function&&typeof e.value==`string`){let t=e.value.toUpperCase();if(n.some(e=>e.key===t))return i(uS(e))}if(e.type===$.Named){let t=oS(e);if(t!==void 0){let r=t.toUpperCase();for(let i=n.length-1;i>=0;i--){if(n[i].key!==r)continue;let a={...e,binding:{slot:n[i].slot},isReference:!1};return t!==n[i].name&&(a.value={...e.value,nameId:n[i].name}),a}}return e}let s=i(e);if(s.type===$.Function&&typeof s.value==`string`&&(t?.(s.value)?.getName()??s.value).toUpperCase()===`ISOMITTED`){let e=s.inputs;if(e){let t;for(let n=0;n<e.length;n++){let r=e[n];r?.binding&&!r.binding.declaration&&!0!==r.rawFrameRead&&((t??=[...e])[n]={...r,rawFrameRead:!0})}if(t)return{...s,inputs:t}}}return s};return a(e)}var pS=(e,t)=>{if(!e)return null;let n=null,r=e=>{if(n||!e)return;let i=aS(e,t);i&&((e,t)=>{let r=t===`let`?`LET`:`LAMBDA`,i=e.inputs,a=i?.length??0;if(!i||a<2)return;if(t===`let`&&a%2==0)return void(n=`Wrong number of arguments for LET. Expected name/value pairs followed by a calculation, but got ${a}.`);let o=new Set,s=t===`let`?2:1,c=!1;for(let e=0;e<a-1;e+=s){let a=oS(i[e]);if(a===void 0&&t===`lambda`)a=lS(i[e]),a!==void 0&&(c=!0);else if(a!==void 0&&c)return void(n=`Required name '${a}' cannot follow an optional name in ${r}.`);if(a===void 0)return void(n=`Expected a name in ${r} argument ${e+1}; a name cannot be the output of a formula.`);if(a.includes(`.`))return void(n=`Expected a name in ${r} argument ${e+1}; a name cannot contain '.'.`);let s=a.toUpperCase();if(o.has(s))return void(n=`Duplicate name '${a}' in ${r}.`);o.add(s)}})(e,i);let a=e.inputs;if(a)for(let e=0;e<a.length&&!n;e++)r(a[e])};return r(e),n};function mS(e,t,n){return Vb(e,(e,r,i=[])=>{let a,o=e.type;if(o===$.Cell){let n=e.value;if(n?.scope){let r=t.bind(sf,n.scope);r!==null&&(a||={...e},a.value={...n,scope:r})}}else if(o===$.Named){let r=e.value;if(r&&!e.binding){let i=r.scope?t.bind(sf,r.scope):null,o=(i===null?r.scope:t.resolve(sf,i)?.toString()??r.scope)??n,s=t.bind(cf,r.nameId,o?{scope:o}:void 0);s===null&&i===null||(a||={...e},a.value={...r,nameId:s??r.nameId,...i===null?void 0:{scope:i}})}}else if(o===$.Error){let n=e.value;if(n?.scope){let r=t.bind(sf,n.scope);r!==null&&(a||={...e},a.value={...n,scope:r})}}else if(o===$.TableReference){let n=e.value;if(n){let r=t.bind(lf,n);a||={...e},r!==null&&(a.value=r)}}else if(o===$.TableColumn){let n=e.value;if(n){let r=kx(i,$.TableReference)?.value,o=t.bind(uf,n,r?{tableName:r}:void 0);a||={...e},o!==null&&(a.value=o)}}else if(o===$.Function){let n=e.value;if(n){let r=t.bind(df,n);a||={...e},r!==null&&(a.value=r)}}return a})}var hS=Symbol(`sheetxl.formulaNode.internal`),gS=Symbol(`sheetxl.formulaNode.value`),_S=Symbol(`sheetxl.formulaNode.replaced`),vS={canonical:!0},yS=(e,t)=>{let n=e.inputs,r=null;if(n){let e=n.length;r=Array(e);for(let i=0;i<e;i++){let e=n[i];r[i]=e&&yS(e,t)}}let i=((e,t)=>{let n=e.type,r=e.value;if(n===$.Named){let n=r,i=n?.nameId,a=n?.scope??null;return t&&(i=t.resolve(cf,i)?.toString()??i,a&&=t.resolve(sf,a)?.toString()??a),e.binding?.declaration&&e.binding.optional?{name:i,scope:a,optional:!0}:{name:i,scope:a}}if(!t)return r;switch(n){case $.Function:return t.resolve(df,r,vS)?.toString()??r;case $.TableReference:{let e=typeof r==`string`?r:r?.tableId;return e?t.resolve(lf,e)?.toString()??e:``}case $.TableColumn:return t.resolve(uf,r)?.toString()??r;case $.Cell:{let e=r;if(e?.scope){let n=t.resolve(sf,e.scope)?.toString()??e.scope;return{...e,scope:n}}return r}case $.Error:{let e=r;if(e?.scope){let n=t.resolve(sf,e.scope)?.toString()??e.scope;return{...e,scope:n}}return r}default:return r}})(e,t);return{type:e.type,value:i,inputs:r,isReference:e.isReference,[hS]:e,[gS]:i}},bS=(e,t,n)=>{let r=e.inputs,i;if(r){let t=r.length;for(let a=0;a<t;a++){let t=r[a];if(!t)continue;let o=bS(t,e,n);o!==t&&(i||=[...r],i[a]=o)}}let a=e;i&&(a={...e,inputs:i});let o=n(a,t);return o==null||o===a?a:(o[hS]===void 0&&a[hS]!==void 0&&(o[_S]=a[hS]),o)},xS=[`:`,`.:.`,`.:`,`:.`,` `],SS=(e,t)=>{let n=e.type,r=e.value;switch(n){case $.Function:return xb(String(r),t);case $.Infix:return Eb(r,t[0],t[1],e.isReference??xS.includes(r));case $.Prefix:return Ob(r,t?.[0],e.isReference??r===`@`);case $.Postfix:return Db(r,t?.[0],e.isReference??r===`#`);case $.Named:{let e=Ab(typeof r==`string`?r:r?.name),t=typeof r==`object`?r?.scope:null;return t&&(e.value={...e.value,scope:t}),typeof r==`object`&&!0===r?.optional&&(e.value={...e.value,optional:!0}),e}case $.Cell:{let e=r,t=vb(e);return e?.scope&&(t.value.scope=e.scope),t}case $.TableReference:return{type:$.TableReference,value:r,inputs:t??null,isReference:!0};case $.TableSpecifier:return{type:$.TableSpecifier,value:r,image:`[${r}]`,inputs:null,isReference:!0};case $.TableColumn:{let e=typeof r==`string`&&r.startsWith(`[`)?r:`[${r}]`;return{type:$.TableColumn,value:r,image:e,inputs:null,isReference:!0}}default:return{type:n,value:r,inputs:t??null,isReference:e.isReference}}},CS=e=>{let t=e[hS],n=e.inputs,r=null;if(n){let e=n.length;r=Array(e);for(let t=0;t<e;t++){let e=n[t];r[t]=e&&CS(e)}}if(t){let n=e.value!==e[gS],i=!1,a=t.inputs;if(r&&a&&r.length===a.length){for(let e=0;e<r.length;e++)if(r[e]!==a[e]){i=!0;break}}else i=(r?.length??0)!==(a?.length??0);if(!n&&!i)return t;if(!n)return{...t,inputs:r};let o=SS(e,r);return wS(o,t),o}let i=SS(e,r),a=e[_S];return a&&wS(i,a),i},wS=(e,t)=>{Hb(e,t),e.type!==t.type&&e.image!==void 0&&(e.image=void 0)};function TS(e,t,n){if(!e||typeof t!=`function`)return e;let r=yS(e,n),i=bS(r,void 0,t);return i===r?e:CS(i)}var ES=class{constructor(e,t,n,r,i,a,o,s){this.params=e,this.body=t,this.owner=n,this.compiled=r,this.regs=i,this.frame=a,this.anchorRow=o,this.anchorCol=s,this.isLambda=!0}makeCallable(){let e=this.params,t=e.length;for(;t>0&&e[t-1].optional;)t--;let n=(...e)=>this.owner._applyValues(this,e);return n.isLambdaCallable=!0,n.checkArity=n=>n>=t&&n<=e.length,n.paramCount=e.length,n}get[Symbol.toStringTag](){return`[LambdaValue(${this.params.map(e=>e.name).join(`,`)})]`}},DS=class{constructor(e){this.fn=e,this.isLambda=!0}makeCallable(){let e=this.fn,n=(...n)=>{try{return e.execute(...n)}catch(e){return t.FormulaError.isError(e)?e:new t.FormulaError.Value(e?.message,{cause:e})}};return n.isLambdaCallable=!0,n.checkArity=()=>!0,n.paramCount=-1,n}get[Symbol.toStringTag](){return`[FunctionValue(${this.fn.getName?.()??``})]`}},OS=Symbol(`sheetxl.lambda.omitted`);function kS(e,t,n=!1){if(!t)return e;let r=n?{canonical:!0}:void 0,i=e.length,a=Array(i);for(let n=0;n<i;n++){let i=e[n],o=i.type;if(o===$.Cell){let e=i.value;if(e?.scope){let r=t.resolve(sf,e.scope)?.toString();if(r){let t=i.text===void 0||i.text.includes(`!`)?i.text:Gl(r)+`!`+i.text;a[n]={...i,value:{...e,scope:r},text:t};continue}}a[n]=i}else if(o===$.Named){let e=i.value,r=e.name,o=t.resolve(cf,r)?.toString()??r,s=e.scope;if(s){let r=t.resolve(sf,s)?.toString()??s,c=i.text===void 0||i.text.includes(`!`)?i.text:Gl(r)+`!`+i.text;a[n]={...i,value:{...e,name:o,scope:r},text:c}}else a[n]=o===r?i:{...i,value:{...e,name:o}}}else if(o===$.Error){let e=i.value,r=e?.scope;if(r){let o=t.resolve(sf,r)?.toString()??r,s=i.text===void 0||zb(i.text)?i.text:Gl(o)+`!`+i.text;a[n]={...i,value:{...e,scope:o},text:s}}else a[n]=i}else if(o===$.TableReference){let e=i.value,r=t.resolve(lf,e)?.toString()??e,o=i.text===e?r:i.text;a[n]=r===e?i:{...i,value:r,text:o}}else if(o===$.TableColumn){let e=i.value,r=e.startsWith(`[`)&&e.endsWith(`]`),o=r?e.slice(1,-1):e,s=t.resolve(uf,o)?.toString()??o,c=r?`[${s}]`:s,l=i.text===e?c:i.text;a[n]=c===e?i:{...i,value:c,text:l}}else if(o===$.Function){let e=i.value,o=t.resolve(df,e,r)?.toString()??e;a[n]=o===e?i:{...i,value:o}}else a[n]=i}return function(e,t,n){let r,i=e.length;for(let a=0;a<i;a++){let i=e[a],o=i.context;if(!o)continue;r??=new Map;let s=r.get(o);if(s===void 0){let e=o.type===`table`?lf:df,i=t.resolve(e,o.name,n)?.toString()??(e===df?t.resolve(cf,o.name)?.toString():void 0)??o.name;s=i===o.name?o:{...o,name:i},r.set(o,s)}s!==o&&(e[a]={...i,context:s})}return e}(a,t,r)}function AS(e,t,n=!1,r=0,i=0,a=mb){let o=``,s=bu,c=yu,l=a.separators,u=e.length;for(let d=0;d<u;d++){let u=e[d],f=u.type;if(f===$.Cell){let a=u.value;if(!n&&u.refSide===`left`&&!a.scope){let n=e[d+1],s=e[d+2];if(n&&n.value===`:`&&s&&s.type===$.Cell&&s.referenceIndex===u.referenceIndex){let e=s.value,n=Jl(xu({colStart:a.colIndex,rowStart:a.rowIndex,colEnd:e.colIndex,rowEnd:e.rowIndex,$colStart:a.$colIndex,$rowStart:a.$rowIndex,$colEnd:e.$colIndex,$rowEnd:e.$rowIndex},r,i),t);if(n!==null){o+=n,d+=2;continue}}}let l=a.colIndex;if(!a.$colIndex&&l!==-(2**53-1)&&l!==2**53-1&&!n){let e=l+i;if(e<0||!a.scope&&t&&(e<t.colStart||e>t.colEnd)){o+=`#REF!`;continue}}let f=a.rowIndex;if(!a.$rowIndex&&f!==-(2**53-1)&&f!==2**53-1&&!n){let e=f+r;if(e<0||!a.scope&&t&&(e<t.rowStart||e>t.rowEnd)){o+=`#REF!`;continue}}o+=n?c(a):s(a,r,i)}else if(f===$.Named){let e=u.value;e.scope&&(o+=Gl(e.scope)+`!`),o+=e.optional?`[${e.name}]`:e.name}else if(f===$.TableReference)o+=u.value;else if(f===$.TableColumn)o+=u.value;else if(f===$.TableSpecifier)o+=MS(u.value,a);else if(f===$.Empty)o+=``;else if(f===$.Boolean)o+=a.localizeBoolean(u.value);else if(f===$.Function)o+=u.value;else if(f===$.Separator)o+=u.value===`;`?l.separatorRow:l.separatorFunction;else if(f===$.Number){let e=String(u.value);o+=l.separatorDecimal===`.`?e:e.replace(`.`,l.separatorDecimal)}else if(f===$.Error){let e=u.value;e?.scope&&(o+=Gl(e.scope)+`!`),o+=a.localizeError(e?.error??u.value)}else o+=u.value}return o}function jS(e,t,n=mb){return AS(e,t,!0,0,0,n)}function MS(e,t){if(!t.localizeSpecifier)return e;let n=e.startsWith(`[`)&&e.endsWith(`]`),r=n?e.slice(1,-1):e;if(!r.startsWith(`#`))return e;let i=`#`+t.localizeSpecifier(r.slice(1));return n?`[${i}]`:i}var NS=class e{constructor(e,t,n,r,i,a){this._gridId=null,this._resolvers=null,this._compiled=e,this._context=t,this._calcScope=n,this._gridId=r,this._getEntireCoords=i,this._resolvers=a??null}getTextAt(e,t,n=!1,r,i,a){let o=this._compiled;if(r){let e=TS(o.ast,r,o.symbols);e!==o.ast&&(o=Bx(o.runtime,o.symbols,e,!0,null,o.getFunction))}if(o.error&&!o.ast)return o.error.input;let s=i===void 0?o.getTokens():Nx(o.ast,i);s=kS(s,o.symbols,a);let c=a?mb:this._displayLocale();return n?jS(s,this._getEntireCoords?.(),c):function(e,t,n=0,r=0,i=mb){return AS(e,t,!1,n,r,i)}(s,this._getEntireCoords?.(),e,t,c)}_displayLocale(){return hb(db(this._context.getRuntime().getLocaleProfile().decimal))}getTokensAt(e,t,n){let r=this._compiled,i=n===void 0?r.getTokens():Nx(r.ast,n);return i=kS(i,r.symbols),function(e,t=0,n=0){let r=e.length,i=[];for(let a=0;a<r;a++){let r=e[a];if(r.type!==`cell`){i[a]=r;continue}let o={...r},s={...o.value};o.value=s,i[a]=o,s.colIndex===-(2**53-1)||s.$colIndex||(s.colIndex+=n),s.rowIndex===-(2**53-1)||s.$rowIndex||(s.rowIndex+=t)}return i}(i,e,t)}getError(){return this._compiled.error??null}getNamedIds(){return this._compiled?.namedIds??n.CommonUtils.EmptyArray}getReferencedSymbolIds(){return this._compiled?.symbolIds??n.CommonUtils.EmptyArray}hasTotals(){return this._compiled?.hasTotals??!1}isReferenceOnly(){return this._compiled.isReferenceOnly}isEquals(t){if(!(t&&t instanceof e))return!1;if(this===t)return!0;let n=this._compiled.getTokens(),r=t._compiled.getTokens();if(n.length!==r.length)return!1;let i=this._context.getEntireCoords();return jS(n,i)===jS(r,i)}getReferences(e,r){let i=this._compiled,a=i.referenceIndices,o=a.length;if(o===0)return n.CommonUtils.EmptyArray;let s=i.referencesExecute,c=i.referencesRelative,l=lO(o);for(let n=0;n<o;n++){let i=s[a[n]],o=i.inputs;if(o&&o.length===2){let e=c[s[o[0]].value],t=c[s[o[1]].value];l[n]={colStart:e.colStart,rowStart:e.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,$colStart:e.$colStart,$rowStart:e.$rowStart,$colEnd:t.$colEnd,$rowEnd:t.$rowEnd,scope:e.scope}}else if(i.node.type===$.Cell)l[n]={...c[i.value]};else if(i.op===$.Named){let e=i.node.value.nameId;l[n]={nameId:this._compiled.symbols?.resolve(cf,e)?.toString()??e}}else if(i.op===$.TableReference){let a=i.node.value,o=this._resolveStructuredRef(a,e,r);!o||t.FormulaError.isError(o)?l[n]=null:l[n]=o}else i.op===$.Error&&(l[n]=null)}return l}getReferenceAt(e,t,n){let r=this.getReferences(e,t);return n>=0&&n<r.length?r[n]:null}setReferenceAt(r,i,a){let o=this._compiled,s=o.referenceIndices;if(s.length===0)return null;let c=o.referencesExecute;r<0&&(r=s.length+r);let l=s[r];if(l===void 0)throw Error(`Invalid reference index: ${r}`);let u=c[l],d=u.node,f=d.inputs??n.CommonUtils.EmptyArray,p=u.op===$.Named,m,h,g=!1;i&&t.FormulaError.isError(i)&&(i=null),i&&`nameId`in i&&!p&&(i=null);let _=i&&`nameId`in i?null:i,v=!!_&&_.colIndex!==void 0;if(_)if(v){let e=_;m={colIndex:e.colIndex,rowIndex:e.rowIndex,$colIndex:e.$colIndex??!1,$rowIndex:e.$rowIndex??!1},e.scope&&(m.scope=e.scope),g=!1}else{let e=_;m={colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart??!1,$rowIndex:e.$rowStart??!1},e.scope&&(m.scope=e.scope),g=!n.CoordUtils.isSingleCell(e),g&&(h={colIndex:e.colEnd,rowIndex:e.rowEnd,$colIndex:e.$colEnd??!1,$rowIndex:e.$rowEnd??!1},e.colEnd===2**53-1&&(h.colIndex=-(2**53-1)),e.rowEnd===2**53-1&&(h.rowIndex=-(2**53-1)))}let y=f.length===2,b=v&&y,x=-1,S=-1,C=-1,w=-1;if(y)x=f[0].evalIndex,S=f[1].evalIndex;else if(d.type===`cell`)x=d.evalIndex;else if(u.op===$.TableReference)C=d.evalIndex;else{if(!p)throw Error(`Invalidate reference index: ${r}`);w=d.evalIndex}let T=(...e)=>{if(a?.scopeDeleted)return null;let t=this._compiled.symbols;for(let n=0;n<e.length;n++){let r=e[n]?.value?.scope;if(r)return t&&!t.resolve(sf,r)?null:r}return null},E=d,D=this._compiled.ast,O=Vb(D,e=>{if(!e||!e.isReference)return;if(b&&e===E){let e=vb(m);return m.scope&&(e.value.scope=m.scope),e}let t=e.type;if(w!==-1&&e.evalIndex===w&&t===$.Named){if(!i)return Lb();if(i&&`nameId`in i){let t=i,n=this._compiled.symbols?.bind(cf,t.nameId)??t.nameId,r={...e};return r.value={...e.value,...t,nameId:n},r}return g?Eb(`:`,vb(m),vb(h),!0):vb(m)}if(C!==-1&&e.evalIndex===C&&t===$.TableReference)return i?g?Eb(`:`,vb(m),vb(h),!0):vb(m):Lb();if(!i&&Hx.includes(e.value)){let t=e.inputs??n.CommonUtils.EmptyArray,r=t[0],i=t[1],a=r.evalIndex===x,o=i.evalIndex===S;if(a||o){let t=Lb(void 0,void 0,T(r,i));return t.evalIndex=e.evalIndex,t}}if(t!==`cell`&&t!==`error`)return;let r=e.evalIndex,a,o=r===x;if((o||r===S)&&!b){if(i)if(y===g){let t=o?m:h;a={...e},a.value=t,a.image=null}else a=g?Eb(`:`,vb(m),vb(h),!0):vb(m);else a=Lb(void 0,void 0,T(e)),a.evalIndex=e.evalIndex;return a}});if(O===D)return this;let k=Bx(o.runtime,o.symbols,O,!1,o.error);return new e(k,this._context,this._calcScope,this._gridId,this._getEntireCoords,this._resolvers)}reanchorReferences(t,n){let r=this._compiled,i=this._gridId,a=this._compiled.symbols.bind(sf,t),o=r.transform((e,t)=>{if(!e||!e.isReference||e.type!==$.Cell||Jx(t)&&t.inputs?.[0]!==e)return;let r,o=e.value.scope;return(!o||n&&o===i)&&(r={...e},r.value={...r.value},r.value.scope=a),r});return r===o&&a===i?this:new e(o,this._context,this._calcScope,i,this._getEntireCoords,this._resolvers)}replaceSheetReferences(t,n){let r=this._compiled,i=r.symbols.bind(sf,t),a=r.symbols.bind(sf,n);if(i===a)return this;let o=r.transform((e,t)=>{if(!e||!e.isReference||e.type!==$.Cell||Jx(t)&&t.inputs?.[0]!==e||e.value.scope!==i)return;let n={...e};return n.value={...n.value},n.value.scope=a,n});return r===o?this:new e(o,this._context,this._calcScope,this._gridId,this._getEntireCoords,this._resolvers)}_evaluateNamed(e,n,r){let i=e.nameId,a=this._calcScope;if(a.activeNames.has(i))return t.FormulaError.BuiltIn.Ref;let o=this._resolvers?.getNamedFormulaBlock?.(i);if(!o){let e=this._compiled,n=e.symbols?.resolve(cf,i),r=n?n.toString():i,a=e.getFunction?.(r)??null;return a?new DS(a):t.FormulaError.BuiltIn.Name}let s=a.gridId,c=a.rowIndex,l=a.colIndex;a.activeNames.add(i),a.depth++;try{return o.evaluateAt(n,r)}finally{a.depth--,a.activeNames.delete(i),a.gridId=s,a.rowIndex=c,a.colIndex=l}}_resolveNamedPrecedents(e,r,i){let a=e.nameId,o=this._calcScope;if(o.activeNames.has(a))return n.CommonUtils.EmptyArray;let s=this._resolvers?.getNamedFormulaBlock?.(a);if(!s)return t.FormulaError.BuiltIn.Name;o.activeNames.add(a);try{return s.resolvedPrecedentsAt(r,i)}finally{o.activeNames.delete(a)}}_resolveStructuredRef(e,n,r,i){let a=this._resolvers?.getStructureReferenceCoords;return a?a(e,n,r,this._gridId):t.FormulaError.BuiltIn.Name}resolvedPrecedentsAt(e,r,i=!1,a,o){let s=this._compiled,c=s.referencesRoot,l=c.length;if(l===0)return n.CommonUtils.EmptyArray;let u=s.referencesRelative,d=s.referencesAbsolute,f=u.length;for(let t=0;t<f;t++){let n=u[t],i=d[t];d[t]=PS(n,e,r,i)}let p=s.referencesExecute,m=p.length,h=[];for(let n=0;n<m;n++){let i=p[n],a=i.op;if(!a){let e=d[i.value];h[i.index]=e;continue}if(a===$.Named){h[i.index]=this._resolveNamedPrecedents(i.node.value,e,r);continue}if(a===$.Error){h[i.index]=Rb(i.node.value);continue}if(a===$.TableReference){let n=i.node.value,a;n&&(a=this._resolveStructuredRef(n,e,r)),a||=t.FormulaError.BuiltIn.Ref,h[i.index]=a;continue}if(a===`@`||a===`#`){let e=h[i.inputs[0]];h[i.index]=e===void 0?t.FormulaError.BuiltIn.Value:e;continue}let o=i.inputs;if(!o)continue;let s=h[o[0]];if(s===void 0){h[i.index]=t.FormulaError.BuiltIn.Value;continue}if(t.FormulaError.isError(s)){h[i.index]=s;continue}let c,l=h[o[1]];if(l!==void 0)if(t.FormulaError.isError(l))h[i.index]=l;else{if(a===` `)c=Lu(s,l);else if(a===`:`||a===`.:.`||a===`:.`||a===`.:`)c=Ru(s,l);else if(a===`,`){let e=o.length;for(let n=0;n<e;n++){let e=h[o[n]];e===void 0||Array.isArray(e)||t.FormulaError.isError(e)||(c=c?Ru(c,e):e)}}h[i.index]=c??t.FormulaError.BuiltIn.Null}else h[i.index]=t.FormulaError.BuiltIn.Value}let g=[],_=0;for(let e=0;e<l;e++)_=FS(c[e],p,h,g,_,a,o);return g}evaluateAt(e,n,r){let i=this._calcScope;i.rowIndex=e,i.colIndex=n,i.gridId=this._gridId;let a=this._context,o=this._compiled;if(r!==void 0){let t;if(Vb(o.ast,e=>{e.evalIndex===r&&(t=e)}),!t)throw Error(`Invalid evalIndex: ${r}`);if(o.bindings.length>0&&!o.error){let t=this.evaluateAt(e,n),i=o.evaluations;return t&&typeof t.then==`function`?t.then(()=>i[r]):i[r]}o=Bx(a.getRuntime(),o.symbols,t,!1)}if(o.error)return o.error.cause;let s=o.evaluations,c=o.executions,l;o.bindings;let u=o.referencesExecute,d=o.referencesRelative,f=o.referencesAbsolute,p=u.length;for(let r=0;r<p;r++){let i=u[r],o=i.op,c=i.node;if(o)if(o===$.Named)if(i.node.deferredResolve)s[i.node.evalIndex]=null;else{let t=i.node.value;s[i.node.evalIndex]=this._evaluateNamed(t,e,n)}else if(o===$.Error)s[c.evalIndex]=Rb(i.node.value);else if(o===$.TableReference){let r=i.node.value,o;o=r?this._resolveStructuredRef(r,e,n):t.FormulaError.BuiltIn.Ref,t.FormulaError.isError(o)||o?.colStart===void 0?s[c.evalIndex]=o??t.FormulaError.BuiltIn.Ref:s[c.evalIndex]=a.getReference(o)}else o===`structured`&&(s[c.evalIndex]=null);else{let t=d[i.value],a=f[r],o=xu(t,e,n,a);s[c.evalIndex]=o}}let m=c.length;for(let t=0;t<m;t++){let r=c[t];if(l)l=l.then(()=>{let t=this._executeNode(r,s,e,n);return s[r.evalIndex]=t,t});else{let t=this._executeNode(r,s,e,n);s[r.evalIndex]=t,t&&typeof t.then==`function`&&(l=t)}}return l?l.then(()=>s[o.ast.evalIndex]):s[o.ast.evalIndex]}wrapImplicit(t,n,r){let i=this._compiled,a=i.ast;if(!a||!a.isReference||a.type===`cell`||a.value===`@`||!r)return this;let o=Bl(n)+zl(t);if(r.has(o))return this;let s=Ob(`@`,a,!0),c=Bx(i.runtime,i.symbols,s,!1,i.error);return new e(c,this._context,this._calcScope,this._gridId,this._getEntireCoords,this._resolvers)}_executeNode(e,n,r,i){let a=this._context,o=e.inputs,s=o?o.length:0,c=e.type,l;switch(c){case $.Infix:{let r=e.value,i=n[o[0].evalIndex],s=n[o[1].evalIndex];if(typeof i==`number`&&typeof s==`number`){if(r===`+`)return sO(i+s,null);if(r===`-`)return sO(i-s,null)}if(!e.isReference){if(i&&t.FormulaError.isError(i))return i;if(s&&t.FormulaError.isError(s))return s}let c=e.fn??=Ex[e.value];return l=c?c(a,i,s):t.FormulaError.BuiltIn.Value,l=sO(l,null),l}case $.Function:{let c=e.binder;if(c!==void 0)return c.kind===`let`?n[o[s-1].evalIndex]:this._createLambdaValue(e,n,null,r,i);for(let e=0;e<s;e++)LS[e]=n[o[e].evalIndex];return l=this._callFunction(e,LS,s),l&&typeof l.then==`function`&&l.then(t=>{t=sO(t,a),n[e.evalIndex]=t}).catch(r=>{let i=t.FormulaError.isError(r)?r:new t.FormulaError.Value(`Uncaught error`,{cause:r});n[e.evalIndex]=i}),l}case $.Prefix:case $.Postfix:{let r=n[o[0].evalIndex];if(r&&t.FormulaError.isError(r))return r;let i=e.fn??=c===$.Prefix?Dx[e.value]:Ox[e.value];return l=i?i(a,r):t.FormulaError.BuiltIn.Value,l}case $.List:case $.Paren:{if(s===1)return n[o[0].evalIndex];let e=lO(s);for(let t=0;t<s;t++)e[t]=n[o[t].evalIndex];return e}case $.Named:{let r=e.binding;if(r!==void 0){let e=this._compiled.bindings[r.slot];return e>=0?n[e]:t.FormulaError.BuiltIn.Calc}return n[e.evalIndex]??null}case $.TableReference:return n[e.evalIndex]??null;case $.Call:{let r=n[o[0].evalIndex];return r&&t.FormulaError.isError(r)?r:(l=this._applyCallee(r,e,n),l&&typeof l.then==`function`&&l.then(t=>{n[e.evalIndex]=sO(t,a)}).catch(r=>{n[e.evalIndex]=t.FormulaError.isError(r)?r:new t.FormulaError.Value(`Uncaught error`,{cause:r})}),l)}case $.Empty:return}}_createLambdaValue(e,t,n,r,i){let a=e.inputs,o=[];for(let e=0;e<a.length-1;e++){let t=a[e];t?.binding?.declaration&&o.push({slot:t.binding.slot,name:t.value.nameId,optional:!0===t.binding.optional})}return new ES(o,a[a.length-1],this,this._compiled,t.slice(),n,r,i)}_applyCallee(e,n,r){if(e?.isIRange&&!e.isIReferenceRange&&e.size===1&&(e=e.getValueAt(0,0))&&t.FormulaError.isError(e))return e;let i=n.inputs,a=i.length-1;if(e instanceof ES){let n=e.params,o=n.length;for(;o>0&&n[o-1].optional;)o--;if(a>n.length||a<o)return t.FormulaError.BuiltIn.Value;let s=new Map(e.frame??void 0);for(let e=0;e<n.length;e++){let o=n[e];if(e>=a||i[e+1]?.type===$.Empty){if(!o.optional)return t.FormulaError.BuiltIn.Value;s.set(o.slot,OS)}else s.set(o.slot,r[i[e+1].evalIndex])}return e.owner._evaluateBody(e,s)}if(e instanceof DS){let t=[];for(let e=1;e<i.length;e++)t.push(i[e]?.type===$.Empty?void 0:r[i[e].evalIndex]);return this._dispatchFunction(e.fn,t,t.length)}return e&&(e.isIRange||e.colStart!==void 0)?t.FormulaError.BuiltIn.Ref:t.FormulaError.BuiltIn.Value}_applyValues(e,n){let r=e.params;if(n.length>r.length)return t.FormulaError.BuiltIn.Value;let i=new Map(e.frame??void 0);for(let e=0;e<r.length;e++){let a=r[e],o=e<n.length?n[e]:void 0;if(o===void 0){if(!a.optional)return t.FormulaError.BuiltIn.Value;i.set(a.slot,OS)}else i.set(a.slot,o)}let a=this._evaluateBody(e,i);return a&&typeof a.then==`function`?a:sO(a,this._context)}_evaluateBody(e,n){let r=this._calcScope;if(r.depth>=512)return t.FormulaError.BuiltIn.Num;let i=e.compiled.bindings,a=e.regs.slice(),o=e.anchorRow,s=e.anchorCol,c=e=>{let r=e.type;if(r===$.Cell||r===$.TableReference||r===$.Error||e.isLiteral)return a[e.evalIndex];if(r===$.Empty||e.binding?.declaration)return;if(r===$.Named){let r=e.binding;if(r!==void 0){let o=i[r.slot];if(o>=0)return a[o];if(n.has(r.slot)){let t=n.get(r.slot);return!0===e.rawFrameRead?t:(l=t)===OS?null:l}return t.FormulaError.BuiltIn.Calc}return this._evaluateNamed(e.value,o,s)}var l;let u=e.binder;if(u!==void 0&&u.kind===`lambda`)return this._createLambdaValue(e,a,n,o,s);let d=e.inputs,f;if(d){let e=t=>{for(let n=t;n<d.length;n++){let t=d[n];if(!t)continue;let r=c(t);if(a[t.evalIndex]=r,r&&typeof r.then==`function`){let i=n+1;return r.then(n=>(a[t.evalIndex]=sO(n,this._context),e(i)))}}};f=e(0)}return f?f.then(()=>this._executeNode(e,a,o,s)):this._executeNode(e,a,o,s)};r.depth++;try{return c(e.body)}catch(e){return t.FormulaError.isError(e)?e:e instanceof RangeError?t.FormulaError.BuiltIn.Num:new t.FormulaError.Value(e?.message,{cause:e})}finally{r.depth--}}_callFunction(e,n,r){let i=this._context,a=e?.cacheFn??i.getFunction(e.value);return a?(a.isBuiltIn()&&(e.cacheFn=a),this._dispatchFunction(a,n,r)):t.FormulaError.BuiltIn.Name}_dispatchFunction(e,n,r){let i,a=e._cfp;if(a){a.argsValues=n,a.argsLength=r;try{i=e.execute()}catch(e){i=t.FormulaError.isError(e)?e:new t.FormulaError.Value(e.message,{cause:e})}a.argsValues=null,a.argsLength=0}else try{switch(r){case 0:i=e.execute();break;case 1:i=e.execute(n[0]);break;case 2:i=e.execute(n[0],n[1]);break;case 3:i=e.execute(n[0],n[1],n[2]);break;case 4:i=e.execute(n[0],n[1],n[2],n[3]);break;case 5:i=e.execute(n[0],n[1],n[2],n[3],n[4]);break;default:let t=[];for(let e=0;e<r;e++)t.push(n[e]);i=e.execute(...t)}}catch(e){i=t.FormulaError.isError(e)?e:new t.FormulaError.Value(e.message,{cause:e})}return i===void 0?new t.FormulaError.Parse:i}finalizeValue(e){let n=this._context;if(!0===e?.isLambda)return t.FormulaError.BuiltIn.Calc;if(e&&e.colStart!==void 0)try{if(e.scope){let r=n.getReference(e);if(t.FormulaError.isError(r))return r}e=n.getValueAt(e.rowStart,e.colStart,e.scope)}catch(e){return t.FormulaError.isError(e)?e:new t.FormulaError.Value(e?.message,{cause:e})}if(Array.isArray(e)){if(nO(e)){let t=lO(e.length);for(let n=0;n<e.length;n++)t[n]=this.finalizeValue(e[n]);return t}if(e.length===1&&Array.isArray(e[0])&&e[0].length===1)e=e[0][0];else try{e=n.getRange(e)}catch{e=t.FormulaError.BuiltIn.Value}}return e?.isIRange?e.size===1?(e=sO(e=e.getValueAt(0,0,IS),n))===null&&(e=0):e=e.fillEmpty(0):(e=sO(e,n))===null&&(e=0),e}finalizeValueForCell(e){let n=this.finalizeValue(e);return Array.isArray(n)?t.FormulaError.BuiltIn.Value:n}toString(){let e=this._compiled;if(e.error)return e.error.toString();let t=this._calcScope;return t?.node?this.getTextAt(t.node.rowIndex,t.node.colIndex):jS(e.getTokens(),null)}get[Symbol.toStringTag](){return`[FormulaBlock]`}};function PS(e,t,n,r){let i=e.colStart,a=e.rowStart,o=e.colEnd,s=e.rowEnd,c=e.$colStart??!1,l=e.$rowStart??!1,u=e.$colEnd??!1,d=e.$rowEnd??!1;if(c||i===-(2**53-1)||(i+=n),l||a===-(2**53-1)||(a+=t),u||o===2**53-1||(o+=n),d||s===2**53-1||(s+=t),i>o){let e=i;i=o,o=e}if(a>s){let e=a;a=s,s=e}let f=r;return f.colStart=i,f.rowStart=a,f.colEnd=o,f.rowEnd=s,f.scope=e.scope??null,f}var FS=(e,n,r,i,a,o,s)=>{let c=n[e],l=c?.inputs;if(c?.op===`,`&&l){let e=l.length;for(let t=0;t<e;t++)a=FS(l[t],n,r,i,a,o,s);return a}let u=c===void 0?t.FormulaError.BuiltIn.Value:r[e]??t.FormulaError.BuiltIn.Value;if(Array.isArray(u)){let e=u.length;for(let t=0;t<e;t++){let e=u[t];i[a]=e?.rowStart===void 0?e:{...e},o&&(o[a]=!(!e?.$rowStart&&!e?.$rowEnd)),s&&(s[a]=!(!e?.$colStart&&!e?.$colEnd)),a++}return a}return i[a]=u?.rowStart===void 0?u:{...u},o&&(o[a]=!!c?.hasVerticalAbs),s&&(s[a]=!!c?.hasHorizontalAbs),a+1},IS=Object.freeze({type:null}),LS=Array(255),RS=Object.freeze({value:null,style:null,hyperlink:null,formula:null,type:t.ScalarType.Null,stringToParse:null}),zS=Object.seal({value:void 0,style:void 0,hyperlink:void 0,formula:void 0,type:void 0,stringToParse:void 0}),BS=Object.seal({value:void 0,style:void 0,hyperlink:void 0,formula:void 0}),VS=Object.freeze({width:1,height:1}),HS=new y_({max:1e3}),US=class{constructor(e=!0,t=!1){this._editAllowed=e,this._formulaHidden=t}isEditAllowed(){return this._editAllowed}isFormulaHidden(){return this._formulaHidden}get isICellProtection(){return!0}},WS=new US,GS=new US(!1),KS=e=>{if(Array.isArray(e))return`array`;let t=typeof e;if(t!==`object`)return t;if(e instanceof Date)return`Date (invalid)`;let n=e?.constructor?.name;return n&&n!==`Object`?n:`object`};function qS(e,r,i=null,a=null,o=!1){if(r===void 0)return;if(r===null)return RS;if(r&&r.isICell){let e=r,t=zS;t.value=e.getValue(),e.getStyle().isNormal()?t.style=null:t.style=e.getStyle()._p.getProperties();let n=e.getFormulaText();return n&&(t.formula=`=`+n),t.hyperlink=e.getHyperlink(),t.type=e.getType(),t}let s;r.value!==void 0||r.style!==void 0||r.hyperlink!==void 0?s=r:(s=BS,s.value=r.hasOwnProperty(`value`)?r.value:r,s.style=void 0,s.hyperlink=void 0);let c=zS;c.type=void 0,c.value=void 0,c.style=void 0,c.formula=void 0,c.hyperlink=void 0,c.stringToParse=void 0;let l,u=s.value,d=!1;if(s.value!==void 0&&(l=WD(u),l||(d=ir(u,!0),d&&(l=t.ScalarType.Number)),!l))throw new n.ExpectedError((0,n.t)(`error.sheet.invalidCellType`,{type:KS(u)}));let f,p,m=null,h=null,g;if(l===t.ScalarType.String){if(g=s.value,i){let t=a?.get(g);if(!t){let n=g.length,r=g.charAt(0);r===`=`&&n>1?(p=g.substring(1),u=null):(t=yD(e,g,i),t&&typeof t.value==`string`&&(r===`+`||r===`-`)&&(e=>{for(let t=0;t<e.length;t++){let n=e.charAt(t);if(n!==`+`&&n!==`-`&&n!==` `&&n!==` `)return!0}return!1})(g)&&(p=g,u=null),t!==void 0&&a&&a.set(g,t))}t&&(t.value!==void 0&&(u=t.value,l=WD(u)),t.style!==void 0&&(m=t.style),t.hyperlink!==void 0&&(f=t.hyperlink)),!o&&i.parse&&(h=g)}}else d?(u=mr(s.value,e.isDate1904()),m=e=>{if(!Mr(e.getNumberFormat()))return{numberFormat:`Short Date`}}):u=s.value;let _=s.style;if(_&&_.isIStyle&&(_=_._p.getProperties()),f=s.hyperlink??f,m)if(_){let e=_;_=t=>{let n=t.createStyle(m);return n=n.createStyle(e),n=n._p.getProperties(),n}}else _=m;let v=!1;return u!==void 0&&(u===null?(c.value=null,c.type=t.ScalarType.Null):(c.value=u,c.type=l),v=!0),_!==void 0&&(c.style=_,v=!0),f!==void 0&&(c.hyperlink=f,v=!0),p!==void 0&&(c.formula=p,v=!0),o||(c.stringToParse=h,v=!0),v?(c.type=l,c):void 0}var JS=e=>e===o.HorizontalAlignment.Center||e===o.HorizontalAlignment.CenterContinuous?n.AnchorLocation.Center:e===o.HorizontalAlignment.Right?n.AnchorLocation.Right:n.AnchorLocation.Left,YS=(e,n,r)=>n===t.ScalarType.Null?null:kg(n,e.getFont(),e.getAlignment(),!1,!0),XS=(e,n,r,i,a=!1)=>{if(e===t.ScalarType.Null)return null;let o=``;if(a)o=Qb(r,e);else{let t=Xb(i.runtime,r,n,e,n.getNumberFormat(),e=>i.styles.parseColor(e));if(t.formattedRuns){let e=t.formattedRuns.runs,n=e.length;for(let t=0;t<n;t++)o+=e[t].text}else o=t.displayText}return kg(o,n.getFont(),n.getAlignment(),e===t.ScalarType.String,a)},ZS=Object.freeze({dataBar:null,iconSet:null}),QS=e=>e.isStopIfTrue()&&!e.getScale(),$S=(e,n)=>{let r=n.getInsets();if(e===t.ScalarType.Null)return r;let i=r,a=eC(e,n),s=n.getAlignment().getIndent();if(s&&(a===o.HorizontalAlignment.Left||a===o.HorizontalAlignment.Right)){i={...r};let e=n.measureText(` `.repeat(1*s)),t=Math.min(3,Math.max(1,(26-n.getFont().getSize())/2)),c=e.width*t;a===o.HorizontalAlignment.Left?i.left+=c:a===o.HorizontalAlignment.Right&&(i.right+=c)}return Object.freeze(i)},eC=(e,n)=>{let r=n.getAlignment(),i=B(r.getRotation()),a=r.getHorizontal();return i!==0&&a===o.HorizontalAlignment.General?i>0&&i<90||i>180&&i<=270?o.HorizontalAlignment.Right:o.HorizontalAlignment.Left:a===o.HorizontalAlignment.General?e===t.ScalarType.Null?o.HorizontalAlignment.Left:e===t.ScalarType.Boolean||e===t.ScalarType.Error?o.HorizontalAlignment.Center:n.getNumberFormat()===`@`?o.HorizontalAlignment.Left:e===t.ScalarType.Number?o.HorizontalAlignment.Right:o.HorizontalAlignment.Left:a};function tC(e,r,i,a,s,c,l,u,d){if(i===t.ScalarType.Null||s===``)return null;let f=r;if(!function(e,r,i=!1,a=!1){if(e===t.ScalarType.Null)return!1;let s=r.getAlignment(),c=s.getHorizontal();if(c===o.HorizontalAlignment.CenterContinuous||c===o.HorizontalAlignment.Fill)return!0;if(c===o.HorizontalAlignment.Distributed)return!1;if(re(s.getRotation())){let t=JS(eC(e,r));return!(t===n.AnchorLocation.Right&&i||t===n.AnchorLocation.Center&&i&&a||t===n.AnchorLocation.Left&&a)}if(e!==t.ScalarType.String||s.getOverflow()!==o.Overflow.Visible||c===o.HorizontalAlignment.Right&&i||c===o.HorizontalAlignment.Center&&i&&a||a&&(c===o.HorizontalAlignment.General||c===o.HorizontalAlignment.Left))return!1;let l=s.getVertical();return l!==o.VerticalAlignment.Justify&&l!==o.VerticalAlignment.Distributed}(i,a,c!==null&&c.colIndex+1===f,l!==null&&l.colIndex-1===f))return null;let p=sC(i,a,s,d,e),m=a.getAlignment(),h=m.getHorizontal(),g=!re(m.getRotation())&&(m.getOverflow()===o.Overflow.Wrap||i===t.ScalarType.String&&(h===o.HorizontalAlignment.Justify||h===o.HorizontalAlignment.Distributed||m.getVertical()===o.VerticalAlignment.Justify||m.getVertical()===o.VerticalAlignment.Distributed)),_=h===o.HorizontalAlignment.Fill,v=h===o.HorizontalAlignment.CenterContinuous||_;if(!p&&!v)return null;let y=JS(eC(i,a)),b=0,x=0,S=0,C=0,w=1;if(v&&s!==null&&u){fC.colIndex=r,fC.rowIndex=e;let t=u.colEnd;w=Math.min(d.nextContentful(fC,t),t)-r+1}let T=d.colHeaders,E=T.getOffset.bind(T),D=T.getIndex.bind(T),O=E(f),k=O,A=E(f+w),j=A-O,M=f,N=f,P={x:0,y:0,width:j,height:p?.height??0},F=f-f+w,I=p?p.width-j:0,L=P;return j>0&&I>0&&!g&&(y===n.AnchorLocation.Center&&(I/=2),y!==n.AnchorLocation.Left&&y!==n.AnchorLocation.Center||(N=D(A+I),l!==null&&(N=Math.min(N,l.colIndex-1)),A=E(N),C=I,x=N-f),y!==n.AnchorLocation.Right&&y!==n.AnchorLocation.Center||(M=D(O-I),c!==null&&(M=Math.max(M,c.colIndex+1)),O=E(M),S=I,b=f-M),P.x=k-O,L.x=P.x),w>1&&(x=y===n.AnchorLocation.Center?Math.max(F-1,x):w-1,A=E(f+1),P.width=A-O,L={...P},L.width=j),{anchorBounds:P,leftIndex:b,rightIndex:x,leftOffset:S,rightOffset:C,colSpan:F,colBounds:L}}var nC=class{constructor(e,t){this._styles=e,this._ri=t;let n=t?.table;n&&(this._table=n.getRangedStyle())}getCoords(){return n.CoordUtils.EmptyRange}_directAt(e,t,n){let r=this._ri,i=r.borderStyle?r.borderStyle.getPropertiesAt(e,t,n):null,a=r.fillStyle?r.fillStyle.getPropertiesAt(e,t,n):null,o=r.contentStyle?r.contentStyle.getPropertiesAt(e,t,n):null;return!i||a||o?i||!a||o?i||a||!o?i||a||o?{...o,...a,...i}:null:o:a:i}getPropertiesAt(e,t,r){let i=this._ri,a=this._styles,o=null,s=this._table?.getPropertiesAt(e,t,r);s&&(o=n.TypedObject.resolveTypedUpdates(s,Vh,a,o));let c=i.conditionals;c&&!Array.isArray(c)&&(c=[c]);let l=c?c.length:0;if(l>0)for(let i=0;i<l;i++){let s=c[i],l=s.getPropertiesAt(e,t,r);if(l&&(o=o?n.TypedObject.resolveTypedUpdates(l,Vh,a,o):l,QS(s)))break}let u=this._directAt(e,t,r),d=null;if(u&&u.named){let n=u.named;if(n!==X.BuiltInName.Normal){let i=a.getNamed(n);i?d=i.getRanged().getPropertiesAt(e,t,r):console.warn(`A named styled was referenced but not found: '${n}'.`)}}let f=null;d&&(f=n.TypedObject.resolveTypedUpdates(d,Vh,a,f)),u&&(f=f?n.TypedObject.resolveTypedUpdates(u,Vh,a,f):u);let p=null;if(o&&f){let e=a.normalize(f,X.BuiltInName.Normal);p=e?n.TypedObject.resolveTypedUpdates(e,Vh,a,o):o}else p=f??o;return p}cloneWithUpdate(e){let t=this._ri;return(rg.compose(t.borderStyle,t.fillStyle,t.contentStyle)??this._styles.getNormalRanged()).cloneWithUpdate(e)}getAuthoredPropertiesAt(e,t,n){return this._directAt(e,t,n)}};function rC(e,t,n,r,i,a){let o=r.styles,s=null;return n&&(s=i?rg.compose(n.borderStyle,n.fillStyle,n.contentStyle)??null:new nC(o,n)),Xg(e,o,s,t,r.styleUpdater,a)}function iC(e,t){if(!e)return!1;if(!Array.isArray(e)){let n=e.getCoords();return t.colIndex!==n.colStart||t.rowIndex!==n.rowStart}let n=e.length;for(let r=0;r<n;r++){let n=e[r].getCoords();if(t.colIndex===n.colStart&&t.rowIndex===n.rowStart)return!1}return!0}function aC(e,r,i,a,s,c,l,u=null,d=HS,f){let p=f?.formulaText,m=f?.formulaView??!1;if(i===null&&p===void 0)return r?r.getBestFit():null;let h=p===void 0&&e===t.ScalarType.String,g=r.getFont(),_=g.getWeight(),v=g.getSize(),y=g.getFamily(),b=r.getAlignment(),x=b.getOverflow(),S=b.getRotation(),C=b.getVertical(),w=r.getNumberFormat(),T=h&&x===o.Overflow.Visible,E=h&&(x===o.Overflow.Wrap||C===o.VerticalAlignment.Justify||C===o.VerticalAlignment.Distributed),D=$S(e,r),O=D.left+D.right+2,k=(u??``)+`\0`+v+y+_+w+S+T+E+c+l+O+(u?``:i)+`\0`+m+`\0`+(p??``)+`\0`+(E?s:``)+`\0`+n.DefaultLanguagePackService.getRevision(),A=d.get(k);if(A)return A;let j=null,M=null,N=D.top+D.bottom+ +function(e){let t=e.getFont().getUnderline()===U.UnderlineStyle.SingleAccounting,n=e.getFont().getUnderline()===U.UnderlineStyle.DoubleAccounting,r=0;return(t||n)&&(r=e.measureText(``).underlineThickness+1,n?r*=2:r+=1),r}(r),P=!1,F=!1,I=!1;l&&(I=!0,(S!==0||E)&&(I=!1));let L=I?void 0:p===void 0?XS(e,r,i,a,m):YS(r,p);if(L){if(!m&&e===t.ScalarType.Number&&w===`General`&&c){let e=i,t=n.CommonUtils.splitNumber(e),a=``;a=Math.abs(e)>=10**12||Math.abs(e)<=10**-12?`0.${`0`.repeat(Math.max(2,Math.min(t.ipLength,5)))}E+00`:Math.abs(t.ipLength)===0?`0.0`:Math.abs(t.fpLength)>0?`0`.repeat(t.ipLength)+`.0`:`0`.repeat(t.ipLength),e<0&&(a=`-`+a),a=`0`.repeat(a.length);let o=r.measureText(a);j=o.width,M=o.lineHeight}else if(p===void 0&&!m&&re(S)){let e=B(S)*Math.PI/180,t=Math.abs(Math.sin(e)),n=Math.abs(Math.cos(e)),r=L.layout({width:1e9}),i=r.lines[0]?.bounds.height??r.bounds.height;if(E){let e=Math.max(1,s-O),t=Math.max(1,Math.round(e/(1.5*i)));if(r.lines.length<t||t>1){let e=Math.max(1,r.bounds.width/t);for(let n=0;n<8;n++){let n=L.layout({width:e});if(n.lines.length<=t){r=n;break}e*=1.25}let n=0;for(let e=0;e<r.lines.length;e++)n=Math.max(n,r.lines[e].bounds.width);let i=L.layout({width:n});i.lines.length===r.lines.length&&(r=i)}}let a=r.lines,o=0,c=0;for(let e=0;e<a.length;e++){let r=a[e].bounds.width,i=a[e].bounds.height;o=Math.max(o,r*t+i*n),c=Math.max(c,r*n+i*t)}M=o,j=(a.length-1)*(t>0?i/t:0)+c,F=!0}else{let e=null;E&&(e={width:Math.max(1,s-O)});let t=L.layout(e);if(M=t.bounds.height,E){let e=t.lines,n=e.length,r=0;for(let t=0;t<n;t++){let n=e[t].bounds.width;n>r&&(r=n)}j=r}else j=t.bounds.width}if(j!==null&&(j+=O),M!==null&&(M+=N),P=e===t.ScalarType.String,S&&(P&&x===o.Overflow.Wrap&&(P=!1),!F)){let e=function(e,t){let{x:n,y:r,width:i,height:a}=e,o=t*Math.PI/180,s=Math.sin(o),c=Math.cos(o),l=i/2,u=a/2,d=$b(-l,-u,s,c),f=$b(l,-u,s,c),p=$b(-l,u,s,c),m=$b(l,u,s,c),h=Math.min(d.x,f.x,p.x,m.x)+l,g=Math.max(d.x,f.x,p.x,m.x)+l,_=Math.min(d.y,f.y,p.y,m.y)+u;return{x:n+h,y:r+_,width:g-h,height:Math.max(d.y,f.y,p.y,m.y)+u-_}}({x:0,y:0,width:j,height:M},S);j=e.width,M=e.height}E&&j!==null&&(j=Math.ceil(j))}else M=r.getBestFit().height;c&&P&&(j=0);let ee=Object.freeze({width:j,height:M});return d.set(k,ee),ee}var oC=(e,t,n,r)=>{let i=t.getAlignment(),a=i.getHorizontal();if(a===o.HorizontalAlignment.Fill||a===o.HorizontalAlignment.CenterContinuous)return null;let s=i.getRotation();if(!re(s))return null;let c=$S(e,t),l={x:c.left,y:c.top,width:Math.max(0,r.width-c.left-c.right),height:Math.max(0,r.height-c.top-c.bottom)},u=n.layout({width:1e9}),d=u.lines[0]?.bounds.height??u.bounds.height,f=i.getVertical(),p=n.wrapped?n.layout({width:ie(l.height,d,s)}):u;return{layout:oe(p.lines.map(e=>({width:e.bounds.width,height:e.bounds.height})),s,l,eC(e,t),f),frame:p,lineHeight:d,content:l}},sC=(e,t,n,r,i)=>{if(re(t.getAlignment().getRotation())){let a=r.sheet?.getRowHeaders().getSpanSize(i),o=a?XS(e,t,n,r,!1):null;if(o){let n=oC(e,t,o,{width:0,height:a});if(n)return{width:Math.ceil(n.layout.bounds.width),height:Math.ceil(n.layout.bounds.height)}}}let a=$S(e,t),s=eC(e,t),c=a.left+a.right;s===o.HorizontalAlignment.Left?c=a.right:s===o.HorizontalAlignment.Right?c=a.left:s===o.HorizontalAlignment.Center&&(c=a.left+a.right);let l=aC(e,t,n,r,2**53-1,!1,!1);return{width:Math.ceil(l.width-c),height:Math.ceil(l.height)}},cC=class e{constructor(e,n,r=t.ScalarType.Null,i=null,a=null,o=null,s=null){this._options=e,this._r=e.runtime,this._coords=n??null,this._p=o,this._n=s,this._t=r,this._ri=a,this._v=i,r===t.ScalarType.Number&&a?.dateFormat&&(this._d=this.getNumberFormat(a?.dateFormat).asDate)}getRange(){let e=this._coords,t=null,r=this._ri;return t=r&&r.merge?r.merge.getCoords():e?n.CoordUtils.cellToRange(e):null,this._options.getRange(t)}isEqual(e){if(!e)return!1;if(this===e)return!0;let t=e;return!!t.isICell&&this._v===t._v&&!!n.CoordUtils.isEqualCells(this._coords,e.getCoords())&&this._options.sheet===t._options?.sheet}getCoords(){return this._coords}getAddress(e){let t=this._coords;return t?Xl(this._options.getRange(t).getCoords()):Il}getSheet(){return this._options.sheet}select(e){return this._options.opener(`#`+Ul(this._coords),e)}getColumn(){let e=this._column;if(e!==void 0)return e;this._column=null;let t=this._ri;if(!t)return null;let r=t.table??t.autoTable;if(!r)return null;let i=r.getHeaderRowRange().getCoords();if(i&&n.CoordUtils.isCellWithinRange(this._coords,i)){let t=this._coords.colIndex-i.colStart;e=r.getColumnAt(t)??null,this._column=e}return e}getTable(){let e=this._ri;return e&&(e.table??e.autoTable)||null}getDataValidation(){let e=this._ri;if(!e)return null;let t=e.dataValidations;return t?Array.isArray(t)?t[0]:t:null}getConditionalDecorations(){let e=this._cd;if(e!==void 0)return e;let t=this._ri?.conditionals;if(!t)return this._cd=ZS;Array.isArray(t)||(t=[t]);let n=this._coords;if(!n)return this._cd=ZS;let r=n.rowIndex,i=n.colIndex,a=this._v,o=null,s=null;for(let e=0;e<t.length;e++){let n=t[e],c=n.getDecorationAt(r,i,a);if(c&&(c.type===Cy.ScaleType.DataBar?o??=c:s??=c),o&&s||QS(n)&&(c||n.getPropertiesAt(r,i,a)))break}if(s){let e=this.getStyle().getAlignment();(e.getRotation()!==0||e.getStacked())&&(s=null)}return this._cd=o||s?Object.freeze({dataBar:o,iconSet:s}):ZS}getProtection(){return this._ri?.unlock===void 0?GS:WS}getTextOverflow(){let e=this._to;if(e!==void 0)return e;let n=this._ri;if(n&&n.merge)return this._to=null,null;let r=this._t,i=null;if(r===t.ScalarType.String||n&&n.continuous){let e=this.getStyle(),t=this._coords;i=tC(t.rowIndex,t.colIndex,r,e,this._v,this._p,this._n,n?.continuous?.getCoords()??null,this._options)}return i===null||i.leftIndex===0&&i.rightIndex===0&&i.colSpan<=1?(this._to=null,null):(this._to=i,i)}getRenderHorizontalAlignment(){return eC(this._t,this.getStyle())}isEmpty(){return this._v===null&&!this._ri}getExtrusions(){let e=this._ri;if(!e&&this._to===null)return null;if(e){let t=e.merge;if(t!==void 0)return t.getCoords()}let t=this.getTextOverflow();if(!t)return null;let n=this._coords;return{colStart:n.colIndex-t.leftIndex,rowStart:n.rowIndex,colEnd:n.colIndex+t.rightIndex,rowEnd:n.rowIndex}}isEditAllowed(){let e=this._options;return!e||!e.getProtection().isLocked()||!!this._ri&&this.getProtection().isEditAllowed()}isFormulaHidden(){return!!this._options.getProtection().isLocked()&&!!this._ri&&this.getProtection().isFormulaHidden()}isContentful(){return this._v!==null}getBestFit(e,t=!1){return e===void 0&&(e=this._options.sheet?.getColumnHeaders().getSpanSize(this._coords.colIndex)??64),aC(this._t,this.getStyle(),this._v,this._options,e,t,!1)}getInsets(){if(this._v===null)return this.getStyle().getInsets();let e=$S(this._t,this.getStyle()),t=this._iconGutter();return t===0?e:Object.freeze({...e,left:e.left+t})}_iconGutter(){if(!this.getConditionalDecorations().iconSet)return 0;let e=this.getStyle();return e.measureText(``).lineHeight+e.getInsets().left}getTextFrame(e){let t,n;if(e&&(n=this.getFormulaText(),n&&=`=`+n),t=n??this._v,t===null)return null;let r=this.getStyle();return n?YS(r,t,this._options):XS(this._t,r,t,this._options,e)}getTextPlacement(e,t){let n=this.getTextFrame(t),r=n??this.getStyle().createTextFrame(` `);if(!r)return null;if(!t&&n){let t=oC(this._t,this.getStyle(),n,e);if(t)return{content:Object.freeze(t.content),frame:t.frame,bounds:Object.freeze({...t.layout.bounds}),lineHeight:t.lineHeight,rotation:t.layout}}let i=this.getInsets(),a={x:i.left,y:i.top,width:Math.max(0,e.width-i.left-i.right),height:Math.max(0,e.height-i.top-i.bottom)},s=r.layout(r.wrapped?{width:a.width}:void 0),c=s.bounds,l=s.lines[0]?.bounds.height??c.height,u=this.getStyle().getAlignment().getVertical(),d=a.y;u===o.VerticalAlignment.Center?d=a.y+(a.height-c.height)/2:u===o.VerticalAlignment.Bottom&&(d=a.y+a.height-c.height);let f=this.getRenderHorizontalAlignment(),p=a.x;return f===o.HorizontalAlignment.Center||f===o.HorizontalAlignment.CenterContinuous?p=a.x+(a.width-c.width)/2:f===o.HorizontalAlignment.Right&&(p=a.x+a.width-c.width),{content:Object.freeze(a),frame:s,bounds:Object.freeze({x:p,y:d,width:c.width,height:c.height}),lineHeight:l}}getFormula(){let e=this._ri?.formula;if(!e)return null;let t=this._coords;return t?(Array.isArray(e)&&(e=e[0]),new nx(t,e,this._options)):null}getFormulaText(e){let t=this._ri?.formula;if(!t)return null;let n=e?.cell??this._coords;return n?(Array.isArray(t)&&(console.log(`Multiple formula blocks`),t=t[t.length-1]),t.getTextAt(n.rowIndex,n.colIndex,e?.r1c1)):null}getCalculationStatus(){let e=this._ri;return e&&e.pending?Ky.ResultStatus.Pending:Ky.ResultStatus.Ready}_dependencyRanges(e,t){let r=this._coords;if(!r)return null;let i=this._options.dependencyRanges;return i?i(n.CoordUtils.cellToRange(r),e,t):null}getDirectDependents(){return this._dependencyRanges(`dependents`,!0)}getDirectPrecedents(){return this._dependencyRanges(`precedents`,!0)}getDependents(){return this._dependencyRanges(`dependents`,!1)}getPrecedents(){return this._dependencyRanges(`precedents`,!1)}getValue(){return this._v}getType(){return this._t}getInteropValue(){return this._d??this._v}getInteropType(){return this._d?t.InteropScalarType.Date:this._t}getStyle(e=!1){if(!e&&this._s)return this._s;if(e&&this._sd)return this._sd;let t=rC(this._v,n.CoordUtils.cellToRange(this._coords),this._ri,this._options,e);return e?this._sd=t:this._s=t,t}createCell(t){if(t===null)return new e(this._options,this._coords);let r=qS(this._r,t),i=this._ri;if(r.style!==void 0){let e=this._coords??n.CoordUtils.EmptyCell,t=n.CoordUtils.cellToRange(e),a=this._options,o=Pg(r.style,()=>rC(this._v,t,this._ri,a,!0)),s=this._ri,c=(rg.compose(s?.borderStyle,s?.fillStyle,s?.contentStyle)??new rg(a.styles,null,t)).cloneWithUpdate(o),l=c.splitByFeature();i={...i,borderStyle:l.border??void 0,fillStyle:l.fill??void 0,contentStyle:l.content??void 0};let u=c._p?.numberFormat;typeof u==`string`&&(Mr(u)||Nr(u))?i.dateFormat=u:i.dateFormat&&delete i.dateFormat}let a=this._t,o=this._v;return r&&r.value!==void 0&&(o=r.value,a=r.type),o===this._v&&a===this._t&&i===this._ri?this:o!==null||i?new uC(this._options,this._coords,a,o,i):new uC(this._options,this._coords)}_withProjectedMerge(e){let t=this._v;return new uC(this._options,this._coords,this._t,t,{...this._ri,merge:new tx(e,()=>t)})}getNumberFormat(e){let t=this._r,n=this._options,r=this._v;return e===void 0?Xb(t,r,this.getStyle(),this._t,this.getStyle().getNumberFormat(),e=>n.styles.parseColor(e)):Xb(t,r,this.getStyle(),this._t,e,e=>n.styles?.parseColor(e))}getDate(){return this._d??null}getText(e){let r;if(e?.showFormulas){if(this.isSpillOverflow())return``;let e=this.getFormulaText();return e?`=`+e:Qb(this._v,this._t)}if(e&&e.useFormattingCategory){let e=this._v;return this.isSpillOverflow()&&(e=null),r=function(e,r,i,a,o){if(i===t.ScalarType.Null||r==null)return``;if(i===t.ScalarType.Number){let t=Ec(),i=r,s=t.isDateFormat(a),c=t.isTimeFormat(a);if(s||c){let t=parseFloat(r),a=t%1!=0,l=t>=1;if(t<0)return n.CommonUtils.castToString(r);if(!s||c||a)if(!c||s||l){let t=jc(e,`Short Date`,i,o),n=jc(e,`Long Time`,i,o);if(t&&n)return t.fmt+` `+n.fmt}else{let t=jc(e,`Long Time`,i,o);if(t)return t.fmt}else{let t=jc(e,`Short Date`,i,o);if(t)return t.fmt}}}if(i===t.ScalarType.Number&&Bn(a).endsWith(`%`)){let e=n.CommonUtils.roundAccurately(100*parseFloat(r),14);if(!isNaN(e))return Zb(e)+`%`}if(i===t.ScalarType.Boolean)return go(r);if(i===t.ScalarType.Error){let e=r;return typeof e?.getLabel==`function`?_o(e):t.FormulaError.Label.Unknown}return i===t.ScalarType.RichData?`(Rich Object)`:i===t.ScalarType.Number?Zb(r):n.CommonUtils.castToString(r)}(this._r,e,this._t,this.getStyle().getNumberFormat()),r}r=this.getNumberFormat().displayText;let i=this._t;return e?.hideStringPrefix||i!==t.ScalarType.String||(r=`'${r}`),r}getComments(){let e=this._ri?.comments;return e?Object.freeze(e):null}getHyperlink(){let e=this._ri?.hyperlink;return e?new Jb(this.getText.bind(this),this._options.opener,e):null}getErrors(){let e=this._ri;return e&&e.calcError?[e.calcError]:this._t===t.ScalarType.Error?[this._v]:n.CommonUtils.EmptyArray}getWarnings(){return n.CommonUtils.EmptyArray}getSpans(){let e=this._ri?.merge;if(!e)return VS;let t=e.getCoords();return Object.freeze({width:t.colEnd-t.colStart+1,height:t.rowEnd-t.rowStart+1})}isTopLeft(){let e=this._ri?.merge;if(!e)return!0;let t=e.getCoords();return this._coords&&this._coords.colIndex===t.colStart&&this._coords.rowIndex===t.rowStart}getSpill(){let e=this._ri?.spills;if(!e||!this._coords)return null;Array.isArray(e)||(dC[0]=e,e=dC);let t=null,n=e?e.length:0;for(let r=0;!t&&r<n;r++){let n=e[r];n.getError()||(t=n)}return t||=Array.isArray(e)?e[0]:e,t?this._options.getRange(t.getCoords()):null}isSpillOverflow(){let e=this._ri?.spills;if(!e)return!1;let t=this._coords;return t?iC(e,t):null}get[Symbol.toStringTag](){return`[Cell]`}toString(){let e=`{blank}`;return this._v!==null&&(e=this.getText(pC),this.getType()===t.ScalarType.String&&(e=`'${e}'`)),`${this.getAddress()} => ${e}`}get isICell(){return!0}},lC=class extends cC{constructor(e){super(e,null,null,null)}isEmpty(){return!0}isContentful(){return!1}toString(){return`{EMPTY CELL}`}},uC=class extends cC{getAddress(e){return`{TEMPORARY CELL}`+(this._coords?`: ${super.getAddress(e)}`:``)}},dC=[null],fC={colIndex:-1,rowIndex:-1},pC={useFormattingCategory:!0},mC={colStart:0,rowStart:0,colEnd:0,rowEnd:0},hC={colStart:0,rowStart:0,colEnd:0,rowEnd:0},gC={colStart:0,rowStart:0,colEnd:0,rowEnd:0},_C={size:null,autoSize:!0},vC=(e,t)=>e.sizeSet-t.sizeSet;function yC(e,t,n){return n>1?e._colHeaders.getSpanSize(t,t+n):e._colHeaders.getSpanSize(t)}function bC(e,t,n){if(e>t)return null;let r=[],i=e,a=n?n.length:0;for(let e=0;e<a;e++){let t=n[e],a=t.min,o=t.max;if(i>=a){i=o+1;continue}let s={address:{min:i,max:a-1},update:_C};r.push(s),i=o+1}if(i<=t){let e={address:{min:i,max:t},update:_C};r.push(e)}return r}function xC(e,t){let n={colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd},r=e.host._getUsedCoords();return(e.isShrinkToFitRow||e.isShrinkToFitColumn)&&r&&(n.colStart=e.isShrinkToFitRow?r.colStart:t.colStart,n.rowStart=e.isShrinkToFitColumn?r.rowStart:t.rowStart,n.colEnd=e.isShrinkToFitRow?r.colEnd:t.colEnd,n.rowEnd=e.isShrinkToFitColumn?r.rowEnd:t.rowEnd),n}function SC(e){return{searchTypes:{[q.Type.ContentStyle]:!1,[q.Type.Merge]:!1,[q.Type.Continuous]:!1,[q.Type.DateFormat]:!1,[q.Type.Contentful]:!1},ignoreHidden:!1,bounds:{colStart:e.colStart,rowStart:e.rowStart,colEnd:e.colEnd,rowEnd:e.rowEnd},axis:t.IRange.Axis.Column}}function CC(e,t,r,i,a){let{host:o,cellOptions:s,isRow:c,isColumn:l}=e,u=o._rangeStateIterator(SC(r)),d=u.next();for(;!d.done;){let r=d.value,o=r.intersection,f=r.start,p=r.end;hC.colStart=f.colIndex,hC.rowStart=f.rowIndex,hC.colEnd=p.colIndex,hC.rowEnd=p.rowIndex;let m=rC(void 0,n.CoordUtils.intersectRanges(hC,t,mC),o,s,!0).getBestFit();if(c){let n=Math.max(f.rowIndex,t.rowStart),r=Math.min(p.rowIndex,t.rowEnd);if(n<=r){let t=m.height,a={address:{min:n,max:r},update:{size:e.clampHeight(t),autoSize:!0},sizeSet:t??-1};i.push(a)}}if(l){let n=Math.max(f.colIndex,t.colStart),r=Math.min(p.colIndex,t.colEnd);if(n<=r){let t=m.width,i={address:{min:n,max:r},update:{size:e.clampWidth(t),autoSize:!0},sizeSet:t??-1};a.push(i)}}d=u.next()}}function wC(e,r,i){let{host:a,cellOptions:o,normalStyle:s,isFormulaView:c}=e,l=[],u=-1,d=!1,f=s,p=null,m=1,h=1,g=1,_=2**53-1,v=-(2**53-1),y=!1,b=``,x=!1,S=!1,C=!1,w=!1,T=2**53-1,E=-(2**53-1),D=-(2**53-1),O=()=>{l.push({col:u,style:f,spanWidth:m,spanHeight:h,minVal:_,maxVal:v,hasZero:y,text:b,textVerbatim:x,hasFalse:C,hasTrue:S,hasEmpty:w,minRow:T,maxRow:E,maxContentRow:D,colWidth:yC(a,u,g),colSpan:g,measureWidth:-1,measureHeight:-1,isFit:d,formula:p})},k={[q.Type.Merge]:!1,[q.Type.Table]:!1,[q.Type.AutoTable]:!1,[q.Type.ContentStyle]:!1,[q.Type.Continuous]:!1,[q.Type.DateFormat]:!1};c&&(k[q.Type.Formula]=!1,k[q.Type.Spills]=!1);let A=a._cellStateIterator({...SC(i),searchTypes:k,ignoreEmptyIntersections:!0}),j,M,N,P=A.next(),F=1,I=1;for(;!P.done;){let e=P.value,i=e[0],l=e[1],k=e[2],L=s,ee=k?.contentStyle??k?.table?.getStyle()??null;ee===j?L=M:(L=ee?rC(l,n.CoordUtils.cellToRange(i,gC),k,o,!1):s,M=L);let te=1,R=1,ne=k?.merge??null;if(ne===N)te=F,R=I;else{if(ne){let e=ne.getCoords();te=e.colEnd-e.colStart+1,R=e.rowEnd-e.rowStart+1}else te=1,R=1;F=te,I=R}let z=i.colIndex,B=i.rowIndex,re=WD(l),ie=n.CoordUtils.isCellWithinRange(i,r),ae=k?.continuous??null,oe=ae?ae.getCoords().colEnd-z+1:1,se=l instanceof t.FormulaError.Parse,ce=k?.formula??null,le=null;ce?le=Array.isArray(ce)?ce[ce.length-1]:ce:se&&!c&&(le=a._getState().calcGrid.getFormulaBlockAt(B,z));let ue=le&&(c||se)?le:null,de=re===t.ScalarType.RichData||R>1||te>1||c&&iC(k?.spills,i),fe=!de&&(j!==ee||te!==m||R!==h||oe!==g||re===t.ScalarType.String||re===t.ScalarType.Error||ue!==p||ie!==d);if(j=ee,N=ne,(u!==z||fe)&&(u!==-1&&O(),u=z,f=L,d=ie,p=ue,m=te,h=R,g=oe,_=2**53-1,v=-(2**53-1),y=!1,b=``,x=!1,C=!1,S=!1,w=!1,T=B,D=B),E=B,de)P=A.next();else{if(D=B,!ue)if(l===null)w=!0;else switch(re){case t.ScalarType.Number:l===0&&(y=!0),_=Math.min(_,l),v=Math.max(v,l);break;case t.ScalarType.String:b=l,x=!1;break;case t.ScalarType.Error:b=_o(l),x=!0;break;case t.ScalarType.Boolean:l?S=!0:C=!0}P=A.next()}}return u!==-1&&O(),l}function TC(e,n,r){let{cellOptions:i,isRowAxis:a,minContent:o,mapCache:s,isFormulaView:c}=e,l=c?{formulaView:!0}:void 0,u={formulaView:c,formulaText:void 0},d=n.length;for(let e=0;e<d;e++){let c=n[e],d=c.col>=r.colStart&&c.col<=r.colEnd,f=a||!d,p=c.style,m=c.colWidth,h=(e,n,r)=>{let a=e===t.ScalarType.String||r?.formulaText!==void 0;return aC(e,p,n,i,m,o,f,null,a?s:void 0,r)},g=0,_=0,v=e=>{g=Math.max(g,e.width),_=Math.max(_,e.height)};if(c.formula){u.formulaText=`=`+c.formula.getTextAt(c.maxContentRow,c.col);let e=h(t.ScalarType.String,null,u);c.measureWidth=e.width??0,c.measureHeight=e.height??0;continue}let y=c.maxVal;if(y!==-(2**53-1)){v(h(t.ScalarType.Number,y,l));let e=c.minVal;e!==y&&v(h(t.ScalarType.Number,e,l)),c.hasZero&&e!==0&&y!==0&&v(h(t.ScalarType.Number,0,l))}let b=c.text;b.length>0&&(c.textVerbatim?(u.formulaText=b,v(h(t.ScalarType.Error,null,u))):v(h(t.ScalarType.String,b,l))),c.hasFalse&&v(h(t.ScalarType.Boolean,!1,l)),c.hasTrue&&v(h(t.ScalarType.Boolean,!0,l)),c.hasEmpty&&v(h(t.ScalarType.Boolean,null,l)),c.measureWidth=g,c.measureHeight=_}}function EC(e,t){let n=e.host,r=null,i=t.length;for(let e=0;e<i;e++){let i=t[e],a=yC(n,i.col,i.colSpan);a!==i.colWidth&&(i.colWidth=a,(r??=[]).push(i))}return r}function DC(e,t,n,r){let{host:i,isShrinkToFitColumn:a,updateHeaderOptions:o}=e,s=n.length;for(let i=0;i<s;i++){let a=n[i],o=a.col,s=n[i+1],c=a.measureWidth??0;for(;s&&s.col===o;)s.measureWidth&&(c=Math.max(s.measureWidth??0,c)),i++,a=n[i],s=n[i+1];if(o<t.colStart||o>t.colEnd)continue;c===0&&(c=null);let l=e.clampWidth(c,a.spanWidth);r.push({address:{min:o,max:o},update:{size:l,autoSize:!0},sizeSet:c===null?-1:c})}r.sort(vC);let c=i._colHeaders.updateHeaderPairs(r,o);if(a){c=Kr(qr(Jr(c)));let e=bC(t.colStart,t.colEnd,c);e&&i._colHeaders.updateHeaderPairs(e,o)}}function OC(e,t,n,r){let{host:i,isShrinkToFitRow:a,updateHeaderOptions:o}=e,s=n.length;for(let i=0;i<s;i++){let a=n[i],o=Math.max(a.minRow,t.rowStart),s=Math.min(a.maxRow,t.rowEnd);if(o>s)continue;let c=a.measureHeight??0;c===0&&(c=null);let l=e.clampHeight(c,a.spanHeight);r.push({address:{min:o,max:s},update:{size:l,autoSize:!0},sizeSet:c===null?-1:c})}r.sort(vC);let c=i._rowHeaders.updateHeaderPairs(r,o);if(a){c=Kr(qr(Jr(c)));let e=bC(t.rowStart,t.rowEnd,c);e&&i._rowHeaders.updateHeaderPairs(e,o)}}var kC=e.n({boundsToPoints:()=>NC,centerPoint:()=>MC,clipToOuterRect:()=>WC,minBoundingRect:()=>PC,rotatePoints:()=>FC,unionBounds:()=>jC}),AC=(e,t)=>{let n=[];for(let r=0;r<e.length;r++){let i=e[r];n.push({x:i.x+t.x,y:i.y+t.y})}return n};function jC(e,t){if(!e)return{...t};if(!t)return{...e};let n=Math.min(e.x,t.x),r=Math.min(e.y,t.y);return{x:n,y:r,width:Math.max(e.width+e.x,t.width+t.x)-n,height:Math.max(e.height+e.y,t.height+t.y)-r}}function MC(e){return{x:e.width/2+e.x,y:e.height/2+e.y}}function NC(e){return[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height}]}function PC(e){let t=2**53-1,n=2**53-1,r=-(2**53-1),i=-(2**53-1);for(let a=0;a<e.length;a++){let o=e[a];t=Math.min(t,o.x),n=Math.min(n,o.y),r=Math.max(r,o.x),i=Math.max(i,o.y)}return{x:t,y:n,width:r-t,height:i-n}}function FC(e,t,n){if(!n){let t=PC(e);n={x:t.x+t.width/2,y:t.y+t.height/2}}e=AC(e,{x:-n.x,y:-n.y});let r=t*Math.PI/180,i=Math.sin(r),a=Math.cos(r),o=[];for(let t=0;t<e.length;t++){let n=e[t],r=a*n.x-i*n.y,s=i*n.x+a*n.y;o.push({x:r,y:s})}return e=AC(o,{x:n.x,y:n.y})}var IC=0,LC=1,RC=2,zC=3;function BC(e,t,n=!0){return function(e,t,n,r,i,a,o,s,c=!0){if(e===n&&t===r||i===o&&a===s)return!1;let l=(s-a)*(n-e)-(o-i)*(r-t);if(l===0)return!1;let u=((o-i)*(t-a)-(s-a)*(e-i))/l,d=((n-e)*(t-a)-(r-t)*(e-i))/l;return(!c||!(u<0||u>1||d<0||d>1))&&{x:e+u*(n-e),y:t+u*(r-t)}}(e.p1.x,e.p1.y,e.p2.x,e.p2.y,t.p1.x,t.p1.y,t.p2.x,t.p2.y,n)}var VC=e=>({top:{p1:e[IC],p2:e[LC]},left:{p1:e[zC],p2:e[IC]},right:{p1:e[LC],p2:e[RC]},bottom:{p1:e[RC],p2:e[zC]}}),HC=(e,t,n)=>{let r=n*Math.PI/180,i=Math.sin(r),a=Math.cos(r);return{x:e*a-t*i,y:e*i+t*a}},UC=(e,t)=>{let n=e.p2.x-t.x,r=e.p2.y-t.y,i=HC(n,r,90);n=i.x+t.x,r=i.y+t.y;let a=e.p1.x-t.x,o=e.p1.y-t.y,s=HC(a,o,90);return a=s.x+t.x,o=s.y+t.y,{p1:{x:a,y:o},p2:{x:n,y:r}}};function WC(e,t,n=0){if(n<0&&(n+=360),n>90&&n<=180?n+=180:n>180&&n<=270&&(n-=180),n===0||n===180)return{height:t.height,width:t.width};if(n===90||n===270)return{height:t.width,width:t.height};let r=NC({...t,x:0,y:0}),i=NC({...e,x:0,y:0});i=AC(i,{x:t.width/2-e.width/2,y:t.height/2-e.height/2}),i=FC(i,n);let a=VC(i),o=VC(r);if(n>90){let e=BC(a.top,o.top);if(e){let t=e,n=BC(a.bottom,o.bottom,!1)||i[zC];i[IC]=BC(a.top,UC(a.bottom,n),!1)||i[IC],i[LC]=t,i[zC]=n,i[RC]=BC(a.bottom,UC(a.top,t),!1)||i[RC],a=VC(i)}let t=BC(a.top,o.left);if(t){let e=t,n=BC(a.bottom,o.right,!1)||i[RC];i[IC]=e,i[LC]=BC(a.top,UC(a.bottom,n),!1)||i[LC],i[zC]=BC(a.bottom,UC(a.top,e),!1)||i[zC],i[RC]=n}}else if(n<90){let e=BC(a.top,o.top);if(e){let t=e,n=BC(a.bottom,o.bottom,!1)||i[RC];i[IC]=t,i[LC]=BC(a.top,UC(a.bottom,n),!1)||i[LC],i[zC]=BC(a.bottom,UC(a.top,t),!1)||i[zC],i[RC]=n,a=VC(i)}let t=BC(a.top,o.right);if(t){let e=t,n=BC(a.bottom,o.left,!1)||i[zC];i[IC]=BC(a.top,UC(a.bottom,n),!1)||i[IC],i[LC]=e,i[zC]=n,i[RC]=BC(a.bottom,UC(a.top,e),!1)||i[RC]}}i=FC(i,-n);let s=PC(i);return{width:s.width,height:s.height}}var GC=class{constructor(e,t){this._mapStylesByName=new Map,this._arrStyleNames=[],this._mapStylesByName=e,this._arrStyleNames=t}setNode(e){this._node=e}addStyle(e,t){t!=null&&(this._node?.styles||(this._node.styles=new Map),this._node.styles.set(e,t))}addAttribute(e,t){t!=null&&(this._node?.attributes||(this._node.attributes=new Map),this._node.attributes.set(e,t),e.toLowerCase()===`rowspan`&&parseInt(t)>1&&(this._node.rowspan=parseInt(t)),e.toLowerCase()===`colspan`&&parseInt(t)>1&&(this._node.colspan=parseInt(t)))}addSharedStyle(e,t){let n=this._mapStylesByName.get(e);n?n={...t}:(this._arrStyleNames.push(e),n=t),this._mapStylesByName.set(e,n)}setPlainText(e){this._node.plainText=e}setHTMLText(e){this._node.htmlText=e.replace(/(?:\r\n|\r|\n)/g,`<br>`)}};function KC(t,n=` `){return new Promise((r,i)=>{Promise.resolve().then(()=>e.r(require("./Dv3x6zut1ZRUt3IF.cjs").default,1)).then(e=>{try{let i=e.parse(t,{delimiter:n}).data;i.length>1&&(i[i.length-1].length===0||i[i.length-1].length===1&&i[i.length-1][0].length===0)&&i.pop(),r(i)}catch(e){console.warn(e),i(e)}},e=>{i(e)})})}var qC=e=>{let t={};if(!e)return t;e.endsWith(`;`)||(e+=`;`);let n=RegExp(`;(?=([^"]*"[^"]*")*[^"]*$)`,`gsm`),r,i=0;for(;(r=n.exec(e))!==null;){try{let n=e.substring(i,r.index).trim(),a=RegExp(`:(?=([^"]*"[^"]*")*[^"]*$)`,`gsm`),o,s,c;for(;(c=a.exec(n))!==null;)o=unescape(n.substring(0,c.index)).trim(),s=unescape(n.substring(c.index+1,n.length)).trim();o!==void 0&&s!=null&&s!==`null`&&(o=w(o),t[o]=s)}catch(e){console.warn(e)}i=r.index+1}return t},JC=(e,t)=>{let n=[];if(!e)return n;let r=e.children;for(let e=0;e<r.length;e++){let i=r.item(e);if(i.nodeType===1){let e=i.tagName.toUpperCase();t.includes(e)&&n.push(i)}}return n};function YC(e,t,n){try{let r=null,i=null,a=e=>((e,t)=>{if(!e)return{};let n={},r=t.get(e.localName);r&&(n=Object.assign(n,r));let i=e.getAttribute(`class`);if(i){let e=t.get(`.`+i);e&&(n=Object.assign(n,e))}let a=e.getAttribute(`style`);if(a){let e=qC(a);e&&(n=Object.assign(n,e))}return e.getAttribute(`align`)&&!n.textAlign&&(n.textAlign=e.getAttribute(`align`)),n})(e,i);if(e)try{r=[];let o=`P, H1, H2, H3, H4, H5, H6, PRE`,s=e.querySelector(`parsererror`);if(s)return console.warn(`error`,s),!1;let c=e.querySelectorAll(`html`),l=c[c.length-1];i=(e=>{let t=e.querySelectorAll(`style`),n=new Map;if(t.length<=0)return n;for(let e=0;e<t.length;e++){let r=t[e].childNodes;for(let e=0;e<r.length;e++)if(r[e].nodeType===Node.TEXT_NODE){let t=RegExp(`<!--(.*)-->`,`gs`),i=r[e].textContent,a=t.exec(r[e].textContent);if(a&&a.length>1&&(i=a[1]),i=i.replace(/^\s/,``),i?.startsWith(`table`)){let e=RegExp(`{(.*?)}`,`gs`),t,r=0;for(;(t=e.exec(i))!==null;)try{let e=i.substring(r,t.index),a=qC(t[1]);n.set(e.trim(),a),r=t.index+t[0].length}catch(e){console.warn(e)}return n}}}return n})(l);let u=l.querySelectorAll(`body`),d=u[u.length-1],f=d.querySelectorAll(`table`)[0],p=!1;if(!f){let e=d.querySelectorAll(`span`);f=e[0],p=e.length>1}if(f||=JC(d,o)[0],f||=JC(e,o)[0],f?.nodeName.toUpperCase()===`TABLE`){n.onStart?.(i);let e=f;n.onTableStart?.(a,e);let t=JC(e,`COLGROUP`);for(let e=0;t&&e<t.length;e++){let r=JC(t[e],`COL`),i=0;for(let e=0;e<r.length;e++){let t=r[e],o=parseFloat(t.getAttribute(`span`)),s=isNaN(o)?1:o;n.onColumn?.(i,s,a,t),i+=s}}let o=e.rows,s=0;for(let e=0;e<o.length;e++){let t=o[e],i=parseFloat(t.getAttribute(`span`)),c=isNaN(i)?1:i;n.onRowStart?.(s,c,a,t);let l=[];r.push(l);let u=t.cells;for(let e=0;e<u.length;e++){let t=u[e],n=!1;for(let e=0;!n&&e<t.childNodes.length;e++)if(t.childNodes[e].nodeType===8){let r=t.childNodes[e].textContent;if(r!==`[if gte vml 1]`&&r!==`[if !vml]`&&r===`[endif]`){let r=t.childNodes[e+1];r?.querySelectorAll&&r.querySelectorAll(`table, td`).length===2&&(t=r?.querySelectorAll(`table, td`)[1],n=!0)}}l.push({htmlValue:t.textContent?.replace(/^"|"$/gi,``),element:t})}s+=c,n.onRowDow?.(s,c,a,t)}n.onTableDone?.(a,e)}else{if(f?.nodeName.toUpperCase()===`SPAN`){let e=t?t[0]?.[0]:null,r=p&&e?e:f.textContent.replace(/^"|"$/gi,``);return n.onStart?.(i),n.onCell({colStart:0,colEnd:0,rowStart:0,rowEnd:0},t?t[0]?.[0]:null,r,e=>{let t=a(e);return delete t.backgroundColor,t},f),n.onDone?.(),!0}if(f?.textContent){let e=f.textContent.replace(/^"|"$/gi,``);return n.onStart?.(i),n.onNoTable?.(e,a,f),n.onDone?.(),!0}}}catch(e){console.warn(e),r=null}!r||r.length!==0&&(r.length!==1||r[0]!==null&&r[0].length!==0)||(r=null);let o=t&&(t.length===0||t.length===1&&(t[0]===null||t[0].length===0));r&&o&&(t=null);let s=e=>{let n=new Set,i=1,o=1;for(let s=0;s<Math.max(t?t.length:0,r?r.length:0);s++){let c=0,l=0,u=r&&r[s]?r[s].length:t&&t[s]?t[s].length:0;for(;l<u;){let u=s+`-`+c;if(!n.has(u)){i=Math.max(i,c+1),o=Math.max(o,s+1);let u=null,d=r?r[s]?.[l]?.element:void 0;if(d&&(d.getAttribute(`rowspan`)||d.getAttribute(`colspan`))){let e=parseInt(d.getAttribute(`colspan`))||1,t=parseInt(d.getAttribute(`rowspan`))||1;i=Math.max(i,c+e),o=Math.max(o,s+t),u={rowStart:s,colStart:c,rowEnd:s+Math.max(0,t-1),colEnd:c+Math.max(0,e-1)};for(let r=s;r<s+t;r++)for(let t=c;t<c+e;t++)r===s&&t===c||n.add(r+`-`+t)}else u={rowStart:s,colStart:c,rowEnd:s,colEnd:c};e(u,t?t[s]?.[c]:void 0,r?r[s]?.[l]?.htmlValue:null,a,d||null),l++}c++}}};if(r&&t){let e=0,n=0;s(t=>{e=Math.max(e,t.colEnd+1),n=Math.max(n,t.rowEnd+1)}),t&&r&&(t.length!==n||t[0].length!==e)&&(console.warn(`mismatched mimeTypes`,t,r),t=null)}return s(n.onCell.bind(n)),n.onDone?.(),!o||r!==null}catch(e){throw console.warn(e),e}}var XC=(e,t)=>{var n;if(t){if(t.getType()===Y.Type.Solid)e.background=Jp(t.getColor())||`none`,e[`mso-pattern`]=`black none`;else if(t.getType()===Y.Type.Pattern){let r=t;e.background=Jp(r.getBackground())||`none`;let i=Jp(r.getForeground())||``;if(r.getPatternType()===Y.BuiltInSheetPattern.Solid)e[`mso-pattern`]=`${e.background} none`,e.background=i;else{let t=(n=r.getPatternType(),Vm.get(n)?.cssKey??`solid`);e[`mso-pattern`]=i+(t?` `:``)+t}}else if(t.getType()===Y.Type.Gradient){let n=t;e.background=Jp(n.getStops()?.[0]?.getColor())||`auto`,e[`mso-pattern`]=`${e.background} none`,e.msoGradient=Km(n)||`auto`}}},ZC=class{constructor(e,t){if(this._visitedStyles=new Map,this._lastStyleClassId=63,this._wroteTD=!1,!e)throw Error(`Can not create with a null sheet.`);this._sheet=e,this._includeSizeInCell=t?.includeSizeInCell??!1,this._textOptions=t?.showFormulas?$C:QC,this._normalStyle=e.getStyles().getNormal()}_createCSSStyle(e){let t=this._normalStyle,n={},r=(e,t)=>e===t||!(e&&!t)&&!(!e&&t)&&t.isEqual?.(e),i=e.getFont(),a=t.getFont();var s;r(i.getColor(),a.getColor())||(n.color=Jp(i.getColor())),r(i.getSize(),a.getSize())||(n[`font-size`]=Yp(i.getSize())),r(i.getWeight(),a.getWeight())||(n[`font-weight`]=i.getWeight()),r(i.getStyle(),a.getStyle())||(n[`font-style`]=i.getStyle()),r(i.getUnderline(),a.getUnderline())||(n[`text-decoration`]=`underline`,n[`text-underline-style`]=(s=i.getUnderline())===U.UnderlineStyle.Single?`single`:s===U.UnderlineStyle.Double?`double`:s===U.UnderlineStyle.SingleAccounting?`single-accounting`:s===U.UnderlineStyle.DoubleAccounting?`double-accounting`:`none`),r(i.getFamily(),a.getFamily())&&r(i.getFallbacks(),a.getFallbacks())||(n[`font-family`]=nm(i.getFamily(),i.getFallbacks())),r(e.getNumberFormat(),t.getNumberFormat())||(n[`mso-number-format`]=rm(e.getNumberFormat()));let c=e.getAlignment(),l=t.getAlignment();if(!r(c.getHorizontal(),l.getHorizontal())){let e=c.getHorizontal();e===o.HorizontalAlignment.CenterContinuous?n[`text-align`]=`center-across`:e===o.HorizontalAlignment.Fill?n[`text-align`]=`fill`:e===o.HorizontalAlignment.Distributed?n[`text-align`]=c.getJustifyLastLine()?`121`:`010`:n[`text-align`]=o.toCSSHorizontalTextAlign(e)}if(!r(c.getVertical(),l.getVertical())){let e=c.getVertical();e===o.VerticalAlignment.Distributed?n[`vertical-align`]=`121`:n[`vertical-align`]=em(e)}if(!r(c.getOverflow(),l.getOverflow())){let e=c.getOverflow();n[`white-space`]=tm(e),e===o.Overflow.Shrink&&(n[`mso-text-control`]=`shrinktofit`)}var u;r(c.getRotation(),l.getRotation())||(n[`mso-rotate`]=(u=c.getRotation(),(u%=360)<0&&(u+=360),u>180?u=360-u:u>1&&(u*=-1),u)),r(c.getIndent(),l.getIndent())||(n[`mso-char-indent-count`]=c.getIndent()),r(e.getFill(),t.getFill())||XC(n,e.getFill());let d=e.getBorder();return d.getTop().isNone()||(n[`border-top`]=Ym(d.getTop())),d.getLeft().isNone()||(n[`border-left`]=Ym(d.getLeft())),d.getRight().isNone()||(n[`border-right`]=Ym(d.getRight())),d.getBottom().isNone()||(n[`border-bottom`]=Ym(d.getBottom())),d.getDiagonalUp().isNone()||(n[`border-mso-diagonal-up`]=Ym(d.getDiagonalUp())),d.getDiagonalDown().isNone()||(n[`border-mso-diagonal-down`]=Ym(d.getDiagonalDown())),Object.keys(n).length===0?null:n}_createCSSNormalStyle(){let e=this._normalStyle,t={"padding-top":`1px`,"padding-left":`1px`,"padding-right":`1px`,"mso-ignore":`padding`},n=e.getFont(),r=e.getAlignment();return t.color=Jp(n.getColor()),XC(t,e.getFill()),t[`font-size`]=Yp(n.getSize()),t[`font-weight`]=n.getWeight(),t[`font-style`]=n.getStyle(),t[`text-decoration`]=Xp(n.getUnderline(),n.getStrike()),t[`font-family`]=nm(n.getFamily(),n.getFallbacks()),t[`mso-font-charset`]=`0`,t[`mso-background-source`]=`auto`,t[`mso-number-format`]=rm(e.getNumberFormat()),t[`text-align`]=o.toCSSHorizontalTextAlign(r.getHorizontal()),t[`vertical-align`]=em(r.getVertical()),t.border=`none`,t[`mso-pattern`]=`auto`,t[`white-space`]=tm(r.getOverflow()),r.getOverflow()===o.Overflow.Shrink&&(t[`mso-text-control`]=`shrinktofit`),t[`mso-rotate`]=`0`,r.getIndent()>0&&(t[`mso-char-indent-count`]=r.getIndent()),t[`mso-protection`]=`locked visible`,t}onCell(e,t,r){let i=e.getSpans();if(i.width>1||i.height>1){if(!e.isTopLeft())return!1;i.height>1&&r.addAttribute(`rowspan`,i.height),i.width>1&&r.addAttribute(`colspan`,i.width)}let a=this._textOptions,o=e.getText(a);!a.showFormulas&&e.getNumberFormat().errorPlaceholder&&(o=e.getNumberFormat().errorPlaceholder.repeat(5)),r.setPlainText(o||``);let s=e.getStyle(),c=s.getFont();if(c.getVerticalAlignment()===U.VerticalAlignment.Super&&(o=`<sup>${o}</sup>`),c.getVerticalAlignment()===U.VerticalAlignment.Sub&&(o=`<sub>${o}</sub>`),c.getStrike()&&(o=`<s>${o}</s>`),e.getHyperlink()&&(o=`<a href="${e.getHyperlink().getAddress()}">${o}</a>`),r.setHTMLText(o||` `),!this._wroteTD){let e=this._createCSSNormalStyle();r.addSharedStyle(`td`,e),this._wroteTD=!0}let l=this._visitedStyles.get(s);if(!l){let e=this._createCSSStyle(s);e&&(l=`xl`+ ++this._lastStyleClassId,this._visitedStyles.set(s,l),r.addSharedStyle(`.`+l,e))}if(l&&r.addAttribute(`class`,l),this._includeSizeInCell){let e=this._sheet.getColumnHeaders().at(t.colIndex).getSize();r.addAttribute(`width`,e),r.addStyle(`width`,n.CommonUtils.roundAccurately(e/U.getDeviceScale(),2)+`pt`);let i=this._sheet.getRowHeaders().at(t.rowIndex).getSize();r.addAttribute(`height`,i),r.addStyle(`height`,n.CommonUtils.roundAccurately(i/U.getDeviceScale(),2)+`pt`)}}onRow(e,t,r,i){let a=e.getSize();i.addAttribute(`height`,a),i.addStyle(`height`,n.CommonUtils.roundAccurately(a/U.getDeviceScale(),2)+`pt`),e.isCustomSize()&&i.addStyle(`mso-height-source`,`userset`)}onColumn(e,t,r,i){let a=e.getSize();i.addAttribute(`width`,a),i.addStyle(`width`,n.CommonUtils.roundAccurately(a/U.getDeviceScale(),2)+`pt`),e.isCustomSize()&&i.addStyle(`mso-width-source`,`userset`),r>1&&i.addAttribute(`colspan`,r)}},QC={useFormattingCategory:!0},$C={showFormulas:!0};function ew(e,t,r,i=!1){let a=t.rowEnd-t.rowStart+1,o=t.colEnd-t.colStart+1,s=i?o:a,c=i?a:o,l=Math.max(1,Math.ceil((r.rowEnd-r.rowStart+1)/s)),u=Math.max(1,Math.ceil((r.colEnd-r.colStart+1)/c)),d=(e,t,n,r,i)=>{if(t-e+1===r)return[[n+e,n+(i-1)*r+t]];let a=[];for(let o=0;o<i;o++)a.push([n+o*r+e,n+o*r+t]);return a},f=[];for(let a=0;a<e.length;a++){let o=e[a],p=o.rowStart-t.rowStart,m=o.rowEnd-t.rowStart,h=o.colStart-t.colStart,g=o.colEnd-t.colStart,_=i?p:h,v=i?m:g,y=d(i?h:p,i?g:m,r.rowStart,s,l),b=d(_,v,r.colStart,c,u);for(let e=0;e<y.length;e++)for(let t=0;t<b.length;t++){let i={rowStart:y[e][0],rowEnd:y[e][1],colStart:b[t][0],colEnd:b[t][1]},a=n.CoordUtils.intersectRanges(i,r);a&&f.push(a)}}return Sy(n.CoordUtils.EmptyRanges,f)}function tw(e,r,i){let a=e.getAxis()===t.IRange.Axis.Column,o=a?(0,n.messageKey)(`copy.columnCopy`):(0,n.messageKey)(`copy.rowCopy`),s=e.getSnapshot(i);return{...s,getName:()=>(0,n.t)(o),getCoords:()=>r,copyTo:async(e,t)=>{let n=a?e.getColumnHeaders():e.getRowHeaders(),o={...i,...t};if(!0===o.includeHeaders){let e=await s.copyTo(n,o);return a?{colStart:e.min,rowStart:r.rowStart,colEnd:e.max,rowEnd:r.rowEnd}:{colStart:r.colStart,rowStart:e.min,colEnd:r.colEnd,rowEnd:e.max}}},getMarkOptions:()=>i}}function nw(e,t,r,i,a,o){let s=r[0],c=e.getView()?.isShowFormulas()??!1,l,u,d=()=>{if(u!==void 0)return;let[e,r]=function(e,t){let r=t.getRowHeaders(),i=t.getColumnHeaders(),a=t.getUsedRange()?.getCoords(),o=r.getUsedRange()?.getCoords(),s=i.getUsedRange()?.getCoords(),c={...n.CoordUtils.EmptyRange,...a,colEnd:Math.max(a?.colEnd??0,s?.max??0),rowEnd:Math.max(a?.rowEnd??0,o?.max??0)},l=new Map,u=[];e.onStart?.();let d={rows:[],cols:[]},f=new GC(l,u);f.setNode(d),e.onTable?.(f,c);let p=0;i.forEachSpan((t,n)=>{let r=n.getCoords();p=p+r.max-r.min+1;let i={};f.setNode(i),e.onColumn?.(n.getCellHeader(),r.min,r.max-r.min+1,f),d.cols.push(i)},{address:c,includeEmpty:!0,includeStyles:!0});let m=0,h=[];if(r.forEachSpan((e,t)=>{let n=t.getCoords();m=m+n.max-n.min+1,h.push({min:n.min,max:n.max,value:t.getCellHeader()})},{address:c,includeEmpty:!0,includeStyles:!0,visibility:`all`}),p*m>5e4)return[null,`The data you've selected is too large. Try selecting a smaller set of data.`];let g=0,_=-1,v=null;t.forEach((t,n)=>{let r=n.getCoords(),i=n.getCell();if(r.rowIndex!==_){r.rowIndex>h[g].max&&++g;let t=h[g];v={cells:[]},f.setNode(v),e.onRow?.(t.value,r.rowIndex,1,f),d.rows.push(v),_=r.rowIndex}let a={};f.setNode(a),!1!==e.onCell(i,r,f)&&v.cells.push(a)},{address:c,includeEmpty:!0,ignoreHidden:!1}),e.onDone?.(),d.rows.length===0&&d.rows.push({cells:[]});let y=[];for(let e=0;e<u.length;e++){let t=u[e],n=l.get(t);y.push(t);let r=``,i=Object.keys(n);for(let e=0;e<i.length;e++){r+=` `,e===0&&(r+=`{`);let t=i[e];r+=`${t}:${n[t]};`,e===i.length-1?r+=`}`:r+=`
|
|
5
|
+
`}y.push(r)}let b=[`<div clipboard-uuid=xxx>
|
|
6
|
+
<html
|
|
7
|
+
xmlns:v="urn:schemas-microsoft-com:vml"
|
|
8
|
+
xmlns:o="urn:schemas-microsoft-com:office:office"
|
|
9
|
+
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
|
10
|
+
xmlns="http://www.w3.org/TR/REC-html40"
|
|
11
|
+
>`];b.push(`<head>
|
|
12
|
+
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
|
|
13
|
+
<meta name=ProgId content=Excel.Sheet>
|
|
14
|
+
<meta name=Generator content="Microsoft Excel 15">`),b.push(`<style>
|
|
15
|
+
table
|
|
16
|
+
{mso-displayed-decimal-separator:"\\.";
|
|
17
|
+
mso-displayed-thousand-separator:"\\,";}
|
|
18
|
+
@page
|
|
19
|
+
{margin:.75in .25in .75in .25in;
|
|
20
|
+
mso-header-margin:.3in;
|
|
21
|
+
mso-footer-margin:.3in;
|
|
22
|
+
mso-horizontal-page-align:center;}
|
|
23
|
+
tr
|
|
24
|
+
{mso-height-source:auto;}
|
|
25
|
+
col
|
|
26
|
+
{mso-width-source:auto;}
|
|
27
|
+
br
|
|
28
|
+
{mso-data-placement:same-cell;}`),y.length>0&&b.push(y.join(`
|
|
29
|
+
`)),b.push(`</style>`),b.push(`</head>`),b.push(`<body>`),b.push(`<table>`),b.push(`<!--StartFragment-->`);let x=e=>{let t=(e=>{let t=``;return e&&e.attributes&&e.attributes.length!==0&&e.attributes.forEach((e,n)=>{t.length>0&&(t+=` `),t+=`${n}=${e}`}),t})(e);t.length>0&&(t=` `+t);let n=(e=>{let t=``;return e&&e.styles&&e.styles.length!==0?(e.styles.forEach((e,n)=>{t.length>0&&(t+=`;`),t+=n+`:`+e}),t.length>0&&(t=`style='${t}'`),t):t})(e);return n.length>0&&(n=` `+n),`${t}${n}`},S=[];return d.cols?.forEach(e=>{b.push(` <col${x(e)}>`)}),d.rows.forEach(e=>{b.push(` <tr${x(e)}>`);let t=[];e.cells.forEach(e=>{b.push(` <td${x(e)}>${e.htmlText??e.plainText??``}</td>`);let r=`${n.CommonUtils.castToString(e.plainText??``)?.replace(/"/g,`""`)}`;t.push(r)}),S.push(t.join(` `)),b.push(` </tr>`)}),b.push(`<!--EndFragment-->`),b.push(`</table>`),b.push(`</body>`),b.push(`</html>`),b.push(`</div>`),[b.join(`
|
|
30
|
+
`),S.join(`
|
|
31
|
+
`).concat(`
|
|
32
|
+
`)]}(new ZC(t,{showFormulas:c}),t.getRange(s));l=e??null,u=r??null},f=!1;return{copyTo(e,t){let r={...a,...t};if(t?.isCut&&f)throw f=!0,Error((0,n.t)(`error.sheet.snapshotDone`));return o(e,r)},getMarkOptions:()=>a,getSource:()=>e,getName:()=>(0,n.t)(i),getCoords:()=>s,toText:()=>(d(),u),toHtml:()=>(d(),l),toImage:()=>null,isISnapshot:!0}}var rw=class e{constructor(e,t,n,r,i){this._getColumnAt=void 0,this._index=e,this._sheetHeader=t,this._headerState=n,this._template=r,this._getColumnAt=i}getSize(){let e=this._headerState?.sz;return Math.round(e===void 0?this._sheetHeader.getDefaultSize():e*this._sheetHeader.getScaleFactor())}getText(){return``+this.asCell().getValue()}getAxis(){return this._sheetHeader.getAxis()}isHidden(){return this._headerState?.h??!1}isCustomSize(){return this._headerState?.cs??!1}getSheetHeader(){return this._sheetHeader}getColumn(){return this._getColumnAt?.(this._index)??null}asCell(){return this._cellTemplate||=this._sheetHeader.getSheet().createCell(this._template),this._cellTemplate}getSizeRelative(){return this.getSize()/this._sheetHeader.getScaleFactor()}createCellHeader(t){let n=iw(this._sheetHeader,this._sheetHeader.getSheet().getStyles(),this._headerState,t);return new e(this._index,this._sheetHeader,n,this._template,this._getColumnAt)}isEqual(e){if(!e)return!1;if(e===this)return!0;let t=e;if(!t.isICellHeader)return!1;let n=this._headerState,r=t._headerState;return n===r||!(n&&!r||r&&!n)&&this.getSize()===t.getSize()&&this.isCustomSize()===t.isCustomSize()&&this.isHidden()===t.isHidden()}isEmpty(){let e=this._headerState;return!e||e.sz===void 0&&e.csz===void 0&&!e.cs&&e.h===void 0}get[Symbol.toStringTag](){return`[SheetCellHeader]`}toString(){return`[SheetCellHeader: ${this.getText()}]`}get isICellHeader(){return!0}};function iw(e,t,r,i){if(i!==void 0){if(i===null)return null;if(i?.isICellHeader)return{...i._headerState};if(i){let a=i,o,s=a.hidden;r&&(o={...r});let c,l=a.size;if(a.size!==void 0){if(typeof l==`function`){let t=r?.sz===void 0?e.getDefaultSize():r?.sz*e.getScaleFactor();l=l?.(t)}if(typeof l==`string`&&(l=Bm(l,t.getNormal().getFont().getSize(),`px`)),typeof l==`number`){let t=e.getMinSize(),r=e.getMaxSize();l=Math.max(t,Math.min(n.CommonUtils.roundAccurately(l),r)),!0!==a.relativeSize&&(l/=e.getScaleFactor()),isNaN(l)&&(console.warn(`Invalidate size: '${l}'`),l=void 0),l===0&&(s=!0,l=void 0),c=!a.autoSize}l===null&&(c=!a.autoSize)}return l!==void 0&&r?.sz!==l&&(o||={},l===null?delete o.sz:o&&(o.sz=l)),s===void 0&&a.autoSize&&(s=!1),s!==void 0&&r?.h!==s&&(s?(o||={},o.h=s):o&&delete o.h),c!==void 0&&r?.csz!==c&&(c?(o||={},o.csz=c):o&&delete o.csz),o?Object.keys(o).length===0?null:o:null}}}function aw(e,t){return Math.round(e*t)}function ow(e,t,n,r){if(e==null)return null;let i,a,o={};if(typeof e==`number`)o.colStart=e,o.colEnd=e,o.rowStart=e,o.rowEnd=e;else if(typeof e==`string`){if(t){if(e.match(/[0-9]+/))throw Error(`Invalid range address for header axis`)}else if(e.match(/[a-zA-Z]+/))throw Error(`Invalid range address for header axis`);let r=eu(e,n);if(!r){let t=Ql(e.toUpperCase(),!0);t?.colIndex!==void 0&&(o.colStart=t.colIndex,o.colEnd=t.colIndex),t?.rowIndex!==void 0&&(o.rowStart=t.rowIndex,o.rowEnd=t.rowIndex)}o={...o,...r}}return t?(i=e.min??e.colStart??o.colStart,a=e.max??e.colEnd??o.colEnd):(i=e.min??e.rowStart??o.rowStart,a=e.max??e.rowEnd??o.rowEnd),i===void 0||a===void 0?null:{min:i,max:a}}var sw=()=>{},cw=()=>0,lw=()=>!1,uw=class{constructor(e,t){this._header=e,this._coords=t}_forEachSpan(e,t,n){let r=this._header,i=this._coords,a=r._options;n||=a.createCellHeader;let o=i;if(t?.address){let e=r._parseHeaderRangeAddress(t?.address);if(e&&(o=Xr(i,e),!o))return}let s=r._scanHeaders(e,this._header._getState(),n,a,o,t);if(s&&s.break)return s.break}forEachSpan(e,t){return this._forEachSpan(e,t)}forEach(e,t){let n,r=2**53-1,i=null,a={getIndex:()=>r,getCellHeader:()=>i.getCellHeader(),getAddress:(e,t)=>i.getAddress(e,t),getCoords:()=>i.getCoords()};return this._forEachSpan((t,o)=>{i=o;let s=this._coords,c=s.max;for(let i=s.min;i<c;i++)r=i,n=i-s.min,e(t,a)},t,()=>this.at(n))}updateHeaders(e,t){let r=this._header;return r.updateHeaderPairs([{address:this._coords,update:e}],{description:t?.description??(r._isColumn?(0,n.t)(`op.updateColumnsRange`,{range:toString()}):(0,n.t)(`op.updateRowsRange`,{range:toString()})),...t}),this}getCoords(){return{...this._coords}}getUsedRange(e){let t=this._header,n=t._headerRunCoords;return!n||n.min<0||n.max>t._maxDataIndex?null:Xr(n,this._coords)?t.getRange(n,e):null}getCount(){let e=this._coords;return e.max-e.min+1}getHeaderCount(){let e=this._coords;return e.max-e.min+1}getVisibleCount(){let e=this._coords;return this._header.getVisibleCount(e.min,e.max)}isEntireHeaders(){let e=this._header._entireRunCoords,t=this._coords;return!(t.min>e.min||t.max<e.max)}getSnapshot(e){return this._header._getSnapshot(this._coords,e)}setSize(e,t){return this._header._setSize(this._coords,e,t),this}setHidden(e,t){return this._header._setHidden(this._coords,e,t),this}clear(){return this._header._clear(this._coords),this}at(e){return this._header.at(this._coords.min+e)}getAxis(){return this._header.getAxis()}doBatch(e,t){return this._header.doBatch(t=>e(t),t)}getSheetHeader(){return this._header}getAddress(e){let t=this._coords,n=this._header;return Xl(n._isColumn?{colStart:t.min,colEnd:t.max}:{rowStart:t.min,rowEnd:t.max},n._entireRangeCoords)??`#REF!`}get[Symbol.toStringTag](){return`[SheetCellHeaderRange]`}toString(){return this.getAddress()}get isICellHeaderRange(){return!0}},dw=class{constructor(e,t){this._header=e,this._coords=t}updateHeaders(e,t){let r=this._header;return r.updateHeaderPairs([{address:this._coords,update:e}],{description:t?.description??(r._isColumn?(0,n.t)(`op.updateColumnsRange`,{range:toString()}):(0,n.t)(`op.updateRowsRange`,{range:toString()})),...t}),this}getCoords(){return[...this._coords]}setHidden(e,t){return this._header._setHidden(this._coords,e,t),this}setSize(e,t){return this._header._setSize(this._coords,e,t),this}getCount(){return this._coords.length}getHeaderCount(){let e=ti(this._coords,!0),t=0,n=e.length;for(let r=0;r<n;r++){let n=e[r];t+=n.max-n.min+1}return t}getVisibleCount(){let e=ti(this._coords,!0),t=0,n=this._header,r=e.length;for(let i=0;i<r;i++){let r=e[i];t+=n.getVisibleCount(r.min,r.max)}return t}isEntireHeaders(){let e=this._header._entireRunCoords,t=this._coords,n=e.min,r=e.max,i=t.length;for(let e=0;e<i;e++){let i=t[e];if(n<i.min||r>i.max)return!1}return!0}isEntireHeadersAny(){let e=this._header._entireRunCoords,t=this._coords,n=e.min,r=e.max,i=t.length;for(let e=0;e<i;e++){let i=t[e];if(i.min<=n&&i.max>=r)return!0}return!1}clear(){return this._header._clear(this._coords),this}at(e){let t=this._coords;return e<0||e>=t.length?null:this._header.getRange(t[e])}getAxis(){return this._header.getAxis()}doBatch(e,t){return this._header.doBatch(t=>e(t),t)}getSheetHeader(){return this._header}getAddress(e){let t=this._coords,n=this._header;return function(e,t,n=Xl){if(!e)return Il;let r=e.length,i=Array(r);for(let a=0;a<r;a++)i[a]=n(e[a],t);return i.join(`,`)}(ei(t,n._entireRangeCoords,n._isColumn),n._entireRangeCoords)??`#REF!`}get[Symbol.toStringTag](){return`[SheetCellHeaderRanges]`}toString(){return this.getAddress()}get isICellHeaderRanges(){return!0}},fw=class{constructor(e){if(this._closed=!1,this._scaleFactor=1,this._defaultSize=-1,this._defaultCustomSize=-1,this._defaultPxSize=1,this._isColumn=!0,this._indexedSizes=[],this._indexedHidden=[],this._headerRunCoords=null,this._hasHidden=!1,this._hiddenSignature=0,this._lastHeaderRead=null,this._readCache=null,this._lastHeaders=null,this._lastVisibleRunsRead=null,this._lastVisibleRunCoords=null,this._selectionRuns=null,this._options={isProtected:()=>!1,scaleFactor:()=>1,defaultSize:()=>100,minSize:()=>0,maxSize:()=>500,getEntireSheetCoords:()=>null,axis:t.IRange.Axis.Column,createCellHeader:(t,n,r,i)=>new rw(t,n,r,i,e?.getColumnAt??pw),...e},!this._options.sheet)throw Error(`An ISheet must be provided`);this._emptyHeader=this._options.createCellHeader(0,this,null,null);let n=this._options.axis===t.IRange.Axis.Column;this._isColumn=n;let r=this;this._options.setContainerShiftedCallback&&this._options.setContainerShiftedCallback((e,t)=>{t<0?r._deleteHeaders(e,-t):r._insertHeaders(e,t)}),this._options.sheet&&(this._sheetRemoveListener=this._options.sheet.addListeners({onProtectionChange(){},onSelectionChange(e){r._selection=e.getSelection().getCoords(),r._selectionRuns=null},onStyleChange:()=>{},onViewChange(){let e=r._headers;r._invalidSizes(),r._invalidateMaxIndex(),r._emitter.notify(`onSizesChange`,{params:e})}},{transactional:!1}),r._selection=r._options.sheet.getSelection().getCoords()),this._transactions=this._options.transactions??new m({transient:!0}),this._id=this._transactions.create(),this._emitter=new v(r,this._transactions),this._transactionsRemoveListener=this._transactions.addStateListener(this._id,{onAfterStateChange(e){r._lastHeaders!==e.headers&&r._onHeaderChange(!0)},async onRestoreOrRevert(e){r._onHeaderChange(!0)}}),this.fromJSON(this._options?.json)}addListeners(e,t){return this._emitter.addListeners(e,t)}_invalidateMaxIndex(){let e=this._options.getEntireSheetCoords()??{colStart:0,rowStart:0,colEnd:2**53-1,rowEnd:2**53-1};this._entireSheetCoords=e;let t=this._isColumn,n=t?e.colEnd:e.rowEnd;this._entireRunMax=n,this._entireRunCoords={min:0,max:n},this._entireHeaderRange=this.getRange(this._entireRunCoords),this._entireRangeCoords={colStart:0,rowStart:0,colEnd:t?n:0,rowEnd:t?0:n}}_invalidSizes(e=!1){let t=this._defaultCustomSize===-1?this._options.defaultSize():this._defaultCustomSize;if(t<0)throw Error(`defaultSize must be greater than 0`);let n=this._options.scaleFactor();if(e||t!==this._defaultSize||n!==this._scaleFactor){this._defaultSize=t,this._scaleFactor=n,this._defaultPxSize=aw(t,n);let e=function(e,t,n){let r=[],i=[],a=[];if(!e||e.length===0)return{sizes:r,hidden:i};if(!t||!n)return console.warn(`_HeaderUtils:default size and scaleFactor should be available`),{sizes:r,hidden:i};let o=0,s=0,c=0,l=null,u=-2,d=null,f=-2,p=e.length;for(let m=0;m<p;m++){let p=e[m],h=p.min,g=p.max;if(o=r.length===0?0:r[r.length-1].runningOffsetMax,r.length>0&&r[r.length-1].spanSize>0&&o++,s<p.min){r.push({min:s,max:h-1,runningOffsetMin:o,runningOffsetMax:Math.round(o+(h-s)*t*n)-1,runningHiddenRuns:c,spanSize:Math.round(t*n)});let e=s,i=h-1;f+1===e?d.max=i:(d={min:e,max:i,value:!0},a.push(d)),f=i}let _=r.length,v=r[_-1];o=_===0?0:v.runningOffsetMax,_>0&&v.spanSize>0&&o++;let y=p.value,b=y.h?0:aw(y.sz??t,n),x=b===0?0:-1;b===0?(c+=g-h+1,u+1===h?l.max=g:(l={min:h,max:g,value:!0},i.push(l)),u=g):(f+1===h?d.max=g:(d={min:h,max:g,value:!0},a.push(d)),f=g),_>0&&v.spanSize===b&&v.max+1===h?(v.max=g,v.runningHiddenRuns=c,v.runningOffsetMax=v.runningOffsetMin+(g+1-v.min)*b+x):r.push({min:h,max:g,runningOffsetMin:o,runningOffsetMax:Math.round(o+(g+1-h)*b)+x,runningHiddenRuns:c,spanSize:b}),s=g+1}return{sizes:r,hidden:i}}(this._headers,t,n);this._indexedSizes=e.sizes,this._indexedHidden=e.hidden,this._lastVisibleRunsRead=null,this._lastVisibleRunCoords=null}}invalidate(){this._invalidSizes(!0),this._invalidateMaxIndex(),this._selection=this._options.sheet.getSelection()?.getCoords()}_onHeaderChange(e){this._lastHeaders=null;let t=this._headers,n=this._getState();this._defaultCustomSize=n.defaultCustomSize,this._invalidSizes(!0);let r=this._defaultCustomSize===-1?this._options.defaultSize():this._defaultCustomSize;this._lastHeaderRead=null,this._readCache=Zr(this._lastHeaders);let i=this._options.sheet.getStyles().getNormal(),a=!1,o=0,s=-1,c=t.length,l=this._entireRunMax;for(let e=c-1;e>=0;e--){let n=t[e],c=n.value,l=c.s,u=c.csz||c.sz!==r;s!==-1||!u&&l===i||(s=n.max),(c.h||c.sz===0)&&(a=!0,o=Math.imul(o,31)+n.min|0,o=Math.imul(o,31)+n.max|0)}s=Math.min(s??0,l);let u=Math.min(t[0]?.min??s,s);this._headerRunCoords=Object.freeze({min:u,max:s}),this._hasHidden=a;let d=this._hiddenSignature!==o;this._hiddenSignature=o,e&&this._emitter.notify(`onSizesChange`),d&&this._emitter.notify(`onHiddenChange`)}getSheet(){return this._options.sheet}getAxis(){return this._isColumn?t.IRange.Axis.Column:t.IRange.Axis.Row}getTextAt(e){return this._options.getTextAt?.(e)??e+``}_scanHeaders(e,t,r,i,a,o){let s=a?.min??null,c=a?.max??null,l=o?.includeEmpty??!1,u=o?.includeStyles??!1,d=o?.visibility??`all`,f=o?.includeSizes??!1,p=this,m=this._options.sheet.getStyles().getNormal(),h=this._defaultSize,g=this._scaleFactor,_=t.headers,v=this._emptyHeader,y=null,b={getCoords(){if(!y)throw Error((0,n.t)(`error.sheet.iteratorClosed`));return{min:y.min,max:y.max}},getIndex:()=>y.min,getCellHeader(){if(!y)throw Error((0,n.t)(`error.sheet.iteratorClosed`));return y.value?r(s,p,y.value):v},getAddress(e,t=!1){if(!y)throw Error((0,n.t)(`error.sheet.iteratorClosed`));let r=e===void 0?y.min:Math.max(y.min,e),i=e===void 0?y.max:Math.min(y.max,e),a=p._parseHeaderRangeAddress({min:r,max:i}),o=p._entireRangeCoords,s=p._isColumn;return Xl({colStart:s?a.min:o.colStart,rowStart:s?o.rowStart:a.min,colEnd:s?a.max:o.colEnd,rowEnd:s?o.rowEnd:a.max},o,void 0,!0)??`#REF!`}},x=t=>{let n=t.value;if(!l&&!n)return;let r=l;if(f&&!r&&n&&(n.csz||n.sz!==h)&&(r=!0),u&&!r&&n&&(n.s&&n.s!==m||n.cs)&&(r=!0),n&&!0===n.h?r=d!==`visible`:d===`hidden`&&(r=!1),!r)return;let i=h;t.value&&(i=t.value.h?0:t.value?.sz??h),i*=g,y=t;let a=e(i,b);return a&&a.break?a:void 0},S;return S=d===`visible`?$r(this._indexedHidden,e=>{if(!0===e.value)return;let t=s===null?e.min:Math.max(e.min,s),n=c===null?e.max:Math.min(e.max,c),r=$r(_,x,t,n);return r&&r.break?r:void 0},s,c):$r(_,x,s,c),y=null,S}getRange(e,t){if(!e)throw Error((0,n.t)(`error.address.noAddress`));let r=this._parseHeaderRangeAddress(e);return r.min<0||r.max>this._entireRunMax?function(e){return Object.freeze({getCoords:()=>null,getAxis:()=>e.getAxis(),toString:()=>Il,getAddress:()=>Il,getCount:cw,getHeaderCount:cw,getVisibleCount:cw,isEntireHeaders:lw,forEach:sw,forEachSpan:sw,getUsedRange:Z,getSnapshot:Z,updateHeaders:Z,clear:Z,setHidden:Z,setSize:Z,at:Z,doBatch:Z,getSheetHeader:()=>e,isICellHeaderRange:!0})}(this):new uw(this,r)}getRanges(e,t){if(!e)throw Error((0,n.t)(`error.address.noAddress`));let r=function(e,t,n){if(typeof e==`string`){let r=ou(e,n),i=r?r.length:0,a=Array(i);for(let e=0;e<i;e++){let n=r[e];a[e]={min:t?n.colStart:n.rowStart,max:t?n.colEnd:n.rowEnd}}return e=a,a}Array.isArray(e)||(e=[e]);let r=e.length,i=Array(r);for(let a=0;a<r;a++)i[a]=ow(e[a],t,n);return i}(e,this._isColumn,this._entireRangeCoords);return new dw(this,r)}getSelectedRange(e){let t=this._options.sheet.getSelection().getRange().getCoords();return this.getRange(t,e)}getSelectedRanges(e){let t=this._options.sheet.getSelection().getRanges().getCoords();return this.getRanges(t,e)}getUsedRange(e){return this.getRange(this._headerRunCoords,e)}getEntireRange(e){return e?this.getRange(this._entireRangeCoords,e):this._entireHeaderRange}at(e){if(e<0||e>this._entireRunMax)return this._emptyHeader;if(this._lastHeaderRead?.offset===e)return this._lastHeaderRead.header;let t=Qr(e,this._readCache),n=this._options.getTextAt?.(e)??e+``,r=this._options.createCellHeader(e,this,t,{value:n});return this._lastHeaderRead={offset:e,header:r},r}updateHeaderPairs(e,t){if(this.isProtected())throw Error(this._isColumn?(0,n.t)(`error.sheetHeader.protectedColumns`):(0,n.t)(`error.sheetHeader.protectedRows`));return this._updatePairsInternal(e,t)}_parseHeaderRangeAddress(e,t){if(e==null)throw Error((0,n.t)(`error.address.noRange`));let r=ow(e,this._isColumn,this._entireRangeCoords);if(!r)throw Error((0,n.t)(`error.address.invalidRangeHeader`));return r}_update(e,t,n){if(!e||(Array.isArray(e)||(e=[e]),e.length===0))return;let r=[],i=e.length;for(let n=0;n<i;n++){let i=this._parseHeaderRangeAddress(e[n]);this.getRange(i).forEachSpan((e,n)=>{let i=n.getCoords();r.push({address:i,update:t})},{includeEmpty:!0})}return this.updateHeaderPairs(r,n),this}_setSize(e,t=null,r){(r?.relativeSize??!1)||typeof t!=`number`||(t+=`px`);let i={size:t,autoSize:r?.autoSize??!1},a=this._isColumn?(0,n.messageKey)(`op.resizeColumns`):(0,n.messageKey)(`op.resizeRows`);return this._update(e,i,{description:a,...r}),this}_setHidden(e,t=null,r){let i={hidden:t},a=this._isColumn?t?(0,n.messageKey)(`op.unhideColumns`):(0,n.messageKey)(`op.hideColumns`):t?(0,n.messageKey)(`op.unhideRows`):(0,n.messageKey)(`op.hideRows`);return this._update(e,i,{description:a,...r}),this}_clear(e,t){let r=this._isColumn?(0,n.messageKey)(`op.clearColumnHeaders`):(0,n.messageKey)(`op.clearRowHeaders`);this.updateHeaderPairs([{address:e,update:null}],{description:r,...t})}_getSnapshot(e,t){if(e.min<0)return n.CommonUtils.EmptyArray;t=Object.freeze({...t});let r=this,i=this._getState(),a=this._isColumn?(0,n.messageKey)(`copy.columnHeaders`):(0,n.messageKey)(`copy.rowHeaders`);return{copyTo(o,s){let c={...t,...s},l=o.getCoords(),u=l.min-e.min,d=[];if(r._scanHeaders((e,t)=>{let n=t.getCoords();d.push({address:{min:n.min+u,max:n.max+u},update:t.getCellHeader()})},i,r._options.createCellHeader,null,e,{includeSizes:!0,includeStyles:!0}),!c.fitDestination){let t=e.max-e.min+1,r=l.max-l.min+1,i=n.CommonUtils.roundAccurately(r/t);if(i>1&&r%t===0){let e=d.length;for(let n=0;n<i;n++)for(let r=0;r<e;r++){let e=d[r],i=e.address,a=(n+1)*t;d.push({address:{min:i.min+a,max:i.max+a},update:e.update})}}}if(o.doBatch(()=>{o.clear(),o.getSheetHeader()._updatePairsInternal(d)},a),c.isCut){let t=r._entireRunCoords;e.min<=t.min&&e.max>=t.max&&r._clear(e)}return l},getCoords:()=>e,toText:()=>null,toHtml:()=>null,toImage:()=>null,getSource:()=>r,getName:()=>a,isISnapshot:!0}}isProtected(){return this._options?.isProtected()??!1}getScaleFactor(){return this._options.scaleFactor()??1}get _headers(){return this._lastHeaders===null&&(this._lastHeaders=this._getState()?.headers),this._lastHeaders}_updatePairsInternal(e,t){if(!e||e.length===0)return null;let r=t?.skipCustomSize??!1,i=this._isColumn,a=this.getSheet().getStyles(),o=this._beginCommit({description:t?.description??(i?(0,n.messageKey)(`op.updateColumns`):(0,n.messageKey)(`op.updateRows`))}),s=[...this._getState().headers],c=!1,l=this,u=this._defaultCustomSize===-1?this._options.defaultSize():this._defaultCustomSize,d=(e,t)=>{if(this.isProtected())throw Error(this._isColumn?(0,n.t)(`error.sheetHeader.protectedColumns`):(0,n.t)(`error.sheetHeader.protectedRows`));s=Kr(Gr(s,{min:e.min,max:e.max,value:t},{onUpdate:(e,t)=>{if(r&&(e?.csz||e?.h))return e;let n=iw(l,a,e,t);return n===void 0?e:n?e?(c||=n.sz!==e.sz,c||=n.h!==e.h,n):(c=!0,n):(e&&(c=!0),n)},onSplit:e=>[e.value,e.value],onMerge:(e,t,n,r)=>{if(!(e&&!t||!e&&t||!e&&!t)&&e.sz===t.sz&&e.csz===t.csz&&e.h===t.h&&e.cs===t.cs)return e},isCull:(e,t,n)=>e===void 0}))},f=this._entireRunMax,p=e.length,m=Array(p);for(let t=0;t<p;t++){let r=e[t],i=this._parseHeaderRangeAddress(r.address);if(i.min<0||i.max>f)throw new n.OutOfBoundsError((0,n.t)(`error.sheet.oobRange`));d(i,r.update),m[t]=i}let h=!1,g=s.length;if(g>0&&s[0].min===0&&s[g-1].max===f){let e=s[0],t=!1,n=-1;for(let r=0;!t&&r<g;r++){let i=s[r],a=i.min;if(n+1!==a){t=!0;continue}let o=i.max;n=o,e.max-e.min<o-a&&(e=i)}t||(this._defaultCustomSize=e.value?.sz??-1,h=!0);let r=[];for(let e=0;e<g;e++){let t=s[e],n=t.value;if(n===null)continue;let i=Object.keys(n).length;if(i===0)continue;let a=n.sz;(i!==1||a===void 0||a!==null&&a!==u)&&r.push(t)}s=r,g=s.length}let _=[];for(let e=0;e<g;e++){let t=s[e],n=t.value;if(n===null)continue;let r=!1;n.sz!==void 0&&n.sz!==u&&(r=!0),n.csz!==void 0&&(r=!0),n.h!==void 0&&(r=!0),n.l!==void 0&&(r=!0),r&&_.push(t)}return h&&l._invalidSizes(!0),this._updateState({headers:_,defaultCustomSize:this._defaultCustomSize},c),o.commit(),m}hasHidden(){return this._hasHidden}getDefaultSize(){return this._defaultPxSize}getDefaultSizeNative(){return this._defaultSize}getMaxSize(){return Math.ceil(this._options.maxSize()*this._options.scaleFactor())}getMinSize(){return Math.floor(this._options.minSize()*this._options.scaleFactor())}getOffset(e){return function(e,t,r){if(t<=0)return 0;let i=e?e.length:0;if(i===0)return t*r;let a=e[i-1];if(t>a.max)return a.runningOffsetMax+Math.round((t-a.max-1)*r+(a.spanSize===0?0:1));let o=e[i===1?0:n.CommonUtils.findEqualOrGreater(e,t,e=>e.max)],s=t-o.min;return o.runningOffsetMin+s*o.spanSize}(this._indexedSizes,e,this._defaultPxSize)}getIndex(e){return Math.min(Math.max(0,function(e,t,r){let i=e?e.length:0;if(i===0)return Math.floor(t/r);let a=e[i-1];if(t>a.runningOffsetMax)return a.max+Math.ceil((t-a.runningOffsetMax)/r);let o=e[i===1?0:n.CommonUtils.findEqualOrGreater(e,t,e=>e.runningOffsetMax)];if(o.spanSize===0)return Math.max(0,o.min-1);let s=t-o.runningOffsetMin;return o.min+Math.floor(s/o.spanSize)}(this._indexedSizes,e,this._defaultPxSize)),this._entireRunMax)}getVisibleIndex(e){return this._lastVisibleRunsRead===e||(this._lastVisibleRunCoords=function(e,t,r=2**53-1){let i=e?e.length:0;if(i===0)return{min:t,max:t};let a=i-1,o=e[a];if(t>o.max){let e=t-o.runningHiddenRuns;return{min:e,max:e}}a=i===1?0:n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),o=e[a];let s=o.spanSize===0?Math.max(-1,o.min-1-(e[a-1]?.runningHiddenRuns??1)):t-o.runningHiddenRuns;return{min:s,max:s+Math.min(r+1,+(o.spanSize===0))}}(this._indexedSizes,e,this._entireRunMax),this._lastVisibleRunsRead=e),this._lastVisibleRunCoords}getSpanSize(e,t=e+1){return this.getOffset(t)-this.getOffset(e)}getVisibleCount(e,t){if(e>t)throw Error((0,n.t)(`error.address.invalidArguments`));if(e<0||t>this._entireRunMax)throw new n.OutOfBoundsError;return this._hasHidden?function(e,t,r){let i=r-t+1;if(e.length===0)return i;let a=e.length-1,o=e[a];if(t>o.max)return i;a=e.length===1?0:n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),o=e[a];let s=o.runningHiddenRuns;if(o.spanSize===0&&t<=o.max){let e=o.max-o.min+1;i-=Math.min(e,o.max-t+1)}r>o.max&&a<e.length&&(a=n.CommonUtils.findEqualOrGreater(e,r,e=>e.max),o=e[Math.min(a,e.length-1)]);let c=o.runningHiddenRuns;if(o.spanSize===0&&o.min<=r){let e=o.max-o.min+1;i-=Math.min(e,r-o.min+1),c-=e}return i-=c-s,i}(this._indexedSizes,e,t):t-e+1}isSelectedAll(e){let t=this.getSelectedRuns();if(t.length===0)return!1;let r=t[n.CommonUtils.findEqualOrGreater(t,e,e=>e.max)];return!(!r||e<r.min||e>r.max)&&r.value}isSelected(e){let t=this.getSelectedRuns();if(t.length===0)return!1;let r=t[n.CommonUtils.findEqualOrGreater(t,e,e=>e.max)];return!(!r||e<r.min||e>r.max)}getSelectedRuns(){let e=this._selectionRuns;return e||(this._selection&&(e=dy(this.getAxis(),this._selection,this._entireSheetCoords)),e||=n.CommonUtils.EmptyArray),this._selectionRuns=e,this._selectionRuns}hiddenHeadersAt(e,t=!1){if(this._indexedSizes.length===0)return 0;let r=this._indexedSizes.length===1?0:n.CommonUtils.findEqualOrGreater(this._indexedSizes,e,e=>e.max),i=this._indexedSizes[r];return!i||i.spanSize!==0||i.min>e||i.max<e?0:t?e-i.min+1:i.max-e+1}_insertHeaders(e,t){if(this.isProtected())throw Error(this._isColumn?(0,n.t)(`error.sheetHeader.protectedColumns`):(0,n.t)(`error.sheetHeader.protectedRows`));if(t<=0)return;let r=this._beginCommit({description:this._isColumn?(0,n.messageKey)(`op.insertColumns`):(0,n.messageKey)(`op.insertRows`)}),i=this._getState().headers,a=i.length,o=e<=(a>0?i[a-1].max:0),s=i;o&&(s=Kr(function(e,t,r=1){let i=n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),a=e.slice(0,i),o=[],s=[];if(!e[i])return{preceding:a,modified:s,trailing:o};e[i].min>=t?o.push({...e[i],min:e[i].min+r,max:e[i].max+r}):s.push({...e[i],min:e[i].min,max:e[i].max+r});for(let t=i+1;t<e.length;t++)o.push({...e[t],min:e[t].min+r,max:e[t].max+r});return{preceding:a,modified:s,trailing:o}}([...s],e,t))),this._updateState({headers:s},o),r.commit()}_deleteHeaders(e,t){if(this.isProtected())throw Error(this._isColumn?(0,n.t)(`error.sheetHeader.protectedColumns`):(0,n.t)(`error.sheetHeader.protectedRows`));let r=this._beginCommit({description:this._isColumn?(0,n.messageKey)(`op.deleteColumns`):(0,n.messageKey)(`op.deleteRows`)}),i=this._getState().headers,a=i.length,o=e<=(a>0?i[a-1].max:0),s=i;o&&(s=Kr(Wr([...s],e,t))),this._updateState({headers:s},o),r.commit()}beginCommit(e){return this._beginCommit(typeof e==`string`?{description:e}:e)}doBatch(e,t){return this._transactions.doBatch(e,typeof t==`string`?{description:t}:{description:(0,n.messageKey)(`op.updateHeader`),...t})}getId(){return this._id}getVersionId(){return this._transactions.getVersionId(this._id)}isClosed(){return this._closed}close(){this._sheetRemoveListener?.(),this._emitter.close(),this._transactionsRemoveListener?.(),this._closed=!0,this._transactions.remove(this._id)}_getState(){return this._transactions.getState(this._id)}_beginCommit(e){return this._transactions.beginCommit(e)}_updateState(e,t=!1){let n=this._transactions.beginCommit();try{n.updateState(this._id,e),this._onHeaderChange(t),n.commit()}catch(e){throw n.rollback(),e}}fromJSON(e){let t=e||{};this._defaultCustomSize=t.defaultSize??-1,this._defaultCustomSize<=0&&(this._defaultCustomSize=-1),this._invalidateMaxIndex();let n=this._options.sheet.getStyles().beginPersist();try{let e=[],n=t.headers,r=n?n.length:0,i=this._entireRunMax??2**53-1,a=this._isColumn;for(let t=0;t<r;t++){let r=ju(n[t],a);if(!r)continue;let o=r.min;if(o>=i)continue;let s={min:o,max:Math.min(r.max,i)},c=r.value,l={};c.sz!==void 0&&c.sz!==-1&&(l.sz=c.sz),c.h!==void 0&&(l.h=c.h),c.csz!==void 0&&(l.csz=c.csz),Object.keys(l).length===0&&(l.cs=!0),s.value=l,e.push(s)}this._updateState({headers:e,defaultCustomSize:this._defaultCustomSize})}finally{n.endPersist()}}toJSON(){let e=this._headers,t=e.length;if(t===0&&this._defaultCustomSize===-1)return null;let r={headers:[]};if(this._defaultCustomSize!==-1&&(r.defaultSize=n.CommonUtils.roundAccurately(this._defaultCustomSize,8)),t===0)return r;let i=this._defaultCustomSize,a=this._isColumn,o=this.getSheet().getStyles().beginPersist();for(let o=0;o<t;o++){let t=e[o],s=t.value;if(!s)continue;let c={},l=s.sz;l!==void 0&&l!==i&&(c.sz=n.CommonUtils.roundAccurately(l,8)),s.csz!==void 0&&(c.csz=s.csz),!0===s.h&&(c.h=s.h),Object.keys(c).length>0&&r.headers.push({r:Ou(t.min,t.max,a),v:c})}return o.endPersist(),r}get[Symbol.toStringTag](){return`[SheetHeader]`}toString(){return`[SheetHeader]`}},pw=e=>null,mw=class e extends wa{constructor(e){super(e),this._entireCoords=e?.entireCoords}getContentfulCoords(){let e=this._contentfulCoords;if(e!==void 0)return e;let t=this._entireCoords;if(!t||this.isEmpty())return this._contentfulCoords=null,null;let n=this.all(),r=n.length,i=t.colStart,a=t.rowStart,o=t.colEnd,s=t.rowEnd,c=2**53-1,l=2**53-1,u=-(2**53-1),d=-(2**53-1),f=0,p=0,m=0,h=0;for(let t=0;t<r;t++){let r=n[t];f=r.colStart,m=r.colEnd,m>=o&&(f=Math.max(f-1,i),m=f),p=r.rowStart,h=r.rowEnd,h>=s&&(p=Math.max(p-1,a),h=p),c=Math.min(c,f),u=Math.max(u,m),l=Math.min(l,p),d=Math.max(d,h),e={colStart:c,rowStart:l,colEnd:u,rowEnd:d}}return this._contentfulCoords=e,e}setEntireCoords(e){this._entireCoords=e,this._onModified()}getEntireCoords(){return this._entireCoords??null}clone(e=null){let t=super.clone(e);return t._entireCoords=this._entireCoords,t._contentfulCoords=this._contentfulCoords,t}_onModified(){super._onModified(),this._contentfulCoords=void 0}_createClone(t){return new e(t)}},hw={rowStart:0,colStart:0,rowEnd:0,colEnd:0},gw={includeEmpty:!0},_w={visibility:`visible`,includeEmpty:!0};function vw(e,t,r=[],i=!0,a,o=e.state,s){let c=!0===i||typeof i==`object`&&!!i&&Object.keys(i).length>0,l=a&&a.length>0;if(!c&&!l)return;let u=(e,a,o=!1)=>{if(!o&&!0!==i&&i[e]===void 0||!a)return;let c=a.search(t,!1),l=c.length;if(l===0)return;let u=i[e];for(let i=0;i<l;i++){let a=c[i];if(u&&!n.CoordUtils.isRangeWithinRange(t,a)||s&&!n.CoordUtils.isRangeWithinRange(a,s))continue;let o=n.CoordUtils.intersectRanges(t,a),l=a.value,d=a.value?.model??l??!0;r.push({...o,value:{[e]:d}})}};if(l){let i=a?a.length:0,o=e.getEntireCoords(),s=n.CoordUtils.isEqualRanges(t,o);for(let e=0;e<i;e++){let t=a[e],n=t?t.length:0;if(n>0){let i=``+e;if(s)for(let e=0;e<n;e++){let n=wu(t[e],o);n.value={[i]:n.value},r.push(n)}else{let e=[...t];for(let t=0;t<n;t++)e[t]=wu(e[t],o);let r=new wa;r.load(e),u(i,r,!0)}}}}if(c){if(d=q.Type.Merge,(typeof i==`boolean`&&!0===i||i[d]!==void 0)&&o.mergeSpatial){let e=o.mergeSpatial.search(t),i=e.length;for(let a=0;a<i;a++){let i=e[a],o=n.CoordUtils.intersectRanges(t,i);r.push({...o,value:{merge:i.value}})}}var d;u(q.Type.Unlock,o.protectedRanges),u(q.Type.Continuous,o.continuousFillSpatial),u(q.Type.DateFormat,o.dateFormatSpatial),u(q.Type.Hyperlink,o.hyperlinkSpatial),u(q.Type.Comments,o.commentsSpatial),u(q.Type.BorderStyle,o.borderSpatial),u(q.Type.FillStyle,o.fillSpatial),u(q.Type.ContentStyle,o.contentSpatial),u(q.Type.Contentful,o.contentfulSpatial),u(q.Type.Formula,o.calcGrid.getFormulas()),u(q.Type.Pending,o.pendingSpatial),u(q.Type.CalcError,o.calcErrorsSpatial),!0!==i&&i[q.Type.Error]!==void 0&&u(q.Type.Error,e.getErrorSpatial()),u(q.Type.Spills,o.spillSpatial),u(q.Type.Table,o.tables),u(q.Type.AutoTable,o.autoTables),u(q.Type.DataValidations,o.dataValidations),u(q.Type.Conditionals,o.conditionalFormats)}}function yw(e,r){let i=e.state;if(!i||!r||!r.searchTypes)return si;let a=r?.bounds??e.getUsedCoords()??e.getEntireCoords(),o=null;!0===r.searchTypes?o=Ff:n.CommonUtils.isObject(r.searchTypes)&&(o=r.searchTypes);let s=r?.ignoreHidden,c=!0===s||s===t.IRange.Axis.Row,l=!0===s||s===t.IRange.Axis.Column,u=r?.injectReferences,d=r?.includeMergeOverflow??!1,f=[],p=l?_w:gw,m={min:a.colStart,max:a.colEnd},h=c?_w:gw,g={min:a.rowStart,max:a.rowEnd};e.rowHeaders.getRange(g).forEachSpan((t,n)=>{let s=n.getCoords(),c=s.min,l=s.max;e.columnHeaders.getRange(m).forEachSpan((t,n)=>{let s=n.getCoords(),d=s.min,p=s.max;vw(e,{rowStart:c,rowEnd:l,colStart:d,colEnd:p},f,o,u,i,r?.fullyContained?a:void 0)},p)},h);let _=new gi.IteratorInstance(f,r),v=r?.reverse??!1,y=r?.byCell,b;return{next:e=>{if(b=_.next(e),b.done)return oi;let t=b.value,n=xD(t.overlaps),r,i=t.range;if(d){let e=n?.merge;if(e){let t=e.getCoords(),n=a.colStart,i=a.rowStart,o=t.colStart,s=t.rowStart;o<n&&i<s&&(r={colIndex:o,rowIndex:s})}}r||={colIndex:i.colStart,rowIndex:i.rowStart};let o={colIndex:i.colEnd,rowIndex:i.rowEnd},s=null;return y&&(s={...t.cell}),{done:!1,value:{start:v?o:r,end:v?r:o,cell:s,intersection:n}}}}}function bw(e,r,i){let a=e.state;if(!a||!r)return null;let o=e.getEntireCoords();i&&(o={colStart:Math.max(o.colStart-i,o.colStart),rowStart:o.rowStart,colEnd:Math.min(o.colEnd+i,o.colEnd),rowEnd:o.rowEnd});let s={rowStart:r.rowStart,colStart:o.colStart,rowEnd:r.rowEnd,colEnd:o.colEnd},c={bounds:s,searchTypes:Rf,axis:t.IRange.Axis.Row,ignoreHidden:!0,byCell:!1},l=r.colStart,u=r.colEnd,d,f,p=-1,m=(e,t)=>{let n=e.next();for(;!n.done;){let r=n.value,i=r.intersection,a=i.contentful;if(a){let e=r.start.rowIndex;if(!f||e!==p){let n=r.end.rowIndex,o=a.getCoords(),s=t?o.colEnd:o.colStart,c=null;t&&(c=i.continuous),d||=[];for(let t=e;t<=n;t++)d.push({rowIndex:t,colIndex:s,continuous:c,intersection:i,scalar:null,leftIndex:0,rightIndex:0,overflow:null,style:null})}p=e,f=r}n=e.next()}};l>o.colStart&&(s.colStart=o.colStart,s.colEnd=r.colStart-1,m(yw(e,c),!0)),p=-1,f=void 0,u<o.colEnd&&(s.colStart=r.colEnd+1,s.colEnd=o.colEnd,m(yw(e,c),!1));let h=a.cellValuesGrid;if(!d)return null;d.sort(n.CoordUtils.columnFirstCellComparator);let g=d.length,_=e.cellOptions,v,y;for(let e=0;e<g;e++){let n=d[e],r=n.rowIndex,i=n.colIndex,a=h.getValueAt(r,i);n.scalar=a;let o=n.continuous;if(o||typeof a==`string`&&!n.intersection?.merge){hw.colStart=i,hw.rowStart=r,hw.colEnd=i,hw.rowEnd=r;let e=rC(void 0,hw,n.intersection,_,!0);n.style=e;let s=tC(r,i,t.ScalarType.String,e,a,null,null,o?.getCoords(),_);if(s){let e=s.leftIndex,t=s.rightIndex;n.leftIndex=e,n.rightIndex=t,(t>0&&i<l||e>0&&i>u)&&(n.overflow=s)}}n.overflow?(v||=[],v.push(n)):(y||=[],y.push(n))}return{overflows:v,stops:y}}var xw,Sw=RegExp(`([0-9]+)$`);function Cw(e,t){return e.colStart===t.colStart&&e.rowStart===t.rowStart}function ww(e,t,n){return!!n&&e===n.rowStart&&t===n.colStart}function Tw(e,r,i,a,o,s,c,l,u,d,f,p,m=!1){let h,g,_=null,v=o.size();p===void 0&&(p=s.getAxis()===t.IRange.Axis.Column);let y=r?r.length:0,b=i?i.length:0,x,S=y+b;for(let t=0;t<S&&v>0;t++){let d=t<y?r[t]:i[t-y],f=o.search(d),p=f.length;for(let t=0;t<p;t++){let r=f[t];if(!ww(r.rowStart,r.colStart,d)){if(r.value.getError())continue;x||=[],x.push(r)}o.remove(r,Cw);let i=r.value;e!==-1&&e===i.getCycleId()||u?.(null,r),i.getError()||(s.delete(r),a.insertNonOverlapping({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,value:null},{onIntersect:(e,t)=>{if(e.value!==null)return c?.(e.colStart,e.rowStart,e.colEnd,e.rowEnd),_=n.CoordUtils.unionRanges(_,e),l?.insertNonOverlapping(e),_=n.CoordUtils.unionRanges(_,e),t}})),v--}}for(let e=0;e<y;e++){let t=r[e],i={colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,scope:t.scope,value:null};a.insertNonOverlapping(i,{onIntersect:(e,t)=>{if(e.value===null)return;let r=n.CoordUtils.sanitizeRange(t);return m&&l?.insertNonOverlapping(r),d?.insertNonOverlapping({...t,value:!1}),c?.(r.colStart,r.rowStart,r.colEnd,r.rowEnd),_=n.CoordUtils.unionRanges(_,r),t}}),f?.insertNonOverlapping(i,{onIntersect:(e,t)=>{if(e.value!==null)return c?.(t.colStart,t.rowStart,t.colEnd,t.rowEnd),_=n.CoordUtils.unionRanges(_,t),t},onUpdates:(e,t,r)=>{g||=[];let i=e.length;for(let t=0;t<i;t++){let n=e[t];g.push(n)}h||=[];let a=t.length;for(let e=0;e<a;e++){let r=t[e],i=n.CoordUtils.sanitizeRange(r);h.push(i)}}})}let C=p?t.IRange.Axis.Column:t.IRange.Axis.Row;if(x){let t=x.length,r=lO(t);for(let i=0;i<t;i++){let t=x[i],o=t.value.setError(!0,e);u?.(o,null),r[i]=o,_=n.CoordUtils.unionRanges(_,t),a.insertNonOverlapping({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colStart,rowEnd:t.rowStart,value:new Bu(t,C)}),c?.(t.colStart,t.rowStart,t.colEnd,t.rowEnd)}o.load(r)}for(let e=0;e<b;e++){let t=n.CoordUtils.sanitizeRange(i[e]);a.insertNonOverlapping({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,value:new Bu(t,C)}),m&&l?.insertNonOverlapping(t),c?.(t.colStart,t.rowStart,t.colEnd,t.rowEnd),_=n.CoordUtils.unionRanges(_,t)}return _}function Ew(e,t,n,r){if(!t)return;let i=t.block;if(!i)return;let a=t.colIndex,o=t.rowIndex,s,c,l,u,d;n?(s=n.colStart,c=n.rowStart,l=n.colEnd,u=n.rowEnd,d=n.scope):(s=a,c=o,l=a,u=o),d||=t.gridId;let f=e.get(i);f||(f=[],e.set(i,f));let p=f.findIndex(e=>e.value.index===r),m=p===-1?void 0:f[p];if(m&&m.scope===d){s<m.colStart&&(m.colStart=s),c<m.rowStart&&(m.rowStart=c),l>m.colEnd&&(m.colEnd=l),u>m.rowEnd&&(m.rowEnd=u);let e=m.value.formulaEntry;e.colStart=m.colStart,e.rowStart=m.rowStart,e.colEnd=m.colEnd,e.rowEnd=m.rowEnd;return}let h={colStart:s,rowStart:c,colEnd:l,rowEnd:u,scope:d,value:{formulaEntry:{colStart:s,rowStart:c,colEnd:l,rowEnd:u,scope:d,value:i},formulaBlockWidth:1,formulaBlockHeight:1,index:r,$absColStart:!1,$absColEnd:!1,$absRowStart:!1,$absRowEnd:!1}};p===-1?f.push(h):f[p]=h}(function(e){e.Date=class{constructor(e){this._options=e}canFill(e,t){return ir(e,!0)}createFillAt(e,t){t={...this._options,...t};let n=0,r=this._options?.unit;r||=e.length===1?or:function(e,t=!1){if(!e||e.length<1)return or;let n=e;t||(n=e.slice(),n=n.sort((e,t)=>e.getTime()-t.getTime()));let r=!1,i=-1,a=-1;for(let e=0;e<n.length;e++){let t=n[e];if(e>n.length-1&&t.getTime()<n[e+1].getTime())throw Error(`Dates are expected to be sorted.`);let o=12*t.getFullYear()+t.getMonth();if(o===a)return or;a=o;let s=t.getFullYear();s>i?i=s:r=!0}return r?sr:cr}(e);let i=lr(e[0],0,r);i.setHours(0,0,0,0);let a=1;t?.reverse&&(a*=-1,n*=-1);let o=e.length;for(let t=1;t<o;t++){let n=ar(e[t-1],e[t],r);if(t===1)a=n;else if(n!==a)return null}return e.length===1&&t.multiFill,e=>{let t=lr(i,a*e,r);if(n!==0){let r=0+n*e,i=r%1440,a=Math.floor(i/60),o=i%60;t.setHours(a,o,0,0);let s=Math.floor(r/1440),c=Math.floor(s/365),l=s%365,u=Math.floor(l/30),d=l%30;c>0&&t.setFullYear(t.getFullYear()+c),u>0&&t.setMonth(t.getMonth()+u),d>0&&t.setDate(t.getDate()+d)}return t}}},e.Linear=class{constructor(e){this._options=e}canFill(e,t){return typeof e==`number`||e===null}createFillAt(e,t){t={...this._options,...t};let n=ex(e),r=n.b,i=n.m;return e.length===1?(t.reverse&&(i=-i),t.multiFill?e=>e*i+r:null):e=>i*(e+1)+r}};let t={value:null,template:null},n={sensitivity:`accent`};e.Ordinal=class{_template(e){let t=e.match(Sw);if(!t)return null;let n=t[1],r=e.lastIndexOf(n);return r===-1?null:e.substring(0,r)}canFill(e,r){if(e===null)return!0;if(typeof e!=`string`)return t.value=null,!1;let i=this._template(e);return i&&(r===void 0||r===t.value&&i.localeCompare(t.template,void 0,n)===0)?(t.value=e,t.template=i,!0):(t.value=null,!1)}createFillAt(e,t){let n=[],r=e[0],i=null,a=null,o=0;if(r){let e=r.match(Sw);if(e){i=e[1],i.startsWith(`0`)&&(o=i.length);let t=r.lastIndexOf(i);a=r.substring(0,t)}}let s=e.length;for(let t=0;t<s;t++){let r=e[t],i=null;if(r){let e=r.substring(a.length,r.length);e.startsWith(`0`)&&(o=Math.max(o,e.length));let t=parseFloat(e);isNaN(t)||(i=t)}n.push(i)}let c=ex(n),l=c.b,u=c.m;return u!==0&&Number.isInteger(u)?n=>{if(e[n%s]===null)return null;let r=(s===1?t.reverse?-n:n:u*(n+1))+l,i=``+Math.abs(r),c=`0`.repeat(Math.max(0,o-i.length))+i;return a+c}:null}},e.Copy=class{canFill(e,t){return!0}createFillAt(e,t){let n=e.length;return t=>e[t%n]??null}};let r=Object.freeze([`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`]),i=Object.freeze([`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]),a=Object.freeze([`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]),o=Object.freeze([`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]);e.List=class{constructor(e){this._lists=[],this._map=new Map;let t=[];if(e?.customLists){let n=e.customLists;for(let e=n.length-1;e>0;e--)t.push(n[e])}t.push(o),t.push(a),t.push(i),t.push(r);let n=this._map,s=[],c=t.length;for(let e=0;e<c;e++){let r=t[e],i=[];s.push(i);let a=r.length;for(let t=0;t<a;t++){let a=x(r[t],!0),o=a.toLowerCase().trim(),s=n.get(o);s||(s=[],n.set(o,s));let c={value:a,asKey:o,major:e,minor:t};s.push(c),i.push(c)}}this._lists=Object.freeze(s)}canFill(e,t){return e===null||typeof e==`string`&&!!this._map.get(e.toLowerCase().trim())}createFillAt(e,t){let n=[],r=e[0];n.push(r.toLowerCase().trim());let i=this._map.get(n[0]),a,o=new Map,s=new Set,c=i.length;for(let e=0;e<c;e++){let t=i[e];o.set(t.major,t)}if(e.length>1){let t=e.length;for(let r=1;r<t;r++){let t=e[r].toLowerCase().trim(),i=this._map.get(t);if(!i)return null;r===1&&(a=i),n.push(t);let c=i.length;for(let e=0;e<c;e++){let t=i[e].major;o.has(t)&&s.add(t)}}if(s.size===0)return null}let l=null,u=this._lists;for(let t=0;!l&&t<u.length;t++)(e.length===1||s.has(t))&&(l=o.get(t));if(!l)return null;let d=null;for(let e=0;!d&&a&&e<a.length;e++)a[e].asKey===n[1]&&(d=a[e]);let f=!1,p=!1,m=Og(r);m===1?f=!0:(m===-1||Og(r[0])===-1)&&(p=!0);let h=u[l.major],g=l.minor,_=1;if(n.length>1){_=d.minor-l.minor;let e=n.length;for(let t=2;t<e;t++)if(h[t+g].minor-h[t-1+g].minor!==_)return null}e.length===1&&t?.reverse&&(_=-_);let v=e.length,y=h.length;return t=>{if(e[t%v]===null)return null;let n=(t*_+g)%y;n<0&&(n=y+n);let r=h[n].value??null;return f?r.toUpperCase():p?r.toLowerCase():r}}},e.Composite=class{constructor(e){e=Array.isArray(e)?[...e]:[e],this._fillers=e}canFill(e,t){return!0}createFillAt(e,t){let n=this._fillers;t={multiFill:e.length>1,...t};let r=e.length,i=0,a=!1;for(let t=0;!a&&t<=r;t++)e[t]===null?i++:a=!0;let o=0;a=!1;for(let t=r-1;!a&&t>=i;t--)e[t]===null?o++:a=!0;let s=[],c=null,l=null,u=[],d=i,f=0,p=e=>{if(c&&c.max+1===d){let t=c.value;t.fillAt.push(e),c.max=d,t.length++,t.valuesLength++}else c={min:d,max:d,value:{fillAt:[e],start:d,length:1,valuesLength:r,blankInterval:0}};s.push(c)},m=r-o;for(d=i;d<m;){let r=e[d];if(r===null){d++;continue}l=null;let i,a=1,o=!1;for(let e=0;!o&&e<n.length+1;e++){let t=n[e];t&&(o=t.canFill(r,i),o&&(l=t))}if(!l){r!==null&&p(r),d++;continue}let c=0;f=0,i=r;do r=e[d+a],o=l.canFill(r,i),o&&(r===null?c++:(i=r,c>0&&(a-c===1?f=c:c!==f&&(f=0)),c=0),a++);while(o&&d+a<m);u=[e[d]];let h=1+f,g=a-c;for(let t=h;t<g;t+=h)u.push(e[d+t]);if(u.length>0){let e=u.length,n=e+(e-1)*f,r=l.createFillAt?.(u,t)??u;s.push({min:d,max:d+n-1,value:{fillAt:r,start:d,length:n,valuesLength:e,blankInterval:f}})}d+=a}let h=Zr(s);return e=>{let t=e>=0,n=Math.abs(e),i=Qr(n%r,h);if(!i)return null;let a=Math.floor(n/r),o=i.length,s=i.start,c=(a+ +!!t)*s+(a+ +!t)*(r-(s+o)),l=e+(t?-c:c),u=i.blankInterval;if(u!==0){let e=l%o;if(e%(1+u)!==0)return null;l=Math.floor(e/(1+u))+i.valuesLength*a}let d=i.fillAt;return typeof d==`function`?d(l):d[l%d.length]}}},e.Types={Series:new xw.Composite([new xw.Date,new xw.Linear,new xw.Ordinal,new xw.List]),DateDays:new xw.Date({unit:or}),DateMonths:new xw.Date({unit:sr}),DateYears:new xw.Date({unit:cr}),Copy:new xw.Copy},e.fillTo=(e,t,n,r)=>{let i=[],a=t.length,o=e.createFillAt(t,r);for(let e=a;e<n;e++)i.push(o(e));return i}})(xw||={});var Dw=(e,n,r,i=Ow)=>{if(i.$absColStart=i.$absColEnd=n,i.$absRowStart=i.$absRowEnd=r,!n&&!r||!e||t.FormulaError.isError(e)||`nameId`in e)return i;let a=e;return n&&(a.$colStart||a.$colEnd)&&(i.$absColStart=!!a.$colStart,i.$absColEnd=!!a.$colEnd),r&&(a.$rowStart||a.$rowEnd)&&(i.$absRowStart=!!a.$rowStart,i.$absRowEnd=!!a.$rowEnd),i},Ow={$absColStart:!1,$absColEnd:!1,$absRowStart:!1,$absRowEnd:!1};function kw(e,n,r=null){let i=e.colEnd-e.colStart,a=e.rowEnd-e.rowStart,o=e.value,s=o.formula,c=o.ref,l=c.rowStart,u=c.colStart,d=s.resolvedPrecedentsAt(l,u,!0,Bw,Vw),f=d.length,p=s.getReferences(l,u);for(let o=0;o<f;o++){let s=d[o];if(t.FormulaError.isError(s))continue;let c=Dw(p[o],Vw[o],Bw[o]),l=c.$absColEnd,u=c.$absRowEnd,f={colStart:s.colStart,rowStart:s.rowStart,colEnd:s.colEnd+(l?0:i),rowEnd:s.rowEnd+(u?0:a),scope:s.scope??e.scope,value:{formulaEntry:e,formulaBlockWidth:i+1,formulaBlockHeight:a+1,index:o,$absColStart:c.$absColStart,$absColEnd:l,$absRowStart:c.$absRowStart,$absRowEnd:u}};r&&r.push(s),n.push(f)}}var Aw=(e,t,n)=>{let r=e.search(t),i=r.length;if(i===0)return null;let a=[],o=[],s=[],c=[],l=new Set;for(let e=0;e<i;e++){let i=r[e],u=i.value,d=u.formulaEntry;if(i.colEnd===i.colStart&&i.rowEnd===i.rowStart||u.index<0)continue;if(l.has(d)){a.push(i);continue}let f=d.colEnd-d.colStart,p=d.rowEnd-d.rowStart,m=i.colStart,h=i.rowStart,g=i.colEnd,_=i.rowEnd,v=n({precedentEntry:i,precedentValue:u,formulaEntry:d,fw:f,fh:p,nw:u.$absColEnd?g-m+1:g-m-f+1,nh:u.$absRowEnd?_-h+1:_-h-p+1},t);if(!v)continue;l.add(d),a.push(i),o.push(d);let y=v.length;for(let e=0;e<y;e++)c.push(v[e]),kw(v[e],s)}return a.length===0?null:{precedents:{inserts:s,removes:a},formulas:{inserts:c,removes:o}}},jw=(e,t)=>{let{precedentEntry:n,precedentValue:r,formulaEntry:i,fw:a,fh:o,nw:s,nh:c}=e,l=[],u=[],d=(e,t,n)=>{t<=0||t>n||e.indexOf(t)===-1&&e.push(t)},f=r.$absColStart,p=r.$absColEnd,m=r.$absRowStart,h=r.$absRowEnd;if(!(a>0)||f&&p||(d(l,t.colStart-i.colStart,a),f||d(l,t.colStart-n.colStart,a),p||d(l,t.colStart-n.colStart-s+1,a)),!(o>0)||m&&h||(d(u,t.rowStart-i.rowStart,o),m||d(u,t.rowStart-n.rowStart,o),h||d(u,t.rowStart-n.rowStart-c+1,o)),l.length===0&&u.length===0)return null;l.sort((e,t)=>e-t),u.sort((e,t)=>e-t);let g=[i];if(u.length>0){g=[];let e=i;for(let t=0;t<u.length;t++){let n=i.rowStart+u[t];if(n<=e.rowStart||n>e.rowEnd)continue;let r=Aa(e,{rowStart:n,colStart:e.colStart,rowEnd:e.rowEnd,colEnd:e.colEnd},Fa);r&&r.length===2&&(g.push(r[0]),e=r[r.length-1])}g.push(e)}if(l.length>0){let e=[];for(let t=0;t<g.length;t++){let n=g[t];for(let t=0;t<l.length;t++){let r=i.colStart+l[t];if(r<=n.colStart||r>n.colEnd)continue;let a=Aa(n,{rowStart:n.rowStart,colStart:r,rowEnd:n.rowEnd,colEnd:n.colEnd},Fa);a&&a.length===2&&(e.push(a[0]),n=a[a.length-1])}e.push(n)}g=e}return g.length>1?g:null},Mw=(e,t)=>{let{precedentEntry:n,precedentValue:r,formulaEntry:i,fw:a,fh:o,nh:s,nw:c}=e,l=n.rowStart,u=n.colStart,d=t.rowStart,f=t.rowEnd,p=t.colStart,m=t.colEnd,h=[];if(o>0&&(!r.$absRowStart||!r.$absRowEnd))if(s>1){let e=Math.max(0,d-l-s+1),t=Math.min(o+1,Math.max(0,d-l)),n=Math.min(o+1,Math.max(0,f-l-s+2)),r=Math.min(o+1,Math.max(0,f-l+1));for(let n=e;n<=t;n++)n>0&&n<=o&&h.push(n);for(let e=n;e<=r;e++)e>0&&e<=o&&(h.length!==0&&h[h.length-1]===e||h.push(e))}else{let e=d-l;e>0&&e<=o&&h.push(e);let t=f-l+1;t>0&&t<=o&&t!==e&&h.push(t)}let g=[];if(a>0&&(!r.$absColStart||!r.$absColEnd))if(c>1){let e=Math.max(0,p-u-c+1),t=Math.min(a+1,Math.max(0,p-u)),n=Math.min(a+1,Math.max(0,m-u-c+2)),r=Math.min(a+1,Math.max(0,m-u+1));for(let n=e;n<=t;n++)n>0&&n<=a&&g.push(n);for(let e=n;e<=r;e++)e>0&&e<=a&&(g.length!==0&&g[g.length-1]===e||g.push(e))}else{let e=p-u;e>0&&e<=a&&g.push(e);let t=m-u+1;t>0&&t<=a&&t!==e&&g.push(t)}if(h.length===0&&g.length===0)return null;let _=[i];if(h.length>0){_=[];let e=i;for(let t=0;t<h.length;t++){let n=i.rowStart+h[t];if(n<=e.rowStart||n>e.rowEnd)continue;let r=Aa(e,{rowStart:n,colStart:e.colStart,rowEnd:e.rowEnd,colEnd:e.colEnd},Fa);r&&r.length===2&&(_.push(r[0]),e=r[r.length-1])}_.push(e)}if(g.length>0){let e=[];for(let t=0;t<_.length;t++){let n=_[t];for(let t=0;t<g.length;t++){let r=i.colStart+g[t];if(r<=n.colStart||r>n.colEnd)continue;let a=Aa(n,{rowStart:n.rowStart,colStart:r,rowEnd:n.rowEnd,colEnd:n.colEnd},Fa);a&&a.length===2&&(e.push(a[0]),n=a[a.length-1])}e.push(n)}_=e}return _},Nw=(e,t)=>{let{precedentEntry:n,precedentValue:r,formulaEntry:i,fw:a,fh:o,nw:s,nh:c}=e;if(a===0&&o===0)return null;let l=n.colStart,u=n.rowStart,d=r.$absRowStart?u>=t.rowStart?0:o+1:Math.max(0,t.rowStart-u),f=r.$absRowEnd?n.rowEnd<=t.rowEnd?o:-1:Math.min(o,t.rowEnd-u-(c-1)),p=r.$absColStart?l>=t.colStart?0:a+1:Math.max(0,t.colStart-l),m=r.$absColEnd?n.colEnd<=t.colEnd?a:-1:Math.min(a,t.colEnd-l-(s-1));if(d>f||p>m||d===0&&f===o&&p===0&&m===a)return null;let h=d>0?i.rowStart+d:-(2**53-1),g=f<o?i.rowStart+f:2**53-1,_=p>0?i.colStart+p:-(2**53-1),v=m<a?i.colStart+m:2**53-1;return Lw.colStart=_,Lw.rowStart=h,Lw.colEnd=v,Lw.rowEnd=g,Aa(i,Lw,Fa)},Pw=(e,t,n)=>{let r=e.colStart,i=e.rowStart,a=e.colEnd,o=e.rowEnd,s=t.colStart,c=t.rowStart,l=t.colEnd,u=t.rowEnd,d=Math.max(r,s),f=Math.max(i,c),p=Math.min(a,l),m=Math.min(o,u),h=e.value.calcs;for(let e=f;e<=m;e++){let t=e-i,a=h[t];for(let e=d;e<=p;e++){let i=e-r;n(a[i],t,i)}}};function Fw(e,r,i,a,o,s=!1,c=!1,l,u){if(!e||r.isEmpty())return null;Iw.colStart=e.colStart,Iw.rowStart=e.rowStart,Iw.colEnd=e.colEnd,Iw.rowEnd=e.rowEnd,Iw.scope=null;let d=r.search(Iw),f=d.length;if(!f)return null;let p,m,h;for(let t=0;t<f;t++){let o=d[t];if(zw.colIndex=o.colStart,zw.rowIndex=o.rowStart,zw.scope=o.scope,o.value.getError())continue;let s=n.CoordUtils.isCellWithinRange({colIndex:zw.colIndex,rowIndex:zw.rowIndex,scope:zw.scope},e);s&&c||(p||(m=[],p=[],h=i.clone()),s?p.push(o):m.push(o),i.delete(o),r.remove(o,Hw),a.insertNonOverlapping({...o,value:null}))}return f?(e=!1,c,d)=>{let f=s?t.IRange.Axis.Row:t.IRange.Axis.Column,g=m?m.length:0;if(g>0){r.load(m);for(let e=0;e<g;e++){let t=m[e],r=n.CoordUtils.sanitizeRange(t);h.copyTo(i,{colIndex:r.colStart,rowIndex:r.rowStart},r),a.insertNonOverlapping({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,value:new Bu(r,f)}),l?.insertNonOverlapping({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,scope:t.scope,value:null}),u?.(r.colStart,r.rowStart,r.colStart,r.rowStart)}}let _=p?p.length:0;if(o)for(let e=0;e<_;e++)o(null,p[e]);if(!e||c===void 0&&d===void 0||_===0)return;c??=0,d??=0;let v=[];for(let e=0;e<_;e++){let t=p[e],n={colStart:t.colStart+d,rowStart:t.rowStart+c,colEnd:t.colEnd+d,rowEnd:t.rowEnd+c,scope:t.scope},r=t.value.getTranslated(c,d);v.push(t.value.getTranslated(c,d)),o?.(r,null),h.copyTo(i,{colIndex:n.colStart,rowIndex:n.rowStart},t),a.insertNonOverlapping({colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd,value:new Bu(n,f)})}r.load(v)}:null}var Iw={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},Lw={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},Rw={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},zw={colIndex:0,rowIndex:0,scope:null},Bw=[],Vw=[];function Hw(e,t){return e.value===t.value}var Uw={skipCustomSize:!0,expandOnly:t.IRange.Axis.Column,minContent:!0},Ww=()=>[],Gw={rowStart:0,colStart:0,rowEnd:0,colEnd:0},Kw=[{colIndex:-1,rowIndex:-1},null,null,null,null];function qw(e,t,r,i){let a=i?.description??(0,n.messageKey)(`op.setComments`),o=my(t),s=e.beginCommit({description:a}),c=null;try{let a=e.getState();if(!a)return;let l=a.commentsSpatial,u=l,d=t.length;for(let e=0;e<d;e++){let i=t[e],a=null;if(r!==null){let e=r;if(!e)continue;a=typeof e==`string`?{content:{runs:{text:e}}}:{...e}}c=n.CoordUtils.unionRanges(c,i),l===u&&(u=l.clone()),u.insertNonOverlapping({...i,value:a})}e.invalidateUsedCoords(),e.updateState({commentsSpatial:u}),e.commitAndAutoSelect(s,o,i?.autoSelect,{viewAfter:{ranges:t}})}catch(e){throw s.rollback(),e}}function Jw(e,t,r,i){let a=i?.description??(0,n.messageKey)(`op.setHyperlink`);e.protectionCheck(()=>[`insertHyperlinks`,`formatCells`],t,a);let o=my(t),s=e.beginCommit({description:a});try{let a=e.getState();if(!a)return;let c=a.hyperlinkSpatial,l=c,u=e.styles,d=e=>{let t={...e.getAuthoredProperties()};if(t.named){let e=u.getNamed(t.named)?.getRanged().getPropertiesAt(0,0,null);t=n.CommonUtils.mergeContentful(e,t)}return delete t.font,t.named=X.BuiltInName.Hyperlink,t},f=[],p=t.length;for(let n=0;n<p;n++){let i=t[n],o=null,s=i.value,u=s===void 0?r:s,p;if(u!==null)if(u.isIHyperlink)p={...u._p},o=u.getTextToDisplay();else if(typeof u==`string`)p={address:u};else if(u.address||u.textToDisplay){let e=u,t={...e};delete t.textToDisplay,p=t.address?t:null,o=e.textToDisplay??null}else p=null;else p=null;if(c===l&&(l=c.clone()),p!==null||c.size()>0){if(o&&r){let t=e.isDataColumn;Qw(e,Ya(o,{majorStart:t?i.colStart:i.rowStart,majorEnd:t?i.colEnd:i.rowEnd,minorStart:t?i.rowStart:i.colStart,minorEnd:t?i.rowEnd:i.colEnd},t),void 0,null,{isHyperlink:!0})}p===null?e.getRangedEntries(a.hyperlinkSpatial,[i],{onEntry:(e,t)=>(l.insertNonOverlapping({...t,value:p}),t.value)}):(l.insertNonOverlapping({...i,value:p}),f.push({...i,value:d}))}}e.invalidateUsedCoords(),e.updateState({hyperlinkSpatial:l}),f.length>0&&Yw(e,f),e.commitAndAutoSelect(s,o,i?.autoSelect,{viewAfter:{ranges:t}})}catch(e){throw s.rollback(),e}}function Yw(e,t,r,i,a=!1){let s=i?.description??(0,n.messageKey)(`op.updateStyle`);e.protectionCheck(()=>[`formatCells`],t,s);let c=e.beginCommit({description:s}),l=my(t);try{let s=e.getState();if(!s)return;let u=c.getId(),d=e.getEntireCoords(),f=e.getEntireCoords,p=s.borderSpatial.clone(u),m=s.fillSpatial.clone(u),h=s.contentSpatial.clone(u),g=s.continuousFillSpatial,_=s.dateFormatSpatial,v=e.styles,y=function(e){return(t,n,r=!1)=>{let i=null,a=Pg(n,()=>i||(i=Xg(void 0,e,t,t.getCoords()),i)),o=t.cloneWithUpdate(a,r);return o.isEmpty()&&!o.getUpdateProperties()?null:o}}(v),b=(e,t)=>{if(a&&e.value&&e.value.getProperties()?.numberFormat)return e;let r=n.CoordUtils.sanitizeRange(e),i=e.value??new rg(v,f,r),o=t.value,s=o?o.getUpdateProperties()??o.getProperties():null,c=i.cloneWithUpdate(s);return c.isEmpty()&&(c=null),{...t,value:c}},x=e=>{let t=!g.isEmpty(),r=!_.isEmpty(),i=h.search(e),a=[],c=[];for(let t=0;t<i.length;t++){let r=i[t],s=r.value?r.value._p:null;if(!s)continue;let l=n.CoordUtils.intersectRanges(r,e),u=s.alignment?.horizontal;u!==o.HorizontalAlignment.CenterContinuous&&u!==o.HorizontalAlignment.Fill||a.push({...l,value:y(new rg(v,f,l),{alignment:{horizontal:u}})});let d=s.numberFormat;typeof d==`number`&&(d=Kc(d)),d&&(Mr(d)||Nr(d))&&c.push({...l,value:d})}if(t||a.length){g===s.continuousFillSpatial&&(g=g.clone()),g.insertNonOverlapping({...e,value:null});for(let e=0;e<a.length;e++)g.insertNonOverlapping(a[e])}if(r||c.length){_===s.dateFormatSpatial&&(_=_.clone()),_.insertNonOverlapping({...e,value:null});for(let e=0;e<c.length;e++)_.insertNonOverlapping(c[e])}},S=t.length;for(let i=0;i<S;i++){let a=t[i],o=a.value,s=o===void 0?r:o;if(typeof s==`function`){let t={colStart:Math.max(a.colStart-1,d.colStart),rowStart:Math.max(a.rowStart-1,d.rowStart),colEnd:Math.min(a.colEnd+1,d.colEnd),rowEnd:Math.min(a.rowEnd+1,d.rowEnd)},r=e.composeDirectStyleView(t,{border:p,fill:m,content:h}),i=(e,t)=>{let r=e.value??new rg(v,f,n.CoordUtils.sanitizeRange(e)),i=y(r,s);return i&&i.isEmpty()&&(i=null),{...t,value:i}},o=y(new rg(v,f,a),s,!0);o?._p?.border&&FD(o,a,r,y,d),r.insertNonOverlapping({...a,value:o},{onIntersect:i}),ID(r,p,m,h,t),x(t);continue}let c=y(new rg(v,f,a),s,!0);if(c===null){let e={...a,value:null};p.insertNonOverlapping(e,{onIntersect:b}),m.insertNonOverlapping(e,{onIntersect:b}),h.insertNonOverlapping(e,{onIntersect:b})}else{let e=c.splitByFeature();e.border&&(e.border?._p?.border&&FD(e.border,a,p,y,d),p.insertNonOverlapping({...a,value:e.border},{onIntersect:b})),e.fill&&m.insertNonOverlapping({...a,value:e.fill},{onIntersect:b}),e.content&&h.insertNonOverlapping({...a,value:e.content},{onIntersect:b})}x(a)}if(e.invalidateUsedCoords(),e.updateState({borderSpatial:p,fillSpatial:m,contentSpatial:h,continuousFillSpatial:g,dateFormatSpatial:_}),i?.autoFit){let n=typeof i.autoFit==`boolean`?Uw:i.autoFit;e.autoFit(t,n)}e.notify(`onStyleChange`),a?c.commit({forceAmend:!0}):e.commitAndAutoSelect(c,l,i?.autoSelect,{viewAfter:{ranges:t}})}catch(e){throw c.rollback(),e}}function Xw(e,r,i=null){if(e.protectionCheck(Ww,r),r.length===1&&n.CoordUtils.isSingleCell(r[0]))return;let a=t.IRange.AxisSelection.Both;i?.axes?a=i.axes:i===t.IRange.AxisSelection.Row?a=t.IRange.AxisSelection.Row:i===t.IRange.AxisSelection.Column&&(a=t.IRange.AxisSelection.Column);let o=i?.discardMultipleValues??!1,s=my(r),c=e.getSelection().getCoords(),l=null,u=e.beginCommit({description:i?.description??(0,n.messageKey)(`op.merge`)}),d=r[0];try{let f=e.getMerges(r);if(ty(r)||f.length>0){let t=n.CoordUtils.unionRangesArrays(f),i=n.CoordUtils.unionRangesArrays(r);if(!(!t&&!i||t&&i&&n.CoordUtils.isRangeWithinRange(t,i)))throw console.warn((0,n.t)(`error.sheet.mergeOverlapping`),r),new n.ExpectedError((0,n.t)(`error.sheet.mergeOverlapping`));Zw(e,f)}let p=e.createSparseBuilder({axis:t.IRange.Axis.Column}),m=[],h=[],g=[];try{let i=e.getEntireCoords(),u=e.getState().contentfulSpatial,f=null;for(let e=0;e<r.length;e++)f=n.CoordUtils.unionRanges(f,r[e]);let _=e.composeDirectStyleView(f??void 0),v=!1,y=t=>{let r={rowIndex:t.rowStart,colIndex:t.colStart},i=null;if(v){let e=u.search(t),a=e.length,s=[];for(let r=0;r<a;r++){let i=n.CoordUtils.intersectRanges(e[r],t);if(i){for(let e=i.rowStart;e<=i.rowEnd;e++)for(let t=i.colStart;t<=i.colEnd;t++)s.push({rowIndex:e,colIndex:t});if(s.length>1&&!o)throw new n.TypedError((0,n.t)(`error.sheet.mergeMultipleValues`),`discardMultipleValues`)}}if(s.length>0){let e=s[0];for(let t=1;t<s.length;t++){let n=s[t];(n.rowIndex<e.rowIndex||n.rowIndex===e.rowIndex&&n.colIndex<e.colIndex)&&(e=n)}e.rowIndex===r.rowIndex&&e.colIndex===r.colIndex||(i=e);for(let t=0;t<s.length;t++){let n=s[t];n===e||n.rowIndex===r.rowIndex&&n.colIndex===r.colIndex||g.push({rowIndex:n.rowIndex,colIndex:n.colIndex,update:null})}}}i||=r;let a=null,s=null,c=null,l=null,f=null,p=null,y=null;Gw.colStart=t.colStart,Gw.rowStart=t.rowStart,Gw.colEnd=t.colStart,Gw.rowEnd=t.rowStart;let b=_.search(Gw);if(b.length>0){y=b[0].value?.getPropertiesAt(t.rowStart,t.colEnd,null);let e=y?.border;a=e?.left??null,s=e?.top??null,f=e?.right??null,p=e?.bottom??null}if(Gw.colStart=t.colEnd,Gw.colEnd=t.colEnd,b=_.search(Gw),b.length>0){let e=b[0].value?.getPropertiesAt(t.rowStart,t.colEnd,null)?.border;e&&e.right&&(c=e.right)}if(Gw.colStart=t.colStart,Gw.colEnd=t.colStart,Gw.rowStart=t.rowEnd,Gw.rowEnd=t.rowEnd,b=_.search(Gw),b.length>0){let e=b[0].value?.getPropertiesAt(t.rowEnd,t.colStart,null)?.border;e&&e.bottom&&(l=e.bottom)}if(!c||!l){Gw.colStart=t.colEnd,Gw.colEnd=t.colEnd,Gw.rowStart=t.rowEnd,Gw.rowEnd=t.rowEnd,b=_.search(Gw);let e=b?.[0];if(e){let n=e.value?.getPropertiesAt(t.rowEnd,t.colEnd,null)?.border;n&&(c||=n.right??null,l||=n.bottom??null)}}let x=!n.CoordUtils.isEqualCells(i,r);if(x){Gw.colStart=i.colIndex,Gw.colEnd=i.colIndex,Gw.rowStart=i.rowIndex,Gw.rowEnd=i.rowIndex;let e=_.search(Gw);e.length>0&&(y=e[0].value?.getPropertiesAt(i.rowIndex,i.colIndex,null)??y)}if(m.push({...t,value:null}),m.push({...t,value:{...y,border:{top:s,left:a,right:c??f,bottom:l??p,horizontal:null,vertical:null}}}),x){let t=e.getRange(i).getCell();g.push({rowIndex:r.rowIndex,colIndex:r.colIndex,update:t}),g.push({rowIndex:i.rowIndex,colIndex:i.colIndex,update:null})}h.push(t),d=n.CoordUtils.unionRanges(d,t)},b=[...r].sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Column)),x=b.length;for(let r=0;r<x;r++){let o=b[r];if(!n.CoordUtils.isSingleCell(o)){if(l||!c||!n.CoordUtils.isCellWithinRange(c.cell,o)||c.cell.rowIndex===o.rowStart&&c.cell.colIndex===o.colStart||(l={...s,cell:{rowIndex:o.rowStart,colIndex:o.colStart}}),v=u.search(o).length>0,e.validateOrRemoveOverlaps(o,`merge`),o.colStart<i.colStart||o.rowStart<i.rowStart||o.colEnd>i.colEnd||o.rowEnd>i.rowEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.mergeOob`));if(a===t.IRange.AxisSelection.Column){let e=o.rowEnd===i.rowEnd?Math.max(1,i.rowEnd):o.rowEnd;for(let t=o.rowStart;t<=e;t++)y({...o,rowStart:t,rowEnd:t})}else if(a===t.IRange.AxisSelection.Row){let e=o.colEnd===i.colEnd?Math.max(1,i.colEnd):o.colEnd;for(let t=o.colStart;t<=e;t++)y({...o,colStart:t,colEnd:t})}else y(o)}}g.sort((e,t)=>e.colIndex-t.colIndex||e.rowIndex-t.rowIndex);let S=g.length;for(let e=0;e<S;e++){let t=g[e];p.pushAt(t.rowIndex,t.colIndex,t.update)}p.apply(),e.indexMerges(h),Yw(e,m),e.updateState({})}catch(e){throw e.type?new n.TypedError(e.message??`Unable to merge`,e.type):new n.ExpectedError(e.message??`Unable to merge`)}l&&(s=l,e.getSelection().updateCoords(l)),u.commit({viewAfter:{view:e.getView(),selection:s,merges:r,ranges:r,selectOptions:i?.autoSelect}}),e.autoSelect(i?.autoSelect??!1,s)}catch(e){throw u.rollback(),e}}function Zw(e,t,r){if(e.protectionCheck(Ww,t),ty(t))throw new n.ExpectedError((0,n.t)(`error.sheet.unmergeOverlapping`));if(!e.getState())return;let i=n.CoordUtils.unionRangesArrays(t),a=my(t),o=e.beginCommit({description:r?.description??(0,n.messageKey)(`op.unmerge`)}),s=e.stateFor(o).mergeSpatial,c=[];try{let l=t.length;for(let e=0;e<l;e++){let r=t[e],a=s.search(r),o=a.length;for(let e=0;e<o;e++){let t=a[e];if(!n.CoordUtils.isSingleCell(r)&&!n.CoordUtils.isRangeWithinRange(t,i))throw new n.ExpectedError((0,n.t)(`error.sheet.unmergePartial`));c.push(t)}}if(c.length===0)return void o.rollback();e.indexMerges(null,c),e.commitAndAutoSelect(o,a,r?.autoSelect,{viewAfter:{merges:t,ranges:t}})}catch(e){throw o.rollback(),e}}function Qw(e,r,i,a=void 0,o=null){if(!r)return;let s=o?.isCell??!1,c=o?.isHyperlink??!1,l=r.tuples,u=r.bounds,d=null,f=e.isDataColumn,p=f?t.IRange.Axis.Column:t.IRange.Axis.Row,m=e.getProtection().isLocked(),h=e.getProtection().isFormatCellsAllowed(),g=e.strings,_=u.majorStart,v=u.majorEnd,y=u.minorStart,b=u.minorEnd,x={colStart:f?_:y,rowStart:f?y:_,colEnd:f?v:b,rowEnd:f?b:v};(a??=((t,r)=>{e.validateCoords(t,r??(0,n.t)(`error.sheet.oobRange`))}))(x);let S={[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.Table]:!1},C=!1,w=!1;m&&e.hasRangedEntries(`protectedRanges`,x)&&(S[q.Type.Unlock]=!1,C=!0,w=!0),e.hasRangedEntries(`mergeSpatial`,x)&&(S[q.Type.Merge]=!1,C=!0);let T=e.beginCommit({description:i?.description??(0,n.messageKey)(`op.updateCells`),viewAfter:w?{skipProtectionCheck:!0}:void 0}),E=e.rangeStateIterator({bounds:x,axis:p,searchTypes:S}),D=E.next(),O=-1,k=-1,A=-1,j=-1,M=null;if(!D.done){let e=D.value,t=e.start,n=e.end;O=f?t.colIndex:t.rowIndex,k=f?n.colIndex:n.rowIndex,A=f?t.rowIndex:t.colIndex,j=f?n.rowIndex:n.colIndex,M=e.intersection}let N=(e,t)=>{do{if(!M||e<=A&&t<A)return null;if(e>=O&&t>=A&&e<=k&&t<=j)return M;if(D=E.next(),D.done)M=null,N=null,C=!1;else{let e=D.value;O=f?e.start.colIndex:e.start.rowIndex,k=f?e.end.colIndex:e.end.rowIndex,A=f?e.start.rowIndex:e.start.colIndex,j=f?e.end.rowIndex:e.end.colIndex,M=e.intersection}}while(M);return M},P=e.stateFor(T),F=P.cellValuesGrid.clone(),I=P.calcGrid.clone(),L=P.spillSpatial.clone(),ee=P.pendingSpatial.clone(),te=P.calcErrorsSpatial.clone(),R=P.errorSpatial,ne=P.contentfulSpatial.clone(),z=eo(f),B=eo(f),re=eo(f,(e,t)=>{if(e===t)return t}),ie=eo(f,(e,t)=>{if(e===t)return t}),ae=eo(f,(e,t)=>{if(e===t)return t}),oe=[],se=null,ce=null;!1!==i?.textParser&&(ce={ignoreQuotePrefix:!1,parse:null,...i&&!0!==i.textParser?i.textParser:{}},se=new TD(g,null,e.cellOptions));let le=[],ue=e.runtime,de=new Map,fe=kD,pe,me=!1,he=(e,r,i)=>{let a=N?.(r,i);if(a?.merge){let e=a.merge.getCoords(),t=f?e.colStart:e.rowStart,n=f?e.rowStart:e.colStart;if(t!==r||n!==i)return}let o=a?.contentStyle;if(pe!==o&&(pe=o,me=!1,o)){let e=o.getPropertiesAt(0,0,null)?.numberFormat;e&&(me=!!(l=e)&&(l===49||l===`@`||typeof l!=`number`&&(Ec().getFormatInfo(l)?.isText??!1)))}var l;if(s&&e&&e.isICell){let t=e;if(t.isTopLeft()){let e=t.getSpans();oe.push({colStart:f?r:i,rowStart:f?i:r,colEnd:(f?r:i)+e.width-1,rowEnd:(f?i:r)+e.height-1})}}let u=qS(ue,e,me?null:ce,de);if(u===void 0)return;let d=u.value;if(typeof d==`string`&&d.length>t.Scalar.MAX_TEXT_LENGTH&&(d=d.slice(0,t.Scalar.MAX_TEXT_LENGTH)),u.stringToParse){Kw[0].colIndex=f?r:i,Kw[0].rowIndex=f?i:r,Kw[1]=d,Kw[2]=a,se.setState(Kw);let e=ce?.parse(u.stringToParse,se.context),t=qS(ue,e,ce,de,!0);if(se.clear(),t===null)return t;t!==void 0&&(u={...t})}if(m){let t=!1,r=!1,i=a?.unlock;if(i)if(Array.isArray(i)){let e=i.length;for(let n=0;n<e;n++){if(i[n].isUnlocked()){t=!0;break}r=!0}}else i.isUnlocked()?t=!0:r=!0;if(!t){let t=r?(0,n.t)(`error.sheet.protectedRangeLocked`):(0,n.t)(`error.sheet.protectedSheet`);if(e===null||u.value!==void 0||!h&&u.style!==void 0)throw new n.ExpectedError(t)}}if(!c){let e=u.style;e===void 0||e===null&&!s||re.append(r,i,e);let t=u.hyperlink;t===void 0||t===null&&!s||ie.append(r,i,t)}let p=u.formula;return p===void 0||p===null&&!s||ae.append(r,i,p),d},ge=-1,_e=-1;try{let r=l.length;for(let e=0;e<r;e++){let r=l[e],i=r[0];if(ge>=i)throw new _i.OutOfOrderError(`Duplicate or out of order major indices: {${i}}.`);if(ge=i,_e=-(2**53-1),i<_||i>v)throw new n.OutOfBoundsError(`Provided major bounds is invalid`);let a=r[1],o=[],c=a.length;for(let e=0;e<c;e++){let r=a[e],c=r[1],l=c.length,u=r[0],d=u;if(_e>d)throw new _i.OutOfOrderError(`Duplicate or out of order minor indices: {${d}}.`);if(d<y||d+l>b+1)throw new n.OutOfBoundsError(`Provided minor bounds is invalid`);let f=[],p=typeof c.at==`function`;for(let e=0;e<l;e++){let n=p?c.at(e):c[e],r=null;if(C||typeof n!=`number`?(C||n!==null||s)&&(r=he(n,i,d)):r=n,typeof r==`number`&&(r=oO(r)),r==null){if(r===null&&z.append(i,d),f.length>0){let e=fe(f,g);o.push([u,e]),f=[]}u=d+1}else f.push(r),t.FormulaError.isError(r)&&B.append(i,d);d++}if(_e=d,f.length>0){let e=fe(f,g);o.push([u,e]),f=null}}o.length>0&&le.push([i,o])}let a=z.done(),o=a.length;for(let e=0;e<o;e++){let t=a[e];F.delete(a[e]),ne.insertNonOverlapping({...t,value:null}),I.remove(t)}let c=AD(le,f),p=c.length;for(let e=0;e<p;e++){let t=c[e],n=L.search(t),r=n.length;for(let e=0;e<r;e++){let r=n[e];ww(r.rowStart,r.colStart,t)&&F.delete(r)}}let m;le.length>0&&(F.setValues(le),m={tuples:le,bounds:u});let h=ae.done();h.length>1&&(h=Na(h,t.IRange.Axis.Column,1)),(m||h.length>0)&&I.setInputs(m,h);for(let e=0;e<p;e++)ne.insertNonOverlapping(c[e]);let S=re.done();S.length>0&&Yw(e,S),oe.length>0&&Xw(e,oe);let w=ie.done();w.length>0&&Jw(e,w);let E=B.done();if(!R.isEmpty()||E.length>0){R=R.clone();for(let e=0;e<o;e++)R.insertNonOverlapping({...a[e],value:null});for(let e=0;e<p;e++){let t=c[e];R.insertNonOverlapping({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,value:null})}let e=E.length;for(let t=0;t<e;t++)R.insertNonOverlapping({...E[t],value:!0})}if(e.cloneRangeStats(F),e.updateState({cellValuesGrid:F,contentfulSpatial:ne,calcGrid:I,spillSpatial:L,pendingSpatial:ee,calcErrorsSpatial:te,errorSpatial:R}),i?.autoFit){let t=typeof i.autoFit==`boolean`?Uw:i.autoFit;e.autoFit([x],t)}d={ranges:[x]},e.addEvent(`data`,x),e.commitAndAutoSelect(T,d,i?.autoSelect,{viewAfter:{formulas:[x],ranges:[x]}})}catch(e){throw T.rollback(),e}}function $w(e,t,r,i,a){if(e.isEmpty())return;let o=e.search(t),s=o.length;if(s===0)return;let c=new Set;for(let e=0;e<s;e++){let t=o[e].value;t!==void 0&&c.add(t)}let l=a?r.rowStart:r.colStart,u=a?r.rowEnd:r.colEnd;for(let o of c){let s=e.getCoords(o);if(!s)continue;let c=[];for(let e=0;e<s.length;e++){let o=n.CoordUtils.intersectRanges(s[e],t);if(!o)continue;let d=a?o.rowStart:o.colStart,f=a?o.rowEnd:o.colEnd,p=Math.ceil((l-f)/i),m=Math.floor((u-d)/i);if(m<p)continue;let h=(e,t)=>{let i=a?{...o,rowStart:e,rowEnd:t}:{...o,colStart:e,colEnd:t},s=n.CoordUtils.intersectRanges(i,r);s&&c.push(s)};if(f-d+1===i)h(d+p*i,f+m*i);else for(let e=p;e<=m;e++)e!==0&&h(d+e*i,f+e*i)}c.length!==0&&o._extendRanges(c)}}function eT(e,t){let n=e.search(t),r=n.length;if(r===0)return e;let i=new Set;for(let e=0;e<r;e++){let t=n[e].value;t!==void 0&&i.add(t)}for(let n of i){let r=e.getCoords(n);r&&(e=e.setCoords(n,gy(r,[t])))}return e}function tT(e,t,r=null,i,a=!1,o=!1){let s=null,c=(0,n.messageKey)(`op.clear`),l=!1,u=!1,d=!1,f=!1,p=!1;r===Dv.Content.Formulas?(c=(0,n.messageKey)(`op.clearFormulas`),f=!0):r===Dv.Content.Values?(c=(0,n.messageKey)(`op.clearValues`),f=!0):r===Dv.Content.Formats?(c=(0,n.messageKey)(`op.clearFormats`),l=!0,s=[`formatCells`]):r===Dv.Content.Comments?(c=(0,n.messageKey)(`op.clearComments`),d=!0):r===Dv.Content.Hyperlinks?(c=(0,n.messageKey)(`op.clearHyperlinks`),u=!0,s=[`formatCells`]):(s=[],c=(0,n.messageKey)(`op.clearAll`),f=!0,l=!0,u=!0,d=!0,p=!0),s!==null&&e.protectionCheck(()=>s,t,i?.description??c);let m=my(t),h=e.beginCommit({description:i?.description??c}),g,_=e.getState(),v=_.cellValuesGrid,y=_.calcGrid,b=_.contentfulSpatial,x=_.spillSpatial,S=_.pendingSpatial,C=_.calcErrorsSpatial,w=_.errorSpatial,T=_.rangesListenerSpatial2,E=_.conditionalFormats,D=_.dataValidations;try{let s=n.CoordUtils.sanitizeRangeArray(t);if(u&&!_.hyperlinkSpatial.isEmpty()&&Jw(e,s,null),d&&!_.commentsSpatial.isEmpty()&&qw(e,s,null),l&&(Yw(e,s,null),a||Zw(e,s)),l||f){let i=t.length;for(let s=0;s<i;s++){let i=t[s];if(!l||a||E.isEmpty()||(E=eT(E,i)),!p||a||D.isEmpty()||(D=eT(D,i)),!a){let t=e.getTables().getItems({address:i}),a=t.length;for(let e=0;e<a;e++){let a=t[e];n.CoordUtils.isRangeWithinRange(a.getRange().getCoords(),i)&&(r===Dv.Content.Formats?a.updateStyleOptions({name:null}):a.delete())}let o=e.getAutoTable();if(o){if(!n.CoordUtils.isRangeWithinRange(o.getRange().getCoords(),i))continue;o.delete()}}if(o){let e=T.search(i),t=e.length;for(let r=0;r<t;r++){let t=e[r];n.CoordUtils.isRangeWithinRange(t,i)&&(T===_.rangesListenerSpatial2&&(T=T.clone()),console.log(`cut and move listener`),T.remove(t))}}}}if(f&&(v=v.clone(),e.cloneRangeStats(v),y=y.clone(),b=b.clone(),x=x.clone(),S=S.clone(),C=C.clone(),w.isEmpty()||(w=w.clone())),l||f){let e=(e,t)=>{g||=[],e&&g.push(e),t&&g.push(t)},n=t.length;for(let r=0;r<n;r++){let n=t[r];if(f){let t=Fw(n,x,v,b,e);v.delete(n);let r={...n,value:null};b.insertNonOverlapping(r),w!==_.errorSpatial&&w.insertNonOverlapping({...n,value:null}),f&&Tw(-1,[n],[],b,x,v,void 0,void 0,e),y.remove(n),t?.()}}}e.cloneRangeStats(v),e.updateState({cellValuesGrid:v,calcGrid:y,spillSpatial:x,pendingSpatial:S,calcErrorsSpatial:C,errorSpatial:w,contentfulSpatial:b,rangesListenerSpatial2:T,conditionalFormats:E,dataValidations:D}),e.commitAndAutoSelect(h,m,i?.autoSelect,{viewAfter:{ranges:t,spills:g}})}catch(e){throw h.rollback(),e}}function nT(e,t,n,r,i){let a=n=>{let i=t+n-1,a=t+n;for(let t=0;t<e.length;t++){let n=e[t],o=r?n.rowStart:n.colStart,s=r?n.rowEnd:n.colEnd;if(o<=i&&s>=a)return!0}return!1},o=[0];for(let e=1;e<n;e++)a(e)||o.push(e);return o.push(n),i?o:o.map(e=>n-e).sort((e,t)=>e-t)}function rT(e,t){return e._withProjectedMerge(t)}function iT(e,t){return{coords:t,getCellAt:(t,n)=>e.getCell({rowIndex:t,colIndex:n})}}function aT(e){let{ctx:t,template:r,destination:i,mergesTemplate:a,filler:o,contentsOnly:s,isVertical:c,isForward:l,templateStart:u,templateEnd:d,templateSize:f,fillerOptions:p,scanFills:m,safeCreateFillAt:h}=e,g=t.getState(),_=t.getAutoFillPreviewCache(),v;return _&&_.state===g&&_.isForward===l&&_.filler===o&&_.fillerOptions===p&&n.CoordUtils.isEqualRanges(_.template,r)?v=_.seriesByLine:(v=new Map,t.setAutoFillPreviewCache({state:g,template:r,isForward:l,filler:o,fillerOptions:p,seriesByLine:v})),{coords:i,getCellAt:(e,i)=>{let p={rowIndex:e,colIndex:i};if(n.CoordUtils.isCellWithinRange(p,r))return t.getCell(p);let g=null;if(a.length>0){let t=c?e:i,n=c?i:e,r=u+((t-u)%f+f)%f;for(let e=0;e<a.length;e++){let i=a[e],o=c?i.rowStart:i.colStart,s=c?i.rowEnd:i.colEnd,l=c?i.colStart:i.rowStart,u=c?i.colEnd:i.rowEnd;if(o<=r&&r<=s&&l<=n&&n<=u){let e=t-(r-o);g=c?{rowStart:e,rowEnd:e+(s-o),colStart:l,colEnd:u}:{rowStart:l,rowEnd:u,colStart:e,colEnd:e+(s-o)};break}}}if(g&&(e!==g.rowStart||i!==g.colStart))return rT(t.createCell(null,p),g);let _=(e=>{if(v.has(e))return v.get(e);let t={...r};c?t.colStart=t.colEnd=e:t.rowStart=t.rowEnd=e;let n=m(t),i=n.length>0?n[n.length-1]:null,a=i?h(o,i.values):null;return v.set(e,a),a})(c?p.colIndex:p.rowIndex);if(!_)return t.createCell(null,p);let y=c?p.rowIndex:p.colIndex,b=l?y-u:u-y+f-1,x=_(b),S={...p},C=b%f;S[c?`rowIndex`:`colIndex`]=l?C+u:d-C;let w=t.getCell(S),T={value:w.getFormula()===null?x:null,style:w.getStyle()},E=s?t.createCell(T,p):t.createCell(null,p).createCell(T);return g?rT(E,g):E}}}function oT(e,r,i,a){let{direction:o,amount:s}=ED(r,i),c=!0===a?.preview;if(s===0)return!!c&&iT(e,i);if(s<0)return c?iT(e,i):sT(e,r,i,o,a);let l=o===t.IRange.Direction.Up||o===t.IRange.Direction.Down,u=e.getSelection().getCoords(),d=[],f=a?.contentsOnly,p=a?.filler??xw.Types.Series,m={...a?.fillerOptions},h=null,g=null;try{let v={...r},y={...r},b=[r],x=e.getMerges(b);if(x.length>0&&!n.CoordUtils.isRangeWithinRange(n.CoordUtils.unionRangesArrays(x),r))throw new n.ExpectedError((0,n.t)(`error.sheet.autofillOverlapMerge`));if(o===t.IRange.Direction.Left)v.colStart=y.colStart=r.colStart-s,v.colEnd=r.colStart-1;else if(o===t.IRange.Direction.Right)v.colEnd=y.colEnd=r.colEnd+s,v.colStart=r.colEnd+1;else if(o===t.IRange.Direction.Up)v.rowStart=y.rowStart=r.rowStart-s,v.rowEnd=r.rowStart-1;else{if(o!==t.IRange.Direction.Down)throw new n.ExpectedError(n.CommonMessages.MESSAGE_ERROR_INVALID_ARG(o));v.rowEnd=y.rowEnd=r.rowEnd+s,v.rowStart=r.rowEnd+1}if(x.length>0){let e=o===t.IRange.Direction.Down||o===t.IRange.Direction.Right,i=l?r.rowStart:r.colStart,a=(l?r.rowEnd:r.colEnd)-i+1,c=nT(x,i,a,l,e),u=s%a;if(!c.some(e=>e%a===u)){let e=a;for(let t=0;t<c.length;t++){let n=c[t];n>0&&n<e&&(e=n)}throw new n.ExpectedError((_=e,(0,n.t)(`error.sheet.autofillMultiple`,{modulus:_})))}}let S=l?`rowIndex`:`colIndex`,C=l?`colIndex`:`rowIndex`,w=l?r.rowEnd+1-r.rowStart:r.colEnd+1-r.colStart,T=l?r.rowStart:r.colStart,E=l?r.rowEnd:r.colEnd,D=l?i.rowStart:i.colStart,O=l?i.rowEnd:i.colEnd,k=l?o===t.IRange.Direction.Down:o===t.IRange.Direction.Right;k||(m.reverse=!0);let A=k?E+1:D,j=k?O:T-1,M=j-A+1;d.push(n.CoordUtils.unionRanges(v,r));let N=n=>{let r=[],i=null,a=e.cellIterator({bounds:n,reverse:!k,axis:l?t.IRange.Axis.Column:t.IRange.Axis.Row,searchTypes:{[q.Type.DateFormat]:!1}}),o=a.next();for(;!o.done;){let e=o.value.context,t=e.getCell(),n=e.getCoords();i?.oppositeIndex!==n[C]&&(i={oppositeIndex:n[C],lastIndex:k?T-1:E+1,values:[]},r.push(i));let s=n[S];if(k)for(let e=i.lastIndex+1;e<s;e++)i.values.push(null);else for(let e=i.lastIndex-1;e>s;e--)i.values.push(null);i.lastIndex=s;let c=t.getDate();if(c)i.values.push(c);else{let e=t.getValue();i.values.push(e)}o=a.next()}let s=r.length;for(let e=0;e<s;e++){let t=r[e].values;for(let e=t.length;e<w;e++)t.push(null)}return r},P=(e,t)=>{if(e.canFill(t[0],[])){let n=e.createFillAt(t,m);if(n)return n}return xw.Types.Copy.createFillAt(t)};if(c)return aT({ctx:e,template:r,destination:i,mergesTemplate:x,filler:p,contentsOnly:!0===f,isVertical:l,isForward:k,templateStart:T,templateEnd:E,templateSize:w,fillerOptions:a?.fillerOptions,scanFills:N,safeCreateFillAt:P});h=e.beginCommit({description:(0,n.messageKey)(`op.autoFill`),operation:{name:`autoFill`,params:[r,i,a]}});let F=N(r),I=e.createSparseBuilder({axis:l?t.IRange.Axis.Column:t.IRange.Axis.Row}),L=F.length;F.sort((e,t)=>e.oppositeIndex-t.oppositeIndex);for(let t=0;t<L;t++){let n=t,r=P(p,F[n].values),i=F[n].oppositeIndex,a=k?w:w+M-1,o=e.runtime.isDate1904();for(let e=0;e<M;e++){let t=r(a+(k?e:-e));ir(t,!0)&&(t=mr(t,o));let n=A+e;l?I.pushAt(n,i,t):I.pushAt(i,n,t)}}tT(e,[v],a?.contentsOnly?Dv.Content.Formats:void 0),I.apply();let ee=e.getMerges([y]),te=n.CoordUtils.unionRangesArrays(ee);if(ee.length>0&&!n.CoordUtils.isRangeWithinRange(te,y))throw new n.ExpectedError((0,n.t)(`error.sheet.autofillOverlapMerge`));if(ee.length>0){let n=[],i=ee.length;if(l){let e=r.rowEnd-r.rowStart+1,a=o===t.IRange.Direction.Up?-e:e;for(let e=0;e<i;e++){let t=ee[e],r=t.rowEnd-t.rowStart+1;for(let e=1;;e++){let i=t.rowStart+e*a,o=i+r-1;if(i<v.rowStart||o>v.rowEnd)break;n.push({colStart:t.colStart,rowStart:i,colEnd:t.colEnd,rowEnd:o})}}}else{let e=r.colEnd-r.colStart+1,a=o===t.IRange.Direction.Left?-e:e;for(let e=0;e<i;e++){let t=ee[e],r=t.colEnd-t.colStart+1;for(let e=1;;e++){let i=t.colStart+e*a,o=i+r-1;if(i<v.colStart||o>v.colEnd)break;n.push({colStart:i,rowStart:t.rowStart,colEnd:o,rowEnd:t.rowEnd})}}}Xw(e,n)}let R=e.getState(),ne={},z={};z.borderSpatial=R.borderSpatial,z.fillSpatial=R.fillSpatial,z.contentSpatial=R.contentSpatial,z.continuousFillSpatial=R.continuousFillSpatial,z.dateFormatSpatial=R.dateFormatSpatial;let B=r,re=v;if(!k){let e=(l?y.rowEnd+1-y.rowStart:y.colEnd+1-y.colStart)%w,t=l?`rowStart`:`colStart`,n=l?`rowEnd`:`colEnd`;e!==0&&(re={...v,[n]:Math.min(v[n],v[t]+e)},B={...r,[t]:r[n]-e+1},v[t]=v[t]+e)}let ie=Object.keys(z),ae=ie.length;for(let e=0;e<ae;e++){let t=ie[e],n=z[t].createCopiedEntries(B,re),r=R[t].clone(),i=n.removes,a=i.length;for(let e=0;e<a;e++)r.remove(i[e]);r.load(n.inserts),ne[t]=r}if(k){let t=e.getTables().getItems({address:{rowIndex:r.rowEnd,colIndex:r.colEnd}});if(t.length===1){let e=t[0],n=e.getRange().getCoords();(v.rowEnd>n.rowEnd||v.colEnd>n.colEnd)&&e.resize({colStart:n.colStart,rowStart:n.rowStart,colEnd:Math.max(n.colEnd,v.colEnd),rowEnd:Math.max(n.rowEnd,v.rowEnd)})}}if(!a?.contentsOnly){let e=l?{colStart:r.colStart,colEnd:r.colEnd,rowStart:A,rowEnd:j}:{rowStart:r.rowStart,rowEnd:r.rowEnd,colStart:A,colEnd:j};$w(R.conditionalFormats,r,e,w,l),$w(R.dataValidations,r,e,w,l)}let oe=R.calcGrid.clone();oe.autoFill(r,v),ne.calcGrid=oe,e.updateState(ne),g={...u,ranges:d},h.commit({viewBefore:{view:e.getView(),selection:my([r]),selectOptions:a?.autoSelect},viewAfter:{view:e.getView(),selection:g,selectOptions:a?.autoSelect}}),e.autoSelect(a?.autoSelect??!1,g)}catch(e){throw h?.rollback(),e}var _;return!0}function sT(e,r,i,a,o){let s={...r};if(a===t.IRange.Direction.Down)s.rowStart=i.rowEnd+1;else if(a===t.IRange.Direction.Up)s.rowEnd=i.rowStart-1;else if(a===t.IRange.Direction.Right)s.colStart=i.colEnd+1;else{if(a!==t.IRange.Direction.Left)throw new n.ExpectedError(n.CommonMessages.MESSAGE_ERROR_INVALID_ARG(a));s.colEnd=i.colStart-1}let c=e.getMerges([s]);if(c.length>0&&!n.CoordUtils.isRangeWithinRange(n.CoordUtils.unionRangesArrays(c),s))throw new n.ExpectedError((0,n.t)(`error.sheet.autofillOverlapMerge`));let l=e.getSelection().getCoords(),u={colStart:i.colStart,rowStart:i.rowStart,colEnd:i.colEnd,rowEnd:i.rowEnd},d=e.beginCommit({description:`Auto Fill`,operation:{name:`autoFill`,params:[r,i,o]}});try{tT(e,[s],o?.contentsOnly?Dv.Content.Values:void 0);let t={...l,cell:{rowIndex:Math.min(Math.max(l.cell.rowIndex,u.rowStart),u.rowEnd),colIndex:Math.min(Math.max(l.cell.colIndex,u.colStart),u.colEnd)},ranges:[u]};d.commit({viewBefore:{view:e.getView(),selection:my([r]),selectOptions:o?.autoSelect},viewAfter:{view:e.getView(),selection:t,selectOptions:o?.autoSelect}}),e.autoSelect(o?.autoSelect??!1,t)}catch(e){throw d?.rollback(),e}return!0}function cT(e,t,r,i=null){let a=null;return i===null&&e.readonly&&(i=(0,n.messageKey)(`error.sheet.readonlyRange`)),(r||i)&&(a={getOptions:r,readOnly:i}),new VE(function(e,t){if(!e)return e;let n=!1;for(let r=0;r<e.length;r++){let i=e[r]?.scope;if(i&&uD(i,t)){n=!0;break}}return n?e.map(e=>typeof e==`string`||!0===e?.isICellRange?e:lD(e,t)):e}(t,e.internal.getSheet()),e.internal,a)}function lT(e,t,r=(0,n.t)(`error.sheet.oobRange`),i=!1){if(!i&&!n.CoordUtils.isRangeWithinRange(t,e.getEntireCoords()))throw new n.OutOfBoundsError(r);let a=t.colStart,o=t.rowStart,s=t.colEnd,c=t.rowEnd;if(c<o||s<a)throw new n.ExpectedError((0,n.t)(`error.address.invalidRangeInverted`));if(!(Number.isInteger(a)&&Number.isFinite(a)&&Number.isInteger(o)&&Number.isFinite(o)&&Number.isInteger(s)&&Number.isFinite(s)&&Number.isInteger(c)&&Number.isFinite(c)))throw new n.ExpectedError((0,n.t)(`error.address.invalidRangeCoords`))}function uT(e){return e?new n.ExpectedError((0,n.t)(`error.address.noAddress`)):new n.ExpectedError(s_(e))}function dT(e,t=null,r=null,i=null){if(t&&e.isClosed)return;if(!e.isInitializing&&e.readonly)throw new n.ExpectedError(((e=(0,n.messageKey)(`op.update`))=>(0,n.t)(`error.sheet.readonlySheet`,{description:(0,n.t)(e)}))(i));r&&!Array.isArray(r)&&(r=[r]);let a=t(r),o=e.getProtection();if(o?.getProperties()){if(a.length===0)throw new n.ExpectedError((0,n.t)(`error.sheet.protectedSheet`));if(a){let e=a.length;for(let t=0;t<e;t++)if(!0!==o[a[t]])throw new n.ExpectedError(Jy())}}}function fT(e,t,r=null,i=!0,a=!1,o=!1){if(r&&e.isClosed||t==null)return n.CommonUtils.EmptyArray;let s=ou(t,e.getEntireCoords(),a?eu:tu,t=>{if(i&&typeof t==`string`){let r=(e.getNames()?.getByName(t))?.getRanges?.();if(r)return r.getCoords();let i=e.resolveRange(t);if(i&&i.getSheet()===e.internal.getSheet())return console.warn((0,n.t)(`error.sheet.addressInvalidScope`)),[i.getCoords()];throw new n.ExpectedError(`Invalid sheet reference '${t}'.`)}}),c=s.length;for(let t=0;t<c;t++){let r=s[t];if(r){if(a){let t=r.scope;if(t&&t!==e.getName())throw new n.ExpectedError((0,n.t)(`error.sheet.addressInvalidScope`))}lT(e,r,void 0,o)}}if(!r)return s;if(s.length===0)throw uT(t);return dT(e,r,s),s}function pT(e,t,r=null,i=!0){if(!t)throw new n.ExpectedError((0,n.t)(`error.address.noAddress`));let a=fT(e,t,r?e=>r(e):void 0,i);if(a.length===0)throw new n.ExpectedError(s_(t));return a[0]}var mT=class e{constructor(e,t,n){this.groupId=e,this.uuid=t,this.noShift=n}onRemove(e){}getShifted(t){if(!t.after)return null;let n=this.noShift;return n?void 0:{...t.after,value:new e(this.groupId,this.uuid,n)}}getSplit(e,t){}copyTo(t,n){return{...t,value:new e(this.groupId,this.uuid,this.noShift)}}canTile(e,t){return!1}},hT=class e{constructor(e,t,n,r,i,a,o,s,c,l){this.uuid=e,this.spatialsIds=t,this.isRanges=r,this.coords=n,this.sheet=i,this.generation=a,this.handler=o,this.handlerW=s,this.removeListener=c,this.options=l}delete(){this.removeListener()}createRangeEvent(e,t){let n=this,r,i=()=>{if(r)return r;let e=n.sheet,i=n.isRanges,a=n.coords;return t||!a||a.length===0?dD(e,e.getEntireRange().getCoords(),null,t):i?(r=e.getRanges(n.coords),r):(r=e.getRange(n.coords[0]),r)},a=e.trigger;return{getSource:i,getFrom:()=>null,getTo:()=>null,trigger:a,getTransactionId:e.getTransactionId,toString:()=>`SheetRangeEvent: ('${a}', ${i().toString()})`,timeStamp:e.timeStamp??Date.now()}}notify(e,t){let n=this.createRangeEvent(e,t),r=this.handler??this.handlerW.deref();try{r?.(n)}catch(e){console.warn(e)}this.options?.once&&this.removeListener()}processRemove(t){let n=this.spatialsIds,r=n.indexOf(t.value.uuid);console.assert(r!==-1,`invalid uuid`);let i=this.coords,a=i.slice(0,r).concat(i.slice(r+1)),o=n.slice(0,r).concat(n.slice(r+1));return new e(this.uuid,o,a,this.isRanges,this.sheet,this.generation,this.handler,this.handlerW,this.removeListener,this.options)}processShift(t){let r=this.spatialsIds.indexOf(t.value.uuid);console.assert(r!==-1,`invalid uuid`);let i=[...this.coords];return i[r]={...i[r],...n.CoordUtils.sanitizeRange(t)},new e(this.uuid,this.spatialsIds,i,this.isRanges,this.sheet,this.generation,this.handler,this.handlerW,this.removeListener,this.options)}processSplit(e){}processMerge(e){}},gT=class e{constructor(e){if(this._magicCell=null,this._adjusting=null,this._firstActiveCoords=null,this._cache={range:null,ranges:null},this._sheet=e.sheet,!this._sheet)throw Error(`Sheet is required`);this._coords=e.coords??n.CoordUtils.EmptySelection,this._emitter=new v(this),this._adjusting=null,this._shapePolicy=e.shapePolicy??`mixed`,this._navigationPolicy=e.navigationPolicy??`clear`}navigate(e,r=!1,i=!1,a=0){let o=this._coords;if(!o.cell)return this;let s=o.cell,c=o.cell;if(r&&o.ranges.length>0){let n=o.ranges[o.rangeIndex],r=o.cell;switch(e){case t.IRange.Direction.Up:c={rowIndex:r.rowIndex===n.rowStart?n.rowEnd:n.rowStart,colIndex:n.colEnd},s={rowIndex:r.rowIndex===n.rowStart?n.rowStart:n.rowEnd,colIndex:n.colStart};break;case t.IRange.Direction.Down:c={rowIndex:r.rowIndex===n.rowEnd?n.rowStart:n.rowEnd,colIndex:n.colEnd},s={rowIndex:r.rowIndex===n.rowEnd?n.rowEnd:n.rowStart,colIndex:n.colStart};break;case t.IRange.Direction.Left:c={rowIndex:n.rowEnd,colIndex:r.colIndex===n.colStart?n.colEnd:n.colStart},s={rowIndex:n.rowStart,colIndex:r.colIndex===n.colStart?n.colStart:n.colEnd};break;case t.IRange.Direction.Right:c={rowIndex:n.rowEnd,colIndex:r.colIndex===n.colEnd?n.colStart:n.colEnd},s={rowIndex:n.rowStart,colIndex:r.colIndex===n.colEnd?n.colEnd:n.colStart}}}let l=this._getRangeFromCell(c),{rowStart:u,colStart:d}=l,f=this._magicCell;if(f)switch(e){case t.IRange.Direction.Up:case t.IRange.Direction.Down:f.colIndex>=l.colStart&&f.colIndex<=l.colEnd&&(d=f.colIndex);break;case t.IRange.Direction.Left:case t.IRange.Direction.Right:f.rowIndex>=l.rowStart&&f.rowIndex<=l.rowEnd&&(u=f.rowIndex)}if(!a){let r=this._getEntireRange(),a=r.rowStart??0,o=r.rowEnd??2**53-1,s=r.colStart??0,f=r.colEnd??2**53-1;switch(e){case t.IRange.Direction.Up:u=n.SelectionTraversalUtils.traverseHiddenHeaders(this._hiddenRowsAt.bind(this),Math.max(l.rowStart-1,a),e,Math.max(a,this._hiddenRowsAt(a,!1)));break;case t.IRange.Direction.Down:u=n.SelectionTraversalUtils.traverseHiddenHeaders(this._hiddenRowsAt.bind(this),Math.min(l.rowEnd+1,o),e,Math.min(o,o-this._hiddenRowsAt(o,!0)));break;case t.IRange.Direction.Left:d=n.SelectionTraversalUtils.traverseHiddenHeaders(this._hiddenColumnsAt.bind(this),Math.max(l.colStart-1,s),e,Math.max(s,this._hiddenColumnsAt(s,!1)));break;case t.IRange.Direction.Right:d=n.SelectionTraversalUtils.traverseHiddenHeaders(this._hiddenColumnsAt.bind(this),Math.min(l.colEnd+1,f),e,Math.min(f,f-this._hiddenColumnsAt(f,!0)))}if(i)switch(e){case t.IRange.Direction.Up:case t.IRange.Direction.Down:u=this._contentfulCellFinder({...c,colIndex:this._coords.cell.colIndex},e);break;case t.IRange.Direction.Left:case t.IRange.Direction.Right:d=this._contentfulCellFinder({...c,rowIndex:this._coords.cell.rowIndex},e)}u=Math.min(Math.max(u,a),o),d=Math.min(Math.max(d,s),f)}let p=null;a&&(p={});let m={rowIndex:u,colIndex:d},h=this._getRangeFromCell(m),g={rowIndex:h.rowStart,colIndex:h.colStart};r||(this._magicCell=m);let _=this._firstActiveCoords,v=n.CoordUtils.isEqualCells(_,g)&&n.CoordUtils.isEqualCells(_,s);if(r&&!v?this.modify(g,s):this.clearAndModify(g),p)this._scrollCellCoordsIntoView(p);else{if(r&&_){let n=this._getEntireRange();if(e===t.IRange.Direction.Right&&_.colIndex===n.colEnd||e===t.IRange.Direction.Left&&_.colIndex===n.colStart||e===t.IRange.Direction.Up&&_.rowIndex===n.rowEnd||e===t.IRange.Direction.Down&&_.rowIndex===n.rowStart)return this}e===t.IRange.Direction.Left||e===t.IRange.Direction.Right?this._scrollCellCoordsIntoView({colStart:m.colIndex}):e!==t.IRange.Direction.Up&&e!==t.IRange.Direction.Down||this._scrollCellCoordsIntoView({rowStart:m.rowIndex})}return this}getCoords(){return this._coords}hasTopOrLeft(){let e=this._coords;if(e.cell.rowIndex===0||e.cell.colIndex===0)return!0;let t=e.ranges,n=t.length;for(let e=0;e<n;e++){let n=t[e];if(n.rowStart===0||n.colStart===0)return!0}return!1}getSheet(){return this._sheet}getCell(){let e=this._coords;return this._sheet.getCell(e.cell)}getRange(e){let t=this._coords,n=this._cache;if(!e&&n.range)return n.range;let r=py(t),i=this._sheet.getRange(this._localCoords(r[0]));return e||(n.range=i),i}getRanges(e){let t=this._coords,n=this._cache;if(!e&&n.ranges)return n.ranges;let r=py(t),i=this._sheet.getRanges(r,e);return e||(this._cache.ranges=i),i}updateCoords(e){let t=this._coords;if(n.CoordUtils.isEqualSelectionCoords(t,e))return this;let r=this._resolveEntireHeaderSelection(fy(e,this._coords,this._getEntireRange()));if(n.CoordUtils.isEqualSelectionCoords(t,r))return this;this._coords=r;let i=this._cache;return i.range=null,i.ranges=null,this._emitter.notify(`onChange`),this}isEntire(){let e=this._coords;if(e.ranges.length===0)return!1;let t=this._getEntireRange(),r=e.ranges,i=r.length;for(let e=0;e<i;e++){let i=r[e];if(!n.CoordUtils.isRangeWithinRange(t,i))return!1}return!0}getSelectedRuns(e){return dy(e,this._coords,this._getEntireRange())}isEquals(e){let t=this._coords,r=e.getCoords();return n.CoordUtils.isEqualSelectionCoords(t,r)}traverse(e=t.IRange.Axis.Row,r=!1,i){let a=t.IRange.Direction.Right;a=e===t.IRange.Axis.Row?r?t.IRange.Direction.Left:t.IRange.Direction.Right:r?t.IRange.Direction.Up:t.IRange.Direction.Down;let o=this._coords;if(o.ranges.length===0){if(i&&!n.CoordUtils.isSingleCell(i)){let e={ranges:[i],cell:o.cell,rangeIndex:0},t=n.SelectionTraversalUtils.findNextCellWithinSelection(e,a,this._getRangeFromCell.bind(this),this._hiddenRowsAt.bind(this),this._hiddenColumnsAt.bind(this));return this.clearAndModify(t.cell),this._scrollCellCoordsIntoView({rowStart:t.cell.rowIndex,colStart:t.cell.colIndex}),this}return this.navigate(a)}let s=this._getRangeFromCell(o.cell);if(n.CoordUtils.isEqualRangesArrays([s],o.ranges))return this.navigate(a);let c=n.SelectionTraversalUtils.findNextCellWithinSelection(o,a,this._getRangeFromCell.bind(this),this._hiddenRowsAt.bind(this),this._hiddenColumnsAt.bind(this));return this.updateCoords(c)}traverseCorners(){let e=this._coords;if(e.ranges.length===0)return this;let r=e.ranges[e.rangeIndex],i=this._hiddenRowsAt.bind(this),a=this._hiddenColumnsAt.bind(this),o=n.SelectionTraversalUtils.traverseHiddenHeaders(i,r.rowStart,t.IRange.Direction.Down,r.rowEnd),s=n.SelectionTraversalUtils.traverseHiddenHeaders(i,r.rowEnd,t.IRange.Direction.Up,r.rowStart),c=n.SelectionTraversalUtils.traverseHiddenHeaders(a,r.colStart,t.IRange.Direction.Right,r.colEnd),l=n.SelectionTraversalUtils.traverseHiddenHeaders(a,r.colEnd,t.IRange.Direction.Left,r.colStart),{rowIndex:u,colIndex:d}=e.cell,f;return f=u===o&&d===c?{rowIndex:o,colIndex:l}:u===o&&d===l?{rowIndex:s,colIndex:c}:u===s&&d===c?{rowIndex:s,colIndex:l}:{rowIndex:o,colIndex:c},this.updateCoords({ranges:e.ranges,rangeIndex:e.rangeIndex,cell:f}),this._scrollCellCoordsIntoView({rowStart:f.rowIndex,colStart:f.colIndex}),this}clearHidden(){let e=this.getRanges().getVisible();if(!e)return this;let t=e.getCoords();if(t.length===0)return this;let r=this._coords.cell,i=this._hiddenRowsAt(r.rowIndex)>0||this._hiddenColumnsAt(r.colIndex)>0?{rowIndex:t[0].rowStart,colIndex:t[0].colStart}:r,a=0;for(let e=0;e<t.length;e++)if(n.CoordUtils.isCellWithinRange(i,t[e])){a=e;break}return this.updateCoords({ranges:t,rangeIndex:a,cell:i})}_resolveEntireHeaderSelection(e){let t=e.rangeIndex,n=t>=0?e.ranges[t]:null;if(!n)return e;let r=this._getEntireRange(),i=aD([n],r,!0),a=oD([n],r,!0);if(i===a)return e;let o=e.cell;if(i&&o.rowIndex!==n.rowStart||a&&o.colIndex!==n.colStart)return e;let s=this._sheet.getView();if(!s)return e;let c=(i?this._entireColumnsToTableBody(n):null)??n,l=s.getTopLeftCell(),u=i?Math.max(c.rowStart,Math.min(l.rowIndex,c.rowEnd)):o.rowIndex,d=a?Math.max(c.colStart,Math.min(l.colIndex,c.colEnd)):o.colIndex;return c===n&&u===o.rowIndex&&d===o.colIndex?e:Object.freeze({cell:Object.freeze({...o,rowIndex:u,colIndex:d}),ranges:c===n?e.ranges:e.ranges.map((e,n)=>n===t?c:e),rangeIndex:t})}_entireColumnsToTableBody(e){let t=this._sheet.getColumnHeaders(),n=t.at(e.colStart)?.getColumn();if(!n)return null;let r=n.getTable();for(let n=e.colStart+1;n<=e.colEnd;n++)if(t.at(n)?.getColumn()?.getTable()!==r)return null;let i=r.getDataRange().getCoords();return!i||i.rowStart>i.rowEnd?null:Object.freeze({...e,rowStart:i.rowStart,rowEnd:i.rowEnd})}_isEntireRange(e){e||=py(this._coords)[0];let t=this._sheet.getEntireRange().getCoords();return oD([e],t,!0)&&aD([e],t,!0)}async selectRegion(e){let r=e?.entireRegion??!1,i=e?.contentOnly??!1,a=e?.axis,o=this._sheet;if(a!==void 0){let e=this._coords,r=o.getCell(e.cell).getTable(),i=(r?r.getDataRange():o.getEntireRange()).getCoords(),s=e.ranges.length&&e.rangeIndex>=0?e.ranges[e.rangeIndex]:n.CoordUtils.cellToRange(e.cell),c=a===t.IRange.Axis.Column||a===t.IRange.AxisSelection.Both,l=a===t.IRange.Axis.Row||a===t.IRange.AxisSelection.Both,u={rowStart:c?i.rowStart:s.rowStart,rowEnd:c?i.rowEnd:s.rowEnd,colStart:l?i.colStart:s.colStart,colEnd:l?i.colEnd:s.colEnd},d=e.rangeIndex;return this._setSelectionRanges(e=>e.length?e.map((e,t)=>t===d?{...e,...u}:e):[u]),o.getRange(u)}let s=null;if(r)s=o.getEntireRange();else{let e=this._coords;if(this._isEntireRange()){let t=o.getRange(e.cell);s=t.getSurrounding(),s.isEntireRange()&&(s=t)}else s=this.getRange().getSurrounding({contentOnly:i})}return s&&await s.select(),s}clear(){this._setSelectionRanges(n.CoordUtils.EmptyRanges)}modify(e,t,n){if(this._shapePolicy===`cell`)return;let r=this._coords,i=this._rangesFromCellOptional(r,e,t??r.cell);if(!i)return;let a=r.rangeIndex;this._setSelectionRanges(e=>e.length?e.map((e,t)=>a===t?{...e,...i}:e):[i]),n&&i&&this._setSelectionCell({colIndex:i.colStart,rowIndex:i.rowStart})}append(e,t=e,r){if(this._shapePolicy!==`ranges`&&this._shapePolicy!==`mixed`||!e||this._isCellOutOfBounds(e)||this._isCellOutOfBounds(t))return;let i=this._coords,a=this._cellToRangeActual(e,t);if(!a)return;let o=i.ranges.length>0?[...i.ranges]:[this._cellToRangeActual(i.cell,i.cell)];o.push(a);let s={ranges:o,cell:{rowIndex:a.rowStart,colIndex:a.colStart,...r},rangeIndex:o.length-1};n.CoordUtils.isEqualSelectionCoords(s,i)||this.updateCoords(s)}clearAndModify(e,t,n){let r=this._coords;e={...r.cell,...e},t??=e;let i=this._rangesFromCellOptional(r,e,t);if(!i)return;let a={rowIndex:i.rowStart,colIndex:i.colStart},o={...a,...n};this._navigationPolicy===`modify`?this.modify(a,a):(this._firstActiveCoords=o,this.clear()),this._setSelectionCell(o)}setAdjusting(e){this._adjusting=e,this._emitter.notify(`onAdjustingChange`)}getAdjusting(){let t=this._adjusting;if(!t)return null;let n=new e({sheet:this._sheet,coords:t,shapePolicy:this._shapePolicy,navigationPolicy:this._navigationPolicy});return n._adjusting=t,n}createSelection(t){return new e({sheet:this._sheet,coords:t?.coords,shapePolicy:t?.shapePolicy??this._shapePolicy,navigationPolicy:t?.navigationPolicy??this._navigationPolicy})}addListeners(e,t){return this._emitter.addListeners(e,t)}_setSelectionRanges(e){let t=this._coords,r=typeof e==`function`?e(t.ranges):e??n.CoordUtils.EmptyRanges;if(n.CoordUtils.isEqualRangesArrays(r,t.ranges))return;let i=Math.max(r.length?0:-1,Math.min(t.rangeIndex,r.length-1)),a=t.cell;i===-1||n.CoordUtils.isCellWithinRange(a,r[i])||(a={rowIndex:r[i].rowStart,colIndex:r[i].colStart}),this._shapePolicy===`mixed`&&r.length===1&&n.CoordUtils.isSingleCell(r[0])&&n.CoordUtils.isCellWithinRange(a,r[0])&&(r=[],i=-1);let o={cell:a,ranges:r,rangeIndex:i};n.CoordUtils.isEqualSelectionCoords(o,t)||this.updateCoords(o)}_setSelectionCell(e){let t=this._coords,r=e??n.CoordUtils.EmptyCell,i=this._getRangeFromCell(r),a=this._shapePolicy===`range`||this._shapePolicy===`ranges`;if(t.ranges.length===0&&(a||!n.CoordUtils.isSingleCell(i)))return this.updateCoords({ranges:[i],rangeIndex:0,cell:r});if(n.CoordUtils.isEqualCells(r,t.cell))return this;let o=t.ranges,s=t.rangeIndex;this._shapePolicy===`mixed`&&t.ranges.length===1&&(n.CoordUtils.isSingleCell(t.ranges[0])&&n.CoordUtils.isCellWithinRange(r,t.ranges[0])||!n.CoordUtils.isCellWithinRange(r,t.ranges[0]))&&(o=[],s=-1);let c={ranges:o,rangeIndex:s,cell:r};return n.CoordUtils.isEqualSelectionCoords(c,t)?this:this.updateCoords(c)}_isCellOutOfBounds(e){let t=this._getEntireRange();return e.rowIndex<t.rowStart||e.colIndex<t.colStart||e.colIndex>t.colEnd||e.rowIndex>t.rowEnd}_cellToRangeActual(e,t){let r={rowStart:Math.min(e.rowIndex,t.rowIndex),colStart:Math.min(e.colIndex,t.colIndex),rowEnd:Math.max(e.rowIndex,t.rowIndex),colEnd:Math.max(e.colIndex,t.colIndex)};if(this._canSelectionSpanMergedCells(r))return r;let i=this._getRangeFromCell(e),a=this._getRangeFromCell(t),o={rowStart:Math.min(i.rowStart,a.rowStart),colStart:Math.min(i.colStart,a.colStart),rowEnd:Math.max(i.rowEnd,a.rowEnd),colEnd:Math.max(i.colEnd,a.colEnd)},s=this._getMergedRanges(o);return n.CoordUtils.extendRangeToUnionRanges(o,s)}_rangesFromCellOptional(e,t,n){let r=e.ranges.length>0?e.ranges[e.rangeIndex]:{rowStart:e.cell.rowIndex,colStart:e.cell.colIndex,rowEnd:e.cell.rowIndex,colEnd:e.cell.colIndex},i={rowStart:Math.min(t.rowIndex??r.rowStart,n.rowIndex??r.rowStart),colStart:Math.min(t.colIndex??r.colStart,n.colIndex??r.colStart),rowEnd:Math.max(t.rowIndex??r.rowEnd,n.rowIndex??r.rowEnd),colEnd:Math.max(t.colIndex??r.colEnd,n.colIndex??r.colEnd)},a={rowIndex:i.rowStart,colIndex:i.colStart},o={rowIndex:i.rowEnd,colIndex:i.colEnd};if(!this._isCellOutOfBounds(a)&&!this._isCellOutOfBounds(o))return this._cellToRangeActual(a,o)}_getEntireRange(){return this._sheet.getEntireRange().getCoords()}_hiddenRowsAt(e,t){return this._sheet.getRowHeaders().hiddenHeadersAt(e,t)}_hiddenColumnsAt(e,t){return this._sheet.getColumnHeaders().hiddenHeadersAt(e,t)}_localCoords(e){if(!e||e.scope===void 0)return e;let{scope:t,...n}=e;return n}_getRangeFromCell(e){let t=n.CoordUtils.cellToRange(e);if(this._sheet.isDeleted())return t;let r=this._sheet.getRange(this._localCoords(t),{ignoreHidden:!0}).getMerges();return r.length===0?t:r[0]}_canSelectionSpanMergedCells(e){let t=this._sheet.getRange(this._localCoords(e));return t.isEntireColumns()||t.isEntireRows()}_getMergedRanges(e){return this._sheet.getRange(this._localCoords(e),{ignoreHidden:!0}).getMerges()}_isContentfulCell(){return!1}_contentfulCellFinder(e,r){let i=this._sheet.getRange(this._localCoords(n.CoordUtils.cellToRange(e))).getExtended(r,e).getCoords();switch(r){case t.IRange.Direction.Up:return i.rowStart;case t.IRange.Direction.Down:return i.rowEnd;case t.IRange.Direction.Left:return i.colStart;case t.IRange.Direction.Right:return i.colEnd}}_scrollCellCoordsIntoView(e,t){return this._sheet.scrollTo(e,t?{scroll:t}:void 0)}get[Symbol.toStringTag](){return`[RangeShape]`}toString(){let e=``;return e+=`selection:[${this._sheet.getRange(this._localCoords(this._coords.cell)).toString()}`,this._coords.ranges&&this._coords.ranges.length>0&&(e+=`, ${this._sheet.getRanges(this._coords.ranges.map(e=>this._localCoords(e))).toString()}`),this._coords.rangeIndex!==void 0&&this._coords.rangeIndex!==-1&&(e+=`, ${this._coords.rangeIndex}`),e+=`]`,e}},_T=Object.freeze({coords:n.CoordUtils.EmptyCell,topLeft:n.TypesUtils.EmptyTopLeft}),vT=(Object.freeze({cell:n.CoordUtils.EmptyCell,ranges:n.CommonUtils.EmptyArray,rangeIndex:0}),Object.freeze({selection:null,topLeft:n.TypesUtils.EmptyTopLeft,freezePanes:_T,showRowHeaders:!0,showColumnHeaders:!0,showRowGridlines:!0,showColumnGridlines:!0,rowHeaderStyle:Ry.HeaderTextStyle.One,columnHeaderStyle:Ry.HeaderTextStyle.A1,tableNames:Ry.ColumnHeaderTableNames.Sticky,showFormulas:!1,showZeros:!0,rightToLeft:!1,zoomScale:100,gridLineColor:null}));function yT(e,t=!0,n=15,r=10,i=400){let a=Math.max(e-r,0)+(t?1:-1);return Math.min(i,Math[t?`ceil`:`floor`](a/n)*n+r)}var bT=class{constructor(e){let t=e?.sheet;if(!t)throw Error(`SheetView requires a sheet.`);let n=new v(this);this._emitter=n,this._sheet=t;let r=new gT({sheet:t});this._rangeSelection=r,this.clear(!1),e?.json&&this._fromJSON(e.json);let i=this,a={onChange(e){i._emitter.notify(`onSelectionChange`)}};this._rangeSelectionRemoveListener=r.addListeners(a,{transactional:!1})}addListeners(e,t){return this._emitter.addListeners(e,t)}setTopLeft(e){if(!e)return this;let t=this._state,n=t.topLeft,r=n.left,i=n.top,a=e.left??r,o=e.top??i;return a===r&&o===i||(t.topLeft=Object.freeze({left:a,top:o}),this._emitter.notify(`onTopLeftChange`)),this}getTopLeft(){return this._state.topLeft}getTopLeftCell(){let e=this._state.topLeft,t=this._state.freezePanes,n=t?.coords,r=t?.topLeft,i=(n?.rowIndex??0)>0,a=(n?.colIndex??0)>0;return{rowIndex:this._sheet.getRowHeaders().getIndex(i?r?.top??0:e.top),colIndex:this._sheet.getColumnHeaders().getIndex(a?r?.left??0:e.left)}}getFreezePanes(){return this._state.freezePanes}setFreezePanes(e){return this._state.freezePanes=this._mergeFreezePanes(e),this._emitter.notify(`onFreezePaneChange`),this}_mergeFreezePanes(e){return e?{...this._state.freezePanes,coords:{colIndex:e?.coords?.colIndex??this._state.freezePanes.coords.colIndex,rowIndex:e?.coords?.rowIndex??this._state.freezePanes.coords.rowIndex},topLeft:{left:e?.topLeft?.left??this._state.topLeft.left,top:e?.topLeft?.top??this._state.topLeft.top}}:_T}isShowRowHeaders(){return this._state.showRowHeaders}setShowRowHeaders(e){return this._update(e,`showRowHeaders`,`onHeaderChange`),this}isShowColumnHeaders(){return this._state.showColumnHeaders}setShowColumnHeaders(e){return this._update(e,`showColumnHeaders`,`onHeaderChange`),this}isShowRowGridlines(){return this._state.showRowGridlines}setShowRowGridlines(e){return this._state.showRowGridlines=e,this._notifyAll(),this}isShowColumnGridlines(){return this._state.showColumnGridlines}setShowColumnGridlines(e){return this._state.showColumnGridlines=e,this._notifyAll(),this}getRowHeaderStyle(){return this._state.rowHeaderStyle}setRowHeaderStyle(e){return this._update(e,`rowHeaderStyle`,`onHeaderChange`),this}setColumnHeaderStyle(e){return this._update(e,`columnHeaderStyle`,`onHeaderChange`),this}getColumnHeaderStyle(){return this._state.columnHeaderStyle}setColumnHeaderTableNames(e){return this._update(e,`tableNames`,`onHeaderChange`),this}getColumnHeaderTableNames(){return this._state.tableNames}getZoomScale(){return this._state.zoomScale}setZoomScale(e){e<1&&console.warn(`Zoom scale is expressed as a whole number percentage (e.g., 100 for 100%).`);let t=Math.min(400,Math.max(10,e));return this._state.zoomScale===t?this:this._updateZoom(t)}zoomIn(){return this._updateZoom(yT(this.getZoomScale(),!0))}zoomOut(){return this._updateZoom(yT(this.getZoomScale(),!1))}_updateZoom(e){return e===this.getZoomScale()||(this.update({zoomScale:e}),this._emitter.notify(`onZoomScaleChange`)),this}getNextZoomScale(e,t){return yT(this.getZoomScale(),e,t)}isShowFormulas(){return this._state.showFormulas}setShowFormulas(e){return this._state.showFormulas=e,this._notifyAll(),this}isRightToLeft(){return this._state.rightToLeft}setRightToLeft(e){return this._state.rightToLeft=e,this._notifyAll(),this}isShowZeros(){return this._state.showZeros}setShowZeros(e){return this._state.showZeros=e,this._notifyAll(),this}getGridLineColor(){return this._state.gridLineColor}setGridLineColor(e){return this._state.gridLineColor=e,this._notifyAll(),this}getRangeSelection(){return this._rangeSelection}getMovableSelection(){return this._movableSelection}setMovableSelection(e){let t=this._movableSelection;return this._movableSelection=Object.freeze(e??[]),n.CommonUtils.isEqualArrays(t,this._movableSelection)||this._emitter.notify(`onMovableSelectionChange`),this}selectMovables(e,t=!1){let r=new Set(this._sheet.getMovables().getItems()),i=null,a=!1;if(t){i=[...this._movableSelection];for(let t=e.length-1;t>=0;t--){let n=e[t],o=i.indexOf(n);if(o!==t){if(a=!0,!r.has(n))throw Error(`Movable ${n.getName()} not found in sheet.`);o!==-1&&i.splice(o,1),i.unshift(n)}}}else a=!n.CommonUtils.isEqualArrays(e,this._movableSelection),i=[...e];return a?(this._movableSelection=i,this._emitter.notify(`onSelectionChange`),this._emitter.notify(`onMovableSelectionChange`),this):this}unselectMovables(e){let t=this._movableSelection,n=[];for(let r=0;r<t.length;r++){let i=t[r];e.indexOf(i)===-1&&n.push(i)}return t.length!==n.length&&(this._movableSelection=n,this._emitter.notify(`onSelectionChange`),this._emitter.notify(`onMovableSelectionChange`)),this}_update(e,t,n){let r=this._state,i=r[t];return r[t]=e,i!==e&&this._emitter.notify(n),i}_notifyAll(){let e=this._emitter;e.notify(`onSelectionChange`),e.notify(`onTopLeftChange`),e.notify(`onZoomScaleChange`),e.notify(`onFreezePaneChange`),e.notify(`onAnyChange`),e.notify(`onHeaderChange`)}toJSON(){let e={},t=Object.keys(this._state),n=t.length;for(let r=0;r<n;r++){let n=t[r],i=this._state[n];i!=null&&i!==vT[n]&&(e[n]=i)}delete e.movableSelection,delete e.gridLineColor,this._state.gridLineColor instanceof up&&(e.gridLineColor=this._state.gridLineColor.toString()),delete e.topLeft,!this._state.topLeft||this._state.topLeft.left===0&&this._state.topLeft.top===0||(e.topLeft={left:this._state.topLeft.left??0,top:this._state.topLeft.top??0}),delete e.selection;let r=this._rangeSelection.getCoords();if(r){let t={};!r.cell||r.cell.colIndex===0&&r.cell.rowIndex===0||(t.cell=Ul(r.cell)),r.ranges&&r.ranges.length>0&&(t.ranges=nu(r.ranges),r.rangeIndex!==void 0&&r.rangeIndex!==-1&&r.rangeIndex!==0&&(t.rangeIndex=r.rangeIndex)),Object.keys(t).length>0&&(e.selection=t)}return delete e.freezePanes,!this._state.freezePanes||this._state.freezePanes.coords.colIndex===0&&this._state.freezePanes.coords.rowIndex===0||(e.freezePanes={...this._state.freezePanes}),Object.keys(e).length===0?null:e}_fromJSON(e){let t=JSON.parse(JSON.stringify(e||{}));t?.zoomScale&&(t.zoomScale=n.CommonUtils.roundAccurately(parseFloat(e.zoomScale),2));let r=e=>{let t=this._sheet.getRange(e).getBounds();return{x:1*t.x,y:1*t.y,width:1*t.width,height:1*t.height}};if(typeof t?.gridLineColor==`string`&&(this._sheet?.getStyles()?t.gridLineColor=this._sheet.getStyles().parseColor(e.gridLineColor):console.warn(`Style was created with no styles so gridLineColor can't be parsed.`)),t.topLeft)if(typeof t.topLeft==`string`){let e=r(su(t.topLeft));t.topLeft={left:e.x,top:e.y}}else t.topLeft=Object.freeze({left:t.topLeft?.left??t?.x??0,top:t.topLeft?.top??t?.y??0});if(t.selection){let e=su(t.selection.cell??`A1`);if(t.selection.cell=e,t.selection.ranges){let r=Math.max(0,Math.min(t.selection.rangeIndex??t.selection.ranges?.length-1,t.selection.ranges?.length-1));t.selection.rangeIndex=r;let i=!1;for(let a=0;a<t.selection.ranges.length;a++){let o=du(t.selection.ranges[a]);t.selection.ranges[a]=o,a===r&&e&&!n.CoordUtils.isCellWithinRange(e,o)&&(i=!0)}if(i)for(let r=0;i&&r<t.selection.ranges.length;r++)n.CoordUtils.isCellWithinRange(e,t.selection.ranges[r])&&(i=!1,t.selection.rangeIndex=r);i&&(t.selection.ranges.push(n.CoordUtils.cellToRange(e)),t.selection.rangeIndex=t.selection.ranges.length-1)}else delete t.selection.rangeIndex}if(t.freezePanes){let e=t.freezePanes;if(typeof e.coords==`string`&&(e.coords=su(e.coords)),typeof e.topLeft==`string`){let n=su(e.topLeft),i=r({colIndex:n.colIndex,rowIndex:n.rowIndex}),a=r({colIndex:e?.coords?.colIndex??0,rowIndex:e?.coords?.rowIndex??0});e.topLeft={left:0,top:0},t.topLeft||={top:0,left:0},n.colIndex>0&&(e.topLeft.left=t.topLeft?.left??0,t.topLeft.left=i.x-a.x+e.topLeft.left),n.rowIndex>0&&(e.topLeft.top=t.topLeft?.top??0,t.topLeft.top=i.y-a.y+e.topLeft.top)}t.freezePanes={coords:{colIndex:e?.coords?.colIndex??0,rowIndex:e?.coords?.rowIndex??0},topLeft:{left:e?.topLeft?.left??0,top:e?.topLeft?.top??0}}}this.update(t)}clear(e=!0){return this._state={...vT},this._movableSelection=n.CommonUtils.EmptyArray,this._rangeSelection.clear(),e&&this._notifyAll(),this}update(e){let t={...vT,...this._state,...e};return t.selection&&(this._rangeSelection.updateCoords(t.selection),delete t.selection),t.freezePanes=this._mergeFreezePanes(t.freezePanes),t.zoomScale=Math.min(400,Math.max(10,t.zoomScale)),this._state=t,this._notifyAll(),this}get[Symbol.toStringTag](){return`[SheetView]`}toString(){let e=this.toJSON();return e?JSON.stringify(e):`DefaultSheetView`}get isISheetView(){return!0}},xT=class e{constructor(e){this._version=0,this._iterationId=0,this._emitter=null,this._isProcessingJSON=!1,e={...e},this._options=e,this._context=e.context,this._container=e.container,this._calculation=e.calculation,this._gridId=e.uuid||`gen`+n.CommonUtils.uuidV4();let r={...BD},i=e.getEntireCoords??(()=>r);if(this._getEntireCoords=i,this._unanchored=!0===e.unanchored,!this._context||!this._container)throw Error(`Invalid Options`);this._onCalculated=e?.onCalculated??(()=>{}),this._values=new no({axis:t.IRange.Axis.Column}),this._iterationId=0,this._contentfulSpatial=new wa({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!0}});let a={updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!1}};this._spillSpatial=new wa(a),this._errorSpatial=new wa(a),this._pendingSpatial=new wa(a),this._notifyValues=new wa,this._notifySpillsInsert=[],this._notifySpillsRemove=[],this._notifyFormats=new wa,this._notifyPending=new wa,this._container.registerGrid(this)}beginUpdates(){return{gridId:this._gridId,values:this._values,spillSpatial:this._spillSpatial,errorSpatial:this._errorSpatial,pendingSpatial:this._pendingSpatial,contentfulSpatial:this._contentfulSpatial,notifyValues:this._notifyValues,notifySpillsInsert:this._notifySpillsInsert,notifySpillsRemove:this._notifySpillsRemove,notifyFormats:this._notifyFormats,notifyPending:this._notifyPending,pendingConflating:null,errorRemovesConflating:null,errorInsertsConflating:null,formatsConflating:null,done:(e,t)=>this._notifyCalculated(e,t)}}async calculate(e){return this._container.calculateGrid(this._gridId,e?jT:void 0)}addListeners(e,t){return this._emitter||=new v(this),this._emitter.addListeners(e,t)}shift(e){let r=e.cloneIfUpdate??!0,i=r?this.clone(this):this,a=this.getId(),o={...e};o.range={...o.range},o.range.scope=a,delete o.cloneIfUpdate,delete o.onShift;let s=i._values,c=o.range,l=o.direction,u=l===t.IRange.Direction.Left||l===t.IRange.Direction.Right,d=l===t.IRange.Direction.Down||l===t.IRange.Direction.Right,f=d?1:-1,p=i._spillSpatial,m=i._contentfulSpatial,h=Fw(c,p,s,m);s.shift(o.range,o.direction),o.onUpdates=(e,t)=>{i._notifySpillsRemove.push(...t),i._notifySpillsInsert.push(...e)},i._spillSpatial=p.shift(o),delete o.onUpdates,i._contentfulSpatial=m.shift(o);let g=i._container,_=g.getFormulas(),v=g.getPrecedents();r&&(_=_.clone(),v=v.clone());let y=this.getEntireCoords(),b={colStart:c.colStart,rowStart:c.rowStart,colEnd:u&&f===1?y.colEnd:c.colEnd,rowEnd:u||f!==1?c.rowEnd:y.rowEnd,scope:a},x=d?Aw(v,b,jw):function(e,t){return Aw(e,t,Mw)}(v,c);x&&PT(_,v,x.formulas.inserts,x.formulas.removes);let S=(u?c.colEnd-c.colStart+1:c.rowEnd-c.rowStart+1)*f,C,w=function(e,r,i,a,o){let s=e(),c=s.search(i),l=c.length;if(l===0)return null;let u=i.colStart,d=i.rowStart,f=a.colIndex,p=a.rowIndex,m=a.scope,h=o?o.colEnd:i.colEnd,g=o?o.rowEnd:i.rowEnd,_=[],v=[],y=[],b=new Map,x=[];for(let e=0;e<l;e++){let r=c[e],a=r.value,o=a.formulaEntry,s=b.get(o)??o,l=s.value,S=l.ref,C=r.colStart,w=r.rowStart,T=r.colEnd,E=r.rowEnd,D=!1;if(a.index<0){x.push(r);continue}if((m===void 0||l.gridId===m)&&n.CoordUtils.isRangeWithinRange(S,i))continue;let O=a.index,k=l.getReferences(S.rowStart,S.colStart),A=k.length>0?k[O]:null;if(!A||t.FormulaError.isError(A)||`nameId`in A)continue;let j=A,M=l.unanchored,N=M&&!j.$colStart,P=M&&!j.$colEnd,F=M&&!j.$rowStart,I=M&&!j.$rowEnd,L=j;if(f!==0){let e=j.$colStart?j.colStart:S.colStart+j.colStart,t=j.$colEnd?j.colEnd:S.colEnd+j.colEnd;f<0&&!N&&!P&&u<=e&&h>=t?L=null:(!N&&e>=u&&(L=L===j?{...j}:L,L.colStart+=Math.max(f,u-e)),!P&&t>=u&&(L=L===j?{...j}:L,L.colEnd+=Math.max(f,u-1-t)))}if(p!==0){let e=j.$rowStart?j.rowStart:S.rowStart+j.rowStart,t=j.$rowEnd?j.rowEnd:S.rowEnd+j.rowEnd;p<0&&!F&&!I&&d<=e&&g>=t?L=null:(!F&&e>=d&&(L=L===j?{...j}:L,L.rowStart+=Math.max(p,d-e)),!I&&t>=d&&(L=L===j?{...j}:L,L.rowEnd+=Math.max(p,d-1-t)))}if(L!==j){if(L!==null&&(C=L.$colStart?L.colStart:S.colStart+L.colStart,w=L.$rowStart?L.rowStart:S.rowStart+L.rowStart,T=L.$colEnd?L.colEnd:S.colEnd+L.colEnd,E=L.$rowEnd?L.rowEnd:S.rowEnd+L.rowEnd,D=!0),l=l.setReferenceAt(O,L),_.push(r),D){let e={...r};e.value={...a},e.value.formulaEntry=s,e.colStart=C,e.rowStart=w,e.colEnd=T,e.rowEnd=E,v.push(e),y.push(o)}s={...s},s.value=l,b.set(o,s)}}let S=x.length;if(S>0||b.size>0){let e=r();if(S>0){s.removeAll(x,Hw);for(let t=0;t<S;t++){let n=x[t].value.formulaEntry.value,r=e.get(n);r&&(s.removeAll(r,Hw),e.delete(n))}}for(let t of b.keys()){let n=t.value;if(!n)continue;let r=e.get(n);r&&(s.removeAll(r,Hw),e.delete(n))}}for(let e=0;e<v.length;e++){let t=b.get(y[e]);t&&(v[e].value.formulaEntry=t)}let C=Array.from(b.keys());return{precedents:{inserts:v,removes:_},formulas:{inserts:Array.from(b.values()),removes:C}}}(()=>v,()=>{let e=g.getDynamics();return C=new Map(e),C},{colStart:c.colStart,rowStart:c.rowStart,colEnd:u?y.colEnd:c.colEnd,rowEnd:u?c.rowEnd:y.rowEnd,scope:a},{colIndex:u?S:0,rowIndex:u?0:S,scope:a},d?void 0:c),T,E;w&&PT(_,v,w.formulas.inserts,w.formulas.removes),o.onUpdates=(e,t)=>{T=e,E=t},_.shift(o),(T||E)&&IT(v,T,E),r&&(g.setFormulas(_),g.setPrecedents(v),C&&g.setDynamics(C)),h?.(d,u?0:S,u?S:0);let D=[{...y,scope:this._gridId}];if(w){let e=w.formulas.inserts;for(let t=0;t<e.length;t++){let n=e[t];n.scope!==this._gridId&&D.push({colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd,scope:n.scope})}}return g.markDirty(D),i}clone(t){if(t!==void 0&&this._cloneKey===t)return this;let n=new e(this._options);return n._cloneKey=t,n._version=this._version+1,n._gridId=this._gridId,n._values=this._values.clone(n),n._contentfulSpatial=this._contentfulSpatial.clone(n),n._spillSpatial=this._spillSpatial.clone(n),n._errorSpatial=this._errorSpatial.clone(n),n._pendingSpatial=this._pendingSpatial.clone(n),n._notifyValues=this._notifyValues.clone(n),n._notifySpillsInsert=[...this._notifySpillsInsert],n._notifySpillsRemove=[...this._notifySpillsRemove],n._notifyFormats=this._notifyFormats.clone(n),n._notifyPending=this._notifyPending.clone(n),n._emitter=this._emitter,n._iterationId=this._iterationId+1,this._container.registerGrid(n),n}setInputs(e,t){return this._setInputs(e,t)}remove(e){return this._setInputs(null,[{...e,scope:this._gridId,value:null}],{...e,scope:this._gridId})}autoFill(e,t){typeof e==`string`&&(e=du(e)),typeof t==`string`&&(t=du(t));let n=this._gridId,r=this._container,i={calcGrid:this,formulaSpatial:r.getFormulas(),precedentSpatial:r.getPrecedents(),volatile:r.getVolatiles()};return this._copyTo(i,{...e,scope:n},{...t,scope:n}),this}delete(){let e=this._container,t=e.getFormulas(),n=e.getPrecedents(),r=t,i=n,a=this._gridId,o=[];if(r.getSpatialAt(a)&&(r=r.clone(),r.getSpatialAt(a).clear()),i.getSpatialAt(a)){i=i.clone();let e=i.getSpatialAt(a),t=new Map,n=new Map,s=e.all();for(let e=0;e<s.length;e++){let r=s[e].value,i=r.formulaEntry;if(i.scope!==a){let e=r.index,a=i;t.set(a,a);let o=n.get(a)??a;o={...o},o.value=o.value.setReferenceAt(e,null,{scopeDeleted:!0}),n.set(a,o)}}if(e.clear(),n.size>0||t.size>0){let e=Array.from(n.values());PT(r,i,e,Array.from(t.values()));for(let t=0;t<e.length;t++){let n=e[t];o.push({colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd,scope:n.scope})}}}r!==t&&e.setFormulas(r),i!==n&&e.setPrecedents(i),o.length>0&&e.markDirty(o),this._container.unregisterGrid(this._gridId)}markDirtyRegions(e){let t=this._gridId,n=Array(e.length);for(let r=0;r<e.length;r++){let i=e[r];n[r]=i.scope===t?i:{...i,scope:i.scope??t}}this._container.markDirty(n)}getId(){return this._gridId}getEntireCoords(){return this._getEntireCoords()}getBoundingRange(){let e=null;return e=n.CoordUtils.unionRanges(this._values.getCoords(),e),e=n.CoordUtils.unionRanges(this._container.getFormulas().getSpatialAt(this._gridId)?.getBoundingRange(),e),e}getValues(){return this._values}getDirtyRegions(){return this._container.getDirtyGrid(this._gridId)}getFormulas(){return this._container.getFormulas().getSpatialAt(this._gridId)??OT}getSnapshot(e){let t=this,n=this._container,r={calcGrid:t,formulaSpatial:n.getFormulas(),precedentSpatial:n.getPrecedents(),volatile:n.getVolatiles()},i=Object.freeze({...e}),a=i.range;return typeof a==`string`&&(a=du(a)),a={...a},a.scope=t.getId(),{async copyTo(e,t){let n=e.calcGrid,o=e.range;typeof o==`string`&&(o=du(o));let s={...i,...t},c=sy(o,a,s.fitDestination,s.transpose);return c.scope=n.getId(),s.isCut?n._moveTo(r,a,c):n._copyTo(r,a,c),o},getCoords:()=>a,getSource:()=>t,getName:()=>`Calculation`,getMarkOptions:()=>i,isISnapshot:!0}}getDirectDependentsAt(e){let t=e.rowStart,r=e.colStart,i=e.rowEnd,a=e.colEnd,o=this._gridId,s=this._container.getPrecedents();DT.colStart=r,DT.rowStart=t,DT.colEnd=a,DT.rowEnd=i,DT.scope=o;let c=s.search(DT);if(c.length===0)return n.CommonUtils.EmptyArray;let l=[];for(let e=0;e<c.length;e++){let n=c[e],s=n.value,u=s.formulaEntry,d=t-n.rowStart,f=r-n.colStart,p=i-n.rowStart,m=a-n.colStart,h=u.rowEnd-u.rowStart,g=u.colEnd-u.colStart,_=s.formulaBlockHeight-1,v=s.formulaBlockWidth-1,y;if(s.index===kf.Reference){let e=u.value,t=e.ref;y={rowStart:t.rowStart,rowEnd:t.rowEnd,colStart:t.colStart,colEnd:t.colEnd,scope:o===e.gridId?void 0:e.gridId??void 0}}else if(s.index===kf.Spill||h>_||g>v)y={rowStart:u.rowStart,rowEnd:u.rowEnd,colStart:u.colStart,colEnd:u.colEnd,scope:o===u.scope?void 0:u.scope};else{let e=n.rowEnd-n.rowStart-_,t=n.colEnd-n.colStart-v,r=s.$absRowEnd?0:Math.max(0,d-e),i=s.$absRowStart?_:Math.min(p,_),a=s.$absColEnd?0:Math.max(0,f-t),c=s.$absColStart?v:Math.min(m,v);y={rowStart:u.rowStart+r,rowEnd:u.rowStart+i,colStart:u.colStart+a,colEnd:u.colStart+c,scope:o===u.scope?void 0:u.scope}}l.push(y)}return l=Pa(l,2,n.RangeAxis.Row),l.sort(n.CoordUtils.rowFirstRangeComparator),l}getDirectPrecedentsAt(e){let t=e.rowStart,r=e.colStart,i=e.rowEnd,a=e.colEnd,o=this._container.getFormulas();DT.colStart=r,DT.rowStart=t,DT.colEnd=a,DT.rowEnd=i;let s=this._gridId;DT.scope=s;let c=o.search(DT);if(c.length===0)return n.CommonUtils.EmptyArray;let l=this._getEntireCoords(),u=null,d=e=>{if(!e||e===s)return l;u??=new Map;let t=u.get(e);return t||(t=this._container.getGrid(e)?.getEntireCoords()??l,u.set(e,t)),t},f=[];for(let e=0;e<c.length;e++){let n=c[e],o=n,l=this._container.getDynamics().get(o.value);if(l)for(let e=0;e<l.length;e++){let t=l[e];t.value.index===kf.Reference&&f.push({rowStart:t.rowStart,rowEnd:t.rowEnd,colStart:t.colStart,colEnd:t.colEnd,scope:t.scope===s?void 0:t.scope})}let u=o.value.formula.getReferences(t,r);if(!u)continue;let p=t-n.rowStart,m=r-n.colStart,h=i-n.rowStart,g=a-n.colStart,_=o.rowEnd-o.rowStart,v=o.colEnd-o.colStart,y=n.rowEnd-n.rowStart-_,b=n.colEnd-n.colStart-v,x=Math.max(0,p-y),S=Math.max(0,m-b),C=Math.min(h,_),w=Math.min(g,v),T=[];for(let e=0;e<u.length;e++){let t=u[e];if(t?.colStart===void 0)continue;let n=t.scope,r=d(n),i=xu(t,o.rowStart+x,o.colStart+S),a=xu(t,o.rowStart+C,o.colStart+w),c={colStart:Math.max(Math.min(i.colStart,a.colStart),r.colStart),rowStart:Math.max(Math.min(i.rowStart,a.rowStart),r.rowStart),colEnd:Math.min(Math.max(i.colEnd,a.colEnd),r.colEnd),rowEnd:Math.min(Math.max(i.rowEnd,a.rowEnd),r.rowEnd),scope:n===s?void 0:n};T.push(c)}f.push(...T)}return f=Pa(f,2,n.RangeAxis.Row),f.sort(n.CoordUtils.rowFirstRangeComparator),f}_directAcrossGrids(e,t){let r=this._gridId,i=e.scope,a=i&&i!==r?this._container.getGrid(i)??null:this;if(!a)return n.CommonUtils.EmptyArray;let o=t?a.getDirectDependentsAt(e):a.getDirectPrecedentsAt(e);if(a===this||o.length===0)return o;let s=Array(o.length);for(let e=0;e<o.length;e++){let t=o[e],n=t.scope??a._gridId;s[e]=n===r?{...t,scope:void 0}:{...t,scope:n}}return s}getDependentsAt(e){let t=Ra(e,e=>this._directAcrossGrids(e,!0));return t.sort(n.CoordUtils.rowFirstRangeComparator),t}getPrecedentsAt(e){let t=Ra(e,e=>this._directAcrossGrids(e,!1));return t.sort(n.CoordUtils.rowFirstRangeComparator),t}getFormulaBlockAt(e,t){let n=this._formulaAt(e,t);return n?n.value.formula:null}getReferencesAt(e,t){let r=this._formulaAt(e,t);if(!r)return n.CommonUtils.EmptyArray;let i=r.value.formula.getReferences(e,t);if(!i)return n.CommonUtils.EmptyArray;i=[...i];for(let n=0;n<i.length;n++){let r=i[n];r?.colStart!==void 0&&(i[n]=xu(r,e,t))}return i}setReferenceAt(e,t,n,r){let i=this._formulaAt(e,t),a=r;r&&r.colStart!==void 0?a=Su(a,e,t):r&&r.colIndex!==void 0&&(a=function(e,t,n){let r=e.$colIndex??!1,i=e.$rowIndex??!1,a={colIndex:r?e.colIndex:e.colIndex-n,rowIndex:i?e.rowIndex:e.rowIndex-t,$colIndex:r,$rowIndex:i};return e.scope&&(a.scope=e.scope),a}(a,e,t));let o=i.value.formula.setReferenceAt(n,a).getTextAt(e,t,!1,void 0,void 0,!0);return o?this._setInputs(null,[{colStart:t,rowStart:e,colEnd:t,rowEnd:e,scope:this._gridId,value:o}]):this.remove({colStart:t,rowStart:e,colEnd:t,rowEnd:e}),this}isVolatileAt(e,t){let n=this._formulaAt(e,t);if(!n?.value)return!1;let r=n.value.calcs[e-n.rowStart]?.[t-n.colStart];return!!r&&this._container.getVolatiles().has(r)}_formulaAt(e,t){ET.colStart=t,ET.rowStart=e,ET.colEnd=t,ET.rowEnd=e,ET.scope=this._gridId,AT.length=0;let n=this._container.getFormulas().search(ET,!1,!1,AT);return n.length===0?null:n[0]}_createCopySpillEntries(e,t,n,r,i){let a=r??[],o=i??[],s=t.colStart,c=t.rowStart,l=t.colEnd,u=t.rowEnd,d=n.colStart,f=n.rowStart,p=e.search(t),m=p.length;for(let e=0;e<m;e++){let t=p[e];o&&o.push(t);let n=t.rowStart,r=t.colStart;if(n<c||n>u||r<s||r>l||t.value.getError())continue;let i=d+(t.colEnd-r),m=f+(t.rowEnd-n),h={colStart:d,rowStart:f,colEnd:i,rowEnd:m};a.push({colStart:d,rowStart:f,colEnd:i,rowEnd:m,value:new zu(h,0,t.value.getKind())})}return{removes:o,inserts:a}}_reanchorFormulas(e,t,n,r){let i=e?e.length:0;if(i===0)return;let a=this._container,o=n??this._gridId,s=n==null?t??o:o,c=a.getScope();c.gridId=s;let l=t?a.getSymbols().resolve(sf,t)?.toString():void 0,u=this._context;for(let n=0;n<i;n++){let i=e[n],d=i.value,f=d.ref,p=d.formula.getTextAt(f.rowStart,f.colStart,!1,void 0,void 0,!0);c.colIndex=f.colStart,c.rowIndex=f.rowStart;let m=a.createFormulaBlock(s,u,p,f.rowStart,f.colStart);t&&(m=m.reanchorReferences(l,r));let h=new Of(f,o,m,a,d.unanchored);i.scope=o,i.value=h}}_copyTo(e,t,n){let r=e.calcGrid,i=r.getId(),a=this._gridId,o=e.formulaSpatial,s=o.getSpatialAt(i);if(!s||s.isEmpty())return;let c=this._getEntireCoords(),l=c.colStart,u=c.rowStart,d=c.colEnd,f=c.rowEnd,p=o.createCopiedEntries(t,n),m=p.inserts,h=m.length,g=0,_=r._spillSpatial,v=[];for(;g<h;){let e=m[g];e.scope=a;let n=e.value,r=n.ref,i=r.colStart,o=r.rowStart,s=r.colEnd,c=r.rowEnd;this._createCopySpillEntries(_,t,r,v,null);let p=n.formula.getReferences(o,i),y=p.length;for(let t=0;t<y;t++){let a=p[t];if(!a||`nameId`in a)continue;let g=a,_=g.colStart,v=g.rowStart,y=g.colEnd,b=g.rowEnd,x=g.$colStart?_:_+i,S=g.$rowStart?v:v+o,C=g.$colEnd?y:y+s,w=g.$rowEnd?b:b+c;if(_===-(2**53-1)&&(x=l,C=d),v===-(2**53-1)&&(S=u,w=f),x<l||C>d||S<u||w>f){let a=l-x,g=u-S,_=d-C,v=f-w;kT.colStart=Math.max(i,i+a),kT.rowStart=Math.max(o,o+g),kT.colEnd=Math.min(s,s+_),kT.rowEnd=Math.min(c,c+v);let y=Aa(e,kT,Fa);if(y){let t=y.length;e=y[t-1],n=e.value,r=n.ref,i=r.colStart,o=r.rowStart,s=r.colEnd,c=r.rowEnd;for(let e=0;e<t-1;e++){let t=y[e];m.push(t),h++}}else n=n.setReferenceAt(t,null),e.value=n,p=n.formula.getReferences(o,i)}}m[g++]=e}let y=this._container,b=y.getFormulas().clone(),x=y.getPrecedents().clone();y.setFormulas(b),y.setPrecedents(x),a!==i&&this._reanchorFormulas(m,void 0,a),PT(b,x,m,p.removes),v&&this._spillSpatial._updateNodes(v,[]),y.markDirty([{...c,scope:this._gridId}])}_moveTo(e,r,i){let a=e.calcGrid,o=a.getId(),s=e.formulaSpatial;this.remove(i);let c=this._container,l=c.getPrecedents().clone(),u=c.getFormulas().clone();c.setPrecedents(l),c.setFormulas(u);let d=Aw(l,r,Nw);d&&PT(u,l,d.formulas.inserts,d.formulas.removes);let f={cutFrom:r},p=s.createCopiedEntries(r,i,f).inserts,m=p.length,h=this._gridId;if(h!==o){let e=i.colStart-r.colStart,a=i.rowStart-r.rowStart,s=[],l=[];for(let i=0;i<m;i++){let c=p[i],u=c.value,d=u.ref,f=u.formula.resolvedPrecedentsAt(d.rowStart,d.colStart),m=!0,g=f?f.length:0;for(let i=0;i<g;i++){let s=f[i];if(t.FormulaError.isError(s)){m=!1;break}let c=s.scope??h,l;if(c===h)l={colStart:s.colStart-e,rowStart:s.rowStart-a,colEnd:s.colEnd-e,rowEnd:s.rowEnd-a};else{if(c!==o){m=!1;break}l=s}if(!n.CoordUtils.isRangeWithinRange(l,r)){m=!1;break}}m?l.push(c):s.push(c)}if(l.length>0){this._reanchorFormulas(l);let e=c.getSymbols().resolve(sf,o)?.toString(),t=c.getSymbols().resolve(sf,h)?.toString();if(e&&t)for(let n of l){let r=n.value.replaceSheetReferences(e,t);r!==n.value&&(n.value=r)}}s.length>0&&this._reanchorFormulas(s,o)}let g;PT(u,l,p);let _=function(e,r,i,a){let o=e,s=o.search(i),c=s.length;if(c===0)return null;let l=a.colStart-i.colStart,u=a.rowStart-i.rowStart,d=[],f=[],p=new Map,m=new Set;for(let e=0;e<c;e++){let r=s[e],o=r.value,c=o.formulaEntry,h=p.get(c),g=h??c,_=g.value,v=_.ref,y=(v.scope??null)===(i.scope??null)&&n.CoordUtils.isRangeWithinRange(v,i),b=_.getReferences(v.rowStart,v.colStart),x=b?b.length:0;if(x===0)continue;let S=o.index,C=b?b[S]:null;if(!C||t.FormulaError.isError(C)||`nameId`in C)continue;let w=C;if(!h&&x>1)for(let e=0;e<x;e++){if(e===S)continue;let r=b[e];if(!r||t.FormulaError.isError(r)||`nameId`in r)continue;let a=r;if((a.scope??null)!==(i.scope??null)||!n.CoordUtils.isRangeWithinRange(a,i)){m.add(c);break}}let T=g.colEnd-g.colStart,E=g.rowEnd-g.rowStart,D=r.colStart,O=r.rowStart,k=r.colEnd,A=r.rowEnd,j=o.$absColEnd?k-D+1:k-D-T+1,M=o.$absRowEnd?A-O+1:A-O-E+1,N=o.$absRowStart?O>=i.rowStart?0:E+1:Math.max(0,i.rowStart-O),P=o.$absRowEnd?A<=i.rowEnd?E:-1:Math.min(E,i.rowEnd-O-(M-1)),F=o.$absColStart?D>=i.colStart?0:T+1:Math.max(0,i.colStart-D),I=o.$absColEnd?k<=i.colEnd?T:-1:Math.min(T,i.colEnd-D-(j-1));if(N>P||F>I||N!==0||P!==E||F!==0||I!==T)continue;let L=y||_.unanchored,ee=r.scope!==a.scope,te;if(l!==0&&(w.$colStart?(te??={...w},te.colStart+=l):L||(te??={...w},te.colStart+=l),w.$colEnd?(te??={...w},te.colEnd+=l):L||(te??={...w},te.colEnd+=l)),u!==0&&(w.$rowStart?(te??={...w},te.rowStart+=u):L||(te??={...w},te.rowStart+=u),w.$rowEnd?(te??={...w},te.rowEnd+=u):L||(te??={...w},te.rowEnd+=u)),!te&&!ee)continue;te||={...w},_=_.setReferenceAt(S,te),g={...g},g.value=_,p.set(c,g),d.push(r);let R={...r};R.colStart+=l,R.rowStart+=u,R.colEnd+=l,R.rowEnd+=u,R.scope=a.scope,R.value={...o},R.value.formulaEntry=g,f.push(R)}if(p.size>0){let t=r();for(let n of p.keys()){let r=n.value;if(!r)continue;let i=t.get(r);i&&(e.removeAll(i,Hw),t.delete(r))}}let h=Array.from(p.keys()),g=Array.from(p.values()),_=m.size;if(_>0){let e=Array.from(m);for(let r=0;r<_;r++){let a=e[r],s=a.value,c=s.ref,l=s.getReferences(c.rowStart,c.colStart),u=l?l.length:0;if(u>1){let e=s.ref,r=e.colStart,c=e.rowStart;for(let e=0;e<u;e++){let s=l[e];if(!s||t.FormulaError.isError(s)||`nameId`in s)continue;let u=s;if(Rw.colStart=u.$colStart?u.colStart:r+u.colStart,Rw.rowStart=u.$rowStart?u.rowStart:c+u.rowStart,Rw.colEnd=u.$colEnd?u.colEnd:r+u.colEnd,Rw.rowEnd=u.$rowEnd?u.rowEnd:c+u.rowEnd,Rw.scope=u.scope??a.scope,(Rw.scope??null)===(i.scope??null)&&n.CoordUtils.isRangeWithinRange(Rw,i))continue;Rw.colEnd=Rw.colStart,Rw.rowEnd=Rw.rowStart;let m=o.search(Rw);for(let e=0;e<m.length;e++){let t=m[e];if(t.value.formulaEntry===a){let e=p.get(a);if(e){let n={...t};n.value={...t.value},n.value.formulaEntry=e,d.push(t),f.push(n)}break}}}}}}return{precedents:{inserts:f,removes:d},formulas:{inserts:g,removes:h}}}(l,()=>{let e=c.getDynamics();return g=new Map(e),g},r,i);if(g&&c.setDynamics(g),_){let e=_.formulas.inserts;r.scope!==i.scope&&e.length>0&&this._reanchorFormulas(e,i.scope,r.scope,!0),PT(u,l,_.formulas.inserts,_.formulas.removes)}let v=this._values;a._values.copyTo(v,{colIndex:i.colStart,rowIndex:i.rowStart},r);let y=a._spillSpatial,b=[],x=[];for(let e=0;e<m;e++){let t=p[e];this._createCopySpillEntries(y,r,t,b,x)}let S=[];b.length>0&&(this._spillSpatial._updateNodes(b,[]),a._spillSpatial._updateNodes([],x),Tw(c.getCycleId(),x,n.CommonUtils.EmptyArray,a._contentfulSpatial,y,a._values,(e,t,n,r)=>{S.push({colStart:e,rowStart:t,colEnd:n,rowEnd:r,scope:h})},a._notifyValues,(e,t)=>{e&&this._notifySpillsInsert.push(e),t&&this._notifySpillsRemove.push(t)},a._notifyPending,a._errorSpatial,a._values.getAxis()!==t.IRange.Axis.Row,!1));let C=this.getEntireCoords();c.markDirty([{...C,scope:this._gridId}])}_notifyCalculated(e,r){let i,a=!1;a||(typeof r==`boolean`?a=r:r&&(i=r,a=i.full??!1));let o=this._notifyValues,s=o.all(),c=this._notifyPending.all([]),l,u;c.length>0&&this._notifyPending.clear(),a?l=this._spillSpatial.all():(l=this._notifySpillsInsert,u=this._notifySpillsRemove),this._notifySpillsInsert=[],this._notifySpillsRemove=[];let d=this._notifyFormats.all();d.length>0&&this._notifyFormats.clear();let f={},p=null,m=s.length;if(m>0){o.clear();let e=s,r=null;for(let e=0;e<m;e++){let t=s[e],n=t.colStart,i=t.colEnd;if(n!==i){r||=[];for(let e=n+1;e<=i;e++)r.push({colStart:e,rowStart:t.rowStart,colEnd:e,rowEnd:t.rowEnd});t.colEnd=n}}r&&(e=s.concat(r)),e.sort(n.CoordUtils.columnFirstRangeComparator);let i=new _i.Builder(e=>new ci(e)),a,c=this._values,l=c.getAxis()===t.IRange.Axis.Column,u=e.length;for(let t=0;t<u;t++){let r=e[t];p=n.CoordUtils.unionRanges(p,r,ST);let o=c.getRuns({bounds:r}),s=o.next(),u=r.colStart,d=r.rowStart,f=r.colEnd,m=r.rowEnd,h=l?d:u,g=l?f:m,_=l?m:f,v=l?u:d,y=h;for(;!s.done;){let e=s.value,t=e[0];for(;v<t;)a||=[],a.push({colStart:l?v:y,rowStart:l?y:v,colEnd:l?v:_,rowEnd:l?_:v}),v++,y=h;let n=e[1],r=e[2],c=Math.max(n,h),u=Math.min(n+r.length-1,_);i.pushMultipleAt(t,c,r),y<c&&(a||=[],a.push({colStart:l?t:y,rowStart:l?y:t,colEnd:l?t:c-1,rowEnd:l?c-1:t})),y=u+1,u>=_?(v=t+1,y=h):v=t,s=o.next()}for(;v<=g;)y<=_&&(a||=[],a.push({colStart:l?v:y,rowStart:l?y:v,colEnd:l?v:_,rowEnd:l?_:v})),v++,y=h}let d=i.build();d&&(f.valueInserts=d),a&&(f.valueRemoves=a)}if(c.length>0){let e=this._pendingSpatial,t,r=c.length;for(let i=0;i<r;i++){let r=c[i];e.insertNonOverlapping(r,{onIntersect:(e,r)=>(t||=[],t.push({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,value:r.value}),p=n.CoordUtils.unionRanges(p,r),!1===r.value&&(r.value=null),r)})}t&&t.length>0&&(f.pendingUpdates=t,p=n.CoordUtils.unionRangesArrays(t,p??void 0,ST))}let h,g,_=u?u.length:0;if(_>0){h=[];for(let e=0;e<_;e++){let t=u[e];h.push({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd})}h&&(f.spillRemoves=h,p=n.CoordUtils.unionRangesArrays(h,p??void 0,ST))}let v=l.length;if(v>0){let t=this._spillSpatial,r;for(let n=v-1;n>=0;n--){let i=l[n],o=i.value;if(!a&&o.getCycleId()!==e)continue;let s=t.search(i),c=s.length;for(let t=0;t<c;t++){let n=s[t];if(ww(i.rowStart,i.colStart,n)&&(a||n.value.getCycleId()===e)){g||(g=[],r=new Set);let e=Bl(n.colStart)+zl(n.rowStart);if(r.has(e))continue;r.add(e),g.push({colStart:i.colStart,rowStart:i.rowStart,colEnd:i.colEnd,rowEnd:i.rowEnd,value:n.value.getKind()})}}}g&&(f.spillInserts=g,p=n.CoordUtils.unionRangesArrays(g,p??void 0,ST))}return d.length>0&&(f.formatInserts=d,p=n.CoordUtils.unionRangesArrays(d,p??void 0,ST)),p&&(f.bounds={colStart:p.colStart,rowStart:p.rowStart,colEnd:p.colEnd,rowEnd:p.rowEnd}),Object.keys(f).length===0?f.cycleId=e-1:f.cycleId=e,a&&(f.isFull=!0),this._options.onCalculated?.(f),Promise.resolve(f)}_setInputs(e,r,i){let a=this._gridId,o=this._container,s=this._context,c=o.getFormulas(),l=c.getSpatialAt(a),u=!!l&&!l.isEmpty(),d=r?r.length:0;if(this._calculation?.getStatus()===Ky.Status.Starting)return o.whenSafe(()=>{let t=(o.getGrid(a)??this)._setInputs(e,r,i),s={cycleId:o.getCycleId(),bounds:n.CoordUtils.unionRangesArrays(t)};return Promise.resolve(s)}),n.CommonUtils.EmptyArray;let f=this._values,p=f.getAxis()!==t.IRange.Axis.Row,m=this._spillSpatial,h=this._errorSpatial,g=this._contentfulSpatial,_=[],v,y,b,x=u?[]:null;if(e&&e.tuples){v=e.tuples;let t=e.bounds;if(t?(y=Ha(t,p),y.scope=a):y={colStart:-(2**53-1),rowStart:-(2**53-1),colEnd:2**53-1,rowEnd:2**53-1,scope:a},x){u&&_.push(y);let e={majorStart:0,minorStart:0,majorEnd:0,minorEnd:0},t=v.length;for(let n=0;n<t;n++){let t=v[n],r=t[0];e.majorStart=r,e.majorEnd=r;let i=t[1],o=i.length;for(let t=0;t<o;t++){let n=i[t];e.minorStart=n[0];let r=n[1];e.minorEnd=e.minorStart+r.length-1;let o=Ha(e,p);o.scope=a,x&&c.search(o).length>0&&x.push(o)}}}b=Vu(e.tuples,a,p)}let S=(e,t)=>{e&&this._notifySpillsInsert.push(e),t&&this._notifySpillsRemove.push(t)};if(i||v){let e;i&&(e=Fw(i,m,f,g,S,!1,!0,this._notifyValues,(e,t,n,r)=>{_.push({colStart:e,rowStart:t,colEnd:n,rowEnd:r,scope:a})})),Tw(-1,i?[i]:n.CommonUtils.EmptyArray,b,g,m,f,(e,t,n,r)=>{_.push({colStart:e,rowStart:t,colEnd:n,rowEnd:r,scope:a})},this._notifyValues,S,this._notifyPending,h,p,!1),i&&f.delete(i),e?.(),v&&f.setValues(v)}let C=o.getScope(),w,T,E,D,O,k=(e,t)=>{let n=e.rowStart,r=e.colStart;C&&(C.rowIndex=n,C.colIndex=r);let i=o.createFormulaBlock(a,s,t,n,r),c=new Of(e,a,i,o,this._unanchored),l={...e,scope:a,value:c};w||=[],w.push(l)},A=e=>{let t={...e,scope:a,value:null};E.insertNonOverlapping(t,{noMerge:!0,onUpdates(e,t,n){T||=[];for(let e=0;e<t.length;e++){let n=t[e];if(T.push(n),O)for(let e=O.length-1;e>=0;e--)O[e].value===n.value&&O.splice(e,1)}let r=e?e.length:0;for(let t=0;t<r;t++){let n=e[t];n.value!==null&&(O||=[],O.push(n))}}})},j=x?x.length:0,M;if(d>0){M=lO(d);for(let e=0;e<d;e++){let t=r[e],i=t.value,a=n.CoordUtils.sanitizeRange(t);M[e]=a,i!==null&&k(a,i)}}(j>0||d>0)&&(E=o.getFormulas().clone());for(let e=0;e<j;e++)A(x[e]);for(let e=0;e<d;e++)A(M[e]);let N=T?T.length:0;if(N>0){let e=o.getDynamics(),t=null;for(let n=0;n<N;n++){let r=T[n].value,i=e.get(r);i&&(D||=o.getPrecedents().clone(),D.removeAll(i,NT),t||=new Map(e),t.delete(r))}t&&o.setDynamics(t)}let P=[];if((w||T)&&(D||=o.getPrecedents().clone(),PT(E,D,w,T),O&&IT(D,O,null),Tw(-1,T,w,g,m,f,(e,t,n,r)=>{_.push({colStart:e,rowStart:t,colEnd:n,rowEnd:r,scope:a})},this._notifyValues,S,this._notifyPending,h,p,!0)),D&&o.setPrecedents(D),E&&o.setFormulas(E),w)for(let e=0;e<w.length;e++){let t=w[e];P.push({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,scope:a})}if(T)for(let e=0;e<T.length;e++){let t=T[e];P.push({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,scope:a})}return _.length>0&&o.markDirty(_),P}_clearAll(){this._contentfulSpatial.clear(),this._values.clear(),this._spillSpatial.clear(),this._errorSpatial.clear(),this._pendingSpatial.clear(),this._notifyValues.clear(),this._notifySpillsInsert=[],this._notifySpillsRemove=[],this._notifyFormats.clear(),this._notifyPending.clear()}fromJSON(e,r){let i=this._calculation?.getStatus();if(i===Ky.Status.Starting){let t=this._gridId,n=this._container;n.whenSafe(async()=>{let i=(n.getGrid(t)??this).fromJSON(e,r);return this._options.onCalculated?.(i),i});return}if(i!==Ky.Status.Ready)return;this._clearAll();let a={cycleId:0,isFull:!0};if(!e)return a;this._isProcessingJSON=!0;try{if(e.data){let n=e.data;this._values.setValues(n);let r=this._values.getAxis()===t.IRange.Axis.Column,i=Vu(n,this._gridId,r);this._contentfulSpatial.load(i)}let i=this._gridId,o=this._container,s=o.getPrecedents(),c=o.getFormulas(),l={...this._getEntireCoords(),scope:i},u=e.formulas;if(u){let d=e.formulaArray,f=new Set;if(d){let e=d.length;for(let t=0;t<e;t++){let e=Iu(d[t][0],l).split(`:`)[0];f.add(e)}}let p=u.length,m=Array(p),h=[],g=o.getRuntime(),_=this._context,v=o.getScope();v.colIndex=0,v.rowIndex=0,v.gridId=i;for(let e=0;e<p;e++){let n=wu(u[e],l);n.scope=i;let a=n.value,s=n.rowStart,c=n.colStart;v.colIndex=c,v.rowIndex=s;let d=o.createFormulaBlock(i,_,a,s,c,void 0,r?.formulaTransform),p=d.resolvedPrecedentsAt(s,c,!0,CT,wT),g=p.length;g===1&&(d=d.wrapImplicit(s,c,f)),n.value=new Of(n,i,d,o,this._unanchored),m[e]=n;let y=n.rowEnd,b=n.colEnd-c,x=y-s,S=[],C=d.getReferences(s,c);for(let e=0;e<g;e++){let r=p[e];if(t.FormulaError.isError(r))continue;let a=Dw(C[e],wT[e],CT[e]),o=a.$absColEnd,s=a.$absRowEnd,c={colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd+(o?0:b),rowEnd:r.rowEnd+(s?0:x),scope:r.scope??i,value:{formulaEntry:n,formulaBlockWidth:b+1,formulaBlockHeight:x+1,index:e,$absColStart:a.$absColStart,$absColEnd:o,$absRowStart:a.$absRowStart,$absRowEnd:s}};S.push(r),h.push(c)}}if(c.load(m),s.load(h),d){let e=[],r=[],u=new Map,f=this._values,p=d.length;for(let a=0;a<p;a++){let o=wu(d[a],l),s=o.value??`dynamic`,p=s===`dynamicSpillError`,m=o.colStart,h=o.rowStart;TT.colStart=m,TT.rowStart=h,TT.colEnd=m,TT.rowEnd=h,TT.scope=i;let _=c.search(TT);if(_.length!==1)continue;let v=_[0].value,y=v.ref,b=v.calcs,x=h-y.rowStart,S=m-y.colStart,C=b[x][S],w=o.colEnd,T=o.rowEnd,E={colStart:m,rowStart:h,colEnd:w,rowEnd:T};C.cachedValue=p?t.FormulaError.BuiltIn.Spill:new GO(g,f,E);let D={colStart:m,rowStart:h,colEnd:w,rowEnd:T,value:new zu(E,0,s)};r.push(D),n.CoordUtils.isSingleCell(o)||e.push({colStart:m,rowStart:h,colEnd:w,rowEnd:T,value:s}),Ew(u,C,E,kf.Spill)}if(this._spillSpatial.load(r),u.size>0){s.load(Array.from(u.values()).flat());let e=new Map(o.getDynamics());for(let[t,n]of u)e.set(t,n);o.setDynamics(e)}e.length>0&&(a.spillInserts=e)}let y=e.volatile,b=y?y.length:0;if(b>0){let e=o.getVolatiles(),t=t=>{e.add(t)},n=Array(b);for(let e=0;e<b;e++){let r=Fu(y[e],l);n[e]={...r};let i=c.search(r),a=i.length;for(let e=0;e<a;e++){let n=i[e];Pw(n,r,t)}}this.markDirtyRegions(n),o.isLoading()?o.whenSafe(async()=>{this.calculate()}):this.calculate()}}}catch(e){throw e}finally{this._isProcessingJSON=!1}return a}async toJSON(e){let r=this._container.getFormulas().getSpatialAt(this._gridId)?.all(),i=r?r.length:0;if(i>0&&(r=Na(r,n.RangeAxis.Column,2,Ia),r.sort(n.CoordUtils.rowFirstRangeComparator)),i=r?r.length:0,i===0)return null;let a={};if(i>0){let t=e?.formulaTransform,n=Array(i);for(let e=0;e<i;e++)n[e]=r[e].value.toJSON(!1,t);a.formulas=n}let o=this._spillSpatial.all(),s=o.length;if(s>0){let e=this._getEntireCoords(),t=Array(s);for(let n=0;n<s;n++){let r=o[n];t[n]=[ql(r,e),r.value.getKind()]}a.formulaArray=t}let c=this._container.getVolatiles(),l=this._gridId;if(c.size>0){let e=c.values(),n=e.next(),r=this._values.getAxis()===t.IRange.Axis.Column,i=eo(!0);for(;!n.done;){let t=n.value;if(n=e.next(),t.gridId!==l)continue;let a=t.colIndex,o=t.rowIndex,s=r?a:o,c=r?o:a;i.append(s,c)}let o=i.done(!0),s=o.length;if(s>0){let e=Array(s);for(let t=0;t<s;t++){let n=o[t];e[t]=ql(n,this._getEntireCoords())}a.volatile=e}}return a}},ST={rowStart:0,colStart:0,rowEnd:0,colEnd:0},CT=[],wT=[],TT={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},ET={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},DT={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},OT=Object.freeze({search:(e,t,r,i)=>i??n.CommonUtils.EmptyArray,getBoundingRange:()=>null,isEmpty:()=>!0}),kT={colStart:0,rowStart:0,colEnd:0,rowEnd:0},AT=[null],jT=Object.freeze({full:!0}),MT=[];function NT(e,t){return e.value===t.value}function PT(e,t,n,r){(n&&n.length!==0||r&&r.length!==0)&&(IT(t,null,r),FT(e,null,r),FT(e,n,null),IT(t,n,null))}function FT(e,t,n){(t&&t.length!==0||n&&n.length!==0)&&(n&&e.removeAll(n,NT),t&&e.load(t))}function IT(e,n,r){let i=r?r.length:0;for(let n=0;n<i;n++){let i=r[n],a=i.value,o=a.registeredPrecedents;if(o){for(let t=0;t<o.length;t++)e.remove(o[t],NT);a.registeredPrecedents=null}let s=a.ref,c=s.rowStart,l=s.colStart,u=a.formula.resolvedPrecedentsAt(c,l);if(!u)continue;let d=u.length;for(let n=0;n<d;n++){let r=u[n];if(r===null||t.FormulaError.isError(r))continue;DT.rowStart=r.rowStart,DT.colStart=r.colStart,DT.rowEnd=r.rowEnd,DT.colEnd=r.colEnd,DT.scope=r.scope??i.scope,MT.length=0;let a=e.search(DT,!1,!1,MT),o=a.length;for(let t=0;t<o;t++){let n=a[t],r=n.value.formulaEntry;r&&r.value===i.value&&e.remove(n,NT)}}}let a=n?n.length:0;if(a===0)return;let o=[];for(let e=0;e<a;e++){let t=n[e],r=[],i=o.length;kw(t,o,r),o.length>i&&(t.value.registeredPrecedents=o.slice(i))}e.load(o)}function LT(e,n=0,r=0){let i=e._values,a=e._coords,o=i.getRuns({bounds:a}),s=i.getAxis()!==t.IRange.Axis.Row,c=s?a.colStart:a.rowStart,l=s?a.rowStart:a.colStart,u=new _i.Builder(null,n,r),d=o.next();for(;!d.done;){let e=d.value;u.pushMultipleAt(e[0]-c,e[1]-l,e[2]),d=o.next()}return u.build()}function RT(e,t,n,r){let i=e.value,a=i.formulaBlockWidth,o=i.formulaBlockHeight,s=i.formulaEntry.value.calcs,c=n-e.colStart,l=t-e.rowStart,u=e.rowEnd-e.rowStart-(o-1),d=e.colEnd-e.colStart-(a-1),f=i.$absRowEnd?0:Math.max(0,l-u),p=i.$absRowStart?o-1:Math.min(o-1,l),m=i.$absColEnd?0:Math.max(0,c-d),h=i.$absColStart?a-1:Math.min(a-1,c);for(let e=f;e<=p;e++){let t=s[e];for(let e=m;e<=h;e++)r(t[e])}}MT.fill(null,0,10);var zT=class{constructor(e,t,r){this._pendingCalcs=new Set,this._circularNodes=[],this._circularReported=null,this._gridUpdates=null,this._addDynamicPrecedent=null,this.scheduleRecalculation=(e,t)=>{if(!t)return;let r=this._pendingCalcs;r.add(t);let i=this;n.TimerUtils.debounce(()=>{let t=i._container.getVolatiles();r.forEach(n=>{n.cycleId>e||t.add(n)}),r.clear(),i._requestCalculate()},100)()},this.doCollectVolatileCalcs=(e,t,n,r,i)=>{let a=r.values,o=r.length;if(!n||n.size===0)return o;let s=o,c=new Map;return n.forEach(n=>{n.markId===t&&n.cycleId===e||(e=>{let t=e.block;if(!t)return!1;let n=c.get(t);if(n!==void 0)return n;GT.colStart=GT.colEnd=e.colIndex,GT.rowStart=GT.rowEnd=e.rowIndex,GT.scope=e.gridId;let r=i.search(GT),a=!1;for(let e=0;!a&&e<r.length;e++)a=r[e].value===t;return c.set(t,a),a})(n)&&(n.markId=t,n.cycleId=e,a[s++]=n,n.pendingPromise&&(n.pendingPromise.cancelled=!0))}),r.length=s,s},this.doCollectDirtyCalcs=(e,t,n,r,i,a,o)=>{let s=r.values,c=r.length,l=n=>{n.cycleId===e&&n.markId===t||(s[c++]=n,n.markId=t,n.cycleId=e,n.pendingPromise&&(n.pendingPromise.cancelled=!0))},u=e=>{let t=e.calcs,n=t.length;for(let e=0;e<n;e++){let n=t[e],r=n.length;for(let e=0;e<r;e++)l(n[e])}},d=(e,t,n,r,i)=>{let a=e.calcs;for(let e=t;e<=n;e++){let t=a[e];for(let e=r;e<=i;e++)l(t[e])}},f=n.length;for(let e=0;e<f;e++){let t=n[e];tE.length=0;let r=tE;a.search(t,!1,!1,r);let s=r.length;i.search(t,!1,!1,r);let c=r.length;if(c===0)continue;let l=t.colStart,f=t.rowStart,p=t.colEnd-l,m=t.rowEnd-f;for(let e=0;e<s;e++){let t=r[e],n=t.value;if(n.index<0){o.push(t),u(n.formulaEntry.value);continue}let i=n.formulaEntry.value,a=i.ref,s=a.colEnd-a.colStart,c=a.rowEnd-a.rowStart,h=t.colEnd-t.colStart-s,g=t.rowEnd-t.rowStart-c,_=0,v=c,y=0,b=s,x=f-t.rowStart,S=l-t.colStart;n.$absRowEnd||(_=Math.min(Math.max(x-g,0),c)),n.$absRowStart||(v=Math.min(x+m,c)),n.$absColEnd||(y=Math.min(Math.max(S-h,0),s)),n.$absColStart||(b=Math.min(p+S,s)),d(i,_,v,y,b)}for(let e=s;e<c;e++){let t=r[e],n=t.value,i=n.ref,a=i.colEnd-i.colStart,o=i.rowEnd-i.rowStart,s=f-t.rowStart,c=l-t.colStart;d(n,Math.min(Math.max(s,0),o),Math.min(s+m,o),Math.min(Math.max(c,0),a),Math.min(p+c,a))}}return r.length=c,c},this._container=e,this._context=t,this._requestCalculate=r}execute(e,t,n){let{isFullCalc:r,calcCoords:i,gridId:a,scopeGridId:o}=t,{gridsAll:s,formulaSpatial:c,dirtySpatial:l,oldVolatiles:u}=n,d=this._container,f=e=>d.getIncrementalUpdates(e),p=d.getPrecedents(),m=p,h=d.getDynamics(),g=h,_=new Map;this._gridUpdates=_;let v=[],y=()=>{v.length!==0&&(m===p&&(m=m.clone()),m.removeAll(v,NT),v.length=0)},b=1,x=sE;if(x.length=0,r||(this.doCollectVolatileCalcs(e,b,u,x,c),u.clear()),i)s.get(i.scope??a)&&this.doCollectDirtyCalcs(e,b,[i],x,c,m,v);else{let t=o&&s.has(o)?o:null,n=t?[t]:r?s.keys():l.getScopeKeys();for(let i of n){let n=s.get(i);if(!n)continue;let a;if(f(i),r){let e={...n.getEntireCoords()};e.scope=i,a=[e]}else a=[],l.all3D(a),t&&(a=a.filter(e=>e.scope===i));this.doCollectDirtyCalcs(e,b,a,x,c,m,v)}}if(_.size===0&&x.length===0)return this._gridUpdates=null,this._addDynamicPrecedent=null,null;if(x.length===0)return this._gridUpdates=null,this._addDynamicPrecedent=null,{precedentSpatial:m,dynamicByBlock:g,lastUpdates:new Map(_)};let S=new Map;this._addDynamicPrecedent=(e,t,n)=>{if(!e?.block)return;let r=e.block,i=t?.scope??e.gridId,a,o,s,c;t?(a=t.colStart,o=t.rowStart,s=t.colEnd,c=t.rowEnd):(a=e.colIndex,o=e.rowIndex,s=e.colIndex,c=e.rowIndex);let l=S.get(r);l||(l=[],S.set(r,l));let u=l.findIndex(e=>e.value.index===n),d=u===-1?void 0:l[u];if(d&&d.scope===i){a<d.colStart&&(d.colStart=a),o<d.rowStart&&(d.rowStart=o),s>d.colEnd&&(d.colEnd=s),c>d.rowEnd&&(d.rowEnd=c);let e=d.value.formulaEntry;e.colStart=d.colStart,e.rowStart=d.rowStart,e.colEnd=d.colEnd,e.rowEnd=d.rowEnd}else{let e=r.ref,t={colStart:a,rowStart:o,colEnd:s,rowEnd:c,scope:i,value:{formulaEntry:{colStart:a,rowStart:o,colEnd:s,rowEnd:c,scope:i,value:r},formulaBlockWidth:e.colEnd-e.colStart+1,formulaBlockHeight:e.rowEnd-e.rowStart+1,index:n,$absColStart:!1,$absColEnd:!1,$absRowStart:!1,$absRowEnd:!1}};u===-1?l.push(t):l[u]=t}};let C=new Map,w=(e,t)=>{(function(e,t,n,r){if(t===0)return;let i,a,o,s=VT,c=()=>{let e=i.build();e&&e.tuples&&o.values.setValues(e.tuples);let t=a.done(!0);for(let e=0;e<t.length;e++){let n=t[e];o.notifyValues.insertNonOverlapping(n)}let n=o.pendingConflating;if(n){let e=n.done(!0);o.notifyPending.load(e),o.pendingConflating=null}let r=o.formatsConflating;if(r){let e=r.done(!0);o.notifyFormats.load(e),o.formatsConflating=null}};e.length=t,e.sort(r?HT:UT);for(let l=0;l<t;l++){let t=e[l],u=t.colIndex,d=t.rowIndex,f=t.gridId;if(f||console.log(`nodeGridId is null`,t),f!==s&&(s!==VT&&c(),i=new _i.Builder(BT),a=eo(r),s=f,o=n(f)),!t.cachedValue?.isIRange){let e=r?u:d,n=r?d:u,o=t.cachedValue;i.pushAt(e,n,o),a.append(e,n)}}c()})(e,t,f,!0);for(let[e,t]of _)C.set(e,t);_.clear()},T=r,E=cE;E.length=0;let D=0,O=!1,k=!1;do{++b,y(),this.doMarkAndPlan(e,b,x,E)||(k=!0,this.reportCircular());let t=this.doEvaluate(e,f,this.scheduleRecalculation,w,T,E);O=t!==void 0,O&&(T=!1,++b,this.doCollectDirtyCalcs(e,b,t.all(),x,c,m,v),D>200&&(console.error(`Too many iterations, possible cycle or leak`),O=!1)),D++}while(O);if(k||(this._circularReported=null),S.size>0){m===p&&(m=m.clone()),g===h&&(g=new Map(g));for(let e of S.keys()){let t=g.get(e);t&&m.removeAll(t,NT)}m.load(Array.from(S.values()).flat());for(let[e,t]of S)g.set(e,t);S.clear()}return this._gridUpdates=null,this._addDynamicPrecedent=null,{precedentSpatial:m,dynamicByBlock:g,lastUpdates:C}}reportCircular(){let e=this._circularNodes,t=e.length;if(t===0)return;let n=e[0],r=Kl(n.gridId,Ul(n)??``),i=`${r}/${t}`;if(this._circularReported===i)return;this._circularReported=i;let a=t>1?` (+${t-1} more cell${t>2?`s`:``})`:``;console.warn(`Circular reference: ${r}${a}. Cells in a reference cycle evaluate to 0.`)}doMarkAndPlan(e,n,r,i){let a=r.values,o=r.length,s=i.values,c=0,l=this._container,u=l.getPrecedents(),d=l.getFormulas(),f=0,p=0,m=0,h=0,g=0;for(let t=0;t<o;t++){let r=a[t];if(r.cycleId===e&&r.markId===n)continue;r.markId=n,r.cycleId=e,r.inDegree=0,r.pendingPrecedents=!1,r.circular=!1;let i=r.inputs,o=i.length;for(let e=0;e<o;e++)i[e]=void 0;QT[f++]=r,$T[g++]=r}let _=t=>{if(t.cycleId===e&&t.markId===n)return;t.markId=n,t.cycleId=e,t.inDegree=0,t.pendingPrecedents=!1,t.circular=!1;let r=t.inputs,i=r.length;for(let e=0;e<i;e++)r[e]=void 0;QT[f++]=t,$T[g++]=t};for(;h<g;){let e=$T[h++],t=e.colIndex,n=e.rowIndex,r=e.gridId,i;KT.colStart=t,KT.rowStart=n,KT.colEnd=t,KT.rowEnd=n,KT.scope=r,i=u.search(KT),e.dependents=i;let a=i.length;if(a!==0)for(let e=0;e<a;e++)RT(i[e],n,t,_)}let v=null,y=null;for(let r=0;r<f;r++){let i=QT[r],a=i.precedents,o=a.length,s=0;for(let r=0;r<o;r++){let o=a[r];if(t.FormulaError.isError(o))continue;let c=o.colStart,l=o.rowStart,u=o.colEnd,f=o.rowEnd,p=o.scope??i.gridId,m;if(v!==null&&y===p&&c>=v.colStart&&u<=v.colEnd&&l>=v.rowStart&&f<=v.rowEnd)nE[0]=v,m=nE;else if(qT.colStart=c,qT.rowStart=l,qT.colEnd=u,qT.rowEnd=f,qT.scope=p,m=d.search(qT),m.length===1){let e=m[0];e.colEnd>e.colStart||e.rowEnd>e.rowStart?(v=e,y=p):v=null}else v=null;let h=m.length;for(let t=0;t<h;t++){let r=m[t],i=r.colStart,a=r.rowStart,o=r.colEnd,d=r.rowEnd,p=Math.max(i,c),h=Math.max(a,l),g=Math.min(o,u),_=Math.min(d,f),v=r.value.calcs;for(let t=h;t<=_;t++){let r=v[t-a];for(let t=p;t<=g;t++){let a=r[t-i];a.cycleId===e&&a.markId===n&&s++}}}}i.inDegree=s,i.inDegree===0&&(eE[m++]=i)}let b=e=>{e.markId===n&&(e.inDegree--,e.inDegree===0&&(eE[m++]=e))};for(;p<m;){let e=eE[p++];s[c++]=e;let t=e.colIndex,n=e.rowIndex,r;r=e.dependents;let i=r.length;if(i!==0)for(let e=0;e<i;e++)RT(r[e],n,t,b)}if(c<f){let e=this._circularNodes;e.length=0;for(let t=0;t<f;t++){let n=QT[t];n.inDegree>0&&(n.circular=!0,e.push(n),s[c++]=n)}return i.length=c,!1}return i.length=c,!0}doEvaluate(e,r,i,a,o,s){let c=this._container,l=this._context,u=c.getScope(),d=l.getRuntime(),f=s.values,p=s.length,m=ZT,h,g,_,v,y,b,x,S,C,w,T=0,E=e=>{let t=c.getGrid(e);w=t.getEntireCoords.bind(t),g=r(e),_=g.gridId,v=g.values,y=g.contentfulSpatial,b=g.spillSpatial,x=g.notifyValues,S=g.notifySpillsInsert,C=g.notifySpillsRemove,g.notifyFormats,g.notifyPending,u.gridId=_},D=t.IRange.Axis.Column,O=D===t.IRange.Axis.Column;for(let r=0;r<p;r++){let s=f[r],l=s.colIndex,p=s.rowIndex;if(s.state===Uu&&e===s.cycleId){s.state=Hu;continue}let k=s.gridId;k!==_&&E(k);let A=s.block,j,M,N=s.cachedValue;N?.isIRange&&(j=N);let P,F=!1;t.FormulaError.isError(N,t.FormulaError.Code.Spill)&&(M=N,F=!0),o&&(N=void 0),!P&&N&&t.FormulaError.isError(N)&&(P=N);let I=s.pendingPrecedents,L=s.circular,ee=L?null:s.precedents;if(ee){let e=s.inputs,n=ee.length;for(let r=0;r<n;r++){let n=ee[r];if(t.FormulaError.isError(n)){e[r]=n;continue}let i=n.colStart,o=n.rowStart,s=n.colEnd;if(n.rowEnd!==o||i!==s){T>0&&(a(m,T),T=0);let t=n.scope,i=v,o=w;if(t&&t!==_){i=c.getGridValues(t);let e=c.getGrid(t);e&&(o=e.getEntireCoords.bind(e))}e[r]=new ok(d,i,{...n},null,o,c.resolveScope)}}}let te=O?l:p,R=O?p:l;u.node=s,u.colIndex=l,u.rowIndex=p;let ne=A.formula,z,B=null,re=s.pending,ie,ae=re;if(L?(z=0,ae=!1,s.pendingPromise&&(s.pendingPromise.cancelled=!0,s.pendingPromise=null,s.pendingResolved=!1)):((I||s.pendingPromise)&&(ae=!0,z=s.cachedValue??null,s.pendingPromise&&(s.pendingResolved?(s.pendingPromise=null,s.pendingResolved=!1,ae=!1):(s.pendingPromise.cancelled=!0,z=void 0))),z===void 0&&(u.colIndex=l,u.rowIndex=p,z=ne.evaluateAt(p,l),B=z&&z.then?z:null,B||(z=ne.finalizeValueForCell(z)),ae=!!B)),ae!==re&&(s.pending=ae,g.pendingConflating||=eo(O),g.pendingConflating.append(te,R,ae)),B&&(z=s.cachedValue??null,!B.__originator)){B.__originator=e;let n=s;YT.add(n),n.pendingPromise=B,n.pendingResolved=!1,B.then(t=>{if(YT.delete(n),B.cancelled)return;n.pendingPromise=B,n.pendingResolved=!0;let r=ne.finalizeValueForCell(t);r===null&&(r=0),n.cachedValue=r,i(e,n)},r=>{YT.delete(n),n.pendingPromise=null,n.pendingResolved=!1,n.cachedValue=t.FormulaError.BuiltIn.Calc,this.scheduleRecalculation(e,n)})}if(j||M){JT.colStart=l,JT.rowStart=p,JT.colEnd=l,JT.rowEnd=p;let e=b.search(JT);for(let t=0;!ie&&t<e.length;t++){let n=e[t];n.colStart===l&&n.rowStart===p&&(ie=n)}if(ie&&(b.remove(ie,NT),!ie||!ie.value.getError())){let e={...ie,value:null};y.insertNonOverlapping(e),v.delete(e)}}let oe=1,se=1,ce=z,le=ce?.isIRange,ue,de=t.FormulaError.isError(z,t.FormulaError.Code.Spill);if(le&&ce.size>1){oe=ce.getColumnCount(),se=ce.getRowCount();let r={colStart:l,rowStart:p,colEnd:l+oe-1,rowEnd:p+se-1,scope:k},i=w(),a=!n.CoordUtils.isRangeWithinRange(r,i);if(a&&(r.colEnd=Math.min(r.colEnd,i.colEnd),r.rowEnd=Math.min(r.rowEnd,i.rowEnd)),de=a,!de){let e=y.search(r);if(de=e.length>1,!de&&e.length===1){let t=e[0],i=n.CoordUtils.intersectRanges(r,t,WT);!i||i.rowEnd===i.rowStart&&i.colStart===i.colEnd&&i.colStart===l&&i.rowStart===p||(de=!0)}}let o,u;if(de)z=t.FormulaError.BuiltIn.Spill,oe=1,se=1,o=[[te,[[R,[z]]]]],v.setValues(o),u={colStart:l,rowStart:p,colEnd:l,rowEnd:p};else{let e=LT(ce,te,R);e&&(o=e.tuples),o&&v.setValues(o),u=r}let d=de?{colStart:l,rowStart:p,colEnd:l,rowEnd:p,scope:k}:r;ue={...d,value:new zu(d,e,de?`dynamicSpillError`:`dynamic`)},b.insert(ue),c.addDynamicPrecedent(s,r,kf.Spill),y.insertNonOverlapping({...u,value:new Bu(u,D)})}let fe=!1;if((ie||ue||de||M)&&(fe=n.CoordUtils.isEqualRanges(ie,ue),ie&&C.push(ie),ue&&S.push(ue)),ue||ie){let e=1,t=1;ie&&(e=ie.colEnd-ie.colStart+1,t=ie.rowEnd-ie.rowStart+1);let n={colStart:l,rowStart:p,colEnd:l+Math.max(oe,e)-1,rowEnd:p+Math.max(se,t)-1,scope:k};x.insertNonOverlapping(n),fe&&de===F||c.getPrecedents().search(n).length>0&&(s.state=Uu,h||=new wa,h.insertNonOverlapping(n))}z&&t.FormulaError.isError(z),ne.getError()&&ne.getError(),s.cachedValue=z,m[T++]=s;let pe=s.dependents,me=pe.length;if(me>0){let e=s.pending;for(let t=0;t<me;t++){let n=pe[t],r=n.value.index;r<0||(e?RT(n,p,l,oE):(rE=r,iE=z,RT(n,p,l,aE)))}}}return u.node=null,u.colIndex=2**53-1,u.rowIndex=2**53-1,T>0&&(a(m,T),T=0),h}},BT=e=>new ci(e),VT=Symbol(`unsetGridId`);function HT(e,t){return e.scope===t.scope?e.colIndex===t.colIndex?e.rowIndex-t.rowIndex:e.colIndex-t.colIndex:e.scope===null?-1:t.scope===null?1:e.scope.localeCompare(t.scope)}function UT(e,t){return e.scope===t.scope?e.rowIndex===t.rowIndex?e.colIndex-t.colIndex:e.rowIndex-t.rowIndex:e.scope===null?-1:t.scope===null?1:e.scope.localeCompare(t.scope)}var WT={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},GT={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},KT={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},qT={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},JT={rowStart:0,colStart:0,rowEnd:0,colEnd:0};new t.FormulaError.Calc(`Cyclical dependency`);var YT=new Set,XT=1e4,ZT=lO(XT),QT=lO(XT),$T=lO(XT),eE=lO(XT),tE=lO(XT),nE=[null],rE=-1,iE=void 0,aE=e=>{e.inputs[rE]=iE},oE=e=>{e.pendingPrecedents=!0},sE={values:lO(XT),length:0},cE={values:lO(XT),length:0},lE=class{constructor(e){this._closed=!1,this._wiringDirty=!1,this._wiringBatchDepth=0,this._container=e?.container??null,this._context=e?.context??null,this._ready=e?.ready??null,this._getActiveCell=e?.getActiveCell??(()=>null),this._createVirtualGrid=e?.createVirtualGrid??null,this._getRange=e?.getRange,this._getRanges=e?.getRanges,this._createGraphRanges=e?.createGraphRanges,this._resolveSheetScope=e?.resolveSheetScope??null,this._isReadOnly=e?.isReadOnly??null,this._getOrBindProxyFakeId=e?.getOrBindProxyFakeId??null,this._queuePendingAction=e?.queuePendingAction??null,this._isEngineReady=e?.isEngineReady??null;let t=this;this._transactions=e?.transactions??new m({transient:!0}),this._stateId=this._transactions.create(),this._transactionsRemoveListener=this._transactions.addStateListener(this._stateId,{onAfterStateChange(e){t._emitter.notify(`onCollectionChange`)}}),this._emitter=new v(this,this._transactions),this._initState()}hydrate(e,t){if(!e)return;let r=e.length;for(let i=0;i<r;i++){let r=e[i];try{this.add({name:r.name,expression:r.ref,scope:r.scope??null,comment:r.comment,hidden:r.hidden,formulaTransform:t})}catch(e){n.Notifier.warn(`Unable to load named item '${r?.name}'.`,{meta:e?.message})}}}toJSON(){let e=this._getState();if(!e||e.itemsById.size===0)return null;let t=Array.from(e.itemsById.values());t.sort((e,t)=>{let n=dE(e.getScope()).localeCompare(dE(t.getScope()));return n===0?dE(e.getName()).localeCompare(dE(t.getName())):n});let n=[],r=t.length;for(let e=0;e<r;e++){let r=t[e].toJSON();r&&n.push(r)}return n.length>0?n:null}add(e){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));if(!e?.name)throw Error(`name is required`);if(!e?.expression)throw Error(`expression is required`);let t=null;if(e.cell&&this._getRange){let r=this._getRange(e.cell)?.getCoords()??null;r&&n.CoordUtils.isSingleCell(r)&&(t={colIndex:r.colStart,rowIndex:r.rowStart})}t||=this._getActiveCell?.()??n.CoordUtils.EmptyCell;let r=t.scope??this._getActiveCell?.()?.scope??null,i=this._resolveScopeInput(e.scope??null),a=this._findSameIdentity(e.name,i);if(a){if(!e.replaceExisting)throw Error((0,n.t)(`error.named.nameExists`,{name:e.name}));a.delete()}let o=this._container&&this._context&&this._ready?{container:this._container,context:this._context,ready:this._ready,getScopeGridId:()=>r||(i?this._container?.getSymbols().bind(sf,i)??null:this._getActiveCell?.()?.scope??null),queuePendingAction:this._queuePendingAction??void 0,isEngineReady:this._isEngineReady??void 0,markWired:()=>this._markWired(),getRanges:this._getRanges,getRange:this._getRange,createGraphRanges:this._createGraphRanges,resolveSheetScope:this._resolveSheetScope??void 0,getNamedById:e=>this.getById(e)}:null,s=this._getOrBindProxyFakeId?.(e.name,this._resolveScopeName(i))??null;s&&this._createVirtualGrid&&!this._container?.getGrid(s)&&this._createVirtualGrid(s);let c=new uE(t,{...e,scope:i},()=>this._remove(c.getId()),o,s,e=>{let t=this._findSameIdentity(e,c.getScopeId());if(t&&t!==c)throw Error((0,n.t)(`error.named.nameExists`,{name:e}))},this._transactions,this._isReadOnly,this._resolveSheetScope??void 0,()=>this._markContentsChanged());return this._updateState(e=>({...e,itemsById:new Map(e.itemsById).set(c.getId(),c)}),(0,n.t)(`op.addNamedFormulaNamed`,{name:e.name})),o&&this._isEngineReady?.()&&c._wireNow(),c}_markWired(){this._markContentsChanged()}_graphNode(e,t){let n=this.getById(e);return n?t&&(this._container?.getNamedDependents(e).length??0)===0?null:n._asGraphNode():null}_markContentsChanged(){this._closed||(this._wiringDirty=!0,this._wiringBatchDepth===0&&this._flushWired())}_beginWiringBatch(){this._wiringBatchDepth++}_endWiringBatch(){this._wiringBatchDepth>0&&this._wiringBatchDepth--,this._wiringBatchDepth===0&&this._flushWired()}_flushWired(){this._wiringDirty&&!this._closed&&(this._wiringDirty=!1,this._emitter.notify(`onCollectionChange`))}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t=this._getState();if(!t)return n.CommonUtils.EmptyArray;let r=Array.from(t.itemsById.values());if(!e)return r;let i=e.name?.toUpperCase(),a=`scope`in e;return r.filter(t=>(!i||t.getName().toUpperCase()===i)&&(!a||t.getScope()===e.scope))}getByName(e,t){if(!e)return null;let n=this._getState();if(!n)return null;let r=e.toUpperCase(),i=t?t.toUpperCase():null,a=null,o=null;for(let e of n.itemsById.values()){if(e.getName().toUpperCase()!==r)continue;let t=e.getScope();if(t!==null){if(i!==null&&t.toUpperCase()===i)return e;o||=e}else a||=e}return i===null?a??o:a}getCount(){return this._getState()?.itemsById.size??0}addListeners(e,t){return this._emitter.addListeners(e,t)}getById(e){return e?this._getState()?.itemsById.get(e)??null:null}_findSameIdentity(e,t){let n=this._getState();if(!n)return null;let r=e.toUpperCase();for(let e of n.itemsById.values())if(e.getScopeId()===t&&e.getName().toUpperCase()===r)return e;return null}_resolveScopeInput(e){if(!e)return null;try{return this._container?.getSymbols().bind(sf,e)??e}catch{return e}}_resolveScopeName(e){return e?this._resolveSheetScope?.(e)??e:null}_remove(e){this._updateState(t=>{let n=new Map(t.itemsById);return n.delete(e),{...t,itemsById:n}},(0,n.messageKey)(`op.removeNamedFormula`))}isClosed(){return this._closed}close(){this._closed||(this._closed=!0,this._transactionsRemoveListener?.())}_getState(){return this._closed?null:this._transactions.getState(this._stateId)}_beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_updateState(e,t=(0,n.messageKey)(`op.update`),r){let i=this._beginCommit(t);try{i.updateState(this._stateId,e),i.commit(r)}catch(e){throw i.rollback(),e}}_initState(){this._updateState(()=>({itemsById:new Map}),(0,n.messageKey)(`op.initialize`),{forceAmend:!0})}},uE=class extends nx{_getNamedState(){return this._transactions.getState(this._stateId)}get _block(){return this._options.getCalcGrid?.()?.getFormulaBlockAt(0,0)}constructor(e,t,r,i,a,o,s,c,l,u){let d=a??n.CommonUtils.uuidV4();super(e,null,{getRanges:e=>i?.getRanges?.(e)??null,getRange:e=>i?.getRange?.(e)??null,getCalcGrid:()=>i?.container?.getGrid(d)??null,resolveSheetScope:e=>i?.resolveSheetScope?.(e)??null,getOwnScope:()=>{let e=i?.getScopeGridId();return e?i?.resolveSheetScope?.(e)??null:null}}),this._closed=!1,this._id=d,this._transactions=s??new m({transient:!0}),this._stateId=this._transactions.create({name:t.name,scope:t.scope??null,comment:t.comment??null,hidden:t.hidden??!1,isDeleted:!1,expression:fE(t.expression)}),this._deleteFromCollection=r,this._checkRename=o??null,this._wire=i,this._formulaTransform=t.formulaTransform??null,this._isReadOnly=c??null,this._resolveSheetScope=l??null,this._notifyCollection=u??null;let f=this;this._emitter=new v(this,this._transactions),this._transactionsRemoveListener=this._transactions.addStateListener(this._stateId,{onRestoreOrRevert(){f._emitter.notify(`onInvalidated`),f._notifyCollection?.(),f._wire&&f._block&&(f._wire.container.invalidateNamed(f._id),f._emitter.notify(`onRangesChange`),f._wire.markWired?.())}}),i&&!i.isEngineReady?.()&&(i.queuePendingAction?i.queuePendingAction(()=>this._doWireCore()):this._wireAsync())}_wireNow(){this._wire&&!this._closed&&this._doWireCore()}getId(){return this._id}getName(){return this._getNamedState().name}getScope(){let e=this._getNamedState().scope;return e?this._resolveSheetScope?.(e)??e:null}getScopeId(){return this._getNamedState().scope}getType(){return`formula`}getValue(){return this.getExpression()}setName(e,t){let r=this._getNamedState();return e&&e!==r.name?(this._checkRename?.(e),this._updateNamedState({name:e},(0,n.t)(`op.updateNamed`,{name:e}),t)):this}setExpression(e,t){if(!e)throw Error(`expression is required`);let r=fE(e);return r===this._getNamedState().expression||(this._updateNamedState({expression:r},(0,n.t)(`op.updateNamed`,{name:this.getName()}),t),this._wire&&this._block&&this._doWireCore()),this}getComment(){return this._getNamedState().comment}setComment(e,t){return this._updateNamedState({comment:e},(0,n.messageKey)(`op.setComment`),t)}isHidden(){return this._getNamedState().hidden}setHidden(e=!1,t){return this._updateNamedState({hidden:e},(0,n.messageKey)(`op.setHidden`),t)}_updateNamedState(e,t,r){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));let i=this._transactions.beginCommit({description:t,...r});try{i.updateState(this._stateId,e),this._emitter.notify(`onAnyChange`),i.commit()}catch(e){throw i.rollback(),e}return this._notifyCollection?.(),this}async select(e){return await this.getRanges()?.select(e),this}toJSON(){let e=this._getNamedState(),t={name:e.name,ref:this.getExpression()},n=this.getScope();return n&&(t.scope=n),e.comment&&(t.comment=e.comment),e.hidden&&(t.hidden=!0),t}isReadOnly(){return this._isReadOnly?.()??!1}isDeleted(){return this._getNamedState()?.isDeleted??!1}addListeners(e,t){return this._emitter.addListeners(e,t)}getVersionId(){return this._transactions.getVersionId(this._stateId)}beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}doBatch(e,t){return this._transactions.doBatch(e,typeof t==`string`?{description:t}:t)}isClosed(){return this._closed}close(){this._closed||(this._emitter.notify(`onClose`),this._closed=!0,this._transactionsRemoveListener?.())}get isIModel(){return!0}get isINamed(){return!0}getRanges(){return this._block?.isReferenceOnly()?this.getReferences():null}getDirectDependents(){return this._dependentRanges(!0)}getDependents(){return this._dependentRanges(!1)}_asGraphNode(){let e=this,t=this._coords,n=t?.scope,r=(n?this._wire?.resolveSheetScope?.(n):null)??this.getScope()??null;return{id:this._id,name:this.getName(),sheetName:r,rowIndex:t?.rowIndex??0,colIndex:t?.colIndex??0,ranges:()=>e.getRanges(),directPrecedents:()=>e._precedentRanges(!0),precedents:()=>e._precedentRanges(!1),directDependents:()=>e._dependentRanges(!0),dependents:()=>e._dependentRanges(!1)}}getDirectPrecedents(){return this._precedentRanges(!0)}getPrecedents(){return this._precedentRanges(!1)}_precedentRanges(e){let t=this._wire,r=t?.container;if(!t||!r)return null;let i=t.resolveSheetScope,a=[],o=new Set,s=[this._id],c=new Set(s);for(let l=0;l<s.length;l++){let u=r.getGrid(s[l]);if(!u)continue;let d=e?u.getDirectPrecedentsAt(n.CoordUtils.EmptyRange):u.getPrecedentsAt(n.CoordUtils.EmptyRange);for(let e=0;e<d.length;e++){let t=d[e],n=t.scope?i?.(t.scope):null;n&&a.push({...t,scope:n})}let f=u.getFormulaBlockAt(0,0)?.getNamedIds()??n.CommonUtils.EmptyArray;for(let n=0;n<f.length;n++){let r=f[n];t.getNamedById?.(r)&&(o.add(r),e||c.has(r)||(c.add(r),s.push(r)))}}let l=[];for(let e of o){let n=t.getNamedById?.(e);n&&l.push(n._asGraphNode())}if(a.length===0&&l.length===0)return null;let u=a.length>0?Pa(a):[];return l.length===0?t.getRanges?.(u)??null:t.createGraphRanges?.(u,l)??(u.length>0?t.getRanges?.(u)??null:null)}_dependentRanges(e){let t=this._wire,r=t?.container;if(!t||!r)return null;let i=t.resolveSheetScope,a=[],o=[this._id],s=new Set(o),c=new Set,l=e=>{c.add(e),s.has(e)||(s.add(e),o.push(e))},u=e=>{l(e);for(let t of r.getNamedDependentNames(e))l(t)};if(!e)for(let e of r.getNamedDependentNames(this._id))l(e);for(let t=0;t<o.length;t++){let s=r.getNamedDependents(o[t]);for(let t=0;t<s.length;t++){let o=s[t],l=o.scope;if(!l)continue;let d=i?.(l);if(!d){e&&c.add(l);continue}if(a.push({...o,scope:d}),e)continue;let f=r.getGrid(l)?.getDependentsAt(o)??n.CommonUtils.EmptyArray;for(let e=0;e<f.length;e++){let t=f[e],n=t.scope?i?.(t.scope):d;n?a.push({...t,scope:n}):t.scope&&u(t.scope)}}}let d=[];if(c.size>0&&t.getNamedById)for(let e of c){let n=t.getNamedById(e);n&&d.push(n._asGraphNode())}if(a.length===0&&d.length===0)return null;let f=a.length>0?Pa(a):[];return d.length===0?t.getRanges?.(f)??null:t.createGraphRanges?.(f,d)??(f.length>0?t.getRanges?.(f)??null:null)}delete(e){if(this._getNamedState()?.isDeleted)return;let t=this._wire?.container,r=this._transactions.beginCommit({description:(0,n.t)(`op.deleteNamedItem`,{name:this.getName()}),...e});try{if(this._block&&t){let e=t.getGrid(this._id);e&&e.setInputs(null,[{colStart:0,rowStart:0,colEnd:0,rowEnd:0,value:`#NAME?`}])}r.updateState(this._stateId,{isDeleted:!0}),this._deleteFromCollection(),this._emitter.notify(`onDelete`),r.commit()}catch(e){throw r.rollback(),e}t?.recompileNamed(this._id)}async evaluate(e){this._wire&&!this._block&&await this._wire.ready();let t=this._wire,n=this._block;if(!t||!n)throw Error(`Named formula '${this.getName()}' cannot be evaluated: calculation engine not available.`);let{container:r,context:i}=t,a=typeof e==`number`?e:e?.evalIndex,o=r.getScope();o.rowIndex=0,o.colIndex=0,o.gridId=this._id,o.node=null;let s=sO(n.evaluateAt(0,0,a),i);return s===null&&(s=0),s}getCalculationStatus(){return this._block?Ky.ResultStatus.Ready:Ky.ResultStatus.Stale}getExpression(e){let t=this._block;if(!t)return this._getNamedState().expression;let n=e?.cell?.rowIndex??0,r=e?.cell?.colIndex??0,i=e?.r1c1??!1,a=e?.evalIndex;return t.getTextAt(n,r,i,e?.formulaTransform,a,e?.canonical)}getTokens(e){return this._block?super.getTokens(e):n.CommonUtils.EmptyArray}isReferenceOnly(){return this._block?.isReferenceOnly()??!1}getReferences(){return this._block?this._resolveReferences(this._options.getCalcGrid?.()?.getReferencesAt(0,0)):null}setReferenceAt(e,t,n){throw Error(`setReferenceAt is not supported on a named formula.`)}setReferenceModeAt(e,t,n,r){throw Error(`setReferenceModeAt is not supported on a named formula.`)}async _wireAsync(){return await this._wire.ready(),this._doWireCore()}async _doWireCore(){let{container:e,context:t,getScopeGridId:n}=this._wire,r=n();if(!r)return;let i=this._coords?.rowIndex??0,a=this._coords?.colIndex??0,o=e.createFormulaBlock(r,t,this._getNamedState().expression,i,a,void 0,this._formulaTransform??void 0).reanchorReferences(r).getTextAt(0,0,!1,void 0,void 0,!0),s=e.getGrid(this._id);s&&(s.setInputs(null,[{colStart:0,rowStart:0,colEnd:0,rowEnd:0,value:o}]),e.recompileNamed(this._id),this._emitter.notify(`onRangesChange`),this._wire.markWired?.())}toString(){return`${this.getName()} => ${this._block?this._block.getTextAt(0,0,!1):this._getNamedState().expression}`}get[Symbol.toStringTag](){return`[NamedFormula]`}};function dE(e){return e?e.toUpperCase():``}function fE(e){return e.startsWith(`=`)?e.substring(1):e}var pE=class extends Av{constructor(e){super(e),this._status=Ky.Status.Off,this._statusTransition=null,this._pendingNames=null,this._cycleId=0,this._volatiles=new Set,this._calculatedCommitId=null,this._pendingActions=null,this._pendingPriority=null,this._draining=!1,this._drainScheduled=!1,this._removeNamedItemsListeners=null,this._namedDependents=null,this._namedDependentsOf=null,this._resolvers=null,this._initialize(e)}_initialize(e){this._runtime=e?.runtime??new zr(`Calculation Runtime`),this._getActiveCell=e?.getActiveCell??(()=>null),this._getRange=e?.getRange??(()=>null),this._getRanges=e?.getRanges??(()=>null);let n=e,r=n?.namedCollection??null,i=new _f(e=>r?.getByName(e,!0)??null,e=>r?.getById(e)??null),a=new vf((e,t)=>{try{e=e.toLowerCase(),t=t?.toLowerCase();let n=r?.getByName(t,!0)??null;if(!n)return null;let a=n.getValue().getColumnByName(e);return a?`_`+(i.bind(t)??``)+`:`+a.getId():null}catch{return null}},e=>{if(!e.startsWith(`_`))return null;let t=(e=e.substring(1)).split(`:`),n=t[0],r=t[1],a=i.getRealById(n);if(!a)return null;let o=a.getValue().getColumnById(r);return o?{stableId:e,toString:()=>o.getName()??`(untitled)`}:null}),o=n?.getSheetById,s=n?.getSheetByName,c=new pf(e=>{let t=s?.(e);return t?t.getId()??null:null},e=>{let n=o?.(e);if(n)return{stableId:e,toString:()=>n.getName()??`(untitled)`,getEntireCoords:()=>n.getEntireCoords()??null};let r=p._getState().gridsAll.get(e);return r?{stableId:e,toString:()=>t.FormulaError.BuiltIn.Ref.toString(),getEntireCoords:()=>r.getEntireCoords()}:null}),l=new ff;l.registerProvider(sf,c),l.registerProvider(lf,i),l.registerProvider(uf,a);let u=null;this._resolvers={getStructureReferenceCoords:(e,n,r,a)=>{if(!e)return t.FormulaError.BuiltIn.Ref;let o=e.tableId;if(!o)return null;let s=i.getRealById(o);if(!s)return t.FormulaError.BuiltIn.Ref;let c=s.getValue();if(!c)return t.FormulaError.BuiltIn.Ref;let l,u;switch(e.spec){case 1:{let e=c.getRange().getCoords();l=e.rowStart,u=e.rowEnd;break}case 2:{if(!c.isShowHeaders())return t.FormulaError.BuiltIn.Ref;let e=c.getHeaderRowRange().getCoords();l=e.rowStart,u=e.rowEnd;break}case 3:{if(!c.isShowTotals())return t.FormulaError.BuiltIn.Ref;let e=c.getTotalRowRange().getCoords();l=e.rowStart,u=e.rowEnd;break}case 4:{let e=c.isShowHeaders()?c.getHeaderRowRange().getCoords():c.getDataRange().getCoords(),t=c.getDataRange().getCoords();l=e.rowStart,u=t.rowEnd;break}case 5:{let e=c.getDataRange().getCoords(),t=c.isShowTotals()?c.getTotalRowRange().getCoords():e;l=e.rowStart,u=t.rowEnd;break}default:{let e=c.getDataRange().getCoords();l=e.rowStart,u=e.rowEnd}}let d=c.getRange().getCoords(),f=d.colStart,p=d.colEnd,m=e.columnFromId,h=e.columnToId;if(m){let e=m.indexOf(`:`),n=e>=0?m.substring(e+1):m,r=c.getColumnById(n);if(!r)return t.FormulaError.BuiltIn.Ref;if(f=d.colStart+r.getIndex(),p=f,h&&h!==m){let e=h.indexOf(`:`),n=e>=0?h.substring(e+1):h,r=c.getColumnById(n);if(!r)return t.FormulaError.BuiltIn.Ref;p=d.colStart+r.getIndex()}}if(e.isThisRow){if(n<l||n>u)return t.FormulaError.BuiltIn.Value;l=n,u=n}return{colStart:f,colEnd:p,rowStart:l,rowEnd:u,scope:c.getSheet().getId(),$colStart:!0,$rowStart:!0,$colEnd:!0,$rowEnd:!0}},getNamedFormulaBlock:e=>h.getGrid(e)?.getFormulaBlockAt(0,0)??null},this._emitter=new v(this),this._updateState({gridsAll:new Map,iterate:e?.enableIterativeCalculations??!1,maxIterations:e?.maxIterations??100,maxIterateChange:e?.maxIterateChange??.001});let d=new uo({updateEntryOptions:{isMergeOnShift:!0,isSplitOnExpand:!0}}),f=new uo({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!1}});this._updateState({formulaSpatial:d,precedentSpatial:f,dynamicByBlock:new Map,dirtySpatial:new uo});let p=this,m={rowIndex:0,colIndex:0,gridId:null,node:null,depth:0,activeNames:new Set},h={getRuntime:()=>p._runtime,getScope:()=>m,createFormulaBlock(e,t,n,r,i,a,o){return p._compiler,new NS((a?p._getEditingCompiler():p._compiler).compile(t.getRuntime(),r,i,n,h.getSymbols(),e=>t.getFunction(e),l.resolve(sf,e)?.toString()??null,o),t,m,e,()=>this.getGrid(e)?.getEntireCoords()??null,p._resolvers)},getSymbols:()=>l,resolveScope:e=>l.resolve(sf,e)?.toString(),getSheetIndex:e=>p._options.getSheetIndex?.(e)??-1,getSheetCount:()=>p._options.getSheetCount?.()??0,getFormulas:()=>p._getState().formulaSpatial,setFormulas(e){p._updateState({formulaSpatial:e},hE)},getPrecedents:()=>p._getState().precedentSpatial,setPrecedents(e){p._updateState({precedentSpatial:e},hE)},getDynamics:()=>p._getState().dynamicByBlock,setDynamics(e){p._updateState({dynamicByBlock:e},hE)},addDynamicPrecedent(e,t,n){p._calcExecutor._addDynamicPrecedent?.(e,t,n)},getVolatiles:()=>p._volatiles,getGridValues(e){let t=p._calcExecutor._gridUpdates?.get(e);if(t)return t.values;let n=p._getState().gridsAll.get(e);return n?n.getValues():(console.warn(`invalid gridId for updates`,e),null)},getIncrementalUpdates(e){let t=p._calcExecutor._gridUpdates;if(!t)return null;let n=t.get(e);if(!n){let r=h.getGrid(e);if(!r)return console.warn(`invalid gridId for updates`,e),null;n=r.beginUpdates(),t.set(e,n)}return n},registerGrid:e=>{p._registerGrid(e)},unregisterGrid:e=>{p._unregisterGrid(e)},getGrid:e=>p._getState().gridsAll.get(e)??null,markDirty:e=>{let n=p._getState(),r=n.dirtySpatial.clone(),i=n.precedentSpatial,a=n.formulaSpatial,o=!1,s=Na(e,t.IRange.Axis.Column,2);for(let e=0;e<s.length;e++){let t=s[e];(i?.has(t)||a?.has(t))&&(o=!0,r.insertNonOverlapping(t))}return o&&p._updateState({dirtySpatial:r},hE),o},getDirtyGrid:e=>p._getState().dirtySpatial.getSpatialAt(e),calculateGrid:(e,t)=>p._calculate(t,e),getCycleId:()=>p._cycleId,getNow:()=>p._getTransactions().getCurrentCommit().getTimestamp(),whenSafe:e=>{p._whenSafe(e)},isLoading:()=>p._draining||p._status===Ky.Status.Starting,recompileNamed(e){p._whenSafe(async()=>{let t=p._namedTargets(new Set([e])),n=p._getState().formulaSpatial.all3D();for(let e=0;e<n.length;e++){let r=n[e].value,i=r.getNamedIds(),a=!1;for(let e=0;e<i.length&&!a;e++)a=t.has(i[e]);if(!a)continue;let o=h.getGrid(r.gridId);if(!o)continue;let s=r.ref;o.setInputs(null,[{...s,value:r.getTextAt(s.rowStart,s.colStart)}])}})},invalidateNamed(e){p._whenSafe(async()=>{p._markDirtyReferencing(new Set([e]))})},getNamedDependents:e=>p._getNamedDependents(e),getNamedDependentNames:e=>p._getNamedDependentNames(e)};this._container=h,this._removeNamedItemsListeners=r?.addListeners({onCollectionChange:()=>{if(p.isClosed())return;let e=i.reconcile(),t=r.getItems(),n=this._getState().itemRemoveListeners;n?.forEach(e=>e()),n=[];for(let e of t)if(e.getType()===`table`){let t=e.getValue();n.push(t.addListeners({onAnchorCoordsChange:(e,n)=>{h.markDirty([{...t.getRange().getCoords(),scope:t.getSheet().getId()}])}}))}this._updateState({itemRemoveListeners:n},hE),p._markDirtyReferencing(new Set(e))}})??null;let g=new Sf(h,t.IRange.Axis.Column,this._options?.functions);this._context=g;let _=new lE({container:h,context:g,ready:()=>this.ready(),getActiveCell:()=>this._getActiveCell(),getRange:e=>this._getRange(e),getRanges:e=>this._getRanges(e),createGraphRanges:this._options?.createGraphRanges,resolveSheetScope:e=>this._options?.getSheetById?.(e)?.getName()??null,createVirtualGrid:e=>{this._createCalcGrid({uuid:e,getEntireCoords:UD,unanchored:!0})},getOrBindProxyFakeId:(e,t)=>u?.bind(e,{scope:t,own:!0})??null,queuePendingAction:e=>this._whenSafe(e,!0),isEngineReady:()=>this._status===Ky.Status.Ready&&!this._draining,transactions:n?.transactions,isReadOnly:()=>this.isReadOnly()});this._namedFormulas=_,u=new _f((e,t)=>_.getByName(e,t),e=>_.getById(e)),l.registerProvider(cf,u),this._pendingNames=n?.names??null,_.addListeners({onCollectionChange:()=>{if(p.isClosed())return;let e=u.reconcile();p._markDirtyReferencing(new Set(e))}}),this._calcExecutor=new zT(h,g,()=>this.calculate())}_markDirtyReferencing(e){if(e.size===0)return!1;let t=this._namedTargets(e),n=this._getState().formulaSpatial.all3D(),r=[];for(let e=0;e<n.length;e++){let i=n[e].value;if(i.gridId==null)continue;let a=i.getReferencedSymbolIds();for(let e=0;e<a.length;e++)if(t.has(a[e])){r.push({...i.ref,scope:i.gridId});break}}return r.length!==0&&(this._container.markDirty(r),!0)}_getNamedDependents(e){let t=this._getState().formulaSpatial;if(this._namedDependentsOf!==t||!this._namedDependents){let e=new Map,n=t.all3D();for(let t=0;t<n.length;t++){let r=n[t].value;if(r.gridId==null)continue;let i=r.getNamedIds();if(i.length===0)continue;let a=r.ref,o={rowStart:a.rowStart,colStart:a.colStart,rowEnd:a.rowEnd,colEnd:a.colEnd,scope:r.gridId};for(let t=0;t<i.length;t++){let n=e.get(i[t]);n?n.push(o):e.set(i[t],[o])}}this._namedDependents=e,this._namedDependentsOf=t}return this._namedDependents.get(e)??n.CommonUtils.EmptyArray}_getNamedDependentNames(e){let t=new Set,n=[e];for(let e=0;e<n.length;e++){let r=this._getNamedDependents(n[e]);for(let e=0;e<r.length;e++){let i=r[e].scope;i&&!t.has(i)&&this._namedFormulas.getById(i)&&(t.add(i),n.push(i))}}return t}_namedTargets(e){let t=new Set(e);for(let n of e)for(let e of this._getNamedDependentNames(n))t.add(e);return t}start(){return this._statusTransition||(this._statusTransition=(async()=>{if(this._status===Ky.Status.Off)try{this._status=Ky.Status.Starting,this._emitter.notify(`onStatusChange`),this._emitter.notify(`onStarting`);let e=this._container,t=this._context,[n,r]=await Promise.all([t._initialize(),Promise.resolve().then(()=>require("./E1pJfQiTbMva4WCz.cjs"))]),i=n.functions;this._functions=i,e.getSymbols().registerProvider(df,new xf(()=>i)),this._compilerModule=r,this._compiler=new r.FormulaCompiler,this._status=Ky.Status.Ready,this._emitter.notify(`onStatusChange`),this._emitter.notify(`onReady`),this.hydrateNames(),this._pendingActions?.length&&await this._drainPending()}catch(e){throw this._status=Ky.Status.Off,this._emitter.notify(`onError`,e),this._emitter.notify(`onStatusChange`),e}finally{this._statusTransition=null}})(),this._statusTransition.catch(()=>{})),this._statusTransition}_whenSafe(e,t=!1){if(t){let t=this._pendingPriority;t||(this._pendingPriority=t=[]),t.push(e)}else{let t=this._pendingActions;t||(this._pendingActions=t=[]),t.push(e)}this._scheduleDrain()}_scheduleDrain(){this._drainScheduled||this._draining||this._status===Ky.Status.Ready&&(this._drainScheduled=!0,queueMicrotask(()=>{this._drainScheduled=!1,this.isClosed()||this._status!==Ky.Status.Ready||this._pendingActions?.length&&this._drainStandalone().catch(e=>{this.isClosed()||this._emitter.notify(`onError`,e)})}))}async _drainStandalone(){await this._drainPending(),this.isClosed()||this._status!==Ky.Status.Ready||this._getState().dirtySpatial.isEmpty()||await this._calculate()}async _drainPending(){let e=this._draining;this._draining=!0;let t=this._namedFormulas;t?._beginWiringBatch();try{for(;this._pendingPriority?.length||this._pendingActions?.length;){let e=this._pendingPriority;if(e?.length){this._pendingPriority=null;for(let t of e)await t();continue}let t=this._pendingActions;this._pendingActions=null;for(let e of t)await e()}this._pendingPriority=null,this._pendingActions=null}finally{this._draining=e,t?._endWiringBatch()}}async calculate(e){let t;return!0===e?t=gE:e&&(t=e),this._calculate(t)}async _calculate(e,t){let n=this.getStatus();if(n===Ky.Status.Off&&(await this.start(),n=this.getStatus()),n===Ky.Status.Starting)return this._whenSafe(()=>this._calculate(e,t)),n;if(n!==Ky.Status.Ready)return n;this._pendingActions?.length&&await this._drainPending();let r=this._getState(),i,a=e?.full??r.isFullCalcRequired,o=e?.range;if(o){let e=this._options;e.getRange?i=e.getRange(o)?.getCoords():o?.rowStart===void 0?a=!0:i=o}if(t&&!a&&!i){let e=this._getTransactions().getCurrentCommit().getId();if(e===this._calculatedCommitId&&r.dirtySpatial.isEmpty())return this.getStatus();this._calculatedCommitId=e}let s=this._volatiles;this._volatiles=new Set;let c=++this._cycleId,l=this._calcExecutor.execute(c,{isFullCalc:a,calcCoords:i,gridId:t,scopeGridId:e?.scope},{gridsAll:r.gridsAll,formulaSpatial:r.formulaSpatial,dirtySpatial:r.dirtySpatial,oldVolatiles:s});if(!l)return Promise.resolve(this.getStatus());this._updateState({precedentSpatial:l.precedentSpatial,dynamicByBlock:l.dynamicByBlock,dirtySpatial:new uo,isFullCalcRequired:!1},hE);for(let t of l.lastUpdates.values())t.done(c,e);return this.getStatus()}_createCalcGrid(e){let t=this._options,n=new xT({...t,...e,context:this._context,container:this._container,calculation:this}),r=new Map(this._getState().gridsAll);return r.set(n.getId(),n),this._updateState({gridsAll:r},hE),n}_registerGrid(e){let t=e.getId();this._unregisterGrid(t);let n=new Map(this._getState().gridsAll);n.set(t,e),this._updateState({gridsAll:n},hE)}_unregisterGrid(e){let t=new Map(this._getState().gridsAll);t.get(e),t.delete(e),this._updateState({gridsAll:t},hE)}async stop(){this._status===Ky.Status.Ready&&(this._status=Ky.Status.Stopping,this._emitter.notify(`onStatusChange`),this._emitter.notify(`onStopping`),this._status=Ky.Status.Off,this._emitter.notify(`onStatusChange`),this._emitter.notify(`onStop`))}getStatus(){return this._status}async ready(e){this._status===Ky.Status.Off?await this.start():this._status===Ky.Status.Starting&&await this._statusTransition,this._pendingActions?.length&&await this._drainPending();let t=typeof e==`boolean`?e:e?.full??!1,n=this._getState(),r=n.gridsAll,i=t?r.keys():n.dirtySpatial.getScopeKeys(),a=[];for(let e of i){let t=r.get(e);t&&a.push(t.calculate())}return await Promise.all(a),mE}_getEditingCompiler(){let e=this._compilerModule;if(!e)throw Error(`Calculation not started.`);let t=db(this._runtime.getLocaleProfile().decimal),n=hb(t),r=n.specifiers,i=r?`${r.all},${r.data},${r.headers},${r.totals},${r.thisRow}`:``,a=`${t.separatorDecimal}|${t.separatorFunction}|${t.separatorRow}|${n.booleanTrue}|${n.booleanFalse}|${n.errorLiterals.join(`,`)}|${n.errorRefs.join(`,`)}|${i}`;if(!this._compilerEditing||this._compilerEditingSig!==a){let t={locale:n};this._compilerEditing=new e.FormulaCompiler({profile:`editing`,lexerOptions:t}),this._compilerEditingSig=a}return this._compilerEditing}createFormula(e,t){this._checkReady(),e.startsWith?.(`=`)&&(e=e.substring(1));let r=this._container,i=this._context,a=null,o=0,s=0,c=this._getActiveCell()?.scope??null,l=null;if(t)a=t.scope,o=t.colIndex??0,s=t.rowIndex??0,a&&(c=r.getSymbols().bind(sf,a));else{l=c,c=`temporary`;let e=r.getGrid(c);e||(e=this._createCalcGrid({context:i,container:r,calculation:this,uuid:c}),this._registerGrid(e))}let u=this._getState().gridsAll.get(c);if(!u)throw Error(`'${a}' not found.`);let d=r.getScope(),f;d.colIndex=o,d.rowIndex=s,d.gridId=c,f=l?r.createFormulaBlock(l,i,e,s,o,!0):r.createFormulaBlock(c,i,e,s,o,!0);let p=new Of(n.CoordUtils.EmptyRange,c,f,r,!0);return new rx({colIndex:o,rowIndex:s},f,{...this._options,getRange:this._getRange,getRanges:this._getRanges,getCalcGrid:()=>u,resolveSheetScope:e=>this._options?.getSheetById?.(e)?.getName()??null,getOwnScope:()=>this._options?.getSheetById?.(c)?.getName()??null,autoCorrect:e=>{let n=this._getEditingCompiler().autoCorrect(e);if(n===null)return null;let r=this.createFormula(n,t);return r.isValid()?r:null},createAt:(e,n)=>this.createFormula(e,{scope:t?.scope,rowIndex:n.rowIndex,colIndex:n.colIndex})},async(e,t)=>{await this.ready();let n=p.calcs[0][0];d.colIndex=o,d.rowIndex=s,d.gridId=c,n.gridId=c,n.colIndex=o,n.rowIndex=s,d.node=n;let r=typeof t==`number`?void 0:t,a=typeof t==`number`?t:t?.evalIndex,l=r?.block;if(l){let t=l.rowStart,o=l.colStart,s=l.rowEnd-t+1,c=l.colEnd-o+1,u=i.createRange(s,c).sparseBuilder();for(let r=0;r<s;r++)for(let i=0;i<c;i++){let s=t+r,c=o+i;d.node=n,n.rowIndex=s,n.colIndex=c;let l=e.evaluateAt(s,c,a);l&&l.then&&(l=await l);let f=e.finalizeValueForCell(l);f?.isIRange&&(f=f.getValueAt(0,0)??0),u.pushAt(r,i,f)}let f=u.build();return s!==1||c!==1||r?.alwaysReturnRange?f:f.getValueAt(0,0)??0}let u=e.evaluateAt(s,o,a),f=e.finalizeValue(u);return f===null&&(f=0),!r?.alwaysReturnRange||f?.isIRange||Array.isArray(f)?f:i.createRange(1,1,f)})}async evaluate(e,t){let n,r;return await this.ready(),typeof t==`number`?n=t:(n=t,r=t),this.createFormula(e,r).evaluate(n)}getFunctions(){return this._checkReady(),this._functions}getNamedFormulas(){return this._namedFormulas}hydrateNames(){let e=this._pendingNames;e&&(this._pendingNames=null,this._namedFormulas.hydrate(e,this._options?.formulaTransform))}getRuntime(){return this._runtime}_checkReady(){if(this._status!==Ky.Status.Ready)throw Error(this._statusMessage())}_statusMessage(){switch(this._status){case Ky.Status.Off:return`Calculation is off`;case Ky.Status.Starting:return`Calculation is starting`;case Ky.Status.Ready:return`Calculation is ready`;default:return`Unknown calculation status`}}get[Symbol.toStringTag](){return`[Calculation]`}toString(){return`Calculation`}},mE=Promise.resolve(Ky.Status.Ready),hE=Object.freeze({description:(0,n.messageKey)(`op.updateCalculations`),forceAmend:!0}),gE=Object.freeze({full:!0}),_E=e=>{if(typeof e==`string`)return`'${e}'`;try{return JSON.stringify(e)}catch{return String(e)}},vE=(e,t)=>{if(!e)return null;let n={colStart:Math.max(e.colStart,t.colStart),rowStart:Math.max(e.rowStart,t.rowStart),colEnd:Math.min(e.colEnd,t.colEnd),rowEnd:Math.min(e.rowEnd,t.rowEnd)};return n.rowStart>n.rowEnd||n.colStart>n.colEnd?null:n},yE=class e{_getInternal(){return this._internal}_getReadCtx(){if(!this._readCtx){let e=this;this._readCtx={get state(){return e._getState()},get rowHeaders(){return e._rowHeaders},get columnHeaders(){return e._colHeaders},get cellOptions(){return e._cellOptions},get strings(){return e._strings},getEntireCoords:this._getEntireCoords.bind(this),getUsedCoords:this._getUsedCoords.bind(this),getErrorSpatial:this._getErrorSpatialReconciled.bind(this)}}return this._readCtx}_getErrorSpatialReconciled(){let e=this._getState()?.cellValuesGrid??null,n=this._errorReconciled;if(n&&n.grid===e&&n.epoch===this._errorEpoch)return n.spatial;let r=new wa;if(e){let n=e.getAxis()===t.IRange.Axis.Column,i=[],a=(e,t,r)=>{i.push({colStart:n?e:t,rowStart:n?t:e,colEnd:n?e:r,rowEnd:n?r:e,value:!0})},o=e.getRuns(),s=o.next();for(;!s.done;){let[e,n,r]=s.value;s=o.next();let i=r.length,c=-1;for(let o=0;o<i;o++)t.FormulaError.isError(r.at(o))?c===-1&&(c=o):c!==-1&&(a(e,n+c,n+o-1),c=-1);c!==-1&&a(e,n+c,n+i-1)}i.length>0&&r.load(Na(i,t.IRange.Axis.Column,2**53-1))}return this._errorReconciled={grid:e,epoch:this._errorEpoch,spatial:r},r}_getMutationCtx(){return this._mutationCtx||=this._buildMutationCtx(),this._mutationCtx}_buildMutationCtx(){let e=this;return{get rowHeaders(){return e._rowHeaders},get columnHeaders(){return e._colHeaders},get rowHeadersShiftCallback(){return e._rowHeadersShiftCallback},get columnHeadersShiftCallback(){return e._colHeadersShiftCallback},getEntireCoords:this._getEntireCoords.bind(this),getView:this.getView.bind(this),beginCommit:this._beginCommit.bind(this),updateState:this._updateState.bind(this),getState:this._getState.bind(this),stateFor:e=>e.getState(this._stateId),invalidateUsedCoords:()=>{e._lastUsedCoordsRead.coords=null},validateCoords:this._validateCoords.bind(this),protectionCheck:this._protectionCheck.bind(this),getDefaultShiftAxis:this._getDefaultShiftAxis.bind(this),processListenerShift:this._processListenerShift.bind(this),processLayoutChange:this._processLayoutChange.bind(this),markColumnHeaderTableNames:this._markColumnHeaderTableNames.bind(this),commitAndAutoSelect:this._commitAndAutoSelect.bind(this),cloneRangeStats:t=>{e._rangeStats=e._rangeStats.clone(t)},get styles(){return e._styles},getRangedEntries:this._getRangedEntries.bind(this),createSparseBuilder:this._createSparseBuilder.bind(this),composeDirectStyleView:this._composeDirectStyleView.bind(this),autoFit:this._autoFit.bind(this),notify:this._notify.bind(this),getRange:this.getRange.bind(this),getSelection:this.getSelection.bind(this),getMerges:this._getMerges.bind(this),indexMerges:this._indexMerges.bind(this),validateOrRemoveOverlaps:this._validateOrRemoveOverlaps.bind(this),autoSelect:this._autoSelect.bind(this),get isDataColumn(){return e._isDataColumn},get strings(){return e._strings},get cellOptions(){return e._cellOptions},get runtime(){return e._runtime},getProtection:this.getProtection.bind(this),hasRangedEntries:this._hasRangedEntries.bind(this),rangeStateIterator:this._rangeStateIterator.bind(this),addEvent:this._addEvent.bind(this),getTables:this.getTables.bind(this),getAutoTable:this.getAutoTable.bind(this),cellIterator:this._cellIterator.bind(this),rangeToCoords:this._rangeToCoords.bind(this),getCell:this.getCell.bind(this),createCell:this.createCell.bind(this),getAutoFillPreviewCache:()=>e._autoFillPreviewCache,setAutoFillPreviewCache:t=>{e._autoFillPreviewCache=t}}}_getCoordCtx(){return this._coordCtx||=this._buildCoordCtx(),this._coordCtx}_buildCoordCtx(){let e=this;return{get internal(){return e._internal},get readonly(){return e._options.readonly??!1},get isClosed(){return e._closed},get isInitializing(){return e._initializing},get lastCellDecoded(){return e._lastCellDecoded},getEntireCoords:this._getEntireCoords.bind(this),getNamedFormulas:()=>e._calculation?.getNamedFormulas(),getNames:this.getNames.bind(this),getProtection:this.getProtection.bind(this),getName:this.getName.bind(this),resolveRange:t=>e._options.resolveRange?.(t)}}constructor(e){this._lastTransactionUUID=null,this._initializing=!0,this._namesScoped=null,this._rangesListenerSorted=null,this._lastCellDecoded={address:null,coords:null},this._lastCellSelected={coords:null,cell:null},this._lastCellRead={coords:null,cell:null},this._lastValueRead={range:null,isDateOrTime:null},this._lastGetRangeRead={},this._lastUsedCoordsRead={coords:null,range:null},this._lastRangeRead={address:null,range:null,ranges:null},this._isDataColumn=!0,this._isDate1904=!1,this._colHeaders=null,this._colHeadersShiftCallback=null,this._colHeadersListener=null,this._colHeadersRemoveListener=null,this._colHeadersHiddenRemoveListener=null,this._rowHeaders=null,this._rowHeadersShiftCallback=null,this._rowHeadersListener=null,this._rowHeadersRemoveListener=null,this._rowHeadersHiddenRemoveListener=null,this._isAdjustHeaders=!1,this._closed=!1,this._internal={getSheet:()=>this,getState:this._getState.bind(this),isDataColumn:()=>this._isDataColumn,createRange:this._createRange.bind(this),isContentful:this._isContentful.bind(this),cellToCoords:this._cellToCoords.bind(this),rangeToCoords:this._rangeToCoords.bind(this),rangesToCoords:this._rangesToCoords.bind(this),validateCoords:this._validateCoords.bind(this),getScalar:this._getScalar.bind(this),getCellAt:this._getCellAt.bind(this),cellIterator:this._cellIterator.bind(this),getVisible:this._getVisible.bind(this),getUsedCoords:this._getUsedCoords.bind(this),updateTuples:this._updateTuples.bind(this),merge:this._merge.bind(this),unmerge:this._unmerge.bind(this),getMerges:this._getMerges.bind(this),insertFrom:this._insertFrom.bind(this),insertCells:this._insertCells.bind(this),deleteCells:this._deleteCells.bind(this),getStyle:this._getStyle.bind(this),updateStyles:this._updateStyles.bind(this),getSnapshot:this._getSnapshot.bind(this),getRangeStats:this._getRangeStats.bind(this),getDefaultShiftAxis:this._getDefaultShiftAxis.bind(this),getDefaultSortCriteria:this._getDefaultSortCriteria.bind(this),find:this._find.bind(this),copyFrom:this._copyFrom.bind(this),contentCounts:this._contentCounts.bind(this),featureCounts:this._featureCounts.bind(this),featureRegions:this._featureRegions.bind(this),dependencyRanges:this._dependencyRanges.bind(this),clear:this._clear.bind(this),calculate:this._calculate.bind(this),autoSelect:this._autoSelect.bind(this),autoFit:this._autoFit.bind(this),addRangesListeners:this._addRangesListeners.bind(this),addRangesListeners2:this._addRangesListeners2.bind(this),surroundingRegion:this._surroundingRegion.bind(this),sort:this._sort.bind(this),filter:this._filter.bind(this),setHyperlinks:this._setHyperlinks.bind(this),setComments:this._setComments.bind(this),getBoundsAtCoords:this._getBoundsAtCoords.bind(this),extendRange:this._extendRange.bind(this),createTupleBuilder:e=>this._createTupleBuilder(e),createSparseBuilder:this._createSparseBuilder.bind(this),autoFill:this._autoFill.bind(this),autoFillRange:this._autoFillRange.bind(this)},this._readCtx=null,this._errorReconciled=null,this._errorEpoch=0,this._mutationCtx=null,this._autoFillPreviewCache=null,this._coordCtx=null;let t=Object.freeze({...e}),r=e?.container?.getName?.();this._id=(r?r+`-`:``)+n.CommonUtils.uuidV4(),md._validate(!0),this._transactions=t.transactions??new m,this._ownTransactions=!t.transactions,this._stateId=this._transactions.create();let i=this,a=this._beginCommit({description:(0,n.messageKey)(`op.newSheet`)});try{this._strings=t.strings??new E_,this._ownStrings=!t.strings;let e=t.styles??new sg;this._styles=e,this._ownStyles=!t.styles,this._namedTableSource=new R_({getSheets:()=>[i]}),this._names=t.names??new Jv({addressToRanges:e=>i.getRanges(e),getCurrentScope:()=>i.getName(),isReadOnly:()=>i._options.readonly??!1,transactions:i._transactions,getSources:()=>i._calculation?[i._calculation.getNamedFormulas(),i._namedTableSource]:n.CommonUtils.EmptyArray}),this._ownNames=!t.names,this._namesRemoveListener=this._names.addListeners({onCollectionChange:e=>{i._calculateFull()}},{transactional:!1}),this._runtime=t.runtime??new zr(`Sheet Runtime`,{isDate1904:()=>this._isDate1904}),this._calculation=t.calculation,this._ownCalculation=!t.calculation,this._calculation||=new pE({runtime:i._runtime,getActiveCell:()=>{let e=i.getSelectedRange()?.getCoords();return e?{rowIndex:e.rowStart,colIndex:e.colStart,scope:i.getId()}:null},getRange:i.getRange.bind(i),getRanges:i.getRanges.bind(i),getSheetIndex:e=>+(e===void 0||e===i.getName()),getSheetCount:()=>1,getSheetById:e=>this.getId()===e?this:null,getSheetByName:e=>i,namedCollection:i.getNames(),strings:i._strings,transactions:i._transactions}),this._workbook=t.workbook??null,this._normalStyleRanged=e.getNamed(X.BuiltInName.Normal).getRanged(),this._resources=t.resources??new T_,this._ownResources=!t.resources;let r=async()=>{this._ownCalculation&&await this._calculation.start(),this._starting=null};this._starting=r(),this._starting?.catch(()=>{}),t.container?.setNameChangeCallback&&t.container.setNameChangeCallback(()=>{i._notify(`onNameChange`);let e=this._getState().rangesListenerMap,t=new Map;e.forEach((e,n)=>{t.set(n,{beforeState:e,afterState:e})});let r=this._beginCommit({description:(0,n.messageKey)(`op.setName`)});r.updateState(i._stateId,{}),r.commit({viewAfter:{ranges:[i._getEntireCoords()],listeners:t},forceAmend:!0}),i._calculateFull()}),t.container?.setVisibilityCallback&&t.container.setVisibilityCallback(()=>{i._notify(`onVisibilityChange`)}),t.container?.setIndexCallback&&t.container.setIndexCallback(()=>{i._calculateFull(),i._notify(`onIndexChange`)}),this._movables=new Gv(this._addMovable.bind(this),this._searchMovables.bind(this),()=>{let e=i._getState();return e?e.movableMapModel?.size??0:0},this._updateSelectedMovables.bind(this),(e,t)=>this._emitterMovables.addListeners(e,t),this._addMovablePicture.bind(this)),this._emitterMovables=new v(this._movables,this._transactions),this._tables=new uy(this._addTable.bind(this),this._getTables.bind(this),e=>{let t=i._getState();return t?t.tables.getByName(e):null}),this._dataValidations=new Hy(this._addDataValidation.bind(this),(e,t,r)=>{let a=e?this._rangeToCoords(e):this._getEntireCoords(),o=i._getState();return o?i._getRangedEntries(o.dataValidations,[a],{ignoreHidden:t,fullyContained:r},!0):n.CommonUtils.EmptyArray},e=>{let t=[{r:e?.getRanges().getCoords()??this.getSelectedRanges().getCoords(),v:e?.toJSON()??{condition:{selector:Q.BuiltInSelectorNames.List,operator:Q.BuiltInOperatorNames.InSet,param:{items:[]}}}}],n=i._getState().dataValidations.clone(),r;return i._createDataValidations(n,`dataValidations`,t,e=>(r=new By({...e,transactions:null,setContainerCallbacks:null,setContainerCoords:null,setContainerName:null,setContainerIndex:null,isProtected:null,invalidate:null}),r)),r}),this._conditionals=new Ly(this._addConditionalFormat.bind(this),(e,t,r)=>{let a=e?this._rangeToCoords(e):this._getEntireCoords(),o=i._getState();return o?i._getRangedEntries(o.conditionalFormats,[a],{ignoreHidden:t,fullyContained:r},!0):n.CommonUtils.EmptyArray},e=>{let t=[{r:e?.getRanges().getCoords()??this.getSelectedRanges().getCoords(),v:e?.toJSON()??{condition:{operator:Q.BuiltInOperatorNames.Between,param:null}}}],n=i._getState().conditionalFormats.clone(),r;return i._createConditionalFormats(n,`conditionalFormats`,t,e=>(r=new ky({...e,transactions:null,setContainerCallbacks:null,setContainerCoords:null,setContainerName:null,setContainerIndex:null,isProtected:null,invalidate:null}),r)),r}),this._protectedRanges=new Gy(this._addProtectedRange.bind(this),(e,t,r)=>{let a=e?this._rangeToCoords(e):this._getEntireCoords(),o=i._getState();return o?i._getRangedEntries(o.protectedRanges,[a],{ignoreHidden:t,fullyContained:r},!0):n.CommonUtils.EmptyArray},e=>{let t=i._getState();return t?t.protectedRanges.getByName(e):null},e=>{let t=[{r:e?.getRanges().getCoords()??this.getSelectedRanges().getCoords(),v:e?.toJSON()??{name:i._nextProtectedRangeName()}}],n=i._getState().protectedRanges.clone(),r;return i._createProtectedRanges(n,`protectedRanges`,t,e=>(r=new Uy({...e,transactions:null,setContainerCallbacks:null,setContainerCoords:null,setContainerName:null,setContainerIndex:null,isProtected:null,invalidate:null}),r)),r}),this._options=t,this._emitter=new v(this,this._transactions),this._view=new bT({sheet:this}),this._initListenerState(),t?.container?.beforeFromJSON?.(this),this._fromJSON(t?.json,t.disableLoadAutoFit),a.commit({forceAmend:this._ownTransactions,viewAfter:{initial:!0,skipProtectionCheck:!0}})}catch(e){throw a.rollback(),e}this._initializing=!1}_createRange(e,t,r=null){return function(e,t,r,i=null){if(typeof t==`string`){let a=t,o=e.getNamedFormulas()?.getById?.(a),s=o?.getName()??a,c=(o?.isReferenceOnly?.()?o.getReferences()?.at(0)?.getCoords():null)??e.getEntireCoords();i===null&&e.readonly&&(i=(0,n.messageKey)(`error.sheet.readonlyRange`));let l=null;return(r||i)&&(l={getOptions:r,readOnly:i}),new ob(a,s,c,e.internal,l,o?()=>o.getRanges():null)}if(!t)return dD(e.internal.getSheet(),e.getEntireCoords());if(lT(e,t),e.isClosed)return dD(null,e.getEntireCoords(),t);i===null&&e.readonly&&(i=(0,n.messageKey)(`error.sheet.readonlyRange`));let a=null;(r||i)&&(a={getOptions:r,readOnly:i});let o=lD(t,e.internal.getSheet()),s=cD(e.internal,o.scope);return s?new rb(function(e){if(!e)return null;let t={colStart:e.colIndex??e.colStart??0,rowStart:e.rowIndex??e.rowStart??0,colEnd:e.colIndex??e.colEnd??0,rowEnd:e.rowIndex??e.rowEnd??0};return e.scope&&(t.scope=e.scope),(e.$colStart||e.$colIndex)&&(t.$colStart=!0),(e.$colEnd||e.$colIndex)&&(t.$colEnd=!0),(e.$rowStart||e.$rowIndex)&&(t.$rowStart=!0),(e.$rowEnd||e.$rowIndex)&&(t.$rowEnd=!0),t}(o),s,a):dD(e.internal.getSheet(),e.getEntireCoords(),t)}(this._getCoordCtx(),e,t,r)}_createRanges(e,t,n=null){return cT(this._getCoordCtx(),e,t,n)}getRange(e,t){if(e===void 0)return this.getSelectedRange(t);let r=e?.scope;r!==void 0&&r!==this.getName()&&console.warn(`Sheet.getRange(${_E(e)}) called with a scope (${r}) that does not match this sheet (${this.getName()}).`,e);let i=!t&&e&&(e.rowStart!==void 0||typeof e==`string`);if(i){if(typeof e==`string`){if(this._lastRangeRead.address===e)return this._lastRangeRead.range}else if(e.rowStart!==void 0&&CD(e,this._lastRangeRead.address))return this._lastRangeRead.range}try{let r=this._rangesToCoords(e);if(r.length>1)throw new n.ExpectedError((0,n.t)(`error.address.singleRangeOnlyAlt`));let a=r[0]?.scope;a!==void 0&&a!==this.getName()&&console.warn(`Sheet.getRange(${_E(e)}) called with a scope (${a}) that does not match this sheet (${this.getName()}).`,e);let o=this._createRange(r[0],t);return i&&(this._lastRangeRead.address={...e},this._lastRangeRead.range=o),o}catch(t){throw t instanceof n.OutOfBoundsError?new n.OutOfBoundsError(t.message):new n.ExpectedError(t.message??s_(e))}}getCell(e){if(e===void 0)return this.getSelectedCell();let t=this.getRange(e);if(t.size>1)throw new n.ExpectedError((0,n.t)(`error.address.singleCellOnly`));return t.getCell()}getRanges(e,t){if(!e)throw new n.ExpectedError((0,n.t)(`error.address.noAddress`));let r=this._rangesToCoords(e);if(r.length===0)throw this._createRangeError(e);return this._createRanges(r,t)}getEntireRange(e){if(!e){let e=this._entireRangeCache;return e||(e=this._createRange(this._getEntireCoords()),this._entireRangeCache=e),e}return this.getRange(this._getEntireCoords(),e)}_getEntireCoords(){let e=this._entireCoordsCache;if(!e){let t=this._getState();if(!t)return null;e=t.entireCoords,this._entireCoordsCache=e}return e}getEntireCoords(){return this._getEntireCoords()}getUsedRange(e){let t=this._getUsedCoords(e),n=t?this.getRange(t,e):null;return e||(this._lastUsedCoordsRead.coords=t,this._lastUsedCoordsRead.range=n),n}getStats(e){let t=this._getUsedCoords();return this._getRangeStats(t?[t]:[],e)}getRegions(e,t){let n=Qy(e??t?.features);return new eb(this._getEntireCoords(),this._getInternal(),n,t)}_cellToCoords(e){return function(e,t){let r=e.lastCellDecoded;if(r.address===t)return r.coords;let i=pT(e,t);if(!i||!n.CoordUtils.isSingleCell(i))throw new n.ExpectedError((0,n.t)(`error.address.singleCellOnly`));let a={colIndex:i.colStart,rowIndex:i.rowStart};return r.address=t,r.coords=a,a}(this._getCoordCtx(),e)}_validateCoords(e,t=(0,n.t)(`error.sheet.oobRange`),r=!1){lT(this._getCoordCtx(),e,t,r)}_createRangeError(e){return uT(e)}_protectionCheck(e=null,t=null,n=null){dT(this._getCoordCtx(),e,t,n)}_rangesToCoords(e,t=null,n=!0,r=!1,i=!1){return fT(this._getCoordCtx(),e,t,n,r,i)}_rangeToCoords(e,t=null,n=!0){return pT(this._getCoordCtx(),e,t,n)}_collectRanges(e,t=[],n=!0,r=this._getState(),i){vw(this._getReadCtx(),e,t,n,i,r)}_cellIterator(e){let t=this._cellOptions,n=this._strings,r=this._cellStateIterator(e),i=e?.reuseContext?new TD(n,e,t):null;return{next(a){let o=r.next(a);if(o.done)return oi;let s=o.value,c=i??new TD(n,e,t),l=c.context;return{done:!1,value:{value:c.setState(s),context:l}}},[Symbol.iterator](){return this}}}_rangeStateIterator(e){return yw(this._getReadCtx(),e)}_overflowAndStops(e,t){return bw(this._getReadCtx(),e,t)}_cellStateIterator(e){return function(e,r){let i=e.state;if(!i)return si;let a=r?.bounds,o=a??e.getEntireCoords(),s=r?.axis??t.IRange.Axis.Row,c=r?.reverse??!1,l=r?.includeEmpty,u={bounds:o,axis:s,reverse:c},d;l&&(d={bounds:o,axis:s,reverse:c});let f=r?.ignoreHidden;if(!0===f||f===t.IRange.Axis.Row){let t=bD(e.rowHeaders);u.processRowSkip=ii(t),l&&(d.processRowSkip=ii(t))}if(!0===f||f===t.IRange.Axis.Column){let t=bD(e.columnHeaders);u.processColumnSkip=ii(t),l&&(d.processRowSkip=ii(t))}let p=l||!r?.ignoreEmptyIntersections,m=r?.includeMergeOverflow??!1,h=r?.injectReferences,g=r.searchTypes;!0===g?g=If:g||!h&&!m||(g=n.CommonUtils.EmptyObject);let _=g?yw(e,{bounds:o,axis:s,reverse:c,searchTypes:g,includeMergeOverflow:m,ignoreHidden:f,injectReferences:h,byCell:!0}):si,v,y;if(m&&a){let t=bw(e,a);t&&(v=t.overflows,v?.sort(n.CoordUtils.createCellComparator(s,c)),y=t.stops,y?.sort(n.CoordUtils.createCellComparator(s,c)))}let b=v?v.length:0,x=y?y.length:0,S=0,C=0,w=i?.cellValuesGrid??null,T=w?w.entries(u):si,E=T.next(),D=null,O=null,k=null;E.done||(D=E.value[0],O=E.value[1]);let A=v?.[S++],j=_.next(),M=null,N=s!==t.IRange.Axis.Row,P,F=n.CoordUtils.createCellComparator(s,c),I;if(!j.done){let e=j.value;M=e.intersection,I=e.start}P=e=>{let t=null,n=null,r=null,i=!1,a=!1,o=null,s=null,c=!1;if(A&&(D?F(A,D)<0&&(c=!0):I?F(A,I)<0&&(c=!0):S<=b&&(c=!0)),c)t={colIndex:A.colIndex,rowIndex:A.rowIndex},n=A.scalar,r=A.intersection,A=v[S++];else if(D&&I){let e=F(D,I);e<0?(t=D,n=O,i=!0):e>0?(t=I,r=M,a=!0):(t=D,n=O,r=M,i=!0,a=!0)}else if(D)t=D,n=O,i=!0;else{if(!I||!p)return oi;t=I,r=M,a=!0}if(i&&(E=T.next(),E.done?D=null:(D=E.value[0],O=E.value[1])),a){let e=p?void 0:D;if(j=_.next(e),j.done)I=null,M=null;else{let e=j.value;M=e.intersection,I=e.cell}}let l=!1,u=t.rowIndex,d=t.colIndex;N||(l=u===k?.rowIndex);let f=!1;if(N||(f=u===D?.rowIndex),l)o=k;else if(m){let e=!1;for(;!e&&C<x;){let t=y[C],n=t.rowIndex;n<u?C++:(e=!0,n===u&&t.colIndex<d&&(C++,o={colIndex:t.colIndex,rowIndex:t.rowIndex}))}}if(f)s=D;else if(m){let e=!1;for(;!e&&C<x;){let t=y[C],n=t.rowIndex;n<u?C++:(e=!0,n===u&&t.colIndex>d&&(C++,s={colIndex:t.colIndex,rowIndex:t.rowIndex}))}}return(i||c)&&(k=t),{done:!1,value:[t,n,r,o,s]}};let L={next:P,return:e=>null,throw:e=>null};return l&&(L=new Ga(L,u)),L}(this._getReadCtx(),e)}_indexMerges(e,t=null){if(!(e&&e.length!==0||t&&t.length!==0))return;let n=this._getState();if(!n)return;let r=this._beginCommit({description:`indexMerges`}),i=n.mergeSpatial.clone();if(t){let e=t.length;for(let n=0;n<e;n++)i.remove(t[n])}if(e){let t=e=>this._getState().cellValuesGrid.getValueAt(e.rowStart,e.colStart),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];n.push({...r,value:new tx(r,t)})}i.load(n)}this._updateState({mergeSpatial:i}),r.commit()}_composeDirectStyleView(e,t){let n=this._getState(),r=t??{border:n.borderSpatial,fill:n.fillSpatial,content:n.contentSpatial},i=new mw({entireCoords:this._getEntireCoords()}),a=(e,t)=>({...t,value:rg.mergeOverlay(e.value,t.value)}),o=t=>{let n=e?t.search(e):t.all(),r=n.length;for(let e=0;e<r;e++){let t=n[e];t.value&&i.insertNonOverlapping({...t,value:t.value},{onIntersect:a})}};return o(r.content),o(r.fill),o(r.border),i}_updateStyles(e,t,n,r=!1){Yw(this._getMutationCtx(),e,t,n,r)}_createSparseBuilder(e,r=null,i){let a=e?.axis??t.IRange.Axis.Row,o=e?.allowUnorderedWrites??!1,s=a===t.IRange.Axis.Column,c=s!==this._isDataColumn,l=this,u,d,f,p=this._createTupleBuilder(c),m=null;if(r){let e=r.getCoords(),t=e.colStart,i=e.rowStart,a=e.colEnd,o=e.rowEnd;m=(e,r)=>{if(e<i||e>o||r<t||r>a)throw new n.OutOfBoundsError}}s?(d=(e,t,n)=>(m?.(e,t),p.pushAt(t,e,n),u),f=(e,t,n)=>(m?.(e,t+(n?.length??0)),p.pushMultipleAt(t,e,n),u)):(d=(e,t,n)=>(m?.(e,t),p.pushAt(e,t,n),u),f=(e,t,n)=>(m?.(e+(n?.length??0),t),p.pushMultipleAt(e,t,n),u));let h=e=>{let t=p.build();return t&&l._updateTuples(t,e,null,i),r},g=!1===o?null:n.CoordUtils.createCellComparator(e?.axis),_=n.CommonUtils.isObject(o)?o:void 0,v=null;return u=Object.freeze({push:(e,t)=>{let n=l._cellToCoords(e);return g&&(v&&g(n,v)<=0&&(h(_),p=l._createTupleBuilder(c)),v=n),d(s?n.colIndex:n.rowIndex,s?n.rowIndex:n.colIndex,t)},pushAt:d,pushMultipleAt:f,apply:h}),u}_updateTuples(e,t,n=void 0,r=null){Qw(this._getMutationCtx(),e,t,n,r)}_sort(e,t){return cb(this,e,t)}_filter(e,t,n){return lb(this,e,t,n)}_autoFill(e,t,n){return oT(this._getMutationCtx(),e,t,n)}_autoFillRange(e,n){return function(e,n,r){let{direction:i,amount:a}=ED(n,r);if(a<=0)return{...r};let o=e.getMerges([n]);if(o.length===0)return{...r};let s=i===t.IRange.Direction.Up||i===t.IRange.Direction.Down,c=i===t.IRange.Direction.Down||i===t.IRange.Direction.Right,l=s?n.rowStart:n.colStart,u=(s?n.rowEnd:n.colEnd)-l+1,d=nT(o,l,u,s,c),f=e.getEntireCoords(),p=c?s?f.rowEnd-n.rowEnd:f.colEnd-n.colEnd:s?n.rowStart-f.rowStart:n.colStart-f.colStart,m=function(e,t,n){let r=e-e%t,i=e%t;for(let e=0;e<n.length;e++)if(n[e]>=i)return r+n[e];return r+t}(a,u,d);return m>p&&(m=function(e,t,n){if(e<0)return 0;let r=e-e%t,i=e%t;for(let e=n.length-1;e>=0;e--)if(n[e]<=i)return r+n[e];return r}(p,u,d)),m<=0?{...n}:s?c?{...n,rowEnd:n.rowEnd+m}:{...n,rowStart:n.rowStart-m}:c?{...n,colEnd:n.colEnd+m}:{...n,colStart:n.colStart-m}}(this._getMutationCtx(),e,n)}_autoFillShrink(e,t,n,r){return sT(this._getMutationCtx(),e,t,n,r)}_setHyperlinks(e,t,n){Jw(this._getMutationCtx(),e,t,n)}_realizeCalcedValues(e){if(!e)return;let r=this._getState();if(!r)return;this._errorEpoch++;let i=e.valueInserts,a=e.spillRemoves,o=e.errorRemoves,s=r.cellValuesGrid,c=this._beginCommit((0,n.messageKey)(`op.realizeCalcs`));e.isFull&&(r.calcErrorsSpatial.clear(),r.spillSpatial.clear(),r.pendingSpatial.clear());let l=e.valueRemoves;if(l){let e=r.contentfulSpatial,t=l.length;for(let n=0;n<t;n++){let t=l[n];s.delete(t),e.insertNonOverlapping({...t,value:null})}}if(a){let e=r.spillSpatial,t=a.length;for(let n=0;n<t;n++){let t=a[n];e.remove(t)}}if(o){let e=r.calcErrorsSpatial,t=o.length;for(let n=0;n<t;n++){let t=o[n];e.remove(t)}}let u=e.formatInserts;if(u){let e=u.length;for(let t=0;t<e;t++){let e=u[t];e.value={numberFormat:e.value}}this._updateStyles(u,void 0,{autoFit:!0},!0)}if(i){let e=i.tuples;s.setValues(e),this._rangeStats.clear();let n=this._isDataColumn,a=n?t.IRange.Axis.Column:t.IRange.Axis.Row,o=r.contentfulSpatial,c=e.length;for(let t=0;t<c;t++){let r=e[t],i=r[0],s=r[1],c=s.length;for(let e=0;e<c;e++){let t=s[e],r=t[0],c=r+t[1].length-1,l={colStart:n?i:r,rowStart:n?r:i,colEnd:n?i:c,rowEnd:n?c:i};o.insertNonOverlapping({colStart:l.colStart,rowStart:l.rowStart,colEnd:l.colEnd,rowEnd:l.rowEnd,value:new Bu(l,a)})}}}let d=e.spillInserts;if(d){let e=d.length;for(let t=0;t<e;t++){let e=d[t],r=e.value;e.value=new zu(n.CoordUtils.sanitizeRange(e),0,r)}r.spillSpatial.load(d)}let f=e.pendingUpdates;if(f){let e=r.pendingSpatial,t=f.length;for(let n=0;n<t;n++){let t=f[n];!1===t.value&&(t.value=null),e.insertNonOverlapping(t)}}let p=e.errorInserts;if(p&&r.calcErrorsSpatial.load(p),c.commit({forceAmend:!0,viewAfter:{calculationSideEffect:!0}}),(e.bounds||e.isFull)&&!this._initializing){this._invalidateCaches(),this._notifyUsedRangeChange();let t=this._rangesListenerMap;if(t.size>0){let n={isDataChange:!0,getTransactionId:AE,timeStamp:Date.now(),isUndo:!1,trigger:`calc`};this._notifyRangeListeners(this._rangeListenerSpatial,t,[e.bounds??this._getEntireCoords()],n)}(d||a)&&this._notify(`onSpillsChange`),this._notify(`onDataChange`)}}calculate(e){return this._calculation.calculate({full:e,scope:this._getState().calcGrid.getId()})}_calculate(e,t){let n=this._getState().calcGrid;n.markDirtyRegions(e),this._calculation.calculate({...t,scope:n.getId()})}_calculateFull(){this._ownCalculation&&!this._initializing&&this._calculation.calculate(!0)}_setComments(e,t,n){qw(this._getMutationCtx(),e,t,n)}_clear(e,t=null,n,r=!1,i=!1){tT(this._getMutationCtx(),e,t,n,r,i)}_merge(e,t=null){Xw(this._getMutationCtx(),e,t)}_unmerge(e,t){Zw(this._getMutationCtx(),e,t)}_getMerges(e,t=!1){if(e.length===0)return n.CommonUtils.EmptyArray;let r=this._getState();return r?this._getRangedEntries(r.mergeSpatial,e,{ignoreHidden:t,fullyContained:!1,onEntry:e=>e.getCoords()}):n.CommonUtils.EmptyArray}_clone(){let t={...this._options,container:{getName:()=>`Snapshot of ${this.getName()}`,getIndex:()=>1}};this._ownStyles&&(t.styles=this._styles),this._ownStrings&&(t.strings=this._strings),this._ownResources&&(t.resources=this._resources),this._ownNames&&(t.names=this._names),this._ownCalculation&&(t.calculation=this._calculation),t.transactions=new m({transient:!0});let n=new e(t),r=this._transactions.getState(this._stateId);n._updateState(r);let i=new bT({sheet:this,json:this.getView().toJSON()});return i.selectMovables(this.getView().getMovableSelection()),n.setView(i),n}_getSnapshot(e,t,r){if(e.length===0)return n.CommonUtils.EmptyArray;let i=this._getState();if(!r){let e=this._transactions.getCurrentCommit().getId();e&&(r=()=>e)}if(!i)return null;t=Object.freeze({...t});let a=this._clone();a.isMarked=!0;let o=this,s=o.getView(),c=(0,n.messageKey)(`op.range`),l=[];if(e.length>1)throw new n.ExpectedError((0,n.t)(`error.sheet.copyMultipleRanges`));let u=jD(e,a._getState().mergeSpatial,a.getEntireCoords()),d=function(e,t,r,i){let a=[],o=null,s=null,c=r&&r.length>0;if(c){let e=r.length;for(let t=0;t<e;t++){let e=r[t].getSnapshot?.(i);e&&(a.push(e),o=jC(e.getCoords(),o))}}else if(t){let r=t.length;for(let c=0;c<r;c++){let r=t[c],l=e.getMovables().getItems({ignoreHidden:!1,fullyContained:!0,address:r}),u=l.length;for(let t=0;t<u;t++){let c=l[t].getSnapshot?.(i);c&&(a.push(c),o=jC(e.getRange(r).getBounds(),o),s=n.CoordUtils.unionRanges(s,r))}}}if(a.length===0)return null;let l=()=>i.description??(a?.length===1?x(a[0]?.getName()):`Drawings`);return{copyTo:async(t,r)=>{let s={...i,...r},c=t.getSheet(),u=c.getView(),d=u.getMovableSelection(),f=t.getCoords(),p=s?.isCut??!1,m=u.getMovableSelection();u.selectMovables([]);let h=c.beginCommit(s.description??(p?(0,n.t)(`op.cutNamed`,{name:l()}):(0,n.t)(`op.copyNamed`,{name:l()})));try{let t=0,n=0;if(m.length>0&&a.length>0){let e=2**53-1,r=2**53-1;for(let t=0;t<d.length;t++){let n=d[t].getBounds();e=Math.min(n.x,e),r=Math.min(n.y,r)}let i=2**53-1,o=2**53-1,s=a.length;for(let e=0;e<s;e++){let t=a[e].getCoords();i=Math.min(t.x,i),o=Math.min(t.y,o)}t=e-i,n=r-o;let l=a[0].getCoords(),u={...l,x:l.x+t,y:l.y+n},f=ey(c.getMovables(),u);t+=f.x,n+=f.y}else if(o){let e=c.getRange(f).getBounds();t=e.x-o.x,n=e.y-o.y}let r=[],i=a.length;for(let e=0;e<i;e++){let i=a[e],o=i.getCoords(),l={...o,x:o.x+t,y:o.y+n};r.push(i.copyTo({movables:c.getMovables(),bounds:l},{autoSelect:{addToSelection:!0},...s}))}await Promise.all(r),h?.updateState(c._getStateId(),{}),h.commit({viewBefore:t=>({...t,view:e.getView(),movableSelection:m})})}catch(e){throw h.rollback(),e}return null},getName:l,getCoords:()=>s,getMarkOptions:()=>i,toText:()=>c?a[0].toText?.()??null:null,toHtml:()=>c?a[0].toHtml?.()??null:null,toImage:()=>c?a[0].toImage?.()??null:null,getSource:()=>e,isISnapshot:!0}}(a,u,s.getMovableSelection(),t);if(d){if(s.getMovableSelection().length>0)return d;l.push(d)}let f={singleMerge:null};l.push({copyTo(r,i){let o={...t,...i},s=r.getSheet(),c=r.getCoords(),l=c,u=s.getRange(l),d=!1,p=u.getMerges();if(p.length===1&&n.CoordUtils.isEqualRanges(p[0],c))if(n.CoordUtils.isSingleCell(e[0]))d=!0;else{let e=iy(b);a._getMerges([n.CoordUtils.cellToRange(e)]).length===1&&(d=!0)}return d?(f.singleMerge=c,u.clear(o.type??Dv.Content.Values)):u.clear(o.type),l}});let p=a._getEntireCoords(),m=u.length;for(let e=0;e<m;e++){let n=u[e],o=i.rangeListenerSpatial.search(n,!1),s=i.rangesListenerMap;l.push({async copyTo(e,t){if(!t?.isCut)return null;let n=new Set,i=o.length;for(let t=0;t<i;t++){let i=o[t].value,c=i.id;if(n.has(c))continue;let l=s.get(c);if(n.add(c),l.ranges[i.offset]===null)return null;let d={getTransactionId:r,isDataChange:!1,trigger:`moveCells`,from:a.getRanges(u),to:e},f=a._createRangeEvent(l.ranges,d);a._notifyRangeListener2(l,f,d)}return null},getMarkOptions:()=>t,getCoords:()=>null,isISnapshot:!0})}let h={ignoreHidden:!1,fullyContained:!0,onEntry:e=>e.model},g=a._getState();if(!g)return n.CommonUtils.EmptyArray;for(let e=0;e<m;e++){let n=u[e],r=a._getRangedEntries(g.tables,[n],h),i=r.length;for(let e=0;e<i;e++){let i=r[e],o=i.getRange().getCoords(),s=o.colStart-n.colStart,c=o.rowStart-n.rowStart,u=i.getSnapshot(t);l.push({async copyTo(e,t){let n=e.getSheet(),r=e.getCoords();if(a.getProtection().isLocked())return null;let i={colStart:r.colStart+s,rowStart:r.rowStart+c,colEnd:r.colEnd+s,rowEnd:r.rowEnd+c};return u.copyTo({tables:n.getTables(),range:i},t)}})}}for(let e=0;e<m;e++){let n=u[e];l.push(tw(o.getColumnHeaders().getRange(n),n,Object.freeze({...t,includeHeaders:n.rowStart<=p.rowStart&&n.rowEnd>=p.rowEnd})))}for(let e=0;e<m;e++){let n=u[e];l.push(tw(o.getRowHeaders().getRange(n),n,Object.freeze({...t,includeHeaders:n.colStart<=p.colStart&&n.colEnd>=p.colEnd})))}let _=nw(o,a,u,c,t,(e,t)=>a._copyRange(o,a,u,e,t,f));l.push(_);let v=a._getState().calcGrid.getSnapshot({range:u[0]});l.push({async copyTo(e,n){if(n?.type&&n?.type!==Dv.Content.Formulas)return null;let r=e.getSheet(),i=e.getCoords();if(a.getProtection().isLocked())return null;let o=r._getState().calcGrid,s=v.copyTo({calcGrid:o,range:i},n);return{...t,...n}.isCut,s}});let y={ignoreHidden:!1,fullyContained:!1};for(let e=0;e<m;e++){let r=u[e],i=a._getRangedEntries(g.conditionalFormats,[r],y,!0),s=i.length;for(let e=0;e<s;e++){let s=i[e],c=s.getRanges().getCoords(),u=[];for(let e=0;e<c.length;e++){let t=n.CoordUtils.intersectRanges(c[e],r);t&&u.push(t)}if(u.length===0)continue;let d=s.getSnapshot(t),f=e;l.push({async copyTo(e,n){let i={...t,...n};if(i.type&&i.type!==Dv.Content.Formats||a.getProtection().isLocked())return null;let s=e.getSheet(),c=ew(u,r,e.getCoords(),!!i.transpose);return c.length===0?null:d.copyTo({conditionals:s.getConditionalFormats(),range:c[0],ranges:c,extend:s===o,index:f},n)}})}let c=a._getRangedEntries(g.dataValidations,[r],y,!0),d=c.length;for(let e=0;e<d;e++){let i=c[e],s=i.getRanges().getCoords(),u=[];for(let e=0;e<s.length;e++){let t=n.CoordUtils.intersectRanges(s[e],r);t&&u.push(t)}if(u.length===0)continue;let d=i.getSnapshot(t),f=e;l.push({async copyTo(e,n){let i={...t,...n};if(i.type||a.getProtection().isLocked())return null;let s=e.getSheet(),c=ew(u,r,e.getCoords(),!!i.transpose);return c.length===0?null:d.copyTo({validations:s.getDataValidations(),range:c[0],ranges:c,extend:s===o,index:f},n)}})}}let b=u[0];return function(e,t,r,i,a,o,s=null){return{async copyTo(t,i){let s=null,c={...a,...i},l=r.beginCommit(c.description??o);try{let r=e.length;for(let i=0;i<r;i++){let r=await e[i].copyTo(t,c);r&&(s=n.CoordUtils.unionRanges(s,r))}l.commit()}catch(e){throw l.rollback(),e}return s},getMarkOptions:()=>a,getName:()=>o,getSource:()=>t,getCoords:()=>i,toText(){let t=s?.toText?.()??null,n=e.length;for(let r=0;!t&&r<n;r++)t=e?.[r].toText?.();return t??null},toHtml(){let t=s?.toHtml?.()??null,n=e.length;for(let r=0;!t&&r<n;r++)t=e?.[r].toHtml?.();return t??null},toImage(){let t=s?.toImage?.()??null,n=e.length;for(let r=0;!t&&r<n;r++)t=e?.[r].toImage?.();return t??null},isISnapshot:!0}}(l,o,a,b,t,c,_)}async _copyRange(e,r,i,a,o,s){if(i.length>1)throw new n.ExpectedError((0,n.t)(`error.sheet.insertCopyMultipleRanges`));if(!i||i.length===0)throw new n.ExpectedError((0,n.t)(`error.sheet.copyNoSource`));let c=a.getSheet(),l=a.getCoords(),u={...i[0]},d=(o={...o}).isCut,f=!o.type||o.type===Dv.Content.Formats,p=!o.type||o.type===Dv.Content.Values,m=!o.type||o.type===Dv.Content.Formats||o.type===Dv.Content.Hyperlinks,h=c.getEntireRange(),g=h.getCoords(),_=[],v=[],y=[],b=[],x=[],S=(o.fitDestination??!1)&&!n.CoordUtils.isSingleCell(l),C=l;if(S&&(u={...u,colEnd:u.colStart+Math.min(C.colEnd-C.colStart,u.colEnd-u.colStart),rowEnd:u.rowStart+Math.min(C.rowEnd-C.rowStart,u.rowEnd-u.rowStart)}),!n.CoordUtils.isRangeWithinRange(C,g))throw console.warn(C,g),new n.ExpectedError((0,n.t)(`error.sheet.pasteOob`));let w=null;w=o.undoRange?{view:c.getView(),selection:my([o.undoRange.getCoords()])}:{sheet:c,selection:my([C])};let T=c.getTransactions().beginCommit({description:o.description??(0,n.messageKey)(`op.paste`)});try{if(!this._getState())return n.CommonUtils.EmptyArray;let i=new Set,a=o.transpose,g=!((a||o.adjustCells)&&f)&&i.size===1;if(g){let e=i.values().next();g=n.CoordUtils.isRangeWithinRange(u,e.value.getCoords())&&!CD(u,e.value.getCoords())}g&&=c.getTables().getItems({address:C}).length===0,a&&(g=!0),s.singleMerge&&(f=!1,m=!1);let S=l.colStart-u.colStart,E=l.rowStart-u.rowStart,D=o.adjustCells,O={...Lf};if(delete O[q.Type.BorderStyle],delete O[q.Type.FillStyle],delete O[q.Type.ContentStyle],!f){let e=this.getProtection().isLocked();O={},e&&(O[q.Type.Unlock]=!1)}let k=t.IRange.Axis.Column,A;if(p){A=h.createSparseBuilder({axis:o.transpose?t.IRange.Axis.Row:t.IRange.Axis.Column});let e={axis:k,searchTypes:O,bounds:u},r=new TD(this._strings,e,this._cellOptions),i=(e,t,n)=>{let i=e[0],s=r.setState(e),c=r.context,d=c.getCell(),h=d.isTopLeft(),v=E,y=S;if(a){let e=i.colIndex-u.colStart,r=i.rowIndex-u.rowStart;v=e+n+l.rowStart,y=r+t+l.colStart}else v=E+i.rowIndex+t,y=S+i.colIndex+n;let b=!1,x={value:void 0,style:void 0,hyperlink:void 0};if(p&&(x.value=s,b=!0),f){let t=e[2];t&&(t.borderStyle||t.fillStyle||t.contentStyle||t.table)&&(x.style=d.getStyle(!g),b=!0)}m&&(x.hyperlink=d.getHyperlink(),b=!0);let C=x;if(D&&h){let e=D(s,c,{rowIndex:v,colIndex:y},o);e!==void 0&&(C=e,b=!0)}if(b&&(A.pushAt(v,y,C),f)){let e=d.getSpans();(e.width>1||e.height>1)&&h&&_.push({colStart:y,rowStart:v,colEnd:y+(o.transpose?e.height:e.width)-1,rowEnd:v+(o.transpose?e.width:e.height)-1})}},c=this._cellStateIterator(e),d={next(){let e=c.next();if(e.done)return oi;let t=e.value[0],n;return e.value&&(n=[t,e.value]),{done:e.done,value:n}}};if(!s.singleMerge&&!n.CoordUtils.isEqualRanges(C,u)){let e=C.colEnd-C.colStart+1,t=C.rowEnd-C.rowStart+1;d=new Ka({delegate:d,bounds:u,axis:k,dims:{major:o.transpose?t:e,minor:o.transpose?e:t}})}let v=d.next();for(;!v.done;){let e=v.value,t=e[1],n=e[0],r=t[0];i(t,n.rowIndex-r.rowIndex,n.colIndex-r.colIndex),v=d.next()}}let j=r._getState(),M={},N={transpose:a??!1};f&&(M.borderSpatial=j.borderSpatial,M.fillSpatial=j.fillSpatial,M.contentSpatial=j.contentSpatial,M.continuousFillSpatial=j.continuousFillSpatial,M.mergeSpatial=j.mergeSpatial),d&&(e._clear([u],void 0,void 0,!1,!0),b.push(u),M.rangesListenerSpatial2=j.rangesListenerSpatial2);let P=c,F=P._getState(),I=Object.keys(M),L=I.length;for(let e=0;e<L;e++){let t=I[e],n=M[t].createCopiedEntries(u,C,N),r=F[t].clone(),i=n.removes,a=i.length;for(let e=0;e<a;e++)r.remove(i[e]);r.load(n.inserts),F[t]=r}P._updateState(F),b.push(C),x.push(C),v&&v.length>0&&P._colHeaders.updateHeaderPairs(v),y&&y.length>0&&P._rowHeaders.updateHeaderPairs(y),A?.apply(),_.length>0&&c.getRanges(_).merge(),T.commit({viewBefore:w,viewAfter:e=>({...e,view:c.getView(),selection:my(x),ranges:b})})}catch(e){throw console.warn(e),T.rollback(),Error((E=e.message,(0,n.t)(`error.sheet.paste`,{message:E})),{cause:e})}var E;return n.CoordUtils.unionRangesArrays(x)}_snapShotFromSource(e,t){if(e.isISnapshot)return e;let r=e,i=null;if(r?.isICellRanges)throw new n.ExpectedError((0,n.t)(`error.sheet.copyMultipleRanges`));if(r?.isICellRange)i=r;else{let e=this.getWorkbook();i=typeof r==`string`&&r.includes(`!`)&&e?e.getRange(r):this.getRange(r)}if(i.isICellRange){let e=i;if(e.isInvalid())throw new n.ExpectedError((0,n.t)(`error.sheet.copyInvalidSource`));return e.getSnapshot(t)}throw new n.ExpectedError((0,n.t)(`error.sheet.copyInvalidSource`))}async _copyFrom(e,t,r){if(!t)throw new n.ExpectedError((0,n.t)(`error.sheet.copyMissingArgs`));let i=this._snapShotFromSource(t,r),a=(0,n.messageKey)(`op.paste`),o=this._beginCommit({description:r?.description??a}),s=null;try{let t=sy(e,i.getCoords(),r?.fitDestination,r?.transpose),c=this.getRange(t);s=await i.copyTo(c,r);let l=i.getName?.(),u=[s];r?.isCut&&u.push(i.getCoords()),o.commit({description:l?r?.description??(0,n.t)(`op.pasteNamed`,{name:l}):a,viewAfter:{view:this.getView(),selection:my([s??t]),ranges:u}})}catch(e){throw o.rollback(),e}return s}addAutoTable(e,t){e||=this.getSelectedRange().getCoords();let r=this._rangeToCoords(e);if(r=this._surroundingRegion(r,{contentOnly:!0}),n.CoordUtils.isSingleCell(r)&&!this._isContentful([r]))throw new n.ExpectedError((0,n.t)(`error.sheet.tableEmpty`));r=this._rangeToCoords(r,()=>[`sort`,`autoTable`]);let i=this._getEntireCoords();if(r.rowStart===r.rowEnd){if(r.rowEnd===i.rowEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.table1By1`));r.rowEnd+=1}let a=my([r]),o={...r},s=(0,n.messageKey)(`op.insertAutoTable`),c=this._beginCommit({description:t?.description??s}),l;try{let e={...t?.properties,style:null};this._validateOrRemoveOverlaps(r,`table`,null,t?.replaceExisting??!1);let n=this,i=this._getState(),s=i.autoTables;s=this._createTables(s,`autoTables`,[{r,v:e}],e=>{let t=new Vv(e);return l=t,t},e=>e.addListeners({onDelete:()=>{let t=i.autoTables;t=t.deleteModel(e),n._updateState({autoTables:t}),n._notify(`onAutoTableChange`)}},{once:!0})),this._updateState({autoTables:s}),this._notify(`onAutoTableChange`),this._notify(`onTablesChange`);let u=my([r]);c.commit({viewBefore:{view:this.getView(),selection:a,ranges:[o]},viewAfter:{view:this.getView(),selection:u,ranges:[r],table:l}})}catch(e){throw c.rollback(),e}return l}getAutoTable(){let e=this._getState();if(!e)return null;let t=e.autoTables.all();return t.length===0?null:t[0]}_getDefaultShiftAxis(e){return function(e,n){if(n){if(e.colStart<=n.colStart&&e.colEnd>=n.colEnd)return t.IRange.Axis.Row;if(e.rowStart<=n.rowStart&&e.rowEnd>=n.rowEnd)return t.IRange.Axis.Column}return e?function(e){return e.rowEnd-e.rowStart>e.colEnd-e.colStart?t.IRange.Axis.Column:t.IRange.Axis.Row}(e):t.IRange.Axis.Row}(e,this._getEntireCoords())}_getTables(e,t=!1,r=!1){let i=e?this._rangeToCoords(e):this._getEntireCoords(),a=this._getState();return a?this._getRangedEntries(a.tables,[i],{ignoreHidden:t,fullyContained:r,onEntry:e=>e.model}):n.CommonUtils.EmptyArray}_getDefaultSortCriteria(e,r=t.IRange.Axis.Row,i){let a=(i?this._cellToCoords(i):null)??iy(e),o=n.CoordUtils.cellToRange(a),s=this._getTables(o)[0]??null;if(!s){let e=this.getAutoTable();e&&e.getRange().getIntersect(o)&&(s=e)}let c=OD(this,e,a,r);if(s){let e=s.getActiveSorts(),t=[];for(let n=0;n<e.length;n++)t.push({index:e[n].getIndex(),criteria:e[n].getCriteria()});let n=s.getRange().getCoords(),r=s.getSortAt(a.colIndex-n.colStart),i=r.getCriteria();t.length===0&&t.push({index:r.getIndex(),criteria:i}),c.options.sorts=t,i!==null&&(c.options.reverse=i.reverse,c.options.collatorOptions=i.collatorOptions);let o=new Map;if(s.isShowHeaders()){let e=s.getColumns();for(let t=0;t<e.length;t++)o.set(t,e[t].getName())}c.headers=o,c.options.hasHeader=s.isShowHeaders()}return c}async _insertFrom(e,r,i){if(!r)throw new n.NullNotAllowedError;let a=this._snapShotFromSource(r),o=a.getCoords(),s=sy(e[0],o,i?.fitDestination),c=my([s]),l=c,u=i?.axis??this._getDefaultShiftAxis(s),d=this._beginCommit({description:i?.description??(0,n.messageKey)(`op.insertCopiedCells`),autoSelect:i?.autoSelect});try{if(this._insertCells([s],u),await this._copyFrom(s,a,{...i,isCut:!1}),i?.isCut){let e={...o};if(c=my([e]),s={...s},this===a.getSource()){if(u===t.IRange.Axis.Row){if(s.colStart<e.colStart&&s.colEnd>=e.colStart||s.colEnd>e.colEnd&&s.colStart<=e.colEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.insertCutOverlap`));if(e.colStart===s.colStart&&e.colEnd===s.colEnd){let t=e.rowEnd-e.rowStart+1;s.rowStart<=e.rowStart?(e.rowStart+=t,e.rowEnd+=t):(s.rowStart-=t,s.rowEnd-=t)}}else{if(s.rowStart<e.rowStart&&s.rowEnd>=e.rowStart||s.rowEnd>e.rowEnd&&s.rowStart<=e.rowEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.insertCutOverlap`));if(e.rowStart===s.rowStart&&e.rowEnd===s.rowEnd){let t=e.colEnd-e.colStart+1;s.colStart<=e.colStart?(e.colStart+=t,e.colEnd+=t):(s.colStart-=t,s.colEnd-=t)}}l=my([s])}a.getSource().getRanges([e]).delete(u)}d.commit({viewBefore:{ranges:e,view:this.getView(),selection:c,selectOptions:i?.autoSelect},viewAfter:{ranges:e,view:this.getView(),selection:l,selectOptions:i?.autoSelect}}),this._autoSelect(i?.autoSelect??!1,l)}catch(e){throw d.rollback(),e}return s}_insertCells(e,t,n){this._shiftCells(e,t,!0,n)}_deleteCells(e,t){this._shiftCells(e,t,!1)}_shiftCells(e,r,i,a){(function(e,r,i,a,o){let s;a&&(o??=((t,r)=>{e.validateCoords(t,r??(0,n.t)(`error.sheet.insertOob`))})),i===t.IRange.Axis.Column||i===t.IRange.Axis.Row?(s=i,i={}):i&&(s=i.axis);let c=i?.description??(a?(0,n.messageKey)(`op.insertCells`):(0,n.messageKey)(`op.deleteCells`)),l=(s??e.getDefaultShiftAxis(r[0]))===t.IRange.Axis.Column;if(e.protectionCheck(()=>[l?a?`insertColumns`:`deleteColumns`:a?`insertRows`:`deleteRows`],r,c),ty(r))throw new n.ExpectedError(a?(0,n.t)(`error.sheet.insertOverlapping`):(0,n.t)(`error.sheet.deleteOverlapping`));let u=e.getEntireCoords(),d=u.colEnd,f=u.rowEnd,p=my(r),m=e.beginCommit({description:c,operation:{name:a?`insertCells`:`deleteCells`}}),h=e.stateFor(m),g=l?a?t.IRange.Direction.Right:t.IRange.Direction.Left:a?t.IRange.Direction.Down:t.IRange.Direction.Up;try{let n=h.contentfulSpatial,s=h.mergeSpatial,c=h.borderSpatial,_=h.fillSpatial,v=h.contentSpatial,y=h.continuousFillSpatial,b=h.dateFormatSpatial,x=h.errorSpatial,S=h.hyperlinkSpatial,C=h.commentsSpatial,w=h.movableSpatial,T=h.calcGrid,E=h.rangesListenerSpatial2,D=h.rangeListenerSpatial,O=h.rangesListenerMap,k=e.getView().getFreezePanes().coords,A=k.rowIndex>0||k.colIndex>0,j={...k},M=new Map,N=h.cellValuesGrid,P,F=N,I=h.spillSpatial,L=h.pendingSpatial,ee=I,te=L,R=Di(r.slice(),t.IRange.Direction.Left),ne=R.length;for(let t=0;t<ne;t++){let r=R[t];d=Math.min(d,r.colStart),f=Math.min(f,r.rowStart);let i=(a?1:-1)*(l?r.colEnd-r.colStart+1:r.rowEnd-r.rowStart+1),p=F.getCoords();if(p){F===N&&(F=F.clone(),e.cloneRangeStats(F)),ee===I&&(ee=ee.clone(),te=te.clone());let t=Fw(r,ee,F,n,(e,t)=>{P||=[],e&&P.push(e),t&&P.push(t)},!l);if(a){let e={...r,colEnd:l?Math.max(r.colEnd,p?.colEnd??r.colStart)+(r.colEnd-r.colStart+1):r.colStart,rowEnd:l?r.rowStart:Math.max(r.rowEnd,p?.rowEnd??r.rowStart)+(r.rowEnd-r.rowStart+1)},t=n.search(e),a=t.length;for(let e=0;e<a;e++){let n=t[e],a={...r};l?a.colEnd=Math.max(a.colEnd,n.colEnd)+i:a.rowEnd=Math.max(a.rowEnd,n.rowEnd)+i,o(a)}}F.shift(r,g),ee=ee.shift({range:r,direction:g,cloneIfUpdate:ee===h.spillSpatial,coordValidator:o}),n=n.shift({range:r,direction:g,cloneIfUpdate:n===h.contentfulSpatial,coordValidator:o}),t?.(a,l?0:i,l?i:0),e.updateState({cellValuesGrid:F,contentfulSpatial:n,spillSpatial:ee,pendingSpatial:te})}let m=r.colStart<=u.colStart&&r.colEnd>=u.colEnd,k=r.rowStart<=u.rowStart&&r.rowEnd>=u.rowEnd;A&&(m||k)&&(j=ND(j,r,l,i,u));let L=(e,t,n,r)=>{let i=null;n>1&&(i=e.at(n-1));let a=r-n+1;t?.(n,a),i&&e.updateHeaderPairs([{address:{min:n,max:r},update:i}])};m&&(a?L(e.rowHeaders,e.rowHeadersShiftCallback,r.rowStart,r.rowEnd):e.rowHeadersShiftCallback(r.rowStart,-1*(r.rowEnd-r.rowStart+1))),k&&(a?L(e.columnHeaders,e.columnHeadersShiftCallback,r.colStart,r.colEnd):e.columnHeadersShiftCallback(r.colStart,-1*(r.colEnd-r.colStart+1))),s=s.shift({range:r,direction:g,cloneIfUpdate:s===h.mergeSpatial}),c=c.shift({range:r,direction:g,cloneIfUpdate:c===h.borderSpatial}),_=_.shift({range:r,direction:g,cloneIfUpdate:_===h.fillSpatial}),v=v.shift({range:r,direction:g,cloneIfUpdate:v===h.contentSpatial}),y=y.shift({range:r,direction:g,cloneIfUpdate:y===h.continuousFillSpatial,coordValidator:o}),b=b.shift({range:r,direction:g,cloneIfUpdate:b===h.dateFormatSpatial,coordValidator:o}),x=x.shift({range:r,direction:g,cloneIfUpdate:x===h.errorSpatial,coordValidator:o}),S=S.shift({range:r,direction:g,cloneIfUpdate:S===h.hyperlinkSpatial,coordValidator:o}),C=C.shift({range:r,direction:g,cloneIfUpdate:C===h.commentsSpatial,coordValidator:o}),w=w.shift({range:r,direction:g,cloneIfUpdate:w===h.movableSpatial,coordValidator:o}),T=T.shift({range:r,direction:g,cloneIfUpdate:T===h.calcGrid}),D=D.shift({range:r,direction:g,cloneIfUpdate:D===h.rangeListenerSpatial,onShift:t=>{O===h.rangesListenerMap&&(O=new Map(O)),e.processListenerShift(O,M,h.rangesListenerMap,t)}}),E=E.shift({range:r,direction:g,cloneIfUpdate:E===h.rangesListenerSpatial2,coordValidator:o})}let z=h.tables.shift({ranges:R,direction:g,coordValidator:o}),B=h.autoTables.shift({ranges:R,direction:g,coordValidator:o}),re=h.dataValidations.shift({ranges:R,direction:g,coordValidator:o}),ie=h.conditionalFormats.shift({ranges:R,direction:g,coordValidator:o}),ae=h.protectedRanges.shift({ranges:R,direction:g,coordValidator:o}),oe=j.rowIndex!==k.rowIndex||j.colIndex!==k.colIndex;oe&&e.getView().setFreezePanes({coords:j}),e.updateState({mergeSpatial:s,borderSpatial:c,fillSpatial:_,contentSpatial:v,continuousFillSpatial:y,dateFormatSpatial:b,errorSpatial:x,hyperlinkSpatial:S,commentsSpatial:C,movableSpatial:w,tables:z,autoTables:B,dataValidations:re,conditionalFormats:ie,protectedRanges:ae,calcGrid:T,rangesListenerSpatial2:E,rangeListenerSpatial:D,rangesListenerMap:O}),e.processLayoutChange(),e.markColumnHeaderTableNames(),e.commitAndAutoSelect(m,p,i?.autoSelect,{viewBefore:{freezePanes:j?k:void 0},viewAfter:{ranges:R,spills:P,freezePanes:oe?j:void 0,listeners:M}},l?t.IRange.Axis.Column:t.IRange.Axis.Row)}catch(e){throw m.rollback(),e instanceof n.OutOfBoundsError?new n.ExpectedError(e.message||(0,n.t)(`error.sheet.insertOob`)):e}})(this._getMutationCtx(),e,r,i,a)}_processLayoutChange(){let e=this._getState();if(!e)return;this._cellOptions?.renderCellCache?.clear();let t=e.movableSpatial.all(),n=t.length;for(let e=0;e<n;e++)t[e].value.callbacks?.processLayout?.();this._notify(`onLayoutChange`)}_autoFit(e,r){(function(e,r,i){let a=e;if(a._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));let o;i={expandOnly:!1,skipCustomSize:!1,minContent:!1,...i};let s=oD(r,a._getEntireCoords(),!0),c=aD(r,a._getEntireCoords(),!0);o=!s&&c?(0,n.messageKey)(`op.autofitColumns`):!c&&s?(0,n.messageKey)(`op.autofitRows`):c&&s?(0,n.messageKey)(`op.autofitAll`):(0,n.messageKey)(`op.autofit`);let l=i.axes!==t.IRange.AxisSelection.Row;a._colHeaders.isProtected()&&(l=!1);let u=i.axes!==t.IRange.AxisSelection.Column;if(a._rowHeaders.isProtected()&&(u=!1),!u&&!l)return;let d=l&&(!1===i.expandOnly||i.expandOnly===t.IRange.Axis.Row),f=u&&(!1===i.expandOnly||i.expandOnly===t.IRange.Axis.Column),p=i.minContent??!1;u&&a._protectionCheck(()=>[`formatRows`],r,o),l&&a._protectionCheck(()=>[`formatColumns`],r,o);let m=my(r),h=a._beginCommit({description:i.description??o}),g=a._isAdjustHeaders;a._isAdjustHeaders=!0;try{let e=U.getDeviceScale(),o=a._defaultRowHeight()*e,s=a._defaultColWidth(),c={host:a,cellOptions:a._cellOptions,normalStyle:a._styles.getNormal(),isRow:u,isColumn:l,isRowAxis:i.axes===t.IRange.AxisSelection.Row,isShrinkToFitRow:f,isShrinkToFitColumn:d,minContent:p,isFormulaView:i.formulaView??a.getView()?.isShowFormulas()??!1,updateHeaderOptions:{skipCustomSize:i.skipCustomSize},mapCache:new Map,clampHeight:(e,t=1)=>{if(e===0||t>1)return;let n=Math.max(e??0,o);return e=>f?n:Math.max(e??0,n)},clampWidth:(e,t=1)=>{if(e!==0&&!(t>1))return t=>d?e:Math.max(t??0,e??s)}},_=Pa(r,1);_.sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Column));let v=_.length;for(let e=0;e<v;e++){let t=_[e],n=xC(c,t),r=[],i=[];CC(c,t,n,r,i);let a=wC(c,t,n);if(TC(c,a,t),l&&DC(c,t,a,i),u){let e=l?EC(c,a):null;e&&TC(c,e,t),OC(c,t,a,r)}}a._isAdjustHeaders=g,a._processLayoutChange(),a._commitAndAutoSelect(h,m,i?.autoSelect,{viewAfter:{ranges:r}})}catch(e){throw a._isAdjustHeaders=g,h.rollback(),e}})(this,e,r)}_createRangeEvent(e,t,n){let r=this,i=()=>{let t=r._getState();return this._closed||t.deleted?dD(null):e?Array.isArray(e)?r._createRanges(e):r._createRange(e):dD(this,this._getEntireCoords())},a=t.trigger;return{getSource:i,getFrom:()=>{let e=t.from;if(e)return e;let a=n;return a||=i().getCoords(),Array.isArray(a)?r._createRanges(a):r._createRanges([a])},getTo:()=>t.to??null,trigger:a,isUndo:t.isUndo??!1,isDataChange:t.isDataChange??!1,getTransactionId:t.getTransactionId,toString:()=>`SheetRangeEvent: ('${a}', ${i().toString()})`,timeStamp:t.timeStamp??Date.now()}}_notifyAddressListeners(e,t,n,r){let i=t.entries(),a=i.next(),o=r.trigger;for(;!a.done;){let t=a.value,s=t[0],c=t[1];if(c||=e.get(s),c&&!n.has(s)){let e=!1,t=c.options;t&&(e=(o===`address`?t.ignoreAddressChanges:t.ignoreDataChanges)??!1),!0!==e&&c.notify(r),n.add(s)}a=i.next()}}_notifyDataListeners(e,t,n=null,r,i){if(!e)return;let a=n.length;for(let o=0;o<a;o++){let a=n[o];if(!a)continue;let s=e.search(a),c=s.length;for(let e=0;e<c;e++){let n=s[e].value.groupId;if(!r.has(n)){let e=t.get(n);!0!==e.options?.ignoreDataChanges&&e.notify(i),r.add(n)}}}}_notifyRangeListeners(e,t,r=null,i){if(!e)return;let a=new Set;i.timeStamp||=Date.now();let o=this._getEntireCoords(),s=r.length;for(let c=0;c<s;c++){let s=n.CoordUtils.intersectRanges(o,r[c],zE);if(!s)continue;let l=e.search(s),u=l.length;for(let e=0;e<u;e++){let n=l[e].value.id;if(a.has(n))continue;let r=t.get(n);a.add(n);let o=r.ranges,c=o.length;for(let e=0;e<c;e++){let t=o[e],n=this._createRangeEvent(t,i,s);this._notifyRangeListener2(r,n,i)}}}}_notifyRangeListener2(e,t=null,n=null){let r=e.options;if(r?.transactional&&n?.isRestoreOrRevert||r?.ignoreDataChanges&&n?.isDataChange)return;let i=e.handler??e.handlerW?.deref();if(i)try{i?.(t)}catch(e){console.warn(e)}}_notifyUsedRangeChange(){this._lastCellRead.coords=null,this._lastUsedCoordsRead.coords=null,this._notify(`onUsedRangeChange`)}_notify(e){return this._emitter.notify(e)}_notifyConditionalFormatsChange(){this._notify(`onConditionalFormatsChange`),this._notify(`onStyleChange`)}_notifyDataValidationsChange(){this._notify(`onDataValidationsChange`),this._notify(`onStyleChange`)}_notifyProtectedRangesChange(){this._notify(`onProtectedRangesChange`),this._notify(`onProtectionChange`)}addListeners(e,t){return this._emitter.addListeners(e,t)}_addRangesListeners(e,t,r){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));if(!t)throw Error((0,n.t)(`error.sheet.listenerNull`));r=r?{...xE,...r}:xE;let i=r?.transactional??!1,a=this,o=FE++%(2**53-1),s=()=>{let e=null,t=null;if(i){let n=a._getState();if(!n)return;e=n.rangeListenerSpatial.clone(),t=new Map(n.rangesListenerMap)}else e=a._rangeListenerSpatial,t=a._rangesListenerMap;let r=t.get(o);if(!r)return void console.log(`Listener not found`);let s=r.ranges,c=s.length;for(let t=0;t<c;t++){let r=n.CoordUtils.sanitizeRange(s[t]);r!==null&&e.remove(r,(e,t)=>t.value.id===o)}if(t.delete(o),i){let r=this._beginCommit({description:(0,n.messageKey)(`op.removeRangeListener`)});this._updateState({rangeListenerSpatial:e,rangesListenerMap:t}),r.commit({forceAmend:!0})}},c=[...e],l={id:o,handler:null,handlerW:null,removeListener:s,options:r,ranges:c};r?.weakly?l.handlerW=new WeakRef(t):l.handler=t;let u=null,d=null,f=null;if(i){f=this._beginCommit({description:(0,n.messageKey)(`op.addRangeListener`)});let e=this._getState();u=e.rangeListenerSpatial.clone(),d=new Map(e.rangesListenerMap)}else u=a._rangeListenerSpatial,d=a._rangesListenerMap;let p=[],m=e.length;for(let t=0;t<m;t++){let n={...e[t],value:{id:o,offset:t,options:r}};p.push(n)}return u.load(p),d.set(o,l),f&&(this._updateState({rangeListenerSpatial:u,rangesListenerMap:d}),f.commit({forceAmend:!0})),s}_addRangesListeners2(e,t,r,i){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));if(!t)throw new n.ExpectedError((0,n.t)(`error.sheet.listenerNull`));r=r?{...xE,...r}:xE;let a=r?.transactional??!1,o=this,s=n.CommonUtils.uuidV4(),c=IE++,l=()=>{let e=null,t=null,r=o._getState();if(!r)return;e=r.rangesListenerSpatial2.clone(),t=r.rangesListenerMap2;let i=t.get(s);if(i){let n=i.spatialsIds,a=i.coords,o=n.length;for(let t=0;t<o;t++){let r=n[t],i=a[t];e.remove(i,(e,t)=>t.value.uuid===r)}t=new Map(r.rangesListenerMap2),t.delete(s)}let l=this._beginCommit({description:(0,n.messageKey)(`op.removeRangeListener`)});this._updateState({rangesListenerMap2:t}),l.commit({forceAmend:!0}),a||this._rangesListenerSorted.delete(c)},u=null,d=this._beginCommit({description:(0,n.messageKey)(`op.addRangeListener`)}),f=this._getState();u=f.rangesListenerSpatial2.clone();let p=null,m=null;r?.weakly?m=new WeakRef(t):p=t;let h=[],g=[...e],_=[],v=e.length;for(let t=0;t<v;t++){let i={...e[t]};g[t]=i;let a=n.CommonUtils.uuidV4(),o=new mT(s,a,r?.ignoreAddressChanges??!1);_.push(a);let c={...n.CoordUtils.sanitizeRange(i),value:o};h.push(c)}u.load(h),r={...r};let y=new hT(s,_,g,i,this,c,p,m,l,r),b=new Map(f.rangesListenerMap2);return b.set(s,y),this._updateState({rangesListenerSpatial2:u,rangesListenerMap2:b}),a||this._rangesListenerSorted.set(c,y),d.commit({forceAmend:!0}),l}_getUsedCoords(e){let t=this._getState();if(!t)return null;let r=t.cellValuesGrid.getCoords(),i=e?.features;if(i!==void 0){let e=typeof i==`string`?[i]:i;for(let i=0;i<e.length;i++)r=n.CoordUtils.unionRanges(Nf(t,e[i]),r);return vE(r,this._getEntireCoords())}return r=n.CoordUtils.unionRanges(t.borderSpatial.getContentfulCoords(),r),r=n.CoordUtils.unionRanges(t.fillSpatial.getContentfulCoords(),r),r=n.CoordUtils.unionRanges(t.contentSpatial.getContentfulCoords(),r),r=n.CoordUtils.unionRanges(t.mergeSpatial.getContentfulCoords(),r),r=n.CoordUtils.unionRanges(t.tables.getBoundingRange(),r),r=n.CoordUtils.unionRanges(t.calcGrid.getBoundingRange(),r),r=n.CoordUtils.unionRanges(t.spillSpatial.getBoundingRange(),r),r=n.CoordUtils.unionRanges(t.pendingSpatial.getBoundingRange(),r),r=vE(r,this._getEntireCoords()),r?(this._lastUsedCoordsRead&&this._lastUsedCoordsRead.coords&&CD(this._lastUsedCoordsRead.coords,r)||(this._lastUsedCoordsRead.coords=r,this._lastUsedCoordsRead.range=null),this._lastUsedCoordsRead.coords):(this._lastUsedCoordsRead.coords=null,null)}_getRangeStats(e,n){let r=n?.ignoreHidden;if(r&&(e=this._getVisible(e,{axes:!0===r?t.IRange.AxisSelection.Both:r})),e.length===0)return this._rangeStats.toLocalCoords([],n);let i=PD(e);return this._rangeStats.toLocalCoords(i,n)}_isContentful(e,t){return!!this._contentCounts(e,void 0,t)}_getCount(e,t=!1){let n=this._contentCounts(e,CE,t);return n?n[Dv.Content.Values]??0:0}_contentCounts(e,t,n=!1){if(!t){let e=Object.keys(Dv.Content),n=e.length;t=[];for(let r=0;r<n;r++){let n=e[r],i=Dv.Content[n];i!==Dv.Content.Formats&&i!==Dv.Content.Tables&&t.push(i)}}let r={},i=t.length,a,o,s=!1;for(let e=0;e<i;e++){let n=t[e];n===Dv.Content.Values?r[q.Type.Contentful]=!1:n===Dv.Content.Formulas?r[q.Type.Formula]=!1:n===Dv.Content.Formats?(r[q.Type.BorderStyle]=!1,r[q.Type.FillStyle]=!1,r[q.Type.ContentStyle]=!1):n===Dv.Content.Tables&&(r[q.Type.Table]=!1,s=!0)}let c=()=>{a=new Set,o={};for(let e=0;e<i;e++){let n=t[e];o[n]=0}},l=e.length;for(let t=0;t<l;t++){let i=e[t],l=this._rangeStateIterator({searchTypes:r,ignoreHidden:n,bounds:i}),u=l.next();for(;!u.done;){o||c();let e=u.value,t=(e.end.colIndex-e.start.colIndex+1)*(e.end.rowIndex-e.start.rowIndex+1),n=e.intersection;if(n){n.contentful&&(o[Dv.Content.Values]=(o[Dv.Content.Values]??0)+t),n.formula&&(o[Dv.Content.Formulas]=(o[Dv.Content.Formulas]??0)+t);let e=n.table;e&&(s&&!a.has(e)&&(o[Dv.Content.Tables]=(o[Dv.Content.Tables]??0)+1,a.add(e)),n.contentful||(o[Dv.Content.Values]=(o[Dv.Content.Values]??0)+t))}u=l.next()}}return o}_featureCounts(e,t,n=!1){let r=Ov.Feature,i=Object.values(r),a=t===void 0?i:typeof t==`string`?[t]:t,o={};for(let e=0;e<i.length;e++)o[i[e]]=0;e.length>1&&(e=PD(e));let s=new Map;for(let e=0;e<a.length;e++){let t=a[e],n=jf[t];if(n===null)continue;let r=s.get(n);r?r.push(t):s.set(n,[t])}let c=e.length;for(let[t,i]of s){let a=t===q.Type.ContentStyle,s={[t]:!1};for(let t=0;t<c;t++){let c=this._rangeStateIterator({searchTypes:s,ignoreHidden:n,bounds:e[t]}),l=c.next();for(;!l.done;){let e=l.value,t=e.intersection;if(t){let n=(e.end.colIndex-e.start.colIndex+1)*(e.end.rowIndex-e.start.rowIndex+1);if(a){let a=t.contentStyle?.getPropertiesAt(e.start.rowIndex,e.start.colIndex,null);if(a)for(let e=0;e<i.length;e++){let t=i[e];(t===r.NumberFormat&&a.numberFormat!==void 0||t===r.Alignment&&a.alignment!==void 0||t===r.Font&&a.font!==void 0)&&(o[t]+=n)}}else for(let e=0;e<i.length;e++){let r=i[e];EE(t,r)&&(o[r]+=n)}}l=c.next()}}}return new wE(o)}_dependencyRanges(e,t,n){let r=this._getState().calcGrid;if(!r)return null;let i=e.scope&&e.scope===this.getName()?{...e,scope:void 0}:e,a=t===`precedents`?n?r.getDirectPrecedentsAt(i):r.getPrecedentsAt(i):n?r.getDirectDependentsAt(i):r.getDependentsAt(i),o=new Set;if(t===`precedents`){let t=r.getFormulas().search(e);for(let e=0;e<t.length;e++){let n=t[e].value?.getNamedIds();if(n)for(let e=0;e<n.length;e++)o.add(n[e])}}let s=this._toRangeScopes(a,t===`dependents`?o:void 0),c=null;if(o.size>0){let e=this._calculation?.getNamedFormulas();if(e?._graphNode){let n=this._internal;for(let r of o){let i=e._graphNode(r,t===`dependents`);if(!i)continue;let a=(i.sheetName?cD(n,i.sheetName):null)??n;(c??=[]).push(new sb(i,a,null))}}}return s.length!==0||c?this._createRanges(c?[...c,...s]:s):null}_toRangeScopes(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r];if(!i.scope){n.push(i);continue}let a=this._resolveSheetScope(i.scope);a?n.push({...i,scope:a}):t?.add(i.scope)}return n}_resolveSheetScope(e){if(this.getId()===e)return this.getName();let t=this._workbook?.getSheets().getItems();if(t){for(let n of t)if(n.getId()===e)return n.getName()}return null}_featureRegions(e,n,r){let i=Ov.Feature,a=r?.containment===`fullyContained`,o={},s=[],c=[];for(let e=0;e<n.length;e++){let t=n[e];switch(t){case i.NumberFormat:case i.Alignment:case i.Font:s.push(t),o[q.Type.ContentStyle]=!1;break;default:{let e=jf[t];if(e===null)return[];o[e]=!1,c.push(t)}}}let l=c.includes(i.Contentful),u=[];for(let e=0;e<c.length;e++)c[e]!==i.Contentful&&u.push(jf[c[e]]);let d=e=>{let t=[];l&&t.push(!!e.contentful);for(let n=0;n<u.length;n++)t.push(e[u[n]]);return s.length>0&&t.push(e.contentStyle),t},f=new Map,p=Symbol(`rects`),m=e=>{let t=f;for(let n=0;n<e.length;n++){let r=t.get(e[n]);r||(r=new Map,t.set(e[n],r)),t=r}let n=t.get(p);return n||(n=[],t.set(p,n)),n},h=this._rangeStateIterator({searchTypes:o,ignoreHidden:r?.ignoreHidden??!1,bounds:e,fullyContained:a}),g=h.next();for(;!g.done;){let t=g.value,n=t.intersection;if(n){let r=!1;for(let e=0;!r&&e<c.length;e++)r=EE(n,c[e]);if(!r&&s.length>0){let e=n.contentStyle?.getPropertiesAt(t.start.rowIndex,t.start.colIndex,null);if(e)for(let t=0;!r&&t<s.length;t++){let n=s[t];r=n===i.NumberFormat&&e.numberFormat!==void 0||n===i.Alignment&&e.alignment!==void 0||n===i.Font&&e.font!==void 0}}r&&m(d(n)).push({rowStart:Math.max(t.start.rowIndex,e.rowStart),colStart:Math.max(t.start.colIndex,e.colStart),rowEnd:Math.min(t.end.rowIndex,e.rowEnd),colEnd:Math.min(t.end.colIndex,e.colEnd)})}g=h.next()}let _=[],v=e=>{for(let[n,r]of e)n===p?_.push(...Na(r,t.IRange.Axis.Column,2**53-1)):v(r)};v(f);let y=r?.axis===t.IRange.Axis.Column,b=!0===r?.reverse;return _.sort((e,t)=>{let n=y?e.colStart-t.colStart||e.rowStart-t.rowStart:e.rowStart-t.rowStart||e.colStart-t.colStart;return b?-n:n}),_}find(e){return e?((e=typeof e==`string`?{text:e}:{...e}).from||(e.from=this.getSelection().getCoords().cell),this.getEntireRange().find(e)):si}setEntireSize(e,r){e||=jE;let i=this._getEntireCoords(),a=i.colEnd-i.colStart+1,o=i.rowEnd-i.rowStart+1,s=e?.width??a,c=e?.height??o;if(s===a&&c===o)return this;let l=this._beginCommit({description:r?.description??(0,n.messageKey)(`op.setEntireSize`)});try{s<a&&this._deleteCells([{colStart:s,rowStart:i.rowStart,colEnd:i.colEnd,rowEnd:i.rowEnd}],t.IRange.Axis.Column),c<o&&this._deleteCells([{colStart:i.colStart,rowStart:c,colEnd:i.colEnd,rowEnd:i.rowEnd}],t.IRange.Axis.Row);let e=Object.freeze({colStart:0,rowStart:0,colEnd:s-1,rowEnd:c-1}),u=this._getState(),d=u.borderSpatial.clone();d.setEntireCoords(e);let f=u.fillSpatial.clone();f.setEntireCoords(e);let p=u.contentSpatial.clone();p.setEntireCoords(e),this._updateState({entireCoords:e,borderSpatial:d,fillSpatial:f,contentSpatial:p}),this._entireCoordsCache=null,this._entireRangeCache=null,this._emitter.notify(`onViewChange`,{source:this.getView()}),s>a&&this._insertCells([{colStart:i.colEnd+1,rowStart:e.rowStart,colEnd:s-a+i.colEnd,rowEnd:e.rowEnd}],t.IRange.Axis.Column),c>o&&this._insertCells([{colStart:e.colStart,rowStart:i.rowEnd+1,colEnd:e.colEnd,rowEnd:c-o+i.rowEnd}],t.IRange.Axis.Row);let m=this.getSelection(),h=m.getCoords(),g=fy(h,n.CoordUtils.EmptySelection,e);m.updateCoords(g),this._notify(`onLayoutChange`),l.commit({...r,viewBefore:{view:this.getView(),selection:h},viewAfter:{view:this.getView(),selection:g}}),this._autoSelect(r?.autoSelect,g)}catch(e){throw l.rollback(),e}return this}_find(e,r){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));typeof r==`string`&&(r={text:r});let i=r?.text;if(!i)return si;let a=[...e],o=r?.axis??t.IRange.Axis.Row,s=r?.reverse,c=!r?.disableWrap,l=r?.from?this._cellToCoords(r?.from):null,u=null;if(l){let e=-1;for(let t=0;e===-1&&t<a.length;t++)n.CoordUtils.isCellWithinRange(l,a[t])&&(e=t);u=n.CoordUtils.cellToRange(l);let t=ny(a[e],u,o);t.push(u);let r=n.CoordUtils.createRangeComparator(o,s);t.sort(r);let i=-1,d=t.length;for(let e=0;e<d;e++)r(t[e],u)<=0&&(i=e);a.splice(e,1,...t);let f=e+i,p=[];for(let e=0;e<=f;e++)p.push(a.shift());if(c){let e=p.length;for(let t=0;t<e;t++)a.push(p[t])}}if(a.length===0)return si;let d=r?.fields?.includes(Dv.Content.Formulas)??!1,f=r?.fields?.includes(Dv.Content.Values)??!0,p=r?.matchEntireCell??!1,m=r?.matchCase??!1,h=r?.useRegex??!1,g=function(e,t,n){let r=t?``:`i`;return n?new RegExp(e,r):new RegExp((e=>{let t=e.replace(/[|\\{}()[\]^$+.]/g,`\\$&`);return t=t.replace(/~\?/g,`\\?`),t=t.replace(/~\*/g,`\\*`),t=t.replace(/~~/g,`~`),t})(e),r)}(i,m,h),_=i.length,v=(e,t)=>{let n=e=>{if(!e)return!1;let t=!!e.match(g);return t&&p&&e.length!==_&&(t=!1),t},r=t.getCell(),i=!1;if(!i&&d){let e=r.getFormulaText();e=e?`=`+e:r.getText(RE),i=n(e)}else f&&(i=n(r.getNumberFormat().displayText));return i};if(r?.matchCustom){let e=r.matchCustom,t={matchCase:m,matchEntireCell:p,useRegex:h,fields:r?.fields??[Dv.Content.Formulas]},n,i,a=v,o=()=>a(n,i);v=(r,a)=>(n=r,i=a,e(r,o,t,a))}let y=-1,b=null,x=oi,S=!1,C=()=>{if(x.done){if(y++,y>=a.length)return S=!0,!1;b=this._cellIterator({reverse:s,axis:o,searchTypes:!1,bounds:a[y]})}if(x=b.next(),!x.done){let e=x.value;return v(e.value,e.context)}return!1};return{next:()=>{let e=null;for(;!S&&!e;)C()&&(e=x.value.context.getCell());return e?{value:e,done:!1}:oi}}}getRuntime(){return this._runtime}_surroundingRegion(e,t){let r=this._getState(),i=t?.contentOnly??!1,a=this._getEntireCoords();if(!i){let t=r.tables.search(e);if(t.length>0){let r=t[0].value,i=r.getDataRange().getCoords(),o=r.getRange().getCoords();return n.CoordUtils.isEqualRanges(i,e)?o:n.CoordUtils.isEqualRanges(o,e)?a:i}}let o=i?e:a;return function(e,t,r=2e4){if(!t||t.length===0)return null;let i=null,a=!1;for(let r=0;r<t.length;r++){let o=t[r];o&&(i=n.CoordUtils.unionRanges(i,o.getBoundingRange()),a||=o.search(e).length>0)}if(!i)return null;let o={...n.CoordUtils.EmptyRange},s=e,c=a?{...e}:null;if(!c){let r=(e=>{let r=[],i=t.length;for(let n=0;n<i;n++){let i=t[n];if(!i)continue;let a=i.search(e),o=a.length;r=o>0?Array(o):void 0;for(let e=0;e<o;e++){let t=a[e];r[e]=t}}return r||n.CommonUtils.EmptyArray})({colStart:e.colEnd,rowStart:e.rowEnd,colEnd:e.colEnd+1,rowEnd:e.rowEnd+1}),i=r.length;if(i>0){c={...e};for(let e=0;e<i;e++){let t=r[e];c.colEnd=Math.max(c.colEnd,t.colStart),c.rowEnd=Math.max(c.rowEnd,t.rowStart)}}}let l={...n.CoordUtils.EmptyRange},u=()=>{let e=t.length;for(let r=0;r<e;r++){let e=t[r];if(!e)continue;let i=e.search(o),a=i.length;for(let e=0;e<a;e++){let t=i[e];c=n.CoordUtils.unionRanges(c,t,l)}}return c};o.colStart=e.colStart,o.rowStart=e.rowStart,o.colEnd=e.colEnd,o.rowEnd=e.rowEnd,u();let d={...c},f={...n.CoordUtils.EmptyRange},p=0;do{if(o.colStart=f.colStart=d.colStart,o.rowStart=f.rowStart=d.rowStart,o.colEnd=f.colEnd=d.colEnd,o.rowEnd=f.rowEnd=d.rowEnd,d.colStart>i.colStart&&(o.colStart=d.colStart-1,o.colEnd=d.colStart-1,o.rowStart=d.rowStart-1,o.rowEnd=d.rowEnd+1,u()),d.rowStart>i.rowStart&&(o.rowStart=d.rowStart-1,o.rowEnd=d.rowStart-1,o.colStart=d.colStart-1,o.colEnd=d.colEnd+1,u()),d.colEnd<i.colEnd&&(o.colStart=d.colEnd+1,o.colEnd=d.colEnd+1,o.rowStart=d.rowStart-1,o.rowEnd=d.rowEnd+1,u()),d.rowEnd<i.rowEnd&&(o.rowStart=d.rowEnd+1,o.rowEnd=d.rowEnd+1,o.colStart=d.colStart-1,o.colEnd=d.colEnd+1,u()),!c)return null;if(d.colStart=c.colStart,d.rowStart=c.rowStart,d.colEnd=c.colEnd,d.rowEnd=c.rowEnd,n.CoordUtils.isEqualRanges(d,f))return n.CoordUtils.isEqualRanges(s,d)?null:d;if(n.CoordUtils.isEqualRanges(d,s))return null;if(n.CoordUtils.isEqualRanges(d,f))return d;p++}while(p<r);return null}(e,[r.contentfulSpatial,r.mergeSpatial,r.calcGrid.getFormulas(),r.spillSpatial,r.pendingSpatial])||o}_extendRange(e,r){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));let i={...this._getEntireCoords()},a=this.getRowHeaders(),o=this.getColumnHeaders(),s=(this._cacheTableColumnHeaders?.table)?.getRange().getCoords(),c=!1;if(s){let n={...s};n.rowStart+=a.hiddenHeadersAt(n.rowStart,!1),n.rowEnd-=a.hiddenHeadersAt(n.rowEnd,!0),n.colStart+=o.hiddenHeadersAt(n.colStart,!1),n.colEnd-=o.hiddenHeadersAt(n.colEnd,!0),(e===t.IRange.Direction.Up&&r.rowIndex>n.rowStart||e===t.IRange.Direction.Down&&r.rowIndex<n.rowEnd||e===t.IRange.Direction.Left&&r.colIndex>n.colStart||e===t.IRange.Direction.Right&&r.colIndex<n.colEnd)&&(c=!0),c&&(i=n)}i.rowStart+=a.hiddenHeadersAt(i.rowStart,!1),i.rowEnd-=a.hiddenHeadersAt(i.rowEnd,!0),i.colStart+=o.hiddenHeadersAt(i.colStart,!1),i.colEnd-=o.hiddenHeadersAt(i.colEnd,!0);let l=this,u=[],d={ignoreHidden:!0,onFound:(e,t)=>{u.push(n.CoordUtils.intersectRanges(e,t))},onEntry:(e,t)=>t},f={ignoreHidden:!0,onEntry:(e,t)=>e.tvTl()===void 0?null:t},p=this._getState();if(!p)return n.CommonUtils.EmptyArray;let m,h=l._getRangedEntries(p.mergeSpatial,[n.CoordUtils.cellToRange(r)],f);h.length>0&&(m=h[0]);let g=[e=>l._getRangedEntries(l._getState().mergeSpatial,e,f),e=>(u=[],l._getRangedEntries(l._getState().contentfulSpatial,e,d),u)];return c||g.push(e=>(u=[],l._getRangedEntries(l._getState().tables,e,d),u)),function(e,r,i,a,o){let s,c,l,u={...r},d=n.CoordUtils.cellToRange(u),f=a(d).length>0;if(f){let r=1,o=e===t.IRange.Direction.Up||e===t.IRange.Direction.Down;i&&(r+=o?i.rowEnd-i.rowStart:i.colEnd-i.colStart),e!==t.IRange.Direction.Left&&e!==t.IRange.Direction.Up||(r=-r),o?u.rowIndex+=r:u.colIndex+=r,d=n.CoordUtils.cellToRange(u),f=a(d).length>0}switch(e){case t.IRange.Direction.Up:d.rowStart=Math.min(o.rowStart,d.rowStart),c=a(d).sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Row,!0)),s=r.rowIndex,l=f?c.length===1&&s===c[0].rowStart?o.rowStart:c[0].rowStart:c.length===0?o.rowStart:c[0].rowEnd;break;case t.IRange.Direction.Down:d.rowEnd=Math.max(o.rowEnd,d.rowEnd),c=a(d).sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Row,!1)),s=r.rowIndex,l=f?c.length===1&&s===c[0].rowEnd?o.rowEnd:c[0].rowEnd:c.length===0?o.rowEnd:c[0].rowStart;break;case t.IRange.Direction.Left:d.colStart=Math.min(o.colStart,d.colStart),c=a(d).sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Column,!0)),s=r.colIndex,l=f?c.length===1&&s===c[0].colStart?o.colStart:c[0].colStart:c.length===0?o.colStart:c[0].colEnd;break;case t.IRange.Direction.Right:d.colEnd=Math.max(o.colEnd,d.colEnd),c=a(d).sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Column,!1)),s=r.colIndex,l=f?c.length===1&&s===c[0].colEnd?o.colEnd:c[0].colEnd:c.length===0?o.colEnd:c[0].colStart}let p=c?c.length:0;if(f&&p>1){let n=!1;for(let r=1;!n&&r<p;r++){let i=c[r];switch(e){case t.IRange.Direction.Up:i.rowEnd<l-1?n=!0:l=Math.min(l,i.rowStart);break;case t.IRange.Direction.Down:i.rowStart>l+1?n=!0:l=Math.max(l,i.rowEnd);break;case t.IRange.Direction.Left:i.colEnd<l-1?n=!0:l=Math.min(l,i.colStart);break;case t.IRange.Direction.Right:i.colStart>l+1?n=!0:l=Math.max(l,i.colEnd)}}}let m=n.CoordUtils.cellToRange(r);switch(e){case t.IRange.Direction.Up:m.rowStart=l;break;case t.IRange.Direction.Down:m.rowEnd=l;break;case t.IRange.Direction.Left:m.colStart=l;break;case t.IRange.Direction.Right:m.colEnd=l}return m}(e,r,m,e=>{let t=[],n=[e],r=g.length;for(let e=0;e<r;e++){let r=(0,g[e])(n),i=r.length;for(let e=0;e<i;e++){let n=r[e];t.push(n)}}return t},i)}_defaultFontDims(){if(this._defaultFontBoundsCache)return this._defaultFontBoundsCache;let e=this._styles.getNormal(),t=0,n=0;for(let r=0;r<=9;r++){let i=e.measureText(r.toString());t=Math.ceil(Math.max(i.width,t)),n=Math.max(i.lineHeight,n)}return this._defaultFontBoundsCache={width:t,height:n},this._defaultFontBoundsCache}getColumnWidthAsFontUnit(e){let t=Math.round(this._defaultFontDims().width),n=e/(this.getView().isShowFormulas()?2:1);if(!t||!e)return 0;let r=5;return n<r+t&&(r=n*(r/(r+t))),(n-r)/t}_createTupleBuilder(e=!1){return e?new _i.TransposedBuilder:new _i.Builder}_defaultColWidth(){if(this._defaultColWidthCache)return this._defaultColWidthCache;let e=this._defaultFontDims()?.width||7,t=8*Math.round((8*e+5)/8)/Math.round(this._defaultFontDims().width);return this._defaultColWidthCache=t}_defaultRowHeight(){if(this._defaultRowHeightCache)return this._defaultRowHeightCache;let e=this._defaultFontDims();if(!e||e.width===0)return this._defaultRowHeightCache=20/U.getDeviceScale(),this._defaultRowHeightCache;let t=e.height+2;return this._defaultRowHeightCache=Math.round(t/U.getDeviceScale()*4)/4,this._defaultRowHeightCache}getProtection(){return this._protection??null}async _scrollIntoView(e,r){if(!r)return!0;!0===r&&(r=n.CommonUtils.EmptyObject);let i=r.axis,a=e;i===t.IRange.Axis.Column?a={colStart:e.colStart,rowStart:void 0,colEnd:e.colEnd,rowEnd:void 0}:i===t.IRange.Axis.Row&&(a={colStart:void 0,rowStart:e.rowStart,colEnd:void 0,rowEnd:e.rowEnd});let o={coords:a},s=await this._emitter.notify(`onRequestScrollIntoView`,{params:o,async:!0});if(!s)return!1;let c=s.length;for(let e=0;e<c;e++)if(!1===s[e])return!1;return!0}async _selectSheet(e,t){return!1!==await this._options.container?.requestSelect?.()&&this._scrollIntoView(e,t)}async scrollTo(e,t){let n={...t,coords:e},r=await this._emitter.notify(`onRequestScrollIntoView`,{params:n,async:!0});if(!r)return!1;let i=r.length;for(let e=0;e<i;e++)if(!1===r[e])return!1;return!0}_resolveSelectOptions(e,t){return e?(!0===e&&(e={autoFocus:!0,scrollIntoView:!0}),!0===e.scrollIntoView&&(e={...e,scrollIntoView:{}}),t&&(e={...e,scrollIntoView:{axis:t,...e?.scrollIntoView}}),e):null}async _commitAndAutoSelect(e,t,n=!1,r,i){let a=this._resolveSelectOptions(n,i);return r={...r,viewAfter:{view:this.getView(),selection:t,selectOptions:a,...r?.viewAfter}},e.commit(r),this._autoSelect(n,t,i)}async _autoSelect(e,t,r){if(!e)return n.CommonUtils.EmptyArray;let i=this._resolveSelectOptions(e,r),a=i?.autoFocus,o=i?.scrollIntoView,s=i?.anchor,c=this.getSelection().getCoords(),l=py(t??null),u=this._getEntireCoords(),d=jD(l,this._getState().mergeSpatial,u),f=-1,p=null;if(!s){let e=c?.cell,t=d.length;for(let r=0;f===-1&&r<t;r++){let t=d[r];n.CoordUtils.isCellWithinRange(e,t)&&(f=r,p=e)}}let m=my(d,p,f);this.getSelection().updateCoords(m);let h=n.CoordUtils.cellToRange(m.cell);if(i?.preserveSelectedSheet)return await this._scrollIntoView(h,o),d;{let e=await this._selectSheet(h,o);if(!1!==o&&!1===e)return d}if(!1!==a){let e=await this._notify(`onRequestFocus`);if(!e)return d;let t=e.length;for(let n=0;n<t;n++)if(!1===e[n])return d}return d}getSelection(){return this.getView().getRangeSelection()}getSelectedCell(){return this.getSelection().getCell()}getSelectedRange(e){return this.getSelection().getRange(e)}getSelectedRanges(e){return this.getSelection().getRanges(e)}getView(){return this._view}setView(e){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));if(!e)throw new n.ExpectedError((0,n.t)(`error.sheet.emptyView`));this._viewRemoveListener?.(),this._view=e;let t=this._viewListener;return this._viewRemoveListener=e.addListeners(t,{transactional:!1}),t.onTopLeftChange?.(e),t.onFreezePaneChange?.(e),t.onHeaderChange?.(e),t.onZoomScaleChange?.(e),t.onSelectionChange?.(e),t.onMovableSelectionChange?.(e),t.onAnyChange?.(e),this._emitter.notify(`onViewChange`,{source:e}),this}getTabColor(){return this._tabColor}setTabColor(e){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));return this._tabColor=typeof e==`string`?this._styles.parseColor(e):e??null,this._notify(`onTabColorChange`),this}getRowHeaders(){return this._rowHeaders}getColumnHeaders(){return this._colHeaders}async toJSON(e){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));await this.getCalculation().ready(),await this._emitter.notify(`onBeforeSave`,{async:!0}),await Promise.resolve(this._starting);let r={},i=this._getState();if(!i)return r;let a=this._getEntireCoords(),o=null;try{let n=e?.ignoreData??!1,s=e?.ignoreFormulas,c;n&&s||(o=await i.calcGrid.toJSON(e));try{if(!n){c=this._strings.beginPersist();let e=[],n=this._cellStateIterator({searchTypes:!1,axis:t.IRange.Axis.Column}),i=n.next(),a=-(2**53-1),o=-(2**53-1),s=null,l=null,u=null,d=null;for(;!i.done;){let r=i.value[0],f=r.colIndex,p=r.rowIndex;f!==a&&(d&&e.push(d),s=[],u=[],d=[f,u],a=f,o=p-2),p>o+1&&(s=[],l=[p,s],u.push(l));let m=i.value[1],h=WD(m),g;if(h===t.ScalarType.Number)g=m;else if(h===t.ScalarType.Boolean)g=m;else if(h===t.ScalarType.String)g=``+c.add(m);else if(h===t.ScalarType.Error)g={t:`e`,v:m.getCode()};else if(h===t.ScalarType.RichData){let e=m,t=e.getType(),n=e?.toJSON?.();t&&n&&(g={t:`r`,v:0})}else console.warn(`error`,g);s.push(g),o=p,i=n.next()}d&&e.push(d),e.length>0&&(r.data=e)}c&&this._ownStrings&&(r.strings=await c.toJSONAsync())}catch(e){console.warn(`error`,e)}finally{c?.endPersist()}let l=a.colEnd+1,u=a.rowEnd+1;if(l!==jE.width||u!==jE.height){let e={};l!==jE.width&&(e.width=l),u!==jE.height&&(e.height=u),r.entireSize=e}let d=this._colHeaders.toJSON();d&&(d.headers&&d.headers.length>0&&(r.cols=d.headers),d.defaultSize!==void 0&&d.defaultSize!==-1&&(r.defaultColSize=d.defaultSize));let f=this._rowHeaders.toJSON();f&&(f.headers&&f.headers.length>0&&(r.rows=f.headers),f.defaultSize!==void 0&&f.defaultSize!==-1&&(r.defaultRowSize=f.defaultSize));let p=this.getProtection().toJSON();p&&(r.protection=p);let m=this._view.toJSON();m&&(r.view=m),this._tabColor&&(r.tabColor=this._tabColor.toString())}catch(e){console.warn(e)}if(!e?.ignoreStyles){let o=Di(i.mergeSpatial.all());o.length>0&&(r.merges=nu(o));let s=Di(this._composeDirectStyleView().all());if(s.length>0){let i=this._styles.beginPersist(),o=e?.splitDirectBorders,c=e?.includeHeaderStyles;try{let e=s.length,l=[];for(let t=0;t<e;t++){let e=s[t],r=e.value.toJSON();if(!r)continue;let c=!0;if(o&&r.border&&!n.CoordUtils.isSingleCell(e)){let t=Zh(e,r,a),n=t.length;for(let e=0;e<n;e++){let n=t[e],r=i.getElementID(n[1]);l.push([n[0],r])}c=!1}if(c){let t=i.getElementID(r);l.push([e,t])}}if(c&&l){let e=function(e,n){if(!e.cells||e.cells.length===0)return e;let r=e.cells.map(([e,t])=>({...e,value:t}));r.sort((e,t)=>e.value-t.value);let i=eg(r,n,null,e.cols,!0),a=Array(r[r.length-1].value+1).fill(0),o=Math.floor((n.colEnd-n.colStart+1)/2),s,c=i.length;for(let e=0;s===void 0&&e<c;e++){let t=i[e],n=t.value.s,r=a[n]+(t.max-t.min+1);r>o&&(s=n),a[n]=r}let l=eg(r,n,s,e.rows,!1);if(e.cols===i&&e.rows===l)return e;let u=[],d=ei(i,n,!0),f=ei(l,n,!1),p=r,m=d.length;for(let e=0;e<m;e++){let t=d[e];p.push(t),p.push({...t,value:0})}let h=f.length;for(let e=0;e<h;e++){let t=f[e];p.push(t),p.push({...t,value:0})}let g=new gi.IteratorInstance(p,{axis:t.IRange.Axis.Column}),_=n.rowEnd,v=n.colEnd,y=(e,t)=>{e.rowStart>=_||e.colStart>=v||u.push([e,t])},b=g.next();for(;!b.done;){let e=b.value;b=g.next();let t=e.overlaps,n=e.range,r=t.length;if(r===1){let e=t[0].value;e&&y(n,e);continue}let i,a,o;for(let e=0;e<r;e++){let n=t[e],r=n.value;typeof r==`number`?r===0&&i!==void 0||(i=r):n.rowStart===0&&n.rowEnd===_?o=r.s:n.colStart===0&&n.colEnd===v&&(a=r.s)}a===void 0?o===void 0?(i!==0||r!==2&&r!==4)&&y(n,i):o!==i&&y(n,i):a!==i&&y(n,i)}return u.sort((e,t)=>{let n=e[0],r=t[0];return n.rowStart===r.rowStart?n.colStart-r.colStart:n.rowStart-r.rowStart}),{cols:i,rows:l,cells:u}}({cells:l,cols:r.cols?Nu(r.cols,!0):[],rows:r.rows?Nu(r.rows,!1):[]},a);l=e.cells,e.cols.length>0?r.cols=Mu(e.cols,!0):delete r.cols,e.rows.length>0?r.rows=Mu(e.rows,!1):delete r.rows}let u=l.length;for(let e=0;e<u;e++){let t=l[e];l[e]=[cy.rangeToString(t[0],a),t[1]]}if(l.length>0&&(r.directStyles=l),this._ownStyles){let e=i.toJSON();e&&Object.keys(e).length>0&&(r.styles=e)}}catch(e){console.warn(e)}finally{i.endPersist()}}let c=Di(i.hyperlinkSpatial.all()),l=c.length;if(l>0){let e=Array(l);for(let t=0;t<l;t++){let n=c[t],r=n.value;e[t]={r:cy.rangeToString(n,a),v:r}}r.hyperlinks=e}}let s=Di(i.commentsSpatial.all()),c=s.length;if(c>0){let e=Array(c);for(let t=0;t<c;t++){let n=s[t],r=n.value;typeof r==`string`&&(r={content:r});let i={...r};e[t]={r:cy.rangeToString(n,a),v:i}}r.comments=e}let l=i.tables.toJSON();l&&l.length>0&&(r.tables=l);let u=i.autoTables.toJSON();u&&u.length>0&&(r.autoTable=u[0]);let d=i.dataValidations.toJSON();d&&d.length>0&&(r.validations=d);let f=i.conditionalFormats.toJSON();f&&f.length>0&&(r.conditionals=f);let p=i.protectedRanges.toJSON();p&&p.length>0&&(r.protectedRanges=p);let m=null;try{let t=this.getMovables().getItems(),n=t.length,i=e?.ignoreResources??!1,a;if(i?a=()=>0:(m=this._resources.beginPersist(),a=m.toResourceId.bind(m)),n>0){let e=[];for(let r=0;r<n;r++)try{let n=t[r].toJSON?.(a);n&&e.push(n)}catch(e){console.warn(`Unable to persist movable`,e)}e.length>0&&(r.movables=e)}let o=this.getPicture();o&&(r.picture=o.toJSON(a)),!i&&this._ownResources&&(r.resources=await m.toJSONAsync())}catch(e){console.warn(e)}finally{m?.endPersist()}if(o){let e=o.formulas;e&&(r.formulas=e);let t=o.formulaArray;t&&(r.formulaArray=t);let n=o.volatile;n&&(r.volatile=n)}return this._emitter.notify(`onSave`,{params:r}),r}getStyles(){return this._styles}getResources(){return this._resources}getTransactions(){return this._transactions}getStrings(){return this._strings}_searchMovables(e){let t=e?.ignoreHidden??!1,r=e?.bounds,i=e?.fullyContained,a=this,o=this._getState();if(o===null)return n.CommonUtils.EmptyArray;let s=e?.address?this._rangeToCoords(e?.address):this._getEntireCoords();return this._getRangedEntries(o.movableSpatial,[s],{ignoreHidden:t,fullyContained:i,onEntry:n=>{let i=e?.type;if(i){if(Array.isArray(i)){if(!i.includes(n.model.getContent().getType()))return null}else if(i&&n.model.getContent().getType()!==i)return null}let o=null;if(t&&(n.model.isHidden()||(o=a._getBoundsAtCoords(n.model.getRange().getCoords()),o.width===0||o.height===0)))return null;if(r){o||=a._getBoundsAtCoords(n.model.getRange().getCoords());let e=o,t=r;if(e.y>t.y+t.height||e.y+e.height<t.y||e.x>t.x+t.width||e.x+e.width<t.x)return null}return n.model}}).sort((e,t)=>e.getZIndex()-t.getZIndex())}_updateSelectedMovables(e,t){let r=this.getView().getMovableSelection();if(!r||r.length===0)return;let i=this._beginCommit({description:t??(0,n.messageKey)(`op.updateMovables`)});try{let t=r.length;for(let n=0;n<t;n++)e(r[n]);i.commit()}catch(e){throw i.rollback(),e}}async _addMovable(e){if(!this.getProtection().isObjectsAllowed())throw new n.ExpectedError((0,n.t)(`error.sheet.insertItemProtected`));if(!e)throw new n.ExpectedError(`No movable options provided`);if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));if(e.autoPlace===`viewport`&&e.bounds?.width!=null&&e.bounds?.height!=null){let t=(await this._emitter.notify(`onRequestViewport`,{async:!0}))?.find(Boolean)??null;if(t){let n=Math.min(e.bounds.width,t.width-8),r=Math.min(e.bounds.height,t.height-8);e={...e,bounds:{x:t.x+(t.width-n)/2,y:t.y+(t.height-r)/2,width:n,height:r}}}}let t={};e?.type&&(t.content={type:e.type,json:e?.json}),e?.anchorType&&(t.anchorType=e?.anchorType),e.bounds&&(t.anchor=null);let r=this._getState().movableSpatial,i=this._beginCommit({description:e?.description??(0,n.messageKey)(`op.insertDrawing`)}),a=this._createMovableEntry(t,r.size(),e.fromResourceId),o=r.clone();o.insert(a);let s=this._getState().movableMapModel,c=new Map(s),l=a.value.model,u,d;if(c.set(l,a),this._updateState({movableSpatial:o,movableMapModel:c}),e.bounds&&a.value.model.setBounds(e.bounds,e),!1!==e?.autoSelect){u={view:this.getView(),movableSelection:this.getView().getMovableSelection()};let t=e?.autoSelect??!1;!0===t&&(t={autoFocus:!0,scrollIntoView:!0,addToSelection:!1}),t&&this.getView().selectMovables([a.value.model],t.addToSelection),d=e=>({...e,view:this.getView(),movableSelection:this.getView().getMovableSelection()})}return i.commit({viewBefore:u,viewAfter:d}),this._emitterMovables.notify(`onCollectionChange`),this._notify(`onMovablesChange`),a.value.model}async _addMovablePicture(e,t={type:`picture`}){if(!e)throw new n.ExpectedError((0,n.t)(`error.sheet.noImageProvided`));if(!this.getProtection().isObjectsAllowed())throw new n.ExpectedError((0,n.t)(`error.sheet.insertItemProtected`));let r=this._resources.add(e),i=await r.toBuffer(),a=await r.getType(),o=this._getBoundsAtCoords(this.getSelection().getRange().getCoords()),{naturalSize:s,asUrl:c}=await n.ImageUtils.loadImageDetails(i,a?.mime);URL.revokeObjectURL(c);let l={...o,...s,...t?.bounds};if(n.CommonUtils.isNullOrUndefined(t?.bounds?.x)||n.CommonUtils.isNullOrUndefined(t?.bounds?.y)){let e=ey(this.getMovables(),l,n.CommonUtils.isNullOrUndefined(t?.bounds?.x),n.CommonUtils.isNullOrUndefined(t?.bounds?.y));l.x+=e.x,l.y+=e.y}t?.bounds&&!1!==t?.json?.lockAspect&&(n.CommonUtils.isNullOrUndefined(t?.bounds.width)&&n.CommonUtils.isDefined(t?.bounds.height)&&(l.width=l.height*s.width/s.height),n.CommonUtils.isNullOrUndefined(t?.bounds.height)&&n.CommonUtils.isDefined(t?.bounds.width)&&(l.height=l.width*s.height/s.width));let u={...t?.json,resId:0};return await this._addMovable({anchorType:C_.Type.OneCell,description:(0,n.messageKey)(`op.insertImage`),...t,bounds:l,type:`picture`,json:u,fromResourceId:e=>e===0?r:(console.warn(`received an unexpected resourceId`,e),null)})}setPicture(e,t){let r=this,i;return e&&(i=new Yv({resource:this._resources.add(e),deleteFromContainer:e=>{r._getState().picture&&(r._updateState({picture:null},{description:(0,n.messageKey)(`op.deletePicture`),...e}),r._notify(`onStyleChange`))},transactions:this._transactions})),r._updateState({picture:i},{description:i?(0,n.messageKey)(`op.setPicture`):(0,n.messageKey)(`op.removePicture`),...t}),this}getPicture(){return this._getState().picture??null}getTables(){return this._tables}getDataValidations(){return this._dataValidations}getConditionalFormats(){return this._conditionals}getProtectedRanges(){return this._protectedRanges}getConditionals(){return this._conditionals}getMovables(){return this._movables}_validateOrRemoveOverlaps(e,t,r=null,i=!1){let a=this;t!==`merge`&&ry(this._getMerges([e]),e,(e,r)=>{if(r||!i)throw new n.ExpectedError(Yy(t));a._unmerge([e])});let o=[],s=this.getTables().getItems({address:e}),c=s.length;for(let e=0;e<c;e++){let t=s[e];r!==t&&o.push(t.getRange().getCoords())}ry(o,e,(e,r,a)=>{if(r||!i)throw new n.ExpectedError(Yy(t));s[a].delete()});let l=this._getState().autoTables.search(e);l.length>0&&ry(l,e,(e,r,a)=>{if(r||!i)throw new n.ExpectedError(Yy(t));l[0].value.delete()})}_addTable(e,r){let i=this._rangeToCoords(e,()=>[`objects`]),a=this._getEntireCoords(),o;if(typeof r==`boolean`?o=r:r&&(o=r.hasHeader),i.rowStart===i.rowEnd){if(i.rowEnd===a.rowEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.table1By1`));i.rowEnd+=1}o===void 0&&(o=OD(this,i)?.options?.hasHeader??!1);let s=my([i]),c={...i},l=this._beginCommit({description:(0,n.messageKey)(`op.insertTable`)}),u;try{if(!o){let e=i.rowEnd<a.rowEnd,n={colStart:i.colStart,rowStart:i.rowEnd+1,colEnd:i.colEnd,rowEnd:i.rowEnd+1};e&&(this._isContentful([n])||this._contentCounts([n],[Dv.Content.Formats]))&&this._insertCells([{...i,rowStart:i.rowStart,rowEnd:i.rowStart}],t.IRange.Axis.Row),e&&(i={...i,rowEnd:i.rowEnd+1})}this._validateOrRemoveOverlaps(i,`table`,null,!1);let e=r,n=e?.properties?.style??{};typeof n==`string`&&(n={name:n});let d={...e?.properties,style:n};d.style=n,n.name===void 0&&(n.name=this._styles.getDefaultTableStyle().getName());let f=this._getState().tables;f=this._createTables(f,`tables`,[{r:i,v:d}],e=>{let t=new Fv({...e,syncSheet:!0});return u=t,t}),this._updateState({tables:f}),this._notify(`onTablesChange`),e?.disabledAutofit||this._autoFit(u.getRanges().getCoords(),{expandOnly:!0,formulaView:!1});let p=my([i]);l.commit({viewBefore:{view:this.getView(),selection:s,ranges:[c]},viewAfter:{view:this.getView(),selection:p,ranges:[i],table:u}})}catch(e){throw l.rollback(),e}return u}_addDataValidation(e,t){let r,i,a;e||=this.getSelectedRanges(),e.isIDataValidation?(a=e.toJSON(),r=e.getRanges().getCoords()):(i=t,a={...i},r=e);let o=this._rangesToCoords(r,()=>[`objects`]),s=i?.autoSelect?my(o):null,c=[...o],l=this._beginCommit({description:i?.description??(0,n.messageKey)(`op.insertDataValidation`)}),u;try{let e=this._getState().dataValidations;e=this._createDataValidations(e,`dataValidations`,[{r:o,v:a}],e=>{let t=new By(e);return u=t,t}),this._updateState({dataValidations:e}),this._notifyDataValidationsChange(),this._autoFit(u.getRanges().getCoords(),{expandOnly:!0,formulaView:!1}),l.commit({viewBefore:{view:this.getView(),selection:s,ranges:c},viewAfter:{view:this.getView(),selection:s,ranges:c}}),this._autoSelect(i?.autoSelect,s)}catch(e){throw l.rollback(),e}return u}_addConditionalFormat(e,t){let r,i,a;e||=this.getSelectedRanges(),e.isIConditionalFormat?(a=e.toJSON(),r=e.getRanges().getCoords()):(i=t,a={...i},r=e);let o=this._rangesToCoords(r,()=>[`objects`]),s=i?.autoSelect?my(o):null,c=[...o],l=this._beginCommit({description:i?.description??(0,n.messageKey)(`op.insertConditionalFormat`)}),u;try{let e=this._getState().conditionalFormats;e=this._createConditionalFormats(e,`conditionalFormats`,[{r:o,v:a}],e=>{let t=new ky(e);return u=t,t}),this._updateState({conditionalFormats:e}),this._notifyConditionalFormatsChange(),this._autoFit(u.getRanges().getCoords(),{expandOnly:!0,formulaView:!1}),l.commit({viewBefore:{view:this.getView(),selection:s,ranges:c},viewAfter:{view:this.getView(),selection:s,ranges:c}}),this._autoSelect(i?.autoSelect,s)}catch(e){throw l.rollback(),e}return u}_nextProtectedRangeName(){let e=this._getState()?.protectedRanges;if(!e)return`Range1`;for(let t=1;;t++){let n=`Range${t}`;if(!e.getByName(n))return n}}_addProtectedRange(e,t){let r,i,a;e||=this.getSelectedRanges(),e.isIProtectedRange?(a=e.toJSON(),r=e.getRanges().getCoords()):(i=t,a={...i},r=e),a.name&&!this._getState().protectedRanges.getByName(a.name)||(a={...a,name:this._nextProtectedRangeName()});let o=this._rangesToCoords(r,()=>[`objects`]),s=i?.autoSelect?my(o):null,c=[...o],l=this._beginCommit({description:i?.description??(0,n.messageKey)(`op.insertProtectedRange`)}),u;try{let e=this._getState().protectedRanges;e=this._createProtectedRanges(e,`protectedRanges`,[{r:o,v:a}],e=>{let t=new Uy(e);return u=t,t}),this._updateState({protectedRanges:e}),this._notifyProtectedRangesChange(),l.commit({viewBefore:{view:this.getView(),selection:s,ranges:c},viewAfter:{view:this.getView(),selection:s,ranges:c}}),this._autoSelect(i?.autoSelect,s)}catch(e){throw l.rollback(),e}return u}createCell(e,t=null){return e?.createCell?e:(t?this.getRange(t).getCell():this._emptyCell).createCell(e)}_getBoundsAtCoords(e){let t=this._rowHeaders,n=this._colHeaders,r=n.getOffset(e.colStart),i=t.getOffset(e.rowStart);return{x:r,y:i,width:n.getOffset(e.colEnd+1)-r,height:t.getOffset(e.rowEnd+1)-i}}_getCoordsAtBounds(e){let t=this._rowHeaders,n=this._colHeaders,r=e.x,i=e.y;return{colStart:n.getIndex(r),rowStart:t.getIndex(i),colEnd:n.getIndex(r+e.width),rowEnd:t.getIndex(i+e.height)}}getRangeAtBounds(e,t){if(!e)throw new n.NullNotAllowedError;let r=this._getCoordsAtBounds(e);return this.getRange(r,t)}getRangeAt(e,t,n,r,i){return this.getRange({rowStart:e,colStart:t,rowEnd:n??e,colEnd:r??t},i)}_getVisible(e,r){return function(e,r,i){if(r.length===0)return r;let a=new wa;a.load(r);let o=i?.axes??t.IRange.AxisSelection.Both,s=(e,t)=>{let n=a.search(e),r=n.length;for(let i=0;i<r;i++){let r=n[i],o=ny(r,e,t);a.remove(r),a.load(o)}},c=e.getEntireCoords();if(o===t.IRange.AxisSelection.Both||o===t.IRange.AxisSelection.Row){let n=e.rowHeaders,i=r.length;for(let e=0;e<i;e++){let i=r[e];n.getRange({min:i.rowStart,max:i.rowEnd}).forEachSpan((e,n)=>{if(e!==0)return;let r=n.getCoords();s({colStart:c.colStart,rowStart:r.min,colEnd:c.colEnd,rowEnd:r.max},t.IRange.Axis.Row)})}}if(o===t.IRange.AxisSelection.Both||o===t.IRange.AxisSelection.Column){let n=e.columnHeaders,i=r.length;for(let e=0;e<i;e++){let i=r[e];n.getRange({min:i.colStart,max:i.colEnd}).forEachSpan((e,n)=>{if(e!==0)return;let r=n.getCoords();s({colStart:r.min,rowStart:c.rowStart,colEnd:r.max,rowEnd:c.rowEnd},t.IRange.Axis.Column)})}}return a.all().sort(n.CoordUtils.rowFirstRangeComparator)}(this._getReadCtx(),e,r)}_hasRangedEntries(e,t){return function(e,t,r){let i=e.state;if(!i)return!1;let a=i[t];if(!a)throw new n.ExpectedError(`Invalid range key ${t}`);return!a.isEmpty()&&a.has(r)}(this._getReadCtx(),e,t)}_getRangedEntries(e,r,i,a=!1){return function(e,r,i,a){if(i.length===0||!r||r.isEmpty())return n.CommonUtils.EmptyArray;let o=a?.spatialSort??!1,s=a?.ignoreHidden??!1,c=a?.fullyContained??!1,l=a?.onEntry??null,u=a?.onFound??null,d=a?.sort,f;d&&(f=n.CoordUtils.createRangeComparator(d.axis,d.reverse));let p=new Set,m=(e,t)=>{let n=e.length,r=u&&f?[...e].sort(f):e;for(let e=0;e<n;e++){let n=r[e];u&&u(n,t),p.add(n)}},h=i.length;for(let n=0;n<h;n++){let a=i[n];if(s){if(!0===s){let t={min:a.colStart,max:a.colEnd},n={min:a.rowStart,max:a.rowEnd};e.rowHeaders.getRange(n).forEachSpan((n,i)=>{let a=i.getCoords(),s=a.min,l=a.max;e.columnHeaders.getRange(t).forEachSpan((e,t)=>{let n=t.getCoords(),i=n.min,a=n.max,u={colStart:i,rowStart:s,colEnd:a,rowEnd:l},d=r.search(u,c,o);d.length>0&&m(d,u)},_w)},_w)}else if(s===t.IRange.Axis.Column){let t={min:a.colStart,max:a.colEnd};e.columnHeaders.getRange(t).forEachSpan((e,t)=>{let n=t.getCoords(),i=n.min,s=n.max,l={colStart:i,rowStart:a.rowStart,colEnd:s,rowEnd:a.rowEnd},u=r.search(l,c,o);u.length>0&&m(u,l)},_w)}else if(s===t.IRange.Axis.Row){let t={min:a.rowStart,max:a.rowEnd};e.rowHeaders.getRange(t).forEachSpan((e,t)=>{let n=t.getCoords(),i=n.min,s=n.max,l={colStart:a.colStart,rowStart:i,colEnd:a.colEnd,rowEnd:s},u=r.search(l,c,o);u.length>0&&m(u,l)},_w)}}else{let e=a,t=r.search(e,c,o);t.length>0&&m(t,e)}}if(p.size===0)return n.CommonUtils.EmptyArray;let g=Array.from(p.values());f&&g.sort(f);let _=[],v=new Set,y=g.length;for(let e=0;e<y;e++){let t;l&&(t=l(g[e].value,g[e])),t===void 0&&(t=g[e].value),t===null||v.has(t)||(v.add(t),_.push(t))}return _||=n.CommonUtils.EmptyArray,_}(this._getReadCtx(),e,r,a?{...i,spatialSort:!0}:i)}_processAnchorShift(e){let t=e.after,r=n.CoordUtils.sanitizeRange(e.after),i=n.CoordUtils.sanitizeRange(e.before);e.after&&this._validateCoords(r,(0,n.t)(`error.sheet.insertItemOob`));let a=e.before.value.callbacks?.processShift?.({...e,after:r,before:i});return a&&(CD(a,r)||(t||=e.before,t={...t,...a})),t}_processListenerShift(e,t,r,i){if(i.isSplit||i.before.value.options.ignoreShifts)return[i.before];let a=null;i.after&&(a=n.CoordUtils.intersectRanges(n.CoordUtils.sanitizeRange(i.after),this._getEntireCoords()),{...i.after},a.colStart,a.rowStart,a.colEnd,a.rowEnd);let o=i.before.value,s=o.id,c=e.get(s),l={...c},u=[...c.ranges];l.ranges=u,u[o.offset]=a?{...u[o.offset],...a}:null,e.set(s,l);let d=r.get(s);t.set(s,{beforeState:d,afterState:l})}delete(){if(this._closed)return;try{this._notify(`onBeforeDelete`)}catch(e){throw e instanceof Error?e:new n.ExpectedError(e.message??(0,n.t)(`error.sheet.modelDelete`))}let e=this._beginCommit({description:(0,n.t)(`op.deleteSheet`,{name:this.getName()})}),r=this._getState(),i=r.rangeListenerSpatial,a=r.rangesListenerMap,o=new Map;i=i.shift({range:this._getEntireCoords(),direction:t.IRange.Direction.Left,cloneIfUpdate:i===r.rangeListenerSpatial,onShift:e=>{a===r.rangesListenerMap&&(a=new Map(a)),this._processListenerShift(a,o,r.rangesListenerMap,e)}}),this._updateState({rangeListenerSpatial:i,rangesListenerMap:a,deleted:!0});let s=r.calcGrid.clone();s.delete(),this._updateState({calcGrid:s}),this._deleteCells([this._getEntireCoords()]),this._notify(`onDelete`),this._rangesListenerMap.forEach((e,t)=>{o.set(t,{beforeState:e,afterState:null})}),e.commit({viewAfter:e=>({...e,view:this.getView(),selection:this.getSelection().getCoords(),listeners:o})})}doBatch(e,t){let r=this;return t=typeof t==`string`?{description:t}:{description:(0,n.messageKey)(`op.updateSheet`),...t},this._transactions.doBatch(e,t,(e,n)=>{if(e.getDepth()===0&&(r._lastTransactionUUID=e.getId(),t?.autoSelect)){let t=e.getView()?.selection;t&&r._autoSelect(!0,t)}})}isDeleted(){let e=this._getState();return!e||e?.deleted}isClosed(){return this._closed}close(){if(this._closed)return;this._protectionRemoveListener?.(),this._protection=new o_(void 0,this._options.readonly);let e=this._getState();e.tables.close(),e.autoTables.close(),this._searchMovables().forEach(e=>{e.close()}),this._notify(`onClose`),this._ownResources,this._namesRemoveListener?.(),this._ownNames&&this._names.close(),this._ownCalculation&&this._calculation.close(),this._ownStyles,this._colHeaders.close(),this._rowHeaders.close(),this._emitter.close(),this._transactionsRemoveListener?.(),this._closed=!0}beginCommit(e){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));return this._beginCommit(typeof e==`string`?{description:e}:e)}_getState(){return this._closed?null:this._transactions.getState(this._stateId)}_getStateId(){return this._stateId}_beginCommit(e){let t=this;return this._transactions.beginCommit(e,e=>{e.getDepth()===0&&(t._lastTransactionUUID=e.getId())})}_updateState(e,t){if(!e)return;this._lastGetRangeRead=null;let n=this._transactions.beginCommit(t),r;try{r=n.updateState(this._stateId,e),n.commit()}catch(e){throw n.rollback(),e}return r}_addEvent(e,t){let n=this.getTransactions().getPendingView();if(!n)return;let r=n.events;if(r||(r={},n.events=r),e===`address`){let e=r.address;if(e||(e=new Map,r.address=e),typeof t==`string`)e.set(t,null);else{let n=t;if(n.options.ignoreAddressChanges)return;e.set(n.uuid,t)}}else if(e===`data`)if(typeof t==`string`){let e=r.dataListeners;e||(e=new Map,r.dataListeners=e),e.set(t,null)}else{let e=r.data;e||(e=[],r.data=e),e.push(t)}}_getScalar(e,t,r=!1){let i=this._getState(),a;if(a===void 0&&(a=i.cellValuesGrid.getValueAt(e,t)),a===void 0)return null;let o=a;if(r&&typeof o==`number`){let r=!1;SE.colStart=t,SE.rowStart=e,SE.colEnd=t,SE.rowEnd=e;let a=this._lastValueRead,s=this._lastValueRead.range;if(s&&n.CoordUtils.isRangeWithinRange(SE,s))r=a.isDateOrTime;else{let e=i.dateFormatSpatial.search(SE);r=e.length>0,r&&(a.range=e[0],a.isDateOrTime=!0)}r&&(o=pr(o,this._isDate1904))}return o}_markColumnHeaderTableNames(){let e=this._getState();if(!e)return;let t=this.getView().getColumnHeaderTableNames(),r=this._cacheTableColumnHeaders,i=r.showInHeader,a=e.tables;if(t===Ry.ColumnHeaderTableNames.None||a.isEmpty())return void(r.table&&(r.table=null,r.showInHeader=!1,r.tableMin=-1,r.tableMax=-1,r.lastTop=-1,r.lastColIndex=-1,r.lastRowIndex=-1,i&&this._notify(`onViewChange`)));let o=this.getSelection().getCoords().cell,s=o.colIndex,c=o.rowIndex,l=s!==r.lastColIndex||c!==r.lastRowIndex,u=r.table,d;if(l?(r.lastColIndex=s,r.lastRowIndex=c,u&&n.CoordUtils.isCellWithinRange(o,u.getRange().getCoords())?d=u:(OE.colStart=s,OE.rowStart=c,OE.colEnd=s,OE.rowEnd=c,d=a.search(OE)[0]?.value??null)):d=u,!d)return r.showInHeader=!1,r.table=null,r.tableMin=-1,r.tableMax=-1,void(i&&this._notify(`onViewChange`));r.table=d;let f=d.getRange().getCoords();if(!f)return;let p;if(r.tableMin=f.colStart,r.tableMax=f.colEnd,t===Ry.ColumnHeaderTableNames.Sticky){let e=r.lastTop,t=this.getView(),i=t.getFreezePanes(),a=((i.coords?.rowIndex??0)>0?i.topLeft:t.getTopLeft())?.top??e;if(e===a&&u===d)return;r.lastTop=a;let o={colIndex:f.colStart,rowIndex:this.getRowHeaders().getIndex(a)-1};p=n.CoordUtils.isCellWithinRange(o,f)}else t===Ry.ColumnHeaderTableNames.Hidden&&(p=d.isITable&&!d.isHeaderVisible());r.showInHeader=p,p!==i&&this._notify(`onViewChange`)}_getCellAt(e,r){let i=this._getState();if(!i)return this._emptyCell;let a={rowIndex:e,colIndex:r},o=i.cellValuesGrid.getValueAt(e,r),s=o===void 0?null:o,c=[];this._collectRanges(n.CoordUtils.cellToRange(a),c);let l=xD(c);if(l&&Object.keys(l).length===0&&(l=null),s===null&&!l)return new cC(this._cellOptions,a);let u=s===null?t.ScalarType.Null:WD(s);return new cC(this._cellOptions,a,u,s,l)}_queryStyle(e,t,r){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));kE.length=0;let i=kE;return this._collectRanges(e,i),rC(null,e,xD(i),t,!0,r)}_getStyle(e,t,n){let r;if(t)r={colStart:t.cell.colIndex,rowStart:t.cell.rowIndex,colEnd:t.cell.colIndex,rowEnd:t.cell.rowIndex};else{let t=e[0];r={colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colStart,rowEnd:t.rowStart}}let i=e.length===1?e[0]:void 0,a=this,o=this._cellOptions;return o={...o,styleUpdater:(t,s)=>(n?n(t,s):a._updateStyles(e,t,s),a._queryStyle(r,o,i))},a._queryStyle(r,o,i)}_initHeadersState(e,n){let r=this;this._cacheTableColumnHeaders={table:null,showInHeader:!1,tableMin:-1,tableMax:-1,lastTop:0,lastColIndex:-1,lastRowIndex:-1},this._defaultFontBoundsCache=null,this._defaultColWidthCache=0,this._defaultRowHeightCache=0,this._colHeadersRemoveListener?.(),this._colHeadersHiddenRemoveListener?.(),this._colHeaders=new fw({sheet:r,json:e,axis:t.IRange.Axis.Column,transactions:this._transactions,isProtected:()=>!r._initializing&&!r.getProtection().isFormatColumnsAllowed(),getColumnAt:e=>{let t=r._cacheTableColumnHeaders;if(!t.showInHeader||e>t.tableMax||e<t.tableMin)return null;let n=e-t.tableMin;return t.table.getColumnAt(n)},getTextAt:e=>{let t=r._cacheTableColumnHeaders;if(t.showInHeader&&e<=t.tableMax&&e>=t.tableMin){let n=t.table.getColumns()[e-t.tableMin];if(n&&n.getName()!==void 0)return n.getName()}let n=this.getView().getColumnHeaderStyle();return n===Ry.HeaderTextStyle.A1?NE(e):n===Ry.HeaderTextStyle.Zero?ME(e):n===Ry.HeaderTextStyle.One?PE(e):void 0},defaultSize:()=>this._defaultColWidth(),scaleFactor:()=>{let e=this.getView().isShowFormulas()?2:1;return Math.round(this._defaultFontDims().width)*e},maxSize:()=>255,getEntireSheetCoords:()=>r._getEntireCoords(),setContainerShiftedCallback:e=>{this._colHeadersShiftCallback=e}}),this._colHeadersRemoveListener=this._colHeaders.addListeners(this._colHeadersListener,{transactional:!0}),this._colHeadersHiddenRemoveListener=this._colHeaders.addListeners({onHiddenChange:()=>{r._notify(`onColumnsHiddenChange`)}},{transactional:!1}),this._rowHeadersRemoveListener?.(),this._rowHeadersHiddenRemoveListener?.();let i=U.getDeviceScale();this._rowHeaders=new fw({sheet:r,json:n,axis:t.IRange.Axis.Row,transactions:this._transactions,isProtected:()=>!r._initializing&&!r.getProtection().isFormatRowsAllowed(),getTextAt:e=>{let t=this.getView().getRowHeaderStyle();return t===Ry.HeaderTextStyle.One?PE(e):t===Ry.HeaderTextStyle.Zero?ME(e):t===Ry.HeaderTextStyle.A1?NE(e):void 0},defaultSize:()=>this._defaultRowHeight(),scaleFactor:()=>i,minSize:()=>0,maxSize:()=>409,getEntireSheetCoords:()=>r._getEntireCoords(),setContainerShiftedCallback:e=>{this._rowHeadersShiftCallback=e}}),this._rowHeadersRemoveListener=this._rowHeaders.addListeners(this._rowHeadersListener,{transactional:!0}),this._rowHeadersHiddenRemoveListener=this._rowHeaders.addListeners({onHiddenChange:()=>{r._notify(`onRowsHiddenChange`)}},{transactional:!1})}_invalidateCaches(){this._lastCellDecoded.address=null,this._lastCellSelected.coords=null,this._lastCellRead.coords=null,this._lastValueRead.range=null,this._cellOptions?.renderCellCache?.clear(),this._lastGetRangeRead={},this._lastUsedCoordsRead.coords=null,this._lastRangeRead.address=null,this._entireCoordsCache=null,this._entireRangeCache=null}_initListenerState(){let e=this,r=()=>{e._invalidateCaches()};this._transactionsRemoveListener=this._transactions.addStateListener(this._stateId,{onBeforeCommitStart(t,r,i){if(!e._initializing&&!r?.skipProtectionCheck&&e.getProtection().isLocked())throw new n.ExpectedError((0,n.t)(`error.sheet.protectedSheet`))},async onBeforeCommitEnd(t,n,r){let i=()=>r.getId();if(n?.ranges){let a={isDataChange:!0,getTransactionId:i,timeStamp:r.getTimestamp(),trigger:`setCells`},o=t.rangeListenerSpatial,s=t.rangesListenerMap;e._notifyRangeListeners(o,s,n.ranges,a)}if(n?.listeners){let a={isDataChange:!1,getTransactionId:i,timeStamp:r.getTimestamp(),trigger:`shiftCells`},o=t.rangeListenerSpatial,s=t.rangesListenerMap;e._notifyRangeListeners(o,s,n.ranges,a)}},async onRestoreOrRevert(t,n,i,a){r();let o=()=>i.getId();e._calculateFull(),e._rangeStats=e._rangeStats.clone(t.cellValuesGrid),n&&(n===e.getView()&&n.selection&&e._autoSelect(n.selectOptions??!0,n.selection),n.freezePanes&&e.getView().setFreezePanes({coords:n.freezePanes}),n.movableSelection&&e.getView().selectMovables(n.movableSelection)),e._notify(`onViewChange`),e._notify(`onInvalidated`),e._emitterMovables.notify(`onInvalidated`),e._notifyUsedRangeChange();let s=e._rangesListenerMap;if(s.size>0){let t={isDataChange:!0,getTransactionId:o,timeStamp:i.getTimestamp(),isUndo:a,isRestoreOrRevert:!0,trigger:`invalidate`},n=e._rangeListenerSpatial,r=new Set;s.forEach((i,a)=>{let o=i.id;if(r.has(o))return;let c=i.ranges;c&&(r.add(o),e._notifyRangeListeners(n,s,c,t))})}},async onAfterStateChange(t,n,i,a,o){let s=()=>i.getId();r(),n&&i.getId()!==e._lastTransactionUUID&&n.view===e.getView()&&n.selection&&(a||o)&&e._autoSelect(n.selectOptions??!0,n.selection),e._lastTransactionUUID=i.getId(),n?.merges&&e._notify(`onMergesChange`),n?.spills&&e._notify(`onSpillsChange`);let c=e._rangesListenerSorted;if(c.size>0){e._notifyUsedRangeChange();let r=new Set,l=t.rangesListenerMap2,u={getTransactionId:s,timeStamp:i.getTimestamp()};if((o||a)&&(u.trigger=`restore`,e._notifyAddressListeners(l,l,r,u),c.size>l.size)){let e=c.values(),t=e.next(),n=!1;for(;!n&&!t.done;){let r=t.value;n=l.has(r.uuid),n||(r.notify(u,`#N/A`),t=e.next())}}let d=n?.events;d&&(d.address&&(u.trigger=`address`,e._notifyAddressListeners(l,d.address,r,u)),d.dataListeners&&(u.trigger=`data`,e._notifyAddressListeners(l,d.dataListeners,r,u)),d.data&&(u.trigger=`data`,e._notifyDataListeners(t.rangesListenerSpatial2,t.rangesListenerMap2,d.data,r,u)))}if(n&&!n.initial&&((a||o||!n.calculationSideEffect)&&n.ranges&&((a||o)&&t.calcGrid.markDirtyRegions(n.ranges),t.calcGrid.calculate()),n.ranges)){e._notifyUsedRangeChange();let t=e._rangesListenerMap;if(t.size>0){let r={isDataChange:!0,getTransactionId:s,timeStamp:i.getTimestamp(),isUndo:a,trigger:`setCells`};e._notifyRangeListeners(e._rangeListenerSpatial,t,n.ranges,r)}e._notify(`onDataChange`)}},onClose(){let t=e._getState();t&&t.movableSpatial.clear()}}),this._colHeadersListener={onSizesChange:t=>{e._isAdjustHeaders||e._processLayoutChange()}},this._rowHeadersListener={onSizesChange:t=>{e._isAdjustHeaders||e._processLayoutChange()}};let i=new Set,a={onTopLeftChange(t){e._markColumnHeaderTableNames(),e._notify(`onTopLeftChange`)},onZoomScaleChange(t){e._notify(`onZoomScaleChange`)},onFreezePaneChange(t){e._notify(`onFreezePaneChange`)},onHeaderChange(t){e._markColumnHeaderTableNames(),e._notify(`onNameChange`)},onSelectionChange(t){e._markColumnHeaderTableNames(),e._notify(`onSelectionChange`)},onMovableSelectionChange(t){let n=t.getMovableSelection(),r=new Map,a=new Set,o=e._getState().movableMapModel,s=n.length;for(let e=0;e<s;e++){let t=n[e];i.has(t)?i.delete(t):r.set(t,e),a.add(t)}i.forEach(e=>{o.get(e)?.value?.callbacks.processSelection(!1,!1)}),r.forEach((e,t)=>{o.get(t)?.value?.callbacks.processSelection(!0,e===0)}),i=a,e._notify(`onMovableSelectionChange`)},onAnyChange(){e._defaultColWidthCache=0,e._defaultRowHeightCache=0,e._defaultFontBoundsCache=null,e._notify(`onLayoutChange`),e._notify(`onViewChange`)}};this._viewListener=a,this._protectionListener={onChange(){if(e._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));e._getState().movableMapModel.forEach(e=>{e.value?.callbacks.processProtection?.()}),e._getState().tables.processCallbacks((e,t)=>{t.processProtection?.()}),e._notify(`onProtectionChange`)}},this._stylesListener={onAnyChange(){e._defaultColWidthCache=0,e._defaultRowHeightCache=0,e._defaultFontBoundsCache=null,e._notify(`onLayoutChange`),e._notify(`onStyleChange`),e._notify(`onViewChange`);let n=e._getEntireCoords();e._autoFit([n],{axes:t.IRange.AxisSelection.Both,skipCustomSize:!0,expandOnly:!0,formulaView:!1})}}}_initViewState(e,r){this._lastGetRangeRead=null,this._lastCellDecoded.address=null,this._lastCellSelected.coords=null,this._lastCellRead.coords=null,this._cellOptions?.renderCellCache?.clear(),this._entireCoordsCache=e,this._entireRangeCache=null;let i=this;this._protectionRemoveListener?.(),this._protection=new o_(void 0,this._options.readonly),this._protectionRemoveListener=this._protection.addListeners(this._protectionListener),this._stylesRemoveListener?.(),this._stylesRemoveListener=this._styles.addListeners(this._stylesListener),this._viewRemoveListener?.();let a=new bT({sheet:this,json:r});this._view=a,this._viewRemoveListener=a.addListeners(this._viewListener,{transactional:!1}),this._rangeListenerSpatial=new wa,this._rangesListenerMap=new Map,this._rangesListenerSorted=new mi,this._getEntireCoords.bind(this);let o=e=>{let t=i._getState().rangesListenerSpatial2;if(t.isEmpty())return;let n=e.length;for(let r=0;r<n;r++){let n=e[r],a=t.search(n),o=a.length;for(let e=0;e<o;e++){let t=a[e].value.groupId;i._addEvent(`data`,t)}}},s=this._calculation._createCalcGrid({onCalculated(e){i._realizeCalcedValues(e)},getEntireCoords:()=>i._getEntireCoords(),getSheetName:()=>i.getName(),uuid:i.getId()});s.addListeners({onStart(e){},onInvalidate:()=>{}});let c={getRanges:(e,t)=>{if(!e)return new rD(this);let n=this._rangesToCoords(e);return i._createRanges(n,t)},getEntireRange:i.getEntireRange.bind(i)},l=new no({axis:this._isDataColumn?t.IRange.Axis.Column:t.IRange.Axis.Row});this._rangeStats=new UO(this._runtime,l,null),this._updateState({rangesListenerSpatial2:new wa({updateEntryOptions:{onShifted:e=>{let t=i._getState().rangesListenerMap2;if(t.size===0)return;t=new Map(t);let n=e.length;for(let r=0;r<n;r++){let n=e[r],a=n.value.groupId,o=t.get(a);o=o.processShift(n),i._addEvent(`address`,o),t.set(a,o)}i._updateState({rangesListenerMap2:t})},onRemoved:e=>{let t=i._getState().rangesListenerMap2;if(t.size===0)return;t=new Map(t);let n=e.length;for(let r=0;r<n;r++){let n=e[r],a=n.value.groupId,o=t.get(a);o=o.processRemove(n),i._addEvent(`address`,o),t.set(a,o)}i._updateState({rangesListenerMap2:t})}}}),rangesListenerMap2:new Map,cellValuesGrid:l,spillSpatial:new wa,pendingSpatial:new wa,calcErrorsSpatial:new wa,errorSpatial:new wa({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0}}),calcGrid:s,borderSpatial:new mw({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0,onUpdated:o,onRemoved:o},entireCoords:e}),fillSpatial:new mw({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0,onUpdated:o,onRemoved:o},entireCoords:e}),contentSpatial:new mw({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0,onUpdated:o,onRemoved:o},entireCoords:e}),continuousFillSpatial:new wa({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0}}),dateFormatSpatial:new wa({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0}}),mergeSpatial:new mw({updateEntryOptions:{getShifted(e,t,n){let r=tg(n,i._getEntireCoords());return r?{...r,value:new tx(r,e.value._tvTl)}:null},getSplit(e,t){throw new n.ExpectedError((0,n.t)(`error.sheet.insertMergeThrough`))},onUpdated:o,onRemoved:o},entireCoords:e}),movableMapModel:new Map,movableSpatial:new wa({updateEntryOptions:{getShifted(e,t,n){let r=e.value.callbacks.processShift?.(n),a=null,o=new Map(i._getState().movableMapModel),s=e.value.model;return r?(a={...r,value:{...e.value}},o.set(s,a)):o.delete(s),i._updateState({movableMapModel:o}),a}}}),picture:null,hyperlinkSpatial:new wa({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!0}}),commentsSpatial:new wa({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!0,onUpdated:o,onRemoved:o}}),autoTables:new k_(c),tables:new k_(c),conditionalFormats:new k_(c),dataValidations:new k_(c),protectedRanges:new k_(c),entireCoords:{colStart:0,rowStart:0,colEnd:jE.width-1,rowEnd:jE.height-1},rangeListenerSpatial:new wa,rangesListenerMap:new Map,contentfulSpatial:new wa({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!0,onShifted:e=>{let t=this._getEntireCoords(),n=t.rowEnd,r=t.colEnd,a=i._getState().rangesListenerSpatial2;if(a.size()===0)return;let o=e.length;for(let t=0;t<o;t++){let o=e[t],s=a.search({colStart:o.colStart,rowStart:o.rowStart,colEnd:r,rowEnd:n}),c=s.length;for(let e=0;e<c;e++){let t=s[e].value.groupId;i._addEvent(`data`,t)}}},onRemoved:o,onUpdated:o}}),deleted:!1})}_initCellState(){let e=this,r={colStart:0,rowStart:0,colEnd:0,rowEnd:0},i=[r],a={ignoreHidden:!0,sort:{axis:t.IRange.Axis.Column,reverse:!1}};this._cellOptions={runtime:this._runtime,renderCellCache:new y_({max:bE}),doBatchCalcGrid:(t,n)=>{let r=this._getState(),i=this._beginCommit(n);try{let n=r.calcGrid.clone(),a=t(n);e._updateState({calcGrid:n}),e._commitAndAutoSelect(i,null,!1,{viewAfter:{ranges:[a]}})}catch(e){throw i.rollback(),e}},sheet:this,normalStyleRanged:this._normalStyleRanged,colHeaders:this._colHeaders,styles:this._styles,getRange:this.getRange.bind(this),getRanges:this.getRanges.bind(this),getProtection:this.getProtection.bind(this),getCalcGrid:()=>this._getState().calcGrid,dependencyRanges:this._dependencyRanges.bind(this),resolveSheetScope:e=>this._resolveSheetScope(e),autoCorrect:(e,t)=>this.getCalculation().createFormula(e,{...t,scope:this.getName()}).autoCorrect(),createAt:(e,t)=>this.getCalculation().createFormula(e,{...t,scope:this.getName()}),nextContentful:(t,o,s=!1)=>{r.colStart=s?o:t.colIndex+1,r.rowStart=t.rowIndex,r.colEnd=s?t.colIndex-1:o,r.rowEnd=t.rowIndex,a.sort.reverse=s;let c=e._getState();if(!c)return n.CommonUtils.EmptyArray;let l=e._getRangedEntries(c.contentfulSpatial,i,a);if(!l||l.length===0)return o;let u=l[0],d=s?u.getState().colStart:u.getState().colEnd;return s?Math.min(d+1,t.colIndex):Math.max(d-1,t.colIndex)},styleUpdater:(t,n,r)=>{let i=[r];return e._updateStyles(i,t,n),e._getStyle(i)},opener:async(e,t,n,r)=>{if(e.startsWith(`#`)){e=e.substring(1);let n=this._rangesToCoords(e),r=n[0]?.scope;if(r&&r!==this.getName()){let n=this.getWorkbook()?.getSheets().getByName(r)??null;return!!n&&(await n.getRanges(e).select(t??!0),!0)}return await this._autoSelect(t??!0,my(n)),!0}{let t=this._options.opener;return t?t(e,n??`_blank`,r):window.open(e,n??`_blank`,r),!0}}},this._emptyCell=new lC(this._cellOptions)}_createTables(e,t,r,i,a){let o=this,s=()=>{let e=o._cacheTableColumnHeaders;e.lastRowIndex=-1,e.lastColIndex=-1,o._markColumnHeaderTableNames()};a||=e=>e.addListeners({onAnchorCoordsChange(){s(),o._notify(`onTablesChange`)},onSortChange(){o._notify(`onTablesChange`)},onFilterChange(){o._notify(`onTablesChange`)},onHiddenButtonsChange(){o._notify(`onTablesChange`)},onStyleChange(){o._notify(`onStyleChange`)},onDelete(e){s(),o._notify(`onTablesChange`),o._notify(`onStyleChange`)}},{transactional:!1});let c={createModel:e=>i({transactions:o._transactions,sheet:o,names:o._names,isProtected:()=>!o._initializing&&!o.getProtection().isObjectsAllowed(),processTableUpdate(){o._notifyUsedRangeChange()},...e}),addListeners:a,setContainerCoords(e,r,i){let a=i?.description??(0,n.messageKey)(`op.resizeTable`);o._protectionCheck(()=>[`objects`],r,a);let s=r[0];o._validateOrRemoveOverlaps(s,`table`,e);let c=o._beginCommit({description:a}),l=o._getState()?.[t];l=l.setCoords(e,[s]),o._updateState({[t]:l}),c.commit({viewAfter:{view:o.getView(),selection:my(e.getRanges().getCoords())}})},setContainerName(e,r,i){let a=i?.description??(0,n.messageKey)(`op.setTableName`);o._protectionCheck(()=>[`objects`],void 0,a);let s=o._beginCommit({description:a});try{let a=o._getState()?.[t];if(a.getByName(r))throw new n.ExpectedError((e=>(0,n.t)(`error.sheet.uniqueName`,{name:e}))(r));a=a.setName(e,r),o._updateState({[t]:a},i),s.commit()}catch(e){throw s.rollback(),e}},deleteFromContainer(e,r){let i=r?.description??(0,n.t)(`op.deleteTableNamed`,{name:e.getName?.()});o._protectionCheck(()=>[`objects`],void 0,i);let a=o._beginCommit({description:i}),c=o._getState()?.[t];c=c.deleteModel(e),o._updateState({[t]:c}),o._notify(`onTablesChange`),o._notify(`onLayoutChange`),s(),a.commit({viewAfter:{sheet:o,view:o.getView(),selection:my(e.getRanges().getCoords())}})}};return e.load(r,c)}_createDataValidations(e,t,r,i,a){let o=this;a||=e=>e.addListeners({onAnchorCoordsChange(){o._notifyDataValidationsChange()},onDelete(e){o._notifyDataValidationsChange()}},{transactional:!1});let s={createModel:e=>i({transactions:o._transactions,isProtected:()=>!o._initializing&&!o.getProtection().isObjectsAllowed(),getGridValues:()=>o._getState().cellValuesGrid,getRuntime:()=>o.getRuntime(),getCalculation:()=>o._calculation??null,...e}),addListeners:a,invalidate(e){o._addEvent(`data`,e),o._notifyUsedRangeChange(),o._notifyDataValidationsChange()},setContainerCoords(e,r,i){let a=i?.description??(0,n.messageKey)(`op.updateDataValidations`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a),o._protectionCheck(()=>[`objects`],r,a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setCoords(e,r),o._updateState({[t]:c}),o._notifyDataValidationsChange(),s.commit({viewAfter:{view:o.getView(),selection:my(e.getRanges().getCoords())}})},getContainerIndex:e=>(o._getState()?.[t]).getIndex(e)??-1,setContainerIndex(e,r,i){let a=i?.description??(0,n.messageKey)(`op.reorderDataValidations`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setIndex(e,r),o._updateState({[t]:c}),o._notifyDataValidationsChange(),s.commit({viewAfter:{view:o.getView(),selection:my(e.getRanges().getCoords())}})},deleteFromContainer(e,r){let i=r?.description??(0,n.t)(`op.deleteDataValidationNamed`,{name:e.getName?.()});o._protectionCheck(()=>[`objects`],void 0,i);let a=o._beginCommit({description:i}),s=o._getState()?.[t];s=s.deleteModel(e),o._updateState({[t]:s}),o._notifyDataValidationsChange(),a.commit({viewAfter:{sheet:o,view:o.getView(),selection:my(e.getRanges().getCoords())}})}};return e.load(r,s)}_createConditionalFormats(e,t,r,i,a){let o=this;a||=e=>e.addListeners({onAnchorCoordsChange(){o._notifyConditionalFormatsChange()},onDelete(e){o._notifyConditionalFormatsChange()}},{transactional:!1});let s={createModel:e=>i({transactions:o._transactions,sheet:o,isProtected:()=>!o._initializing&&!o.getProtection().isObjectsAllowed(),getGridValues:()=>o._getState().cellValuesGrid,getRuntime:()=>o.getRuntime(),getCalculation:()=>o._calculation??null,...e}),addListeners:a,invalidate(e){o._invalidateCaches(),o._addEvent(`data`,e),o._notifyUsedRangeChange(),o._notifyConditionalFormatsChange()},setContainerCoords(e,r,i){let a=i?.description??(0,n.messageKey)(`op.updateConditionalFormat`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a),o._protectionCheck(()=>[`objects`],r,a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setCoords(e,r),o._updateState({[t]:c}),o._notifyConditionalFormatsChange(),s.commit({viewAfter:{view:o.getView(),selection:my(e.getRanges().getCoords())}})},getContainerIndex:e=>(o._getState()?.[t]).getIndex(e)??-1,setContainerIndex(e,r,i){let a=i?.description??(0,n.messageKey)(`op.reorderConditionalFormat`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setIndex(e,r),o._updateState({[t]:c}),o._notifyConditionalFormatsChange(),s.commit({viewAfter:{view:o.getView(),selection:my(e.getRanges().getCoords())}})},deleteFromContainer(e,r){let i=r?.description??(0,n.t)(`op.deleteConditionalFormatNamed`,{name:e.getName?.()});o._protectionCheck(()=>[`objects`],void 0,i);let a=o._beginCommit({description:i}),s=o._getState()?.[t];s=s.deleteModel(e),o._updateState({[t]:s}),o._notifyConditionalFormatsChange(),a.commit({viewAfter:{sheet:o,view:o.getView(),selection:my(e.getRanges().getCoords())}})}};return e.load(r,s)}_createProtectedRanges(e,t,r,i,a){let o=this;a||=e=>e.addListeners({onAnchorCoordsChange(){o._notifyProtectedRangesChange()},onConfigChange(){o._notifyProtectedRangesChange()},onDelete(e){o._notifyProtectedRangesChange()}},{transactional:!1});let s={createModel:e=>i({transactions:o._transactions,isProtected:()=>!o._initializing&&!o.getProtection().isObjectsAllowed(),...e}),addListeners:a,invalidate(e){o._addEvent(`data`,e),o._notifyProtectedRangesChange()},setContainerCoords(e,r,i){let a=i?.description??(0,n.messageKey)(`op.updateProtectedRanges`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a),o._protectionCheck(()=>[`objects`],r,a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setCoords(e,r),o._updateState({[t]:c}),o._notifyProtectedRangesChange(),s.commit({viewAfter:{view:o.getView(),selection:my(e.getRanges().getCoords())}})},setContainerName(e,r,i){let a=i?.description??(0,n.messageKey)(`op.setProtectedRangeName`);o._protectionCheck(()=>[`objects`],void 0,a);let s=o._beginCommit({description:a});try{let a=o._getState()?.[t],c=a.getByName(r);if(c&&c!==e)throw new n.ExpectedError((0,n.t)(`error.protectedRange.uniqueName`,{name:r}));a=a.setName(e,r),o._updateState({[t]:a},i),o._notifyProtectedRangesChange(),s.commit()}catch(e){throw s.rollback(),e}},getContainerIndex:e=>(o._getState()?.[t]).getIndex(e)??-1,setContainerIndex(e,r,i){let a=i?.description??(0,n.messageKey)(`op.reorderProtectedRange`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setIndex(e,r),o._updateState({[t]:c}),o._notifyProtectedRangesChange(),s.commit({viewAfter:{view:o.getView(),selection:my(e.getRanges().getCoords())}})},deleteFromContainer(e,r){let i=r?.description??(0,n.t)(`op.deleteProtectedRangeNamed`,{name:e.getName?.()});o._protectionCheck(()=>[`objects`],void 0,i);let a=o._beginCommit({description:i}),s=o._getState()?.[t];s=s.deleteModel(e),o._updateState({[t]:s}),o._notifyProtectedRangesChange(),a.commit({viewAfter:{sheet:o,view:o.getView(),selection:my(e.getRanges().getCoords())}})}};return e.load(r,s)}_createMovableEntry(e,t,r){let i=null;if(e?.anchor)i={colStart:e.anchor.tl?.c??0,rowStart:e.anchor.tl?.r??0,colEnd:e.anchor.br?.c??0,rowEnd:e.anchor.br?.r??0},e.anchor.br?.x||--i.colEnd,e.anchor.br?.y||--i.rowEnd;else{let e=this.getSelection().getRange().getCoords();i={colStart:e.colStart,rowStart:e.rowStart,colEnd:e.colEnd,rowEnd:e.rowEnd}}let a={model:null,callbacks:{processShift:null,processAfterShift:null,processLayout:null,processDelete:null,processZIndex:null,processSelection:null,processProtection:null},zIndex:t},o={...i,value:a},s=()=>a.model?l._getState()?.movableMapModel?.get(a.model):o,c=(e,t,r=!0)=>{if(d)return;let i=s();if(!i)return;let a=t??(0,n.messageKey)(`op.updateDrawing`);l._protectionCheck(()=>[`objects`],void 0,a);let c=l._beginCommit({description:a}),u=(l._getState()?.movableSpatial).clone(),f=l._getState()?.movableMapModel,p=new Map(f);!1!==e(i,u,p)&&(l._updateState({movableSpatial:u,movableMapModel:p}),r&&(l._emitterMovables.notify(`onCollectionChange`,{source:l,transactional:!0}),l._notify(`onMovablesChange`)),c.commit({viewAfter:e=>{if(o.value.model.isSelected()&&!e?.movableSelection?.includes(o.value.model)){let t=[...e?.movableSelection??[]];return t.push(o.value.model),{...e,view:this.getView(),movableSelection:t}}return e}}))},l=this,u=e.content.type,d=!0,f=(e,t,n,r)=>{let i=n.all().sort((e,t)=>e.value.zIndex-t.value.zIndex),a=t.value.zIndex;if((e=Math.max(0,Math.min(i.length-1,e)))===a)return!1;let o=[],s=[],c=[],l=a<e,u=t=>{let n=i[t];o.push(n);let u={...n,value:{...n.value,zIndex:l?t-1:t+1}};n.value.zIndex===a&&(u.value.zIndex=e),s.push(u),r.set(u.value.model,u),c.push(u)};if(l)for(let t=a;t<=e;t++)u(t);else for(let t=a;t>=e;t--)u(t);let d=o.length;for(let e=0;e<d;e++)n.remove(o[e],LE);n.load(s);let f=c.length;for(let e=0;e<f;e++)c[e].value.callbacks.processZIndex?.()},p=()=>l._resources.beginPersist(),m=u===`picture`,h={content:null,fromResourceId:r,defaultLockAspectRatio:m,beginPersistResource:p,getMaxBounds:()=>l._getBoundsAtCoords(l._getEntireCoords()),getRanges:e=>l.getRanges(e),runtime:this._runtime,transactions:this._transactions,getBoundsAtCoords:l._getBoundsAtCoords.bind(l),getCoordsAtBounds:l._getCoordsAtBounds.bind(l),scrollIntoView:e=>l._selectSheet(s().value.model.getRange().getCoords(),e),select:async e=>{let t=s()?.value?.model;if(!t)return!1;try{l.getView().selectMovables([t],e?.addToSelection)}catch(e){return console.warn(e),!1}let n=await l._selectSheet(s().value.model.getRange().getCoords(),e?.scrollIntoView);return!e?.scrollIntoView||!1!==n},unselect:()=>{let e=s()?.value?.model;return!!e&&(l.getView().unselectMovables([e]),!0)},isSelected:()=>l.getView().getMovableSelection().includes(s().value.model),moveToBackOnContainer:()=>{c((e,t,n)=>f(0,e,t,n),(0,n.messageKey)(`op.moveToBack`))},moveBackwardOnContainer:()=>{c((e,t,n)=>f(e.value.zIndex-1,e,t,n),(0,n.messageKey)(`op.moveBackwards`))},moveForwardOnContainer(){c((e,t,n)=>f(e.value.zIndex+1,e,t,n),(0,n.messageKey)(`op.moveForward`))},moveToFrontOnContainer(){c((e,t,n)=>f(t.size()-1,e,t,n),(0,n.messageKey)(`op.moveToFront`))},getZIndex:()=>s()?.value?.zIndex??0,getContainerIndex:()=>s()?.value?.zIndex??0,setContainerIndex(e,t){c((t,n,r)=>f(e,t,n,r),t?.description??(0,n.messageKey)(`op.setIndex`))},setContainerCoords(e,t){if(!e)return;let r=l._rangesToCoords(e,()=>[`objects`]),i=r[0];return o.colStart=i.colStart,o.rowStart=i.rowStart,o.colEnd=i.colEnd,o.rowEnd=i.rowEnd,c((e,t,n)=>{let r={...e,...i};t.remove(e,LE),t.insert(r),n.set(r.value.model,r)},(0,n.messageKey)(`op.updateDrawing`),!1),r},deleteFromContainer(e){let t=s();t?.value&&l.getView().unselectMovables([t.value.model]);let r=[];c((e,t,n)=>{n.delete(e.value.model),t.remove(e,LE),e.value.callbacks.processDelete?.(),r.push(e);let i=e.value.model.getZIndex(),a=t.all().sort((e,t)=>e.value.zIndex-t.value.zIndex),o=[],s=[],c=a.length;for(let e=i+1;e<c;e++){let t=a[e];o.push(t);let r={...t,value:{...t.value,zIndex:e-1}};s.push(r),n.set(r.value.model,r)}let l=o.length;for(let e=0;e<l;e++)t.remove(o[e],LE);t.load(s)},e?.description??(0,n.messageKey)(`op.deleteDrawing`),!0);let i=r.length;for(let e=0;e<i;e++)r[e].value.callbacks.processZIndex?.()},setContainerCallbacks(e){let t=s()?.value??a;t&&(t.callbacks={...t.callbacks,...e},t.removeListener?.())},isProtected:()=>!l._initializing&&!l.getProtection().isObjectsAllowed(),coords:i,getEntireRange:l.getEntireRange.bind(l),json:e},g=e.content.json,_={type:u,transactions:this._transactions,beginPersistResource:p,fromResourceId:r,defaultLockAspectRatio:m,json:g,getName:()=>e.name??``},v=null;return u===`picture`?v=new Yv(_):u===`chart`?v=new Xv(_):u===`sp`||u===`cxnSp`||u===`grpSp`?v=new Zv(_):u===`relIds`?v=new $v({..._,type:`smartArt`}):u===`slicer`?v=new Qv({..._,name:e.name}):(u===`graphicFrame`||console.warn((e=>(0,n.t)(`error.sheet.unsupportedFloatingType`,{type:e}))(u)),v=new $v(_)),a.model=new Hv({...h,content:v}),d=!1,o}_fromJSON(e,r=!1){this._initializing=!0,this._emitter.notify(`onBeforeLoad`,{params:e});let i=this._beginCommit({description:(0,n.messageKey)(`op.loadSheet`),viewAfter:{initial:!0,skipProtectionCheck:!0}}),a=e||{},s=this._strings,c=s.beginPersist(),l=this._resources.beginPersist(),u=this._styles.beginPersist();try{this._ownStrings&&c.fromJSON(a.strings),this._ownResources&&l.fromJSON(a.resources),this._ownStyles&&u.fromJSON(a.styles);let e={colStart:0,rowStart:0,colEnd:jE.width-1,rowEnd:jE.height-1},d=a.entireSize;d&&(e=Object.freeze({colStart:0,rowStart:0,colEnd:(d.width??jE.width)-1,rowEnd:(d.height??jE.height)-1}));let f=MD(a.cols,t.IRange.Axis.Column,e),p=MD(a.rows,t.IRange.Axis.Row,e);this._initHeadersState({headers:a.cols,defaultSize:a.defaultColSize},{headers:a.rows,defaultSize:a.defaultRowSize}),this._initViewState(e,a.view),this._colHeaders.invalidate(),this._rowHeaders.invalidate(),this._initCellState(),a.tabColor&&(this._tabColor=this._styles.parseColor(a.tabColor));let m=this._getState(),h=m.cellValuesGrid;this._errorEpoch++;let g=m.contentfulSpatial,_=m.errorSpatial,v=a.data,y=v?.length??0,b=kD,x=[],S=this._isDataColumn,C=[];if(y>0){for(let e=0;e<y;e++){let n=v[e];typeof n==`string`&&(n=JSON.parse(n));let r=n[0],i=n[1],a=i.length,o;for(let e=0;e<a;e++){let n=i[e],a=n[1],c=a.length;for(let e=0;e<c;e++){let i,o=a[e],s=o?.t;if(s!==void 0)switch(o=o?.v,s){case`e`:i=t.ScalarType.Error;break;case`r`:i=t.ScalarType.RichData;break;case`n`:i=t.ScalarType.Number;break;case`s`:i=t.ScalarType.String;break;case`b`:i=t.ScalarType.Boolean}else switch(typeof o){case`number`:i=t.ScalarType.Number;break;case`string`:i=t.ScalarType.String,o=parseInt(o);break;case`boolean`:i=t.ScalarType.Boolean}if(i===t.ScalarType.Error){let t=n[0]+e;C.push({colStart:S?r:t,rowStart:S?t:r,colEnd:S?r:t,rowEnd:S?t:r,value:!0})}a[e]=[o,i]}o=b(null,s,a),n[1]=o}x.push(n)}h.setValues(x);let e=AD(x,this._isDataColumn);g.load(e),C.length>0&&_.load(Na(C,t.IRange.Axis.Column,2**53-1))}let w=m.borderSpatial,T=m.fillSpatial,E=m.contentSpatial,D=m.continuousFillSpatial,O=m.dateFormatSpatial,k=this._options.styles,A=a.directStyles,j,M;if(A){let n=A.length;j=Array(n);for(let r=0;r<n;r++){let n=wu(A[r],e);n.value={axes:t.IRange.AxisSelection.Both,index:n.value},j[r]=n}}if(f||p){let e=[...j||n.CommonUtils.EmptyArray,...f||n.CommonUtils.EmptyArray,...p||n.CommonUtils.EmptyArray];j=[];try{let n=new gi.IteratorInstance(e,{axis:t.IRange.Axis.Column}),r=n.next();for(;!r.done;){let e=r.value,i=e.overlaps,a=i.length,o;if(a===1){if(o=i[0].value,o.index===0){r=n.next();continue}}else{let e,n,r;for(let o=0;!e&&o<a;o++){let a=i[o].value,s=a.axes;s===t.IRange.AxisSelection.Both?e=a:s===t.IRange.AxisSelection.Row?r=a:s===t.IRange.AxisSelection.Column&&(n=a)}o=e??r??n}let s=e.range;j.push({...s,value:o}),r=n.next()}}catch(e){console.log(e)}}if(j){let e=this._getEntireCoords.bind(this),r=[],i=[],a=[],s=t=>{let s=t.value,c=u.getElementJSON(s.index),l=n.CoordUtils.sanitizeRange(t),d=new rg(k,e,l,c,void 0,s.axes),f=d._p?.alignment?.horizontal;f===o.HorizontalAlignment.CenterContinuous&&r.push(l),f===o.HorizontalAlignment.Fill&&i.push(l);let p=d._p?.numberFormat;return typeof p==`number`&&(p=Kc(p)),p&&(Mr(p)||Nr(p))&&a.push({...l,value:p}),{...l,value:d}},c=j.length;M=Array(c);for(let e=0;e<c;e++)M[e]=s(j[e]);let l=[],d=[],f=[];for(let e=0;e<c;e++){let t=M[e];if(!t.value)continue;let n=t.value.splitByFeature();n.border&&l.push({...t,value:n.border}),n.fill&&d.push({...t,value:n.fill}),n.content&&f.push({...t,value:n.content})}l.length>0&&w.load(l),d.length>0&&T.load(d),f.length>0&&E.load(f);let p=(n,r)=>{let i=(n=Na(n,t.IRange.Axis.Column,2**53-1)).length,a=Array(i);for(let t=0;t<i;t++){let i=n[t];a[t]={...i,value:new rg(k,e,i,{alignment:{horizontal:r}})}}D.load(a)};p(r,o.HorizontalAlignment.CenterContinuous),p(i,o.HorizontalAlignment.Fill),a=Na(a,t.IRange.Axis.Column,2**53-1),O.load(a)}this._rangeStats=this._rangeStats.clone(h),m=this._updateState({cellValuesGrid:h,contentfulSpatial:g,errorSpatial:_,borderSpatial:w,fillSpatial:T,contentSpatial:E,continuousFillSpatial:D,dateFormatSpatial:O,entireCoords:e});let N=a.merges;if(N){let t=[],n=N.length;for(let r=0;r<n;r++){let n=Fu(N[r],e);t.push(n)}this._indexMerges(t)}let P=m.hyperlinkSpatial,F=a.hyperlinks;if(F){let t=F,n=t.length,r=Array(n);for(let i=0;i<n;i++){let n=wu(t[i],e),a=n.value;n.value=typeof a==`string`?{address:a}:{...a},r[i]=n}P.load(r)}let I=m.commentsSpatial,L=a.comments;if(L){let t=L,n=t.length,r=Array(n);for(let i=0;i<n;i++){let n=wu(t[i],e),a=n.value;n.value=typeof a==`string`?{content:a}:{...a},r[i]=n}I.load(r)}let ee=m.tables,te=a.tables;te&&(ee=this._createTables(ee,`tables`,te,e=>new Fv(e)));let R=m.autoTables,ne=a.autoTable;ne&&(R=this._createTables(R,`autoTables`,[ne],e=>new Vv(e)));let z=m.dataValidations,B=a.validations;B&&(z=this._createDataValidations(z,`dataValidations`,B,e=>new By(e)));let re=m.conditionalFormats,ie=a.conditionals;ie&&(re=this._createConditionalFormats(re,`conditionalFormats`,ie,e=>new ky(e)));let ae=m.protectedRanges,oe=a.protectedRanges;oe&&(ae=this._createProtectedRanges(ae,`protectedRanges`,oe,e=>new Uy(e)));let se=m.movableMapModel,ce=m.movableSpatial,le=a.movables;if(le){let e=[],t=le.length;for(let n=0;n<t;n++){let t=le[n];try{let r=this._createMovableEntry(t,n,l.fromResourceId.bind(l));se.set(r.value.model,r),e.push(r)}catch(e){console.warn(`Unable to load movable`,n,t,e)}}ce.load(e)}let ue=null,de=a.picture;if(de){let e=this;ue=new Yv({json:de,fromResourceId:l.fromResourceId.bind(l),deleteFromContainer:t=>{e._getState().picture&&(e._updateState({picture:null},{description:(0,n.messageKey)(`op.deletePicture`),...t}),e._notify(`onStyleChange`))},transactions:this._transactions})}m=this._updateState({hyperlinkSpatial:P,commentsSpatial:I,movableSpatial:ce,movableMapModel:se,autoTables:R,tables:ee,conditionalFormats:re,dataValidations:z,protectedRanges:ae,picture:ue});let fe=m.calcGrid,pe=fe.fromJSON({formulas:a.formulas,data:x,formulaArray:a.formulaArray,volatile:a.volatile},{formulaTransform:this._options?.formulaTransform});if(m=this._updateState({calcGrid:fe}),!r){let e=this._getUsedCoords();e&&this._autoFit([e],{axes:t.IRange.AxisSelection.Row,skipCustomSize:!0,expandOnly:!0,formulaView:!1})}i.commit(),pe&&this._realizeCalcedValues(pe),a.protection&&this._protection.fromJSON(a.protection),this._notify(`onLoad`)}finally{u.endPersist(),l.endPersist(),c.endPersist()}this._initializing=!1}getId(){return this._id}getVersionId(){return this._transactions.getVersionId(this._stateId)}getName(){return this._closed?Il:this._options.container?.getName?.()??null}setName(e,t){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));let r=this._options.container?.setName;if(!r)throw new n.ExpectedError(`Unable to set name for sheet.`);return r(e,t),this}getVisibility(){return this._closed?ul.Visibility.VeryHidden:this._options.container?.getVisibility?.()??ul.Visibility.Hidden}setVisibility(e=!0,t){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));let r=this._options.container?.setVisibility;if(!r)throw new n.ExpectedError(`Unable to set visibility for sheet.`);let i;return i=!0===e?ul.Visibility.Visible:!1===e?ul.Visibility.Hidden:e,r(i,t),this}async select(e){return await this._options.container?.requestSelect?.(e),this}async duplicate(){return await this._options.container?.duplicate?.(),this}getIndex(){return this._options.container?.getIndex?.()??-1}setIndex(e,t){return this._options.container?.setIndex?.(e,t),this}getNames(){let e=this._names;return e&&(this._namesScoped||=e._scopedTo(this),this._namesScoped)}getCalculation(){let e=this._calculation;if(!e)return e;if(!this._calculationScoped){let t=this,n=new Map,r=e=>({...e??{},scope:e?.scope??t.getName()});this._calculationScoped=new Proxy(e,{get:(e,t)=>{if(t===`createFormula`)return(t,n)=>e.createFormula(t,r(n));if(t===`evaluate`)return(t,n)=>e.evaluate(t,r(n));let i=Reflect.get(e,t,e);if(typeof i!=`function`)return i;let a=n.get(t);return a||(a=i.bind(e),n.set(t,a)),a}})}return this._calculationScoped}createFormula(e,t){return this.getCalculation().createFormula(e,t)}evaluate(e,t){return t=typeof t==`number`?{evalIndex:t,scope:this.getName()}:{...t,scope:this.getName()},this.getCalculation().evaluate(e,t)}whenCalculationReady(){return this.getCalculation().ready()}getWorkbook(){return this._workbook}get[Symbol.toStringTag](){return`[Sheet]`}toString(){return`[${this.getName()??`(untitled)`}]`}get isISheet(){return!0}},bE=8192,xE={ignoreDataChanges:!1},SE={colStart:-1,rowStart:-1,colEnd:-1,rowEnd:-1},CE=[Dv.Content.Values],wE=class{constructor(e){Object.assign(this,e),Object.freeze(this)}get isICellRangeCounts(){return!0}};function TE(e){return new wE(e)}function EE(e,t){let n=Ov.Feature;switch(t){case n.Contentful:return!!e.contentful;case n.DateFormat:return!!e.dateFormat;case n.Formula:return!!e.formula;case n.Spills:return!!e.spills;case n.CalcError:return e.calcError!==void 0;case n.Error:return!!e.error;case n.Fill:return!!e.fillStyle;case n.Border:return!!e.borderStyle;case n.Merge:return!!e.merge;case n.Table:return!!e.table;case n.AutoTable:return!!e.autoTable;case n.Hyperlink:return!!e.hyperlink;case n.Comments:return!!e.comments;case n.Unlock:return!!e.unlock;case n.Conditionals:return!!e.conditionals;case n.DataValidations:return!!e.dataValidations;default:return!1}}t.IRange.Axis.Column;var DE,OE={rowStart:0,colStart:0,rowEnd:0,colEnd:0},kE=[],AE=()=>null,jE={width:2**14,height:2**20},ME=e=>`${e}`,NE=e=>Bl(e),PE=e=>`${e+1}`,FE=0,IE=0,LE=(e,t)=>!(!n.CoordUtils.isEqualRanges(e,t)||e.value.model!==t.value.model),RE={useFormattingCategory:!0},zE={colStart:0,rowStart:0,colEnd:0,rowEnd:0},BE=e=>typeof e==`object`&&!!e&&!0===e.isICellRange,VE=class e{constructor(e,t,n){this._coords=Object.freeze(e),this._internal=t,this._readOnly=n?.readOnly??null,this._options=n??void 0,this._cacheRanges=[]}_getStickyOptions(){return this._options?.getOptions}_createRanges(t,n){let r=this._options;return n&&(r={...this._options,getOptions:DD(this._options?.getOptions,n)}),new e(t,this._internal,r)}_createRange(e,t){if(typeof e==`string`)return this._internal.createRange(e,DD(this._getStickyOptions(),t));let n=this._options;t&&(n={...this._options,getOptions:DD(this._options?.getOptions,t)});let r=cD(this._internal,e?.scope);return r?new rb(e,r,n):dD(this._internal.getSheet(),this._internal.getSheet().getEntireCoords(),e)}_validateWrite(){let e=this._readOnly;if(e)throw Error((0,n.t)(e))}_byScope(){let e=this.getCoords(),t=this._internal,n=!1;for(let r=0;r<e.length;r++){let i=e[r]?.scope;if(i&&cD(t,i)!==t){n=!0;break}}if(!n)return null;let r=[],i=new Map;for(let n=0;n<e.length;n++){let a=e[n];if(!a)continue;let o=cD(t,a.scope);if(!o)continue;let s=o.getSheet().getName(),c=i.get(s);c||(c={internal:o,coords:[]},i.set(s,c),r.push(c)),c.coords.push(a.scope?{...a,scope:void 0}:a)}return r}_writeByScope(e,t){let n=this._byScope();n?this.doBatch(()=>{for(let t=0;t<n.length;t++)e(n[t].internal,n[t].coords)},t):e(this._internal,this.getCoords())}_readCoordsByScope(e){let t=this._byScope();if(!t)return e(this._internal,this.getCoords());let n=this._internal,r=[];for(let i=0;i<t.length;i++){let a=t[i],o=a.internal===n?void 0:a.internal.getSheet().getName(),s=e(a.internal,a.coords);for(let e=0;e<s.length;e++)r.push(o?{...s[e],scope:o}:s[e])}return r}getCoords(){let e=this._coords;for(let t=0;t<e.length;t++){let n=e[t];if(typeof n==`string`||BE(n))return this._resolveCoords()}return e}_resolveCoords(){let e=this._coords,t=this._cacheRanges,n=Array(e.length);for(let r=0;r<e.length;r++){let i=e[r];if(typeof i==`string`)n[r]=(t[r]??(t[r]=this._createRange(i))).getCoords();else if(BE(i)){t[r]||(t[r]=i);let e=i.getCoords(),a=i.getSheet()?.getName();n[r]=a&&a!==this._internal.getSheet().getName()&&!e.scope?{...e,scope:a}:e}else n[r]=i}return n}[Symbol.iterator](){let e=this.entries({features:tb});return{next(){let t=e.next();return t.done?oi:{done:!1,value:t.value.value}},[Symbol.iterator](){return this}}}entries(e){let t=this.getCoords(),n=e?.reverse??!1,r=n?t.length-1:0,i=this,a=i.at(r),o=a.entries(e),s=o.next();return{next(){let c=s;do{if(s.done){if(r=n?r-1:r+1,r>=t.length||r<0)return s=oi,c;a=i.at(r),o=a.entries(e)}s=o.next()}while(s.done);return c},[Symbol.iterator](){return this}}}async select(e){let t=await this._internal.autoSelect(e??!0,my(this.getCoords()));return this._createRanges(t)}calculate(){let e=this._byScope();if(!e)return this._internal.calculate(this.getCoords()),this;for(let t=0;t<e.length;t++)e[t].internal.calculate(e[t].coords);return this}addListener2(e,t){return this._listenByScope((n,r)=>n.addRangesListeners2(r,e,t,!0))}addListener(e,t){return this._listenByScope((n,r)=>n.addRangesListeners(r,e,t))}addWatch(e,t){return this._addWatch(e,(n,r,i)=>n._addWatch(e,{onValues:e=>{t(e,r,n)}},i))}_addWatch(e,t){let n=this.getCount();if(n===0)return()=>{};let r=this.at(0).getCoords(),i={rowIndex:r.rowStart,colIndex:r.colStart},a=[];for(let e=0;e<n;e++)a.push(t(this.at(e),e,i));return()=>{for(let e=0;e<a.length;e++)a[e]()}}_listenByScope(e){let t=this._byScope();if(!t)return e(this._internal,this.getCoords());let n=Array(t.length);for(let r=0;r<t.length;r++)n[r]=e(t[r].internal,t[r].coords);return()=>{for(let e=0;e<n.length;e++)n[e]?.()}}find(e){let t=this._byScope();if(!t)return this._internal.find(this.getCoords(),e);let n=0,r=t[0].internal.find(t[0].coords,e);return{next(){for(;;){let i=r.next();if(!i.done)return i;if(++n>=t.length)return oi;r=t[n].internal.find(t[n].coords,e)}}}}getFlattened(e){let t=this.getCoords();if(t.length===1)return this._createRanges(t,e);let n=PD(t);return this._createRanges(n,e)}getPrecedents(e=!1){return this._trace(!1,e)}getDependents(e=!1){return this._trace(!0,e)}_trace(e,t){let n=this.getCoords(),r=[];for(let i=0;i<n.length;i++){if(!n[i])continue;let a=this.at(i),o=e?t?a.getDependents():a.getDirectDependents():t?a.getPrecedents():a.getDirectPrecedents();o&&o.getCount()>0&&r.push(...this._rehome(o))}return r.length===0?null:this._createRanges(r.length>1?PD(r):r)}_rehome(e){let t=this._internal.getSheet().getName(),n=e.getSheet()?.getName(),r=e.getCoords(),i=Array(r.length);for(let e=0;e<r.length;e++){let a=r[e],o=a.scope??n;i[e]=o===t?a.scope?{...a,scope:void 0}:a:{...a,scope:o}}return i}getVisible(e){let t=this._readCoordsByScope((t,n)=>t.getVisible(n,e));return t&&t.length!==0?this._createRanges(t,e):null}getFixed(e){let t=this.getCoords(),n=t.length,r=Array(n);for(let i=0;i<n;i++)r[i]=wD(t[i],e);return this._createRanges(r)}autoFit(e){return this._validateWrite(),this._writeByScope((t,n)=>t.autoFit(n,e),e),this}clear(e,t){return this._validateWrite(),this._writeByScope((n,r)=>n.clear(r,e,t),t),this}setValue(e,t){this._validateWrite();let r=this.getCoords();return r.length===1?(this._createRange(r[0]).setValue(e,t),this):(this.doBatch(()=>{for(let n=0;n<r.length;n++)this._createRange(r[n]).setValue(e,t)},{description:(0,n.messageKey)(`op.setValue`),...t}),this)}getStyle(){let e=this._byScope();if(!e)return this._internal.getStyle(this.getCoords());let t=e[0];return t.internal.getStyle(t.coords,void 0,(t,n)=>{this.doBatch(()=>{for(let r=0;r<e.length;r++)e[r].internal.updateStyles(e[r].coords,t,n)})})}merge(e){return this._validateWrite(),this._writeByScope((t,n)=>t.merge(n,e),typeof e==`object`?e:void 0),this}unmerge(e){return this._validateWrite(),this._writeByScope((t,n)=>t.unmerge(n,e),e),this}getMerges(){let e=this._getStickyOptions()?.ignoreHidden??!1;return this._readCoordsByScope((t,n)=>t.getMerges(n,e))}insert(e){if(this._validateWrite(),typeof e==`object`&&e?.span){if(this.getCount()!==1)throw new n.ExpectedError((0,n.t)(`error.address.singleRangeOnly`));return this.at(0).insert(e),this}return this._writeByScope((t,n)=>t.insertCells(n,e),typeof e==`object`?e:void 0),this}delete(e){if(this._validateWrite(),typeof e==`object`&&e?.span){if(this.getCount()!==1)throw new n.ExpectedError((0,n.t)(`error.address.singleRangeOnly`));return this.at(0).delete(e),this}return this._writeByScope((t,n)=>t.deleteCells(n,e),typeof e==`object`?e:void 0),this}async insertFrom(e,t){this._validateWrite();let n=await this._internal.insertFrom(this.getCoords(),e,t);return n?this._createRanges([n]):null}async copyFrom(e,t){let n=await this._internal.copyFrom(this.getCoords()[0],e,t);return n?this._createRanges([n]):null}isInvalidAny(){let e=this.getCoords(),t=e?e.length:0;if(t===0)return!0;for(let n=0;n<t;n++)if(e[n]===null)return!0;return!1}getSnapshot(e){return this._internal.getSnapshot(this.getCoords(),e)}getEntireRows(e,n){return this._createRanges(iD(this.getCoords(),this._internal.getSheet().getEntireCoords(),t.IRange.Axis.Column,e),n)}getEntireColumns(e,n){return this._createRanges(iD(this.getCoords(),this._internal.getSheet().getEntireCoords(),t.IRange.Axis.Row,e),n)}getRowHeaders(e){let t=this.getCoords();return this._internal.getSheet().getRowHeaders().getRanges(t,e)}getColumnHeaders(e){let t=this.getCoords();return this._internal.getSheet().getColumnHeaders().getRanges(t,e)}getDefaultShiftAxis(){return this._internal.getDefaultShiftAxis(this.getCoords()[0])}getCount(){return this.getCoords()?.length??0}get size(){let e=this.getCoords();if(!e)return 0;let t=0;for(let n of e)t+=(n.rowEnd-n.rowStart+1)*(n.colEnd-n.colStart+1);return t}get length(){return this.getCount()}getStats(e){return this._internal.getRangeStats(this.getCoords(),e)}getCounts(e){let t=this._getStickyOptions(),n=e??t?.features,r=t?.ignoreHidden??!1,i=this._byScope();if(!i)return this._internal.featureCounts(this.getCoords(),n,r);let a={};for(let e=0;e<i.length;e++){let t=i[e].internal.featureCounts(i[e].coords,n,r);for(let e of Object.keys(t))a[e]=(a[e]??0)+t[e]}return TE(a)}isContentful(e){let t=this._getStickyOptions(),n=e??t?.features;if(n===void 0){let e=this._byScope();if(!e)return this._internal.isContentful(this.getCoords(),t?.ignoreHidden??!1);for(let n=0;n<e.length;n++)if(e[n].internal.isContentful(e[n].coords,t?.ignoreHidden??!1))return!0;return!1}let r=this.getCounts(n),i=typeof n==`string`?[n]:n;for(let e=0;e<i.length;e++)if(r[i[e]]>0)return!0;return!1}getRowCount(){return this._internal.getSheet().getRowHeaders().getRanges(this.getCoords()).getHeaderCount()}getColumnCount(){return this._internal.getSheet().getColumnHeaders().getRanges(this.getCoords()).getHeaderCount()}isEntireRowsAny(){return this._internal.getSheet().getRowHeaders().getRanges(this.getCoords()).isEntireHeadersAny()}isEntireColumnsAny(){return this._internal.getSheet().getColumnHeaders().getRanges(this.getCoords()).isEntireHeadersAny()}isEntireRows(){return this._internal.getSheet().getRowHeaders().getRanges(this.getCoords()).isEntireHeaders()}isEntireColumns(){return this._internal.getSheet().getColumnHeaders().getRanges(this.getCoords()).isEntireHeaders()}isOverlapping(){let e=this._byScope();if(!e)return ty(this.getCoords());for(let t=0;t<e.length;t++)if(ty(e[t].coords))return!0;return!1}isSingleCell(){let e=this.getCoords();return e.length===1&&n.CoordUtils.isSingleCell(e[0])}isEqual(e,t){let n=this._internal.rangesToCoords(e,void 0,void 0,void 0,!0);return function(e,t){if(e===t)return!0;if(!e||!t)return!1;let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!CD(e[r],t[r]))return!1;return!0}(this.getCoords(),n)}at(e){let t=this.getCoords();if(e<0||e>t.length-1)throw new n.OutOfBoundsError;let r=this._cacheRanges,i=r[e];return i||(i=this._createRange(t[e]),r[e]=i),i}isReadOnly(){return this._readOnly!==null}isInvalid(){return!1}getAddress(e){return ru(this.getCoords(),this._internal.getSheet().getEntireCoords(),void 0,Wl)}getSheet(){return this._internal.getSheet()}doBatch(e,t){return this._internal.getSheet().doBatch(t=>e(t),typeof t==`string`?t:{description:(0,n.messageKey)(`op.rangesUpdate`),...t})}get[Symbol.toStringTag](){return`[SheetRanges]`}toString(){return this.getAddress()}get isICellRanges(){return!0}};function HE(){return!1}function UE(){return!0}function WE(){return null}function GE(){return si}function KE(){return 0}var qE=new zr(`InvalidRuntime`,null),JE={runtime:qE,sheet:null,styles:null,normalStyleRanged:null,nextContentful:(e,t,n)=>0,getProtection:()=>eD,getRange:e=>nD,getRanges:e=>new rD(null),opener:(e,t,n,r)=>Promise.resolve(!1)},YE=class extends cC{constructor(e=null){super(JE,null),this._invalidSheet=e}getSheet(){return this._invalidSheet}createCell(){return this}getType(){return t.ScalarType.Error}getWarnings(){return[Il]}getStyle(e=!1){return DE||=new sg().getNormal()}toString(){return`${this._coords?Ul(this._coords):Il} => ${this._v??`{blank}`}`}},XE=new YE,ZE=new WeakMap,QE,$E=()=>nD,eD=new o_(void 0,!0),tD=new no,nD={forEach:function(){},[Symbol.iterator]:GE,entries:GE,values:GE,select:Z,find:Z,calculate:Z,getCell:()=>XE,getFormula:WE,createFormula:Z,getValue:WE,getInteropValue:WE,setValue:Z,setFormula:Z,setValues:Z,updateCells:Z,getCells:()=>[[XE]],getStyle:Z,getValues:()=>[[null]],getValuesRange:()=>new GO(qE,tD,null,null),setComputedValues:Z,getInteropValues:()=>[[null]],getBounds:WE,getIntersect:$E,getUnion:$E,getDifferences:Z,getResizeBy:$E,getResizeTo:$E,getOffsetBy:$E,getOffsetTo:$E,getFixed:$E,getRangeAt:$E,getRowAt:$E,getRowAfter:$E,getRowBefore:$E,getRowBy:$E,getColumnAt:$E,getColumnAfter:$E,getColumnBefore:$E,getColumnBy:$E,getTopLeft:$E,getBottomRight:$E,getUsedRange:$E,getEntireRows:$E,getEntireColumns:$E,getSurrounding:Z,getExtended:Z,isEntireRows:HE,isEntireColumns:HE,isEntireRange:HE,isSingleCell:UE,isEqual:HE,size:0,sort:Z,sortAt:Z,filter:Z,textToColumns:Z,removeDuplicates:Z,clear:Z,setHyperlink:Z,setComments:Z,merge:Z,unmerge:Z,getMerges:Z,getConditionalFormats:Z,getDataValidations:Z,getTables:Z,getMovables:Z,insert:Z,insertFrom:Z,delete:Z,addAutoTable:Z,addTable:Z,getDefaultShiftAxis:Z,getDefaultSortCriteria:Z,autoFill:Z,autoFit:Z,getSnapshot:Z,copyFrom:Z,doBatch:Z,createSparseBuilder:Z,getRowHeaders:Z,getColumnHeaders:Z,getCounts:Z,getRegions:Z,getDirectPrecedents:Z,getDirectDependents:Z,getPrecedents:Z,getDependents:Z,getCount:KE,getStats:()=>(QE||=new UO(qE,tD,null,[tD.getMaxCoords()]),QE),isContentful:HE,addListener:Z,addWatch:Z,getColumnStart:KE,getRowStart:KE,getColumnEnd:KE,getRowEnd:KE,getRowCount:KE,getColumnCount:KE,getVisible:Z,getCoords:WE,isEmpty:UE,toString:()=>Il,getAddress:()=>Il,isInvalid:UE,getSheet:WE,isReadOnly:UE,isICellRange:!0},rD=class extends VE{constructor(e,t){super(null,e,t)}getMerges(){return Z()}getStyle(){return Z()}find(){return si}[Symbol.iterator](){return si}entries(){return si}calculate(){return Z()}clear(){return Z()}merge(){return Z()}unmerge(){return Z()}insert(){return Z()}delete(){return Z()}insertFrom(){return Z()}getSnapshot(){return Z()}copyFrom(){return Z()}getEntireRows(){return Z()}getEntireColumns(){return Z()}getRowHeaders(){return Z()}getColumnHeaders(){return Z()}getDefaultShiftAxis(){return Z()}getFlattened(){return Z()}getVisible(){return Z()}getAddress(){return Z()}getStats(){return QE}getCounts(){return Z()}getRegions(){return Z()}getDirectPrecedents(){return Z()}getDirectDependents(){return Z()}getPrecedents(){return Z()}getDependents(){return Z()}isContentful(){return Z()}getRowCount(){return 0}getColumnCount(){return 0}isReadOnly(){return!0}isOverlapping(){return!1}isEntireRows(){return!1}isEntireRowsAny(){return!1}isEntireColumns(){return!1}isEntireColumnsAny(){return!1}isInvalidAny(){return!1}isSingleCell(){return!0}isEqual(){return!1}getFixed(){return Z()}getCount(){return 0}at(){return Z()}doBatch(){return Z()}getCoords(){return null}isInvalid(){return!0}toString(){return Il}select(){return Z()}addListener(){return Z()}};function iD(e,n,r,i=!1){let a=r===t.IRange.Axis.Row,o=e.length,s=Array(o);for(let t=0;t<o;t++){let r=e[t];if(a){let e=r.colEnd-r.colStart+1;s[t]={...r,colStart:i?r.colEnd+1:r.colStart,rowStart:n.rowStart,colEnd:i?r.colEnd+e:r.colEnd,rowEnd:n.rowEnd}}else{let e=r.rowEnd-r.rowStart+1;s[t]={...r,colStart:n.colStart,rowStart:i?r.rowEnd+1:r.rowStart,colEnd:n.colEnd,rowEnd:i?r.rowEnd+e:r.rowEnd}}}return s}function aD(e,t,n){let r=t,i=e.length,a=r.rowStart,o=r.rowEnd;for(let t=0;t<i;t++){let r=e[t];if((r.rowStart<=a&&r.rowEnd>=o)!==n)return!n}return n}function oD(e,t,n){let r=t,i=e.length,a=r.colStart,o=r.colEnd;for(let t=0;t<i;t++){let r=e[t];if((r.colStart<=a&&r.colEnd>=o)!==n)return!n}return n}function sD(e){return e._getInternal()}function cD(e,t){if(!t)return e;let n=e.getSheet();if(t===n.getName())return e;let r=n.getWorkbook();if(!r)return null;let i=r.getSheets().getItems({name:t,visibility:ul.Visibility.VeryHidden})?.[0];return i?sD(i):null}function lD(e,t){if(!e?.scope||!uD(e.scope,t))return e;let n={...e};return delete n.scope,n}function uD(e,t){return e===t.getName()||e===t.getId()}function dD(e,t=null,n=null,r=Il){if(!e&&!n)return nD;let i=function(e){if(!e)return XE;let t=ZE.get(e);return t||(t=new YE(e),ZE.set(e,t)),t}(e);return Object.freeze({...nD,getSheet:()=>e,getCell:()=>i,getCells:()=>[[i]],bounds:()=>n,getAddress:()=>r,toString:()=>n?ql(n,t):r})}var fD=/(\d)\*\*([-+]?\d)/g,pD=[` `,`\xA0`,` `,` `],mD=RegExp(`([0-9])[`+pD.join(``)+`](?=[0-9])`,`g`),hD=/[^\s#0.,%E+\-_();[\]]/,gD=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),_D=/^[^\w\s+\-().,%]{1,3}/;function vD(e,n,r,i){let a=function(e,t){let n=e.replace(fD,`$1E$2`);return pD.includes(t.group)&&(n=n.replace(mD,`$1${t.group}`)),n}(n.trim(),r);if(!function(e,t){let n=e.trim();if(n===``||(n.includes(`(`)||n.includes(`)`))&&(!n.startsWith(`(`)||!n.endsWith(`)`)||(n=n.slice(1,-1).trim(),n.includes(`(`)||n.includes(`)`))))return!1;let r=()=>{let e=n.match(_D);if(e)return void(n=n.slice(e[0].length).trimStart());let t=[...n].reverse().join(``).match(_D);t&&(n=n.slice(0,n.length-t[0].length).trimEnd())};r(),(n.startsWith(`+`)||n.startsWith(`-`))&&(n=n.slice(1).trimStart(),r()),n.endsWith(`%`)&&(n=n.slice(0,-1).trimEnd());let i=gD(t.decimal),a=gD(t.group),o=t.group?`\\d+|\\d{1,3}(?:${a}\\d{3})+`:`\\d+`;return RegExp(`^(?:(?:${o})(?:${i}\\d*)?|${i}\\d+)(?:[eE][+-]?\\d+)?$`).test(n)}(a,r))return!1;let o=function(e,t={}){let n=Et(t.locale||``)||Ot,r=n.decimal,i=[...nn[r]||[en,tn]];i.includes(n.group)||n.group===Zt||n.group===r||i.push(n.group);let a=``,o=``,s=1,c=``,l=!1,u=!1,d=!1,f=!1,p=!1,m=null,h=!1,g=0,_=[Zt,Qt,$t,`+`,`%`,`(`,`-`].concat(_t);for(;_.includes(e[g]);){let t=e[g];if(t===`-`){if(l||u)return null;l=!0,s=-1}else if(vt.test(t)){if(p)return null;p=!0,m=t}else if(t===`(`){if(u||l)return null;u=!0,s=-1}else if(t===`%`){if(f)return null;f=!0}g++}let v,y=!1;if(e[g]===r||rn(e[g]))for(;g<e.length;){let t=e[g];if(!v&&i.includes(t))v=t;else if(!(v&&v===t))if(t===r){if(y)break;a+=`.`,y=!0}else{if(!rn(t))break;a+=t}g++}if(e[g]===`e`||e[g]===`E`){o+=e[g],g++,e[g]!==`+`&&e[g]!==`-`||(o+=e[g],g++);let t=g;for(;rn(e[g]);)o+=e[g],g++;if(t===g)return null}let b=[Zt,Qt,$t,`%`,`$`,`)`].concat(_t);for(;b.includes(e[g]);){let t=e[g];if(vt.test(t)){if(p)return null;p=!0,m=t,h=!0}else if(t===`)`){if(d||!u)return null;d=!0}else if(t===`%`){if(f)return null;f=!0}g++}if(g!==e.length)return null;let x=parseFloat(a+o);if(!isFinite(x))return null;if(o){if(f||p)return null;c=`0.00E+00`}else if(f){if(p)return null;c=a.includes(`.`)?`0.00%`:`0%`,x*=.01}else if(p){let e=a.includes(`.`)?`#,##0.00`:`#,##0`;c=h?e+m:m+e}else v&&(c=a.includes(`.`)?`#,##0.00`:`#,##0`);let S={v:x*s};return c&&(S.z=c),S}(t.Scalar.truncateNumberText(a),{locale:r.tag});if(!o||typeof o.v!=`number`)return!1;i.value=o.v;let s=o.z;if(!s)return!0;if(s.includes(`%`))return i.style=e=>{if(!e.getNumberFormat().includes(`%`))return{numberFormat:s}},!0;let c=s.match(hD)?.[0];if(c){let e=s.includes(`.`)?`${c}#,##0.00`:`${c}#,##0`;return i.style=t=>{if(!t.getNumberFormat().includes(c))return{numberFormat:`${e}_);[Red](${e})`}},!0}return i.style={numberFormat:s},!0}function yD(e,t,r,i){if(t===void 0)throw Error(`A value is required to create a cell from a text.`);let a=i??{value:null};if((t=n.CommonUtils.castToString(t)).trim()===``)return a;let s=vo(t);if(s!==void 0)return a.value=s,a;if(t.startsWith(`'`)&&!r?.ignoreQuotePrefix)return a.style={quotePrefix:!0},a.value=t.substring(1,t.length),a;if(a.value=t,vD(0,t,e.getLocaleProfile(),a)||function(e,t,n){if(t.startsWith(` `))return!1;let r=null,i=null;try{i=Or(e,t,!0,!0);let n=t;if(i){let e=i.leadingText.trim(),t=i.trailingText.trim();if(e.length>0&&t.length>0)return!1;n=e.length>0?e:t}n.trim().length>0&&(r=kr(e,n,null,!1,!0)),!r&&i&&(i.leadingText.trim().length>0||i.trailingText.trim().length>0)&&(i=null)}catch{}if(!r&&!i)return!1;n.style=t=>{let n=t.getNumberFormat(),a=Mr(n);if(r&&a)return;let o=Nr(n);if(!i||!o){if(r&&i&&!a&&!o?n=`m/d/yyyy h:mm`:r&&!a?n=r.numberFormat:i&&!o&&(n=i.numberFormat),i&&i.parsed.serial>1&&(n=`General`),r&&!a&&!i){let t=cl.Parser.formatValue(e,r.numberFormat,r.asSerialDate),i=e.getLocale();t===new Intl.DateTimeFormat(i).format(r.asJSDate)?n=`Short Date`:t===new Intl.DateTimeFormat(i,{dateStyle:`full`}).format(r.asJSDate)?n=`Long Date`:t===new Intl.DateTimeFormat(i,{timeStyle:`medium`}).format(r.asJSDate)&&(n=`Long Time`)}return{numberFormat:n}}};let a=0;return r&&(a+=r.asSerialDate),i&&(a+=i.parsed.serial),n.value=a,!0}(e,t,a))return a;let c=yo(t);return c?(a.value=c,a):(a.value=t,I(t)?a.hyperlink=t:ee(t)&&(a.hyperlink=t,a.hyperlink.toLowerCase().startsWith(`mailto:`)||(a.hyperlink=`mailto:${a.hyperlink}`)),t.includes(`
|
|
33
|
+
`)&&(a.style={...a?.style,alignment:{overflow:o.Overflow.Wrap}}),a)}function bD(e){let t=[];return e.getUsedRange().forEachSpan((e,n)=>{let r=n.getCoords();e===0&&t.push(r)},{includeStyles:!1}),Kr(qr(t))}function xD(e){if(!e)return null;let t=null,n=e.length;for(let r=0;r<n;r++){let n=e[r].value;if(!n)continue;t||={};let i=Object.keys(n),a=i.length;for(let e=0;e<a;e++){let r=i[e],a=t[r];if(a)if(Array.isArray(a)){let e=n[r];if(Array.isArray(e)){let t=e.length;for(let n=0;n<t;n++)a.push(e[n])}else a.push(e)}else t[r]=[a,n[r]];else t[r]=n[r]}}return t}function SD(e,n,r,i=!1,a=!1){let o,s=r?.includeMergeOverflow??!1;if(i)o=!0;else if(a||s){let e={};a&&(e[q.Type.DateFormat]=!1,e[q.Type.Table]=!1),s&&(e[q.Type.Merge]=!1),o=e}let c=r?.axis??t.IRange.Axis.Row,l=r?.maxSize??1e4,u=e({includeEmpty:!0,axis:c,reverse:r?.reverse,ignoreHidden:r?.ignoreHidden,includeMergeOverflow:s,searchTypes:o,bounds:n,reuseContext:!0}),d=c!==t.IRange.Axis.Row,f=[],p,m=-1,h=null,g=0;for(p=u.next();!p.done;){if(g>l)throw Error(Xy(l));let e=p.value,t=e.context.getCoords(),n=d?t.colIndex:t.rowIndex;n!==m&&(h=[],f.push(h),m=n);let r=e.value;if(i)r=e.context.getCell();else if(a&&r!==null){let t=e.context.getInteropValue();t&&(r=t)}h.push(r),p=u.next(),g++}return f}function CD(e,t){return e===t||!(!e||!t)&&e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd&&e.colStart===t.colStart&&e.colEnd===t.colEnd&&e.$rowStart===t.$rowStart&&e.$rowEnd===t.$rowEnd&&e.$colStart===t.$colStart&&e.$colEnd===t.$colEnd&&e.scope===t.scope}function wD(e,t){if(!e)return;let n={...e};return t?typeof t==`boolean`?(n.$colStart=t,n.$rowStart=t,n.$colEnd=t,n.$rowEnd=t,n):(typeof t.colStart==`boolean`&&(n.$colStart=t.colStart),typeof t.rowStart==`boolean`&&(n.$rowStart=t.rowStart),typeof t.colEnd==`boolean`&&(n.$colEnd=t.colEnd),typeof t.rowEnd==`boolean`&&(n.$rowEnd=t.rowEnd),n):n}var TD=class{constructor(e,r,i){this._c=null;let a=this;this.setState=e=>{let n=e[0],i=e[1],a=e[2];if(r&&r.includeMergeOverflow&&a&&a.merge){let e=r.bounds,t=a.merge.getCoords(),o=!1,s=t.colStart,c=t.rowStart,l=e.colStart,u=e.rowStart,d=n.colIndex,f=n.rowIndex;!o&&s<l&&c>=u&&d===l&&f===c&&(o=!0),!o&&c<u&&s>=l&&f===u&&d===s&&(o=!0),!o&&c<u&&s<l&&f===u&&d===l&&(o=!0),o&&(i=a.merge.tvTl())}a&&Object.keys(a).length===0&&(a=null);let o=i;return i===void 0?(this._t=t.ScalarType.Null,this._v=null,o=null):(this._t=WD(o),this._v=o),this._r=a,this._p=e[3],this._n=e[4],this._c=n,o},this.clear=()=>{a._c=null},this.context={getCoords(){let e=a._c;if(!e)throw Error((0,n.t)(`error.sheet.iteratorClosed`));return e},getCell(){let e=a._c;if(!e)throw Error((0,n.t)(`error.sheet.iteratorClosed`));let t=a._r,o=!0!==r?.searchTypes||t?.merge||r?.injectReferences?null:i.renderCellCache,s;if(o){s=32768*e.rowIndex+e.colIndex;let t=o.get(s);if(t)return t}let c=a._t,l=a._v,u=new cC(i,o?{rowIndex:e.rowIndex,colIndex:e.colIndex}:e,c,l,t,a._p,a._n);return o&&o.set(s,u),u},getType:()=>a._t,getInteropType(){let e=a._t;return e===t.ScalarType.Number&&a._r?.dateFormat?t.InteropScalarType.Date:e},getInteropValue(){let e=a._t,n=a._v;return e===t.ScalarType.Number&&a._r?.dateFormat?$D(i.runtime,n,a._t,t.InteropScalarType.Date,!1):n},getAddress(e,t=!1){if(!a.context)throw Error((0,n.t)(`error.sheet.iteratorClosed`));let r=a._c;return e&&(r={...a._c,...e}),i.getRange(r).getAddress(t)},getInjectedReference(e){let t=a._r;if(!t)return;let n=t[e];return n===void 0?void 0:n}}}};function ED(e,r){let i=t.IRange.Direction.Down,a=0,o={...e};if(r.colStart<e.colStart?(i=t.IRange.Direction.Left,a=e.colStart-r.colStart,o.colStart=r.colStart):r.colEnd>e.colEnd?(i=t.IRange.Direction.Right,a=r.colEnd-e.colEnd,o.colEnd=r.colEnd):r.rowStart<e.rowStart?(i=t.IRange.Direction.Up,a=e.rowStart-r.rowStart,o.rowStart=r.rowStart):r.rowEnd>e.rowEnd||r.rowEnd<e.rowEnd?(i=t.IRange.Direction.Down,a=r.rowEnd-e.rowEnd,o.rowEnd=r.rowEnd):r.colEnd<e.colEnd?(i=t.IRange.Direction.Right,a=r.colEnd-e.colEnd,o.colEnd=r.colEnd):r.rowStart>e.rowStart?(i=t.IRange.Direction.Up,a=e.rowStart-r.rowStart,o.rowStart=r.rowStart):r.colStart>e.colStart&&(i=t.IRange.Direction.Left,a=e.colStart-r.colStart,o.colStart=r.colStart),!ka(o,r))throw new n.ExpectedError(((e,t)=>(0,n.t)(`error.sheet.autofillInvalidDestination`,{template:e,destination:t}))(ql(e),ql(r)));return{direction:i,amount:a}}function DD(e,t){if(e||t)return e&&t?{...e,...t}:e||t}function OD(e,r,i,a=t.IRange.Axis.Row){let o=e.getRange(r,{ignoreHidden:a}),s=o.forEach((e,t)=>({break:t.getCoords()}),{features:[],axis:a});if(!s)return;let c=a===t.IRange.Axis.Row,l=new Map,u,d=new Map,f=null,p=c?s.rowIndex:s.colIndex;o.forEach((e,t)=>{let n=t.getCoords(),r=c?n.colIndex:n.rowIndex;if((c?n.rowIndex:n.colIndex)===p)l.set(r,e),u=t.getType();else{let e=t.getType();u!==e&&(f=!0)}if(f)return Af},{axis:a===t.IRange.Axis.Row?t.IRange.Axis.Column:t.IRange.Axis.Row,features:[],includeEmpty:!0,address:{colStart:r.colStart,rowStart:r.rowStart,colEnd:c?r.colEnd:r.colStart+1,rowEnd:c?r.rowStart+1:r.rowEnd}});let m={colStart:s.colIndex,rowStart:s.rowIndex,colEnd:r.colEnd,rowEnd:r.rowEnd};if(m.colStart>m.colEnd||m.rowStart>m.rowEnd||n.CoordUtils.isSingleCell(m))return null;if(f){let e=c?m.colStart:m.rowStart;l.forEach((t,n)=>{n<e||d.set(n-e,t+``)})}let h=Math.min(Math.max(i?.colIndex??0,m.colStart),m.colEnd),g=Math.min(Math.max(i?.rowIndex??0,m.rowStart),m.rowEnd),_=a!==t.IRange.Axis.Row,v={...Qo.DefaultRangeOptions,hasHeader:f,axis:a,sorts:[{index:_?g-m.rowStart:h-m.colStart}]},y=m;return f&&(y={colStart:_?m.colStart+1:m.colStart,rowStart:_?m.rowStart:m.rowStart+1,colEnd:m.colEnd,rowEnd:m.rowEnd}),{coords:m,options:v,headers:d,sortCoords:y}}function kD(e,n,r=null){return ai.fromArray(e,(e,r)=>{let i=e?.[1];if(i==null)return null;let a=e[0]??null;switch(i){case t.ScalarType.String:a=n.getById(a);break;case t.ScalarType.Error:a=t.FormulaError.getBuiltInByCode(a)??t.FormulaError.BuiltIn.Unknown;case t.ScalarType.RichData:}return a},(e,r)=>{let i=WD(e),a=e;switch(i){case t.ScalarType.String:a=n.add(a);break;case t.ScalarType.Error:{let e=a;if(typeof e?.getCode!=`function`)throw Error(`Value is not a valid Error type: '${String(a)}' (${typeof a}). Raw NaN/Infinity must be converted to a FormulaError before reaching storage.`);a=e.getCode();break}case t.ScalarType.RichData:}return[a,i]},r)}function AD(e,n){let r=[],i=n?t.IRange.Axis.Column:t.IRange.Axis.Row,a=e.length;for(let t=0;t<a;t++){let a=e[t],o=a[0],s=a[1],c=s.length;for(let e=0;e<c;e++){let t=s[e],a=t[0],c=t[1].length-1,l={colStart:n?o:a,rowStart:n?a:o,colEnd:n?o:a+c,rowEnd:n?a+c:o,value:new Bu({colStart:n?o:a,rowStart:n?a:o,colEnd:n?o:a+c,rowEnd:n?a+c:o},i)};r.push(l)}}return r}function jD(e,t,r){if(!e||e.length===0||!t)return n.CommonUtils.EmptyArray;let i=[...e],a=i.length,o=r.colStart,s=r.rowStart,c=r.colEnd,l=r.rowEnd;for(let e=0;e<a;e++){let n={...i[e]},r=n,a=t.search(n),u=n.rowStart<=s&&n.rowEnd>=l,d=n.colStart<=o&&n.colStart>=c,f=a.length;for(let e=0;e<f;e++){let t=a[e];u||(r.colStart=Math.min(r.colStart,t.colStart),r.colEnd=Math.max(r.colEnd,t.colEnd)),d||(r.rowStart=Math.min(r.rowStart,t.rowStart),r.rowEnd=Math.max(r.rowEnd,t.rowEnd))}i[e]=r}return i}function MD(e,n,r){if(!e||e.length===0)return null;let i=e.length,a,o=-1,s=[],c=n===t.IRange.Axis.Column,l=c?r.rowStart:r.colStart,u=c?r.rowEnd:r.colEnd,d=c?t.IRange.AxisSelection.Column:t.IRange.AxisSelection.Row;for(let t=0;t<i;t++){let n=ju(e[t],c),r=n?.value.s;if(!n||r===void 0){o=-1;continue}let i=n.min,f=n.max;r!==o||a.colEnd+1!==i?(a={colStart:c?i:l,rowStart:c?l:i,colEnd:c?f:u,rowEnd:c?u:f,value:{axes:d,index:r}},o=r,s.push(a)):a.colEnd=f}return s.length===0?null:s}function ND(e,t,r,i,a){let o=e,s=r?t.colStart:t.rowStart,c=r?a.colEnd:a.rowEnd,l=r?e.colIndex:e.rowIndex;if(i>0&&l>s||i<0&&s<=l){o={...e};let t=Math.max(l+i,s);if(o[r?`colIndex`:`rowIndex`]=t,l>c)throw new n.ExpectedError((0,n.t)(`error.sheet.insertOobFreeze`))}return o}function PD(e,n=t.IRange.AxisSelection.Both){let r=n===t.IRange.AxisSelection.Both,i=r?2**53-1:1,a=Pa(e,i,n===t.IRange.AxisSelection.Row?t.IRange.Axis.Column:t.IRange.Axis.Row);if(r){let n=Pa(e,i,t.IRange.Axis.Column);n.length<a.length&&(a=n)}return a}function FD(e,t,n,r,i){let a=e._p?.border;if(!a)return;let o,s,c={onIntersect:(e,t)=>{if(!e)return e;let n=e.value?._p?.border;if(!n)return e;let i;return o===W.Edge.Left?n.left&&e.colStart===s&&(i={border:{left:null}}):o===W.Edge.Top?n.top&&e.rowStart===s&&(i={border:{top:null}}):o===W.Edge.Right?n.right&&e.colEnd===s&&(i={border:{right:null}}):o===W.Edge.Bottom&&n.bottom&&e.rowEnd===s&&(i={border:{bottom:null}}),i?{...t,value:r(e.value,i)}:e}};a.right&&t.colEnd<i.colEnd&&(o=W.Edge.Left,s=t.colEnd+1,n.insertNonOverlapping({colStart:s,rowStart:t.rowStart,colEnd:s,rowEnd:t.rowEnd,value:void 0},c)),a.bottom&&t.rowEnd<i.rowEnd&&(o=W.Edge.Top,s=t.rowEnd+1,n.insertNonOverlapping({colStart:t.colStart,rowStart:s,colEnd:t.colEnd,rowEnd:s,value:void 0},c)),a.left&&t.colStart>i.colStart&&(o=W.Edge.Right,s=t.colStart-1,n.insertNonOverlapping({colStart:s,rowStart:t.rowStart,colEnd:s,rowEnd:t.rowEnd,value:void 0},c)),a.top&&t.rowStart>i.rowStart&&(o=W.Edge.Bottom,s=t.rowStart-1,n.insertNonOverlapping({colStart:t.colStart,rowStart:s,colEnd:t.colEnd,rowEnd:s,value:void 0},c))}function ID(e,t,n,r,i){let a=(e,t)=>({...t,value:null}),o={...i,value:null};t.insertNonOverlapping(o,{onIntersect:a}),n.insertNonOverlapping(o,{onIntersect:a}),r.insertNonOverlapping(o,{onIntersect:a});let s=e.search(i);for(let e=0;e<s.length;e++){let i=s[e],a=i.value;if(!a)continue;let o=a.splitByFeature();o.border&&t.insertNonOverlapping({...i,value:o.border}),o.fill&&n.insertNonOverlapping({...i,value:o.fill}),o.content&&r.insertNonOverlapping({...i,value:o.content})}}function LD(e,t){let n=!1;for(let r of e)if(t&&r===t)n=!n;else if(!n){if(r===`,`)return`,`;if(r===` `)return` `}}function RD(e,t,n,r){let i=[],a=``,o=!1,s=t.length;for(let r=0;r<e.length;r++){let c=e[r];n&&c===n?o=!o:o||e.slice(r,r+s)!==t?a+=c:(i.push(a),a=``,r+=s-1)}i.push(a);let c=r?i.map(e=>e.length>0?e:null):i.filter(e=>e.length>0);return c.length>0?c:[null]}function zD(e,t,n){let r=typeof t;if(r===`number`)return``+e+``+t.toString();if(r===`string`){let r=t,i=n.get(r);return i===void 0&&(i=r.toLowerCase(),n.set(r,i)),``+e+``+i}return r===`boolean`?``+e+``+(t?`1`:`0`):t==null?``+e+`\0`:``+e+``+t.getCode()}var BD=Object.freeze({colStart:0,rowStart:0,colEnd:2**14-1,rowEnd:2**20-1});function VD(){return BD}var HD=Object.freeze({colStart:0,rowStart:0,colEnd:2**31-2,rowEnd:2**31-2});function UD(){return HD}var WD=(e,r=!1)=>typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?t.ScalarType.Error:t.ScalarType.Number:typeof e==`string`?t.ScalarType.String:typeof e==`boolean`?t.ScalarType.Boolean:e?.isFormulaError?t.ScalarType.Error:e===null?t.ScalarType.Null:n.CommonUtils.isObject(e)&&e.hasOwnProperty(`getType`)&&typeof e.getType()==`string`?t.ScalarType.RichData:r&&ir(e,!0)?t.InteropScalarType.Date:e===void 0?(console.warn(`undefined`),t.ScalarType.Null):null,GD=new Map([[t.ScalarType.Null,`any`],[t.ScalarType.Number,`number`],[t.ScalarType.String,`string`],[t.ScalarType.Boolean,`boolean`],[t.ScalarType.Error,`FormulaError`],[t.ScalarType.RichData,`richData`],[t.InteropScalarType.Date,`Date`],[`*`,`Scalar`]]),KD=new Map([[`p`,`IReferenceRange`],[`r`,`IRange`],[`m`,`[][]`],[`*`,`any`]]);function qD(e){let t=e.scalar,n=e.range,r=t?GD.get(t)??`InvalidScalar`:``,i=n?KD.get(n)??`InvalidRange`:``,a;return a=t&&n?n===`m`?`${r}${i}`:`${i}<${r}>`:r||i,a+=`[]`.repeat(e.arrayDepth??0),a}var JD={axis:t.IRange.Axis.Row},YD=22250738585072014e-324;function XD(e,t){if(e===0)return`0`;if(!Number.isFinite(e))return e.toString();let n=e<0,[r,i]=Math.abs(e).toExponential(14).split(`e`),a=r.replace(`.`,``),o=a.length;for(;o>1&&a.charCodeAt(o-1)===48;)o--;a=a.slice(0,o);let s=parseInt(i,10),c=t.getLocaleProfile().decimal,l=null;if(s>=0){let e=s+1;a.length>e?l=a.slice(0,e)+c+a.slice(e):e<=20&&(l=a.padEnd(e,`0`))}else{let e=-s-1;2+e+a.length<=20&&(l=`0`+c+`0`.repeat(e)+a)}if(l===null){let e=a.length>1?a[0]+c+a.slice(1):a,t=Math.abs(s);l=e+(s<0?`E-`:`E+`)+(t<10?`0`+t:String(t))}return n?`-`+l:l}function ZD(e,n){let r=n.trim();if(r===``)return t.FormulaError.BuiltIn.Value;let i=Number(t.Scalar.truncateNumberText(r));return Number.isFinite(i)?pr(i,e.isDate1904())??t.FormulaError.BuiltIn.Value:t.FormulaError.BuiltIn.Value}function QD(e,n,r){if(!r)switch(n){case t.InteropScalarType.Number:return null;case t.InteropScalarType.String:r=dO;break;case t.InteropScalarType.Boolean:r=fO;break;case t.InteropScalarType.Date:r=pO;break;case t.InteropScalarType.Null:r=mO;break;case t.InteropScalarType.Error:case t.InteropScalarType.RichData:default:return null}let i=!1,a=!1,o=!1,s=!1,c=r.length;for(let e=0;e<c;e++)switch(r[e]){case t.ScalarType.Number:i=!0;break;case t.ScalarType.String:a=!0;break;case t.ScalarType.Boolean:o=!0;break;case t.ScalarType.RichData:break;case t.ScalarType.Null:s=!0}return n===t.ScalarType.Number?(n,r)=>{if(r===t.ScalarType.Error)return n;switch(r){case t.ScalarType.Null:return s?0:null;case t.ScalarType.String:if(!a)return null;let r=n;if(r.length>255)return t.FormulaError.BuiltIn.Value;let i=Number(t.Scalar.truncateNumberText(r));if(i===0&&r.trim()===``)return t.FormulaError.BuiltIn.Value;if(isNaN(i)){let t=yD(e,r);t&&(i=t.value)}return!Number.isFinite(i)||Math.abs(i)>999999999999999e293?t.FormulaError.BuiltIn.Value:i;case t.ScalarType.Boolean:return o?+!!n:null}return null}:n===t.ScalarType.String?(n,r)=>{if(r===t.ScalarType.Error)return n;switch(r){case t.ScalarType.Number:return i?XD(n,e):null;case t.ScalarType.Boolean:return o?go(n):null;case t.ScalarType.Null:return s?``:null}return null}:n===t.InteropScalarType.Boolean?(e,n)=>{if(n===t.ScalarType.Error)return e;switch(n){case t.ScalarType.Number:return i?e!==0:null;case t.ScalarType.String:if(!a)return null;let n=e;return n===`TRUE`||n!==`FALSE`&&(n=n.toUpperCase(),n===`TRUE`||n!==`FALSE`&&null);case t.ScalarType.Null:return!s&&null}return null}:n===t.InteropScalarType.Date?(n,r)=>{if(r===t.ScalarType.Error)return n;switch(r){case t.ScalarType.Number:return i?pr(n,e.isDate1904())??t.FormulaError.BuiltIn.Value:null;case t.ScalarType.String:if(!a)return null;let r=Pr(e,n);return r===null?ZD(e,n):pr(r,e.isDate1904());case t.ScalarType.Null:return s?pr(0,e.isDate1904()):null}return null}:n===t.ScalarType.Null?(e,n)=>{if(n===t.ScalarType.Error)return e;switch(n){case t.ScalarType.Number:return i?0:null;case t.ScalarType.String:return a?``:null;case t.ScalarType.Boolean:return!o&&null}return null}:n===t.InteropScalarType.RichData?(e,t)=>null:null}function $D(e,n,r,i=t.ScalarType.Number,a=!1){if(r===i||!i)return r===t.ScalarType.Number&&(n=sO(n,null,`number`)),n;if(!0===n?.isLambda&&i!==`l`&&i!==`*`)return t.FormulaError.BuiltIn.Value;if(i===t.ScalarType.Number){switch(r){case t.ScalarType.Null:return 0;case t.ScalarType.String:if(n.length>255)return t.FormulaError.BuiltIn.Value;let r=0;try{let t=yD(e,n);r=t&&typeof t.value==`number`?t.value:NaN}catch{}return!Number.isFinite(r)||Math.abs(r)>999999999999999e293?t.FormulaError.BuiltIn.Value:r;case t.ScalarType.Boolean:return a?+!!n:t.FormulaError.BuiltIn.Value;case t.InteropScalarType.Date:return mr(n,e.isDate1904())??t.FormulaError.BuiltIn.Value;case t.ScalarType.Error:return n}return n.toString()}if(i===t.ScalarType.String){switch(r){case t.ScalarType.Null:return``;case t.ScalarType.Number:return XD(n,e);case t.ScalarType.Boolean:return go(n);case t.ScalarType.Error:return n}return n}if(i===t.InteropScalarType.Boolean){switch(r){case t.ScalarType.Null:return!1;case t.ScalarType.Number:return n!==0;case t.ScalarType.String:let e=n.toUpperCase();return e===`TRUE`||e!==`FALSE`&&t.FormulaError.BuiltIn.Value;case t.ScalarType.Error:return n}return t.FormulaError.BuiltIn.Value}if(i===t.InteropScalarType.Date){switch(r){case t.ScalarType.Null:return pr(0,e.isDate1904());case t.ScalarType.Number:return pr(n,e.isDate1904())??t.FormulaError.BuiltIn.Value;case t.ScalarType.String:let r=Pr(e,n);return r===null?ZD(e,n):pr(r,e.isDate1904());case t.ScalarType.Error:return n}return t.FormulaError.BuiltIn.Value}return i===t.InteropScalarType.RichData?null:t.FormulaError.BuiltIn.Value}var eO=(e,n,r=null)=>{let i=Array.isArray(n),a=e.next();for(;!a.done;){let o=a.value;if(r===`reject`&&t.FormulaError.isError(o)||o instanceof t.FormulaError.Value)return o;i?n.push(o):n.values[n.length++]=o,a=e.next()}};function tO(e){let t=e;for(;Array.isArray(t);){if(t.length>1)return!1;t=t[0]}if(!t)return!0;if(t.isIRange&&t.size!==1)return!1;if(t.colStart!==void 0){let e=t;if(e.colStart!==e.colEnd||e.rowStart!==e.rowEnd)return!1}return!0}function nO(e){if(!Array.isArray(e))return!1;let t=e[0];return!(!t||typeof t!=`object`)&&(!!t.isIRange||t.colStart!==void 0)}function rO(e,n,r,i=!1,a,o,s=null){let c=r;if(c===null)return;if(c.colStart!==void 0){let t=e.getReference?.(c);o&&(t=t.toType(o)),c=t}if(c.isIRange){let e=c,r=s===`reject`?`throw`:`value`;try{return eO(e.values({type:o,onError:r,...JD}),n,s)}catch(e){if(t.FormulaError.isError(e))return e;throw e}}let l=Array.isArray(n);if(Array.isArray(c)){let r=c.length;for(let u=0;u<r;u++){let r=c[u];if(r!==null)if(Array.isArray(r)){let t=rO(e,n,r,i,a,o,s);if(t)return t}else{if(s===`reject`&&t.FormulaError.isError(r)||o&&(r=$D(e.getRuntime(),r,WD(r,!0),o,i),r instanceof t.FormulaError.Value))return r;l?n.push(r):n.values[n.length++]=c}}return}return s===`reject`&&t.FormulaError.isError(c)||o&&(c=$D(e.getRuntime(),c,WD(c,!0),o,i),c instanceof t.FormulaError.Value)?c:void(l?n.push(c):n.values[n.length++]=c)}function iO(e,n,r,i,a,o=null){if(r===`p`){let e=n;if(!e||!e.isIReferenceRange){if(t.FormulaError.isError(n))return n;let e=n;if(e?.isIRange&&e.size===1){let n=e.getValueAt(0,0);if(t.FormulaError.isError(n))return n}return t.FormulaError.BuiltIn.Value}if(o===`reject`&&e.hasError()){let t=e.errors().next();if(!t.done)return t.value.value}return i&&(e=o===`accept`?e.toType({type:i,onError:`value`}):e.toType(i)),e}let s;try{n?.isIReferenceRange?(s=n,i&&(s=o===`accept`?s.toType({type:i,onError:`value`}):s.toType(i))):o===`accept`?(s=t.FormulaError.isError(n)?e.createRange(1,1,n):e.getRange(n,void 0,a),i&&(s=s.toType({type:i,onError:`value`}))):s=e.getRange(n,i??void 0,a)}catch(e){return e}if(o===`reject`&&s.hasError()){let e=s.errors().next();if(!e.done)return e.value.value}return r===`r`?s:s.getValues()}function aO(e,n,r,i,a,o,s,c,l=null){let u=r;if(u&&u.colStart!==void 0)if(a)u=e.getReference?.(u);else{let t=u.colStart,n=u.rowStart,r=u.colEnd;u=u.rowEnd!==n||t!==r?e.getReference?.(u):e.getValueAt(n,t,u.scope)}if(i&&typeof r==`string`&&(o===t.ScalarType.Boolean||!o&&a))if(r===`TRUE`||r===`FALSE`)u=r===`TRUE`;else{let e=r.toUpperCase();e!==`TRUE`&&e!==`FALSE`||(u=e===`TRUE`)}u?.isIRange&&u.isDirectScalar?.()&&(u=u.getValueAt(0,0));let d=u?function(e){let t=e,n=0;for(;Array.isArray(t);)n++,t=t[0];return t&&(t.isIRange||t.colStart!==void 0)&&(n+=2),n}(u):0;if(d===0&&t.FormulaError.isError(u)){if(l===`reject`)return u;l===`accept`&&(o=null)}if(d===0&&o){let n=WD(u,!0);if(n!==o){let t=!i&&c;u=$D(e.getRuntime(),u,n,o,!t)}if(!s&&t.FormulaError.isError(u))return u}if(c){if(d===3){let t=u;for(let r=0;r<t.length;r++){let u=aO(e,n,t[r],i,a,o,s,c,l);if(u)return u}return}if(!a)return rO(e,n,u,i,a,o,l);if(u=iO(e,u,a,o,i,l),t.FormulaError.isError(u))return u}else{if(nO(u))return t.FormulaError.BuiltIn.Ref;if(a){if(u=iO(e,u,a,o,i,l),t.FormulaError.isError(u))return u}else if(d>0){if(u=function(e,n=!1){let r=e;for(;Array.isArray(r);){if(r.length>1)return n?t.FormulaError.BuiltIn.Value:r;r=r[0]}if(r?.isIRange){if(n&&r.size!==1)return t.FormulaError.BuiltIn.Value;r=r.getValueAt(0,0)}return r}(u,!0),l===`reject`&&t.FormulaError.isError(u))return u;if(o&&!t.FormulaError.isError(u)){let n=WD(u,!0);if(n!==o&&(u=$D(e.getRuntime(),u,n,o,i)),!s&&t.FormulaError.isError(u))return u}}}if(!s&&t.FormulaError.isError(u))return u;Array.isArray(n)?n.push(u):n.values[n.length++]=u}function oO(e){return e!=e||e===1/0||e===-1/0?t.FormulaError.BuiltIn.Num:e>-22250738585072014e-324&&e<YD?0:e}function sO(e,n,r=typeof e){if(r===`number`)return oO(e);if(r===`string`)return e.length>t.Scalar.MAX_TEXT_LENGTH?t.FormulaError.BuiltIn.Value:e;if(e==null)return null;if(!n)return e;if(Array.isArray(e))try{e=n.getRange(e)}catch{return t.FormulaError.BuiltIn.Value}return e}function cO(e,n,r){let i;i=Array.isArray(e)?Array.isArray(e[0])?e:[e]:[[e]],n||=new no({axis:t.IRange.Axis.Column});let a=n.getAxis()===t.IRange.Axis.Column,o=Xa(i,a,Va(r?.colStart??0,r?.rowStart??0,void 0,void 0,a),!0),s=Ha(o.bounds,a);return n.setValues(o.tuples),{values:n,coords:s,isLiteral:!r}}function lO(e,t=null){let n=[];for(let r=0;r<e;r++)n.push(t);return n}function uO(e){let t=[];for(let n=0;n<e;n++)t.push(void 0);return t}var dO=Object.freeze([t.ScalarType.Number,t.ScalarType.Boolean,t.ScalarType.Null]),fO=Object.freeze([t.ScalarType.Number,t.ScalarType.Null]),pO=Object.freeze([t.ScalarType.Number,t.ScalarType.String,t.ScalarType.Null]),mO=Object.freeze([t.ScalarType.Number,t.ScalarType.String,t.ScalarType.Boolean]),hO=Object.freeze([t.ScalarType.Number,t.ScalarType.String,t.ScalarType.Boolean,t.ScalarType.Null,t.ScalarType.RichData]),gO=new WeakMap,_O=(e,t)=>{let n=gO.get(e);return n||(n=t??{coerce:void 0,byRun:new WeakMap},gO.set(e,n)),n},vO=2**13,yO=Object.freeze({count:0,numericalCount:0,sum:null,min:null,max:null,average:null,var:null,varP:null,stdDev:null,stdDevP:null});function bO(e,n,r,i,a,o,s){if(n.getCount()===0)return null;let c=null,l=n.getAxis()===t.IRange.Axis.Column,u=i.length,d=a?{...CO,...a}:CO,f=d.bounds,p=a?.coerce;o.coerce!==p&&(o.byRun=new WeakMap,o.coerce=p);let m=o.byRun,h=xO(e,a),g=h.coerce,_=h.defaultCoerce,v=a?.onError??`ignore`,y=!1,b=null;if(v!==`ignore`)if(v===`throw`)y=!0;else{if(v===`value`)throw Error(`onError "value" is not supported in RangeStats`);typeof v==`function`&&(b=v)}for(let e=0;e<u;e++){let a=i[e];if(!a)continue;let o=l?a.colStart:a.rowStart,u=l?a.rowStart:a.colStart,p=l?a.colEnd:a.rowEnd,h=l?a.rowEnd:a.colEnd;f.colStart=l?o:u,f.rowStart=l?u:o,f.colEnd=l?p:h,f.rowEnd=l?h:p;let v=n.getRuns(d),x,S,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,M=0,N=!1,P=v.next();for(P.done||c||(c=TO());!P.done;){let[,e,n]=P.value;if(P=v.next(),C=n.length,w=Math.max(0,u-e),T=Math.min(C-1,h-e),!(w>T)){S=m.get(n),S||(E=Math.ceil(C/s),S=Array(E),m.set(n,S)),D=Math.floor(w/s),O=Math.floor(T/s);for(let e=D;e<=O;e++){if(k=e*s,A=Math.min((e+1)*s-1,C-1),j=Math.max(w,k),M=Math.min(T,A),j>M)continue;N=j===k&&M===A;let i=S[e];if(N){if(i){if((y||b)&&(i.typed[t.ScalarType.Error]>0||g!==null&&i.count!==i.typed[t.ScalarType.Number]))for(let e=k;e<=A;e++){x=n.at(e);let i=WD(x,!0);if(i!==t.ScalarType.Number&&(g&&(x=g(x,i,_,r)),t.FormulaError.isError(x))){if(y)throw x;b(x)}}}else{i=TO();for(let e=k;e<=A;e++){i.count++,x=n.at(e);let a=WD(x,!0);if(i.typed[EO(a)]++,a!==t.ScalarType.Number){let e=!0;if(g&&(x=g(x,a,_,r),a=WD(x,!0),e=a!==t.ScalarType.Number),t.FormulaError.isError(x)){if(y)throw x;b&&b(x)}if(e)continue}DO(i,x)}S[e]=i}OO(c,i)}else for(let e=j;e<=M;e++){c.count++,x=n.at(e);let i=WD(x,!0);if(c.typed[EO(i)]++,i!==t.ScalarType.Number){let e=!0;if(g&&(x=g(x,i,null,r),i=WD(x,!0),e=i!==t.ScalarType.Number),t.FormulaError.isError(x)){if(y)throw x;b&&b(x)}if(e)continue}DO(c,x)}}}}}return c}function xO(e,n){let r=n?.coerce;if(r){if(typeof r==`function`)return{coerce:r,defaultCoerce:QD(e,t.ScalarType.Number,hO)};if(Array.isArray(r))return{coerce:QD(e,t.ScalarType.Number,r),defaultCoerce:null}}return{coerce:null,defaultCoerce:null}}function SO(e){if(!e||e.count===0)return yO;let t=e.numericalCount;if(!t||e.min===void 0)return Object.freeze({...yO,count:e.count});let n=e.sum/t,r=Math.max(0,e.sumSq/t-n*n),i=t>1?r*(t/(t-1)):null,a={count:e.count,numericalCount:t,sum:e.sum,min:e.min,max:e.max,average:n,varP:r,stdDevP:Math.sqrt(r),var:i,stdDev:i===null?null:Math.sqrt(i)};return a.populationVariance=r,Object.freeze(a)}var CO={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},wO={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},TO=()=>({count:0,min:void 0,max:void 0,numericalCount:0,sum:0,sumSq:0,typed:{[t.ScalarType.Number]:0,[t.ScalarType.String]:0,[t.ScalarType.Boolean]:0,[t.ScalarType.Error]:0,[t.ScalarType.RichData]:0,[t.ScalarType.Null]:0}}),EO=e=>{switch(e){case t.ScalarType.Number:case t.ScalarType.String:case t.ScalarType.Boolean:case t.ScalarType.Error:case t.ScalarType.RichData:case t.ScalarType.Null:return e;case t.InteropScalarType.Date:return t.ScalarType.Number;default:return t.ScalarType.Null}},DO=(e,t)=>{e.sum+=t,e.numericalCount++,e.sumSq+=t*t,e.min===void 0?(e.min=t,e.max=t):(t<e.min&&(e.min=t),t>e.max&&(e.max=t))},OO=(e,n)=>{e.sum+=n.sum,e.numericalCount+=n.numericalCount,e.count+=n.count,e.sumSq+=n.sumSq;let r=e.typed,i=n.typed;r[t.ScalarType.Number]+=i[t.ScalarType.Number],r[t.ScalarType.String]+=i[t.ScalarType.String],r[t.ScalarType.Boolean]+=i[t.ScalarType.Boolean],r[t.ScalarType.Error]+=i[t.ScalarType.Error],r[t.ScalarType.RichData]+=i[t.ScalarType.RichData],r[t.ScalarType.Null]+=i[t.ScalarType.Null],n.min!==void 0&&(e.min===void 0?(e.min=n.min,e.max=n.max):(n.min<e.min&&(e.min=n.min),n.max>e.max&&(e.max=n.max)))},kO=0x4000000000000,AO=class{constructor(e,t,n){this._kept=[],this._limit=e,this._distinct=t,this._rank=n}offer(e){let t=this._kept,n=this._rank;if(this._distinct){let r=t.length;for(let i=0;i<r;i++)if(n(t[i],e)===0)return}let r=t.length;r<this._limit?t.splice(jO(t,e,n),0,e):n(e,t[r-1])<0&&(t.pop(),t.splice(jO(t,e,n),0,e))}values(){return this._kept}};function jO(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;n(e[a],t)<=0?r=a+1:i=a}return r}function MO(e,t){let n=e?.compareFn??t;return e?.reverse?n:(e,t)=>n(t,e)}function NO(e,n,r,i,a){let o=i?.limit??10;if(!(o>0)||e.getCount()===0)return FO;let s=i?.includeBlanks??!1,c=i?.filterFn,l=MO(i,a),u=new AO(o,i?.distinct??!1,l),d=e.getAxis()===t.IRange.Axis.Column,f=n.length,p=(r?{...IO,...r}:IO).bounds,m=0,h=0;for(let t=0;t<f;t++){let r=n[t];if(!r)continue;m+=(r.colEnd-r.colStart+1)*(r.rowEnd-r.rowStart+1);let i=d?r.colStart:r.rowStart,a=d?r.rowStart:r.colStart,o=d?r.colEnd:r.rowEnd,s=d?r.rowEnd:r.colEnd;p.colStart=d?i:a,p.rowStart=d?a:i,p.colEnd=d?o:s,p.rowEnd=d?s:o;let l=e.getRuns(IO),f=l.next();for(;!f.done;){let[,e,t]=f.value;f=l.next();let n=t.length,r=Math.max(0,a-e),i=Math.min(n-1,s-e);if(!(r>i))for(let e=r;e<=i;e++){h++;let n=t.at(e);c&&!c(n)||u.offer(n)}}}if(s){let e=m-h,t=Math.min(e,o);for(let e=0;e<t;e++)u.offer(null)}return u.values()}function PO(e,t,n){let r=t?.limit??10;if(!(r>0))return FO;let i=MO(t,n),a=new AO(r,t?.distinct??!1,i),o=e.length;for(let n=0;n<o;n++){let r=e[n].getRanked(t),i=r.next();for(;!i.done;)a.offer(i.value),i=r.next()}return a.values()}var FO=Object.freeze([]),IO={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},LO=class e{constructor(e){this._sorted=e}static fromGrid(t,n,r){return new e(e._collectNumbers(t,n,r))}getLarge(e){e=Math.floor(e);let t=this._sorted,n=t.length;return e<1||e>n?null:t[n-e]}getSmall(e){e=Math.floor(e);let t=this._sorted,n=t.length;return e<1||e>n?null:t[e-1]}getPercentile(e,t=!1){let n=this._sorted,r=n.length;if(r===0)return null;if(t){if(e<=0||e>=1)return null;let t=e*(r+1)-1;return t<0||t>r-1?null:RO(n,t)}return e<0||e>1?null:RO(n,e*(r-1))}getRankOf(e,t=!0,n=!1){let r=this._sorted,i=r.length;if(i===0)return null;let a=zO(r,e);if(a>=i||r[a]!==e)return null;let o=BO(r,e)-1;return n?((t?i-o:a+1)+(t?i-a:o+1))/2:t?i-o:a+1}getPercentRankOf(e,n=!1,r){let i=this._sorted,a=i.length;if(a===0)return null;let o=zO(i,e),s;if(o<a&&i[o]===e){if(a===1)return 1;s=n?(o+1)/(a+1):o/(a-1)}else{if(o===0||o>=a)return null;let t=i[o-1],r=(e-t)/(i[o]-t);s=n?(o+r)/(a+1):(o-1+r)/(a-1)}if(r===void 0)return s;if(!(r>=1))return t.FormulaError.BuiltIn.Num;let c=10**Math.trunc(r);return Number.isFinite(c)?Math.floor(s*c)/c:t.FormulaError.BuiltIn.Div0}getValues(){return this._sorted}findFloor(e){let t=this._sorted;if(t.length===0)return null;let n=BO(t,e)-1;return n<0?null:t[n]}findCeiling(e){let t=this._sorted;if(t.length===0)return null;let n=zO(t,e);return n>=t.length?null:t[n]}static _collectNumbers(e,n,r){if(e.getCount()===0)return VO;let i=[],a=e.getAxis()===t.IRange.Axis.Column,o=n.length,s=(r?{...HO,...r}:HO).bounds;for(let t=0;t<o;t++){let r=n[t];if(!r)continue;let o=a?r.colStart:r.rowStart,c=a?r.rowStart:r.colStart,l=a?r.colEnd:r.rowEnd,u=a?r.rowEnd:r.colEnd;s.colStart=a?o:c,s.rowStart=a?c:o,s.colEnd=a?l:u,s.rowEnd=a?u:l;let d=e.getRuns(HO),f=d.next();for(;!f.done;){let[,e,t]=f.value;f=d.next();let n=t.length,r=Math.max(0,c-e),a=Math.min(n-1,u-e);if(!(r>a))for(let e=r;e<=a;e++){let n=t.at(e);typeof n==`number`&&i.push(n)}}}return i.sort((e,t)=>e-t),Object.freeze(i)}};function RO(e,t){let n=Math.floor(t),r=t-n;return r===0?e[n]:e[n]+r*(e[n+1]-e[n])}function zO(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<t?n=i+1:r=i}return n}function BO(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<=t?n=i+1:r=i}return n}var VO=Object.freeze([]),HO={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},UO=class e{constructor(e,t,n,r,i,a,o=vO){this._runtime=e,this._grid=t,this._range=n,this._localCoords=r??[t.getCoords()],this._iteratorOptions=i,this._segmentCache=a??_O(t),this._ZoneSizeMinor=o}clone(t,n){return new e(this._runtime,t??this._grid,this._range?.clone()??null,n,this._iteratorOptions,_O(t??this._grid,this._segmentCache),this._ZoneSizeMinor)}clear(){this._sortedNumbers=void 0,this._aggregates=void 0,this._typedCounts=void 0,this._lastNumber=void 0,this._frequencies=void 0,this._ranked=void 0}_getLastNumber(){let e=this._lastNumber;return e===void 0&&(e=function(e,n,r,i,a){if(n.getCount()===0)return;let o=n.getAxis()===t.IRange.Axis.Column,s=i.length,c=xO(e,a),l=c.coerce,u=c.defaultCoerce,d=a?{...wO,...a,overflowRun:!0}:wO,f=d.bounds,p,m=-1,h=-1;for(let e=0;e<s;e++){let a=i[e];if(!a)continue;let s=o?a.colStart:a.rowStart,c=o?a.rowStart:a.colStart,g=o?a.colEnd:a.rowEnd,_=o?a.rowEnd:a.colEnd;f.colStart=o?s:c,f.rowStart=o?c:s,f.colEnd=o?g:_,f.rowEnd=o?_:g;let v=n.getRuns(d),y=v.next();for(;!y.done;){let[e,n,i]=y.value;y=v.next();let a=Math.max(0,c-n),s=Math.min(i.length-1,_-n);if(!(a>s))for(let c=s;c>=a;c--){let a=n+c,s=o?a:e,d=o?e:a;if(s<m||s===m&&d<=h){if(o)break;continue}let f=i.at(c),g=WD(f,!0);if(!(g!==t.ScalarType.Number&&(!l||(f=l(f,g,u,r),WD(f,!0)!==t.ScalarType.Number)))&&(m=s,h=d,p=f,o))break}}}return p}(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions)??null,this._lastNumber=e),e??void 0}toLocalCoords(t,n){return new e(this._runtime,this._grid,this._range,Array.isArray(t)?t:[t],n??this._iteratorOptions,this._segmentCache,this._ZoneSizeMinor)}getSize(){let e=this._localCoords,t=e.length,n=0;for(let r=0;r<t;r++){let t=e[r];n+=(t.colEnd-t.colStart+1)*(t.rowEnd-t.rowStart+1)}return n}getCount(){return bO(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions?{...this._iteratorOptions,onError:`ignore`}:WO,this._segmentCache,this._ZoneSizeMinor)?.count??0}getAggregates(e){if(e)return SO(bO(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions?{...this._iteratorOptions,...e}:e,this._segmentCache,this._ZoneSizeMinor));let t=this._aggregates;return t||(t=SO(bO(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions,this._segmentCache,this._ZoneSizeMinor)),this._aggregates=t),t}getSnappedSum(e){let t=this.getAggregates(),n=e??t.sum??0;return((e,t)=>e!==0&&e!==1/0&&e!==-1/0&&Math.abs(e)*kO<=t+Math.abs(e))(n,(e=>{let t=e.min;return t==null?0:Math.max(Math.abs(t),Math.abs(e.max))})(t))?((e,t)=>t===void 0?e:Math.abs(e)*kO<=Math.abs(e-t)?0:e)(n,this._getLastNumber()):n}getSortedNumbers(){let e=this._sortedNumbers;return e||(e=LO.fromGrid(this._grid,this._localCoords,this._iteratorOptions),this._sortedNumbers=e),e}getRanked(e){if(e)return NO(this._grid,this._localCoords,this._iteratorOptions,e,this._defaultCompare())[Symbol.iterator]();let t=this._ranked;return t||(t=NO(this._grid,this._localCoords,this._iteratorOptions,e,this._defaultCompare()),this._ranked=t),t[Symbol.iterator]()}getFrequencies(e){if(e)return this._buildFrequencies(e);let t=this._frequencies;return t||(t=this._buildFrequencies(),this._frequencies=t),t}_buildFrequencies(e){let n=e?.includeBlanks?this.getTypedCounts([t.ScalarType.Null])[t.ScalarType.Null]:0,r=e?.filterFn?void 0:this.getCount()+n;return V_.fromGrid(this._grid,this._localCoords,this._iteratorOptions,e,this._defaultCompare(),n,r)}_defaultCompare(){let e=this._runtime.getLocaleProfile();return(t,n)=>$o.compare(t,n,e)}getTypedCounts(e){let n=this._typedCounts;if(!n){let e=bO(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions?{...this._iteratorOptions,onError:`ignore`}:WO,this._segmentCache,this._ZoneSizeMinor)?.typed,r={[t.ScalarType.Number]:e?.[t.ScalarType.Number]??0,[t.ScalarType.String]:e?.[t.ScalarType.String]??0,[t.ScalarType.Boolean]:e?.[t.ScalarType.Boolean]??0,[t.ScalarType.Error]:e?.[t.ScalarType.Error]??0,[t.ScalarType.RichData]:e?.[t.ScalarType.RichData]??0,[t.ScalarType.Null]:0},i=this._localCoords,a=i.length,o=0;for(let e=0;e<a;e++){let t=i[e];t&&(o+=(t.colEnd-t.colStart+1)*(t.rowEnd-t.rowStart+1))}r[t.ScalarType.Null]=Math.max(0,o-r[t.ScalarType.Number]-r[t.ScalarType.String]-r[t.ScalarType.Boolean]-r[t.ScalarType.Error]-r[t.ScalarType.RichData]),n=Object.freeze(r),this._typedCounts=n}if(e===void 0)return n;let r={},i=e.length;for(let t=0;t<i;t++)r[e[t]]=n[e[t]]??0;return r}get isIRangeStats(){return!0}},WO={onError:`ignore`},GO=class e{constructor(e,t,n,r=null,i=!1,a=!1){this._isLiteral=!1,this._isDirectScalar=!1,this._localRangeStats=null,this._localRangeStatsOptions=void 0,this._runtime=e,this._values=t,this._coords=n,r&&(r={...XO,...r}).axis===`fastest`&&(r.axis=t.getAxis()),this._optionsIterator=r??XO,this._isLiteral=i,this._isDirectScalar=a}argsort(e=this,n=1,r=t.IRange.Axis.Row){let i=r===t.IRange.Axis.Column,a=Array.isArray(e)?e:[e],o=Array.isArray(n)?n:[n];return function(e,t,n,r){let i=Array.from({length:e},(e,t)=>t),a=t.length;if(a===1){let e=t[0],a=n[0]??1;return i.sort((t,n)=>ik(e[t],e[n],a,r)),i}return i.sort((e,i)=>{for(let o=0;o<a;o++){let a=n[o]??1,s=t[o],c=ik(s[e],s[i],a,r);if(c!==0)return c}return 0}),i}(i?this.getColumnCount():this.getRowCount(),a.map(e=>function(e,t,n){let r=n?e.getColumnCount():e.getRowCount(),i=Array(r).fill(null),a=e.entries(),o=a.next();for(;!o.done;){let{value:e,coords:r}=o.value;(n?r.rowIndex:r.colIndex)===t&&(i[n?r.colIndex:r.rowIndex]=e),o=a.next()}return i}(e,0,i)),o,this._runtime.getLocaleProfile())}uniqueIndices(e=t.IRange.Axis.Row,n=!1){let r=e===t.IRange.Axis.Column,i=r?this.getColumnCount():this.getRowCount(),a=Array(i).fill(``),o=new Map,s=this.entries({axis:e,includeEmpty:!1}),c=s.next();for(;!c.done;){let{value:e,coords:t}=c.value,n=r?t.colIndex:t.rowIndex,i=r?t.rowIndex:t.colIndex;a[n]+=ak(i,e,o),c=s.next()}return function(e,t){let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);let r=new Set,i=[];for(let a=0;a<e.length;a++){let o=e[a];r.has(o)||(r.add(o),t&&n.get(o)!==1||i.push(a))}return i}(a,n)}broadcast(e,r,i){let a=this._coords;if(e===void 0)return this._self();i=i?{...this._optionsIterator,...i}:this._optionsIterator;let o=i?.type,s=i?.otherType??o,c=o?this._coerceValue(null,o,i,t.ScalarType.Null):null,l=s?this._coerceValue(null,s,i,t.ScalarType.Null):null,u=e?.isIRange;if(!u&&a&&r.length===2)return this._broadcastScalar(e,r,i,c,l,s);let d;if(u)d=e;else{let t=this._values.clone();t.setValueAt(0,0,e),d=this._newRange(t,n.CoordUtils.EmptyRange,{type:WD(e,!0),...i})}let f=d,p=this.getColumnCount(),m=this.getRowCount(),h=f.getColumnCount(),g=f.getRowCount(),_=Math.min(p,h),v=Math.min(m,g),y=Math.max(p,h),b=Math.max(m,g),x=i?.misalignValue??null,S=x!==null&&y>_||b>v,C=!1;if(p!==h)if(p===1)_=h;else if(h===1)_=p;else{if(x===null)throw Error(`Incompatible shapes for broadcast: cols ${p} and ${h} must be equal or one must be 1`);C=!0}if(m!==g)if(m===1)v=g;else if(g===1)v=m;else{if(x===null)throw Error(`Incompatible shapes for broadcast: rows ${m} and ${g} must be equal or one must be 1`);C=!0}let w=this._values.getAxis(),T=w,E=T===t.IRange.Axis.Column;a??=n.CoordUtils.EmptyRange;let D,O,k=f._coords??n.CoordUtils.EmptyRange;if(C&&(a={colStart:a.colStart,rowStart:a.rowStart,colEnd:a.colStart+_-1,rowEnd:a.rowStart+v-1},k={colStart:k.colStart,rowStart:k.rowStart,colEnd:k.colStart+_-1,rowEnd:k.rowStart+v-1}),p===1&&p<h||m===1&&m<g){let e={...a};p===1&&(e.colEnd=e.colStart),m===1&&(e.rowEnd=e.rowStart),D=new Ka({delegate:this._entries({...i,axis:T,bounds:e,reuseResult:!1}),bounds:e,axis:T,dims:{major:E?_:v,minor:E?v:_}})}else D=this._entries({...i,axis:T,bounds:a,reuseResult:!1});if(h===1&&h<p||g===1&&g<m){let e={...k};h===1&&(e.colEnd=e.colStart),g===1&&(e.rowEnd=e.rowStart),O=new Ka({delegate:f._entries({...i,type:s??null,axis:T,bounds:e,reuseResult:!1}),bounds:e,axis:T,dims:{major:E?_:v,minor:E?v:_}})}else O=f._entries({...i,type:s??null,axis:T,bounds:k,reuseResult:!1});let A=a.colStart,j=a.rowStart,M=A-k.colStart,N=j-k.rowStart,P=T===w?new _i.Builder:new _i.TransposedBuilder,F=new qa({...i,bounds:a,comparator:(E?ay:oy)(a,k)},D,O),I=r.length===2,L=E?A:j,ee=E?j:A,te=L+(E?_:v)-1,R=ee+(E?v:_)-1,ne,z=L,B=ee,re=(e,t)=>{for(ne===void 0&&(ne=r(c,l,n.CoordUtils.EmptyCell,this));z<e;){let e=R+1-B;e>0&&P.pushMultipleAt(z,B,new Ui([ne],e)),z++,B=ee}B<t&&(P.pushMultipleAt(z,B,new Ui([ne],t-B)),B=t)},ie,ae=F.next();for(;!ae.done;){let e=ae.value,t=e[1],n=e[3],i=e[0],a=e[2],o=i?i.colIndex:a.colIndex+M,s=i?i.rowIndex:a.rowIndex+N,u=r(t??c,n??l,{colIndex:o-A,rowIndex:s-j},this),d=E?o:s,f=E?s:o;I&&(d>z||f>B)&&re(d,f),P.pushAt(d,f,u),B=f+1,B>R?(z=d+1,B=ee):z=d,ae=F.next()}if(I)for(;z<=te;){let e=R+1-B;e>0&&(ne===void 0&&(ne=r(c,l,n.CoordUtils.EmptyCell,this)),P.pushMultipleAt(z,B,new Ui([ne],e))),z++,B=ee}if(S){let e=this._values.clone();if(this._applyBuilder(e,P),y>_){let t=Ya(x,Va(A+_,j,A+y-1,j+b-1,E),E);e.setValues(t.tuples)}if(b>v){let t=Ya(x,Va(A,j+v,A+y-1,j+b-1,E),E);e.setValues(t.tuples)}ie=this._newRange(e,{colStart:A,rowStart:j,colEnd:A+y-1,rowEnd:j+b-1},this._optionsIterator)}else ie=this._cloneFromBuilder(P),(y>ie.getColumnCount()||b>ie.getRowCount())&&(ie=ie.resize(b,y));return ie._untyped()}_broadcastScalar(e,r,i,a,o,s){let c=this._coords,l=this._values.getAxis(),u=l===t.IRange.Axis.Column,d=(s?this._coerceValue(e,s,i):e)??o,f=c.colStart,p=c.rowStart,m=u?f:p,h=u?p:f,g=u?c.colEnd:c.rowEnd,_=u?c.rowEnd:c.colEnd,v=r(a,d,n.CoordUtils.EmptyCell,this),y=new _i.Builder,b=m,x=h,S=(e,t)=>{for(;b<e;){let e=_+1-x;e>0&&y.pushMultipleAt(b,x,new Ui([v],e)),b++,x=h}x<t&&(y.pushMultipleAt(b,x,new Ui([v],t-x)),x=t)},C=this._entries({...i,axis:l,bounds:c,reuseResult:!1}),w=C.next();for(;!w.done;){let e=w.value,t=e[0],n=t.colIndex,i=t.rowIndex,o=u?n:i,s=u?i:n;S(o,s),y.pushAt(o,s,r(e[1]??a,d,{colIndex:n-f,rowIndex:i-p},this)),x=s+1,x>_?(b=o+1,x=h):b=o,w=C.next()}for(;b<=g;){let e=_+1-x;e>0&&y.pushMultipleAt(b,x,new Ui([v],e)),b++,x=h}return this._cloneFromBuilder(y)._untyped()}choose(e,r,i){let a=i?.misalignValue??t.FormulaError.BuiltIn.NA;if(this.isEmpty())return this.replace([[a]]);let o=e.map(e=>e.isIRange?e:this.fill(e)),s=o.length,c=this.getColumnCount(),l=this.getRowCount();if(c===1&&l===1){let e=r(this.getValueAt(0,0),n.CoordUtils.EmptyCell,this);return t.FormulaError.isError(e)?this.replace([[e]]):typeof e!=`number`||e<0||e>=s?this.replace([[a]]):o[e]}let u=c,d=l,f=u===1||d===1;for(let e=0;e<s;e++){let t=o[e],n=t.getColumnCount(),r=t.getRowCount();f=f||n===1||r===1,u=Math.max(u,n),d=Math.max(d,r)}let p=this;return f&&u>1&&d>1&&(c===1||l===1)&&(p=p.tile(l===1?d:1,c===1?u:1)),p=p.map((e,n)=>{let i=n.colIndex,c=n.rowIndex,l=r(e,n,this);if(t.FormulaError.isError(l))return l;if(typeof l!=`number`||l<0||l>=s)return a;let u=o[l];f&&(u.getColumnCount()===1&&(i=0),u.getRowCount()===1&&(c=0));let d=u.getValueAt(c,i);return d===void 0?a:d}),p=p.resize(d,u,a),p}clear(){let e=this._coords,t=this._values;return e&&t.getCount()!==0?(t=t.cloneEmpty(),this._newRange(t,this._coords,this._optionsIterator)):this._self()}clone(e,t=!1,n=!1){return this._newRange(this._values,this._coords,e??this._optionsIterator,t,n)}compute(e){return e(this)}concat(e,n=t.IRange.Axis.Row,r=t.FormulaError.BuiltIn.NA){let i=n===t.IRange.Axis.Column,a=this.getColumnCount(),o=this.getRowCount(),s=e.getColumnCount(),c=e.getRowCount(),l=i?a+s:Math.max(a,s),u=i?Math.max(o,c):o+c,d=this.resize(u,l,r).sparseBuilder(t.IRange.Axis.Column),f=i?0:o,p=i?a:0,m=e.entries({axis:t.IRange.Axis.Column,includeEmpty:!1}),h=m.next();for(;!h.done;){let{value:e,coords:t}=h.value;d.pushAt(t.rowIndex+f,t.colIndex+p,e),h=m.next()}return d.build()}empty(){let e=this._coords,t=this._values;return e&&t.getCount()!==0?(t=t.cloneEmpty(),this._newRange(t,null,this._optionsIterator)):this._self()}entries(e){let t=this._coords;if(!t)return si;let n=e?.bounds;if(e={...this._optionsIterator,...e,bounds:t},n){let r=(n.colStart??0)-t.colStart,i=(n.rowStart??0)-t.rowStart,a=Math.max(r+t.colStart,t.colStart),o=Math.max(i+t.rowStart,t.rowStart),s=Math.min((n.colEnd??2**53-1)-r,t.colEnd-t.colStart)+1,c=Math.min((n.rowEnd??2**53-1)-i,t.rowEnd-t.rowStart)+1;e.bounds={colStart:a,rowStart:o,colEnd:a+s-1,rowEnd:o+c-1}}let r=this._entries(e),i={[Symbol.iterator]:()=>i,next(){for(;;){let e=r.next();if(e.done)return oi;let n=e.value,i=n[0];return{done:!1,value:{coords:{colIndex:i.colIndex-t.colStart,rowIndex:i.rowIndex-t.rowStart},value:n[1]??null}}}}};return i}errors(e){let n=this.entries({axis:e?.axis??t.IRange.Axis.Row,bounds:e?.bounds,reverse:e?.reverse,type:null}),r={[Symbol.iterator]:()=>r,next(){let e=n.next();for(;!e.done;){if(t.FormulaError.isError(e.value.value))return e;e=n.next()}return oi}};return r}every(e,t){if(!e)return!0;let n=this.entries(t),r=n.next();for(;!r.done;){let t=r.value;if(!e(t.value,t.coords,this))return!1;r=n.next()}return!0}fill(e,t){let n=this._coords;if(!n||t&&(n=this._absoluteCoords(t),!n))return this._self();let r=this._values.clone();return ZO(r,n,e),this._newRange(r,n,this._optionsIterator)}fillEmpty(e,n){let r=this._coords;if(!r||n&&(r=this._absoluteCoords(n),!r))return this._self();let i=this._values;if(r.rowStart===r.rowEnd&&r.colStart===r.colEnd&&i.getValueAt(r.rowStart,r.colStart)!=null)return this;let a=i.getAxis(),o=a,s=o===t.IRange.Axis.Column,c=s?r.colStart:r.rowStart,l=s?r.rowStart:r.colStart,u=s?r.colEnd:r.rowEnd,d=s?r.rowEnd:r.colEnd,f=i.getRuns({bounds:r,overflowRun:!0}),p=f.next(),m=c,h=l,g=o===a?new _i.Builder:new _i.TransposedBuilder;for(;!p.done;){let t=p.value,n=t[0];for(;m<n;){let t=new Ui([e],d+1-h);g.pushMultipleAt(m,h,t),m++,h=l}let r=t[1],i=Math.max(r,l),a=t[2],o=Math.min(r+a.length-1,d);if(h<i){let t=new Ui([e],r-h);g.pushMultipleAt(m,h,t)}h=o+1,o>=d?(m=n+1,h=l):m=n,p=f.next()}for(;m<=u;){let t=new Ui([e],d+1-h);g.pushMultipleAt(m,h,t),m++,h=l}return this._cloneFromBuilder(g)}filter(e,n){let r=this._coords,i=this._values;if(!r||i.getCount()===0)return this._self();let a=n?.axis===`fastest`?i.getAxis():n?.axis??this._optionsIterator.axis,o=this.empty()._createBuilder(a),s=a===t.IRange.Axis.Column,c=-1,l=-1,u=!1,d=0,f=this.entries(n),p=f.next();for(;!p.done;){let n=p.value,r=n.coords,i=s?r.colIndex:r.rowIndex,a=s?r.rowIndex:r.colIndex,m=n.value;d++;let h=e(m,r,this);h?(i!==c&&(c=i,l++),t.FormulaError.isError(h)&&(m=h),o.pushAt(l,a,m)):u=!0,p=f.next()}return u||d!==this.size?this.empty()._cloneFromBuilder(o):this._self()}flatten(e){let t=[],n=this.values(e),r=n.next();for(;!r.done;)t.push(r.value),r=n.next();return t}forEach(e,t){if(!e)return;let n=this.entries(t),r=n.next();for(;!r.done;){let t=r.value,i=e(t.value,t.coords,this);if(i)return i.break;r=n.next()}}getColumnCount(){let e=this._coords;return e?e.colEnd-e.colStart+1:0}getRowCount(){let e=this._coords;return e?e.rowEnd-e.rowStart+1:0}getShape(){let e=this._coords;return{rows:e.rowEnd-e.rowStart+1,columns:e.colEnd-e.colStart+1}}getStats(e){let t=this._localRangeStats;if(!t||e!==this._localRangeStatsOptions){let n=this._coords;t=new UO(this._runtime,this._values,this,[n],e),this._localRangeStats=t,this._localRangeStatsOptions=e}return t}hasError(){return this.size<=ek?!this.errors({axis:`fastest`}).next().done:(this.getStats().getTypedCounts(tk)[t.ScalarType.Error]??0)>0}getType(){return this._optionsIterator?.type??void 0}getValueAt(e,t,n){let r=this._coords;if(!r||e<0||t<0||e>=r.rowEnd-r.rowStart+1||t>=this.getColumnCount())return;let i=this._values.getValueAt(e+r.rowStart,t+r.colStart)??null;i===void 0&&(i=null),n=n?{...this._optionsIterator,...n}:this._optionsIterator;let a=n?.type;return a&&(i=this._coerceValue(i,a,n)),i}getValues(e){if(!this._coords)return[[]];let n={...e,includeEmpty:!0,reverse:!1,onError:`value`,bounds:{colStart:0,rowStart:0,colEnd:this.getColumnCount()-1,rowEnd:this.getRowCount()-1}},r=!1;n.axis=e?.axis??t.IRange.Axis.Row,e&&(e.maxRows&&(n.bounds.rowEnd=0+e.maxRows-1),e.maxCols&&(n.bounds.colEnd=0+e.maxCols-1),e.trailingEmpties&&(r=e.trailingEmpties),n.axis=e?.axis??t.IRange.Axis.Row);let i=[];if(!r){n.includeEmpty=!1,n.reverse=!0,n.axis=t.IRange.Axis.Row;let r=this.entries(n).next();if(r.done)return YO;n.axis=t.IRange.Axis.Column;let i=this.entries(n).next();n.bounds.rowEnd=r.value.coords.rowIndex,n.bounds.colEnd=i.value.coords.colIndex,n.includeEmpty=!0,n.reverse=!1,n.axis=e?.axis??t.IRange.Axis.Row}let a=this.entries(n),o=n.axis!==t.IRange.Axis.Row,s=e?.onValue,c,l=-1,u=[];for(c=a.next();!c.done;){let e=c.value,t=e.coords,n=o?t.colIndex:t.rowIndex;n!==l&&(u=[],i.push(u),l=n);let r=e.value;if(s){let e=s(r,t.rowIndex,t.colIndex,this);e!==void 0&&(r=e)}u.push(r),c=a.next()}return i}map(e,n){let r=this._coords,i=this._values;if(!r)return this._self()._untyped();let a=n?.axis===`fastest`?i.getAxis():n?.axis??this._optionsIterator.axis,o=this.entries(n),s,c=o.next();c.done||(s=this._createBuilder(a));let l=a===t.IRange.Axis.Column,u=l?r.colStart:r.rowStart,d=l?r.rowStart:r.colStart,f;for(;!c.done;){let t=c.value,n=t.coords,r=l?n.colIndex:n.rowIndex,i=l?n.rowIndex:n.colIndex,a=t.value;c=o.next();let p=e(a,n,this);p===void 0?p=a:p===null?(f||=eo(l),f.append(r+u,i+d)):s.pushAt(r,i,p)}return this._cloneFromBuilder(s,f)._untyped()}mask(e,n,r){let i=r?.misalignValue??t.FormulaError.BuiltIn.NA,a=r?.emptyValue??null,o=r?.isTrue,s=QD(this._runtime,t.ScalarType.Boolean),c=e?.isIRange?e:this._newRange(this._values,null),l=n?.isIRange?n:this._newRange(this._values,null);if(c.size===1){let e=c.getValueAt(0,0),n=WD(e),i=n===t.ScalarType.Boolean?e:s(e,n);return t.FormulaError.isError(i)?this.empty().replace([[i]]):(!0===i?l:this).fillEmpty(r?.emptyValue??null)}let u=c.getColumnCount(),d=c.getRowCount(),f=l.getColumnCount(),p=this.getColumnCount(),m=Math.max(f,p,u),h=l.getRowCount(),g=this.getRowCount(),_=Math.max(h,g,d);c=c.repeat(d===1?_:1,u===1?m:1);let v=c.getColumnCount(),y=c.getRowCount(),b=this;b=b.repeat(g===1?y:1,p===1?v:1),b=b.fillEmpty(a);let x=h===1,S=f===1,C=b.sparseBuilder($O),w=Math.max(g===1?y:g,x?y:h),T=Math.max(p===1?v:p,S?v:f);c=c.resize(w,T,i),c.forEach((e,n)=>{let r;if(o)r=o(e,n);else if(!0===e)r=!0;else if(!1===e)r=!1;else{let n=WD(e);r=n===t.ScalarType.Boolean?e:s(e,n)}let c=n.rowIndex,u=n.colIndex,d=null;!1!==r&&(!0===r?d=!S&&u>=f||!x&&c>=h?i:l.getValueAt(x?0:c,S?0:u)??a:t.FormulaError.isError(r)&&(d=r),C.pushAt(c,u,d))},nk);let E=C.build();return E=E.resize(_,m,i),E}alignValues(e,r){let i=r?{...this._optionsIterator,...r}:this._optionsIterator,a=this._values.getAxis(),o=i.axis,s=o&&o!==`fastest`?o:a,c=s===t.IRange.Axis.Column,l=e=>{let t=e.iterator.next();if(t.done)return void(e.done=!0);let n=t.value;e.value=n[1]??null,e.rowRel=n[0].rowIndex-e.rowBase,e.colRel=n[0].colIndex-e.colBase},u=[],d=(e,t,r)=>{let i=t._coords??n.CoordUtils.EmptyRange,a={slot:e,iterator:t._entries({...r,axis:s,bounds:i,reuseResult:!1}),done:!1,value:null,rowRel:0,colRel:0,rowBase:i.rowStart,colBase:i.colStart};l(a),u.push(a)};d(0,this,i);let f=[],p=e.length;for(let t=0;t<p;t++){let n=e[t];if(n===null){f.push(t+1);continue}d(t+1,n,n._optionsIterator)}let m=p+1,h=u.length,g=f.length,_=c?this.getRowCount():this.getColumnCount();return{[Symbol.iterator](){return this},next:()=>{let e=0,t=0,n=!1;for(let r=0;r<h;r++){let i=u[r];i.done||(n?(c?i.colRel-t||i.rowRel-e:i.rowRel-e||i.colRel-t)<0&&(e=i.rowRel,t=i.colRel):(e=i.rowRel,t=i.colRel,n=!0))}if(!n)return oi;let r=Array(m).fill(null);for(let n=0;n<h;n++){let i=u[n];i.done||i.rowRel!==e||i.colRel!==t||(r[i.slot]=i.value,l(i))}if(g>0){let n=c?t*_+e+1:e*_+t+1;for(let e=0;e<g;e++)r[f[e]]=n}return{done:!1,value:[r,{rowIndex:e,colIndex:t}]}}}}alignReduce(e,t,n,r){if(!t)return n;let i=Array.isArray(e)?e:[e],a=this.alignValues(i,r),o=n,s=a.next(),c=r?.emptyFold;if(!c){for(;!s.done;){let[e,n]=s.value;o=t(o,e,n,this),s=a.next()}return o}let l=this.getRowCount(),u=this.getColumnCount(),d=0;for(;!s.done;){let[e,n]=s.value;n.rowIndex<l&&n.colIndex<u&&d++,o=t(o,e,n,this),s=a.next()}let f=l*u-d;return f>0?c(o,f):o}reduce(e,t,n){if(!e)return t;let r=this.entries(n),i=r.next(),a=t;for(;!i.done;){let t=i.value;a=e(a,t.value,t.coords,this),i=r.next()}return a}repeat(e,t){if(e===1&&t===1)return this._self();if(e<=0||t<=0)throw Error(`Invalid tile dimensions: ${e} x ${t}`);let n=this._coords;if(!n)return this._self();let r=this._values.cloneEmpty(),i=n.colStart,a=n.rowStart,o={colStart:0,rowStart:0,colEnd:0,rowEnd:0};this.forEach((n,s)=>{o.colStart=i+s.colIndex*t,o.rowStart=a+s.rowIndex*e,o.colEnd=o.colStart+t-1,o.rowEnd=o.rowStart+e-1,ZO(r,o,n)});let s=this.getColumnCount(),c=this.getRowCount();return n={colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colStart+t*s-1,rowEnd:n.rowStart+e*c-1},this._newRange(r,n,this._optionsIterator)}reshape(e,t){let n=this.getRowCount(),r=this.getColumnCount();if(e===n&&t===r)return this._self();if(e<=0||t<=0||!Number.isFinite(e)||!Number.isFinite(t))throw Error(`Invalid reshape dimensions: ${e} x ${t}`);if(e*t<n*r)throw Error(`Cannot reshape ${n} x ${r} into ${e} x ${t}; the target holds fewer positions.`);let i=this._coords;if(!i)return this._self();let a=this._values.cloneEmpty(),o=i.rowStart,s=i.colStart;return this.forEach((e,n)=>{let i=n.rowIndex*r+n.colIndex;a.setValueAt(o+Math.trunc(i/t),s+i%t,e)}),this._newRange(a,{colStart:s,rowStart:o,colEnd:s+t-1,rowEnd:o+e-1},this._optionsIterator)}replace(e,t){let r;if(e?.isIRange)r=e;else{let t=cO(e,this._values,this._coords);r=this._newRange(t.values,t.coords,this._optionsIterator,t.isLiteral)}if(this.size===0)return r._self();if(r.size===0)return this._self();let i=this._values.clone(),a=r._values,o=r._coords??n.CoordUtils.EmptyRange,s=this._coords??n.CoordUtils.EmptyRange,c=s.colStart,l=s.rowStart,u=c+(t?.colIndex??0),d=l+(t?.rowIndex??0);a.copyTo(i,{colIndex:u,rowIndex:d},o);let f={colStart:c,rowStart:l,colEnd:c+Math.max(this.getColumnCount(),r.getColumnCount()+(t?.colIndex??0))-1,rowEnd:l+Math.max(this.getRowCount(),r.getRowCount()+(t?.rowIndex??0))-1};return this._newRange(i,f,this._optionsIterator)}resize(e,t,n=null){if(t<0||e<0)throw Error(`Invalid resize dimensions: ${t} x ${e}`);let r=this._coords,i=r?r.colStart:0,a=r?r.rowStart:0,o=r?r.colEnd:0,s=r?r.rowEnd:0;if(t===(r?o-i+1:0)&&e===(r?s-a+1:0))return this._self();let c=i+t-1,l=a+e-1,u=this._values;u=u.clone(),(!r||c>o||l>s)&&QO(u,r,c,l,n);let d={colStart:i,rowStart:a,colEnd:c,rowEnd:l};return this._newRange(u,d,this._optionsIterator)}select(e,t,n,r,i){Array.isArray(e)||(e=[e]);let a=e.length,o=-1;return n!==void 0&&(t=[...t,n],o=t.length-1),this.choose(t,(t,n)=>{let i=n.colIndex,s=n.rowIndex;for(let o=0;o<a;o++){let a=e[o];if(a.isIRange){let e=a,t=e.getColumnCount(),n=e.getRowCount();i+1>t&&t===1&&(i=0),s+1>n&&n===1&&(s=0),a=e.getValueAt(s,i)}if(r){if(rk.colIndex=i,rk.rowIndex=s,r(t,n,a,rk,this))return o}else if(t===a)return o}return o},i)}slice(e){if(!e)return this._self();let t=this._absoluteCoords(e);return t?this._newRange(this._values,t,this._optionsIterator):this.empty()}some(e,t){if(!e)return!1;let n=this.entries(t),r=n.next();for(;!r.done;){let t=r.value;if(e(t.value,t.coords,this))return!0;r=n.next()}return!1}sort(e=1,n=t.IRange.Axis.Row){let r=this.argsort(this,e,n);return this.take(r,n)}sparseBuilder(e){let r=this._values,i=this._axisFromOptions(e),a=r.getAxis(),o=i!==t.IRange.Axis.Row,s=i===a?new _i.Builder:new _i.TransposedBuilder,c=this,l=this._coords??n.CoordUtils.EmptyRange,u=l.colStart,d=l.rowStart,f=o?u:d,p=o?d:u,m={pushAt(e,t,n){if(n===null)return m;let r=o?t:e,i=o?e:t;return s.pushAt(r+f,i+p,n),m},pushMultipleAt(e,t,n){let r;r=Array.isArray(n)?n:n.isIRange?n.flatten():[n];let i=o?t:e,a=o?e:t;return s.pushMultipleAt(i+f,a+p,r),m},build:()=>c._cloneFromBuilder(s)};return m}_takeSparse(e,n){let r=this.getRowCount(),i=this.getColumnCount(),a=n===t.IRange.Axis.Column,o=e.length,s=this.empty().resize(a?r:o,a?o:i,null).sparseBuilder(a?t.IRange.Axis.Column:t.IRange.Axis.Row);if(a)for(let t=0;t<o;t++){let n=e[t];for(let e=0;e<r;e++){let r=this.getValueAt(e,n);r!=null&&s.pushAt(e,t,r)}}else for(let t=0;t<o;t++){let n=e[t];for(let e=0;e<i;e++){let r=this.getValueAt(n,e);r!=null&&s.pushAt(t,e,r)}}return s.build()}_takeDense(e,n){let r=this.getRowCount(),i=this.getColumnCount(),a=n===t.IRange.Axis.Column,o=Array.from({length:i},()=>Array(r).fill(null)),s=this.entries($O),c=s.next();for(;!c.done;){let{value:e,coords:t}=c.value;o[t.colIndex][t.rowIndex]=e,c=s.next()}let l=e.length,u=this.empty().resize(a?r:l,a?l:i,null).sparseBuilder(a?t.IRange.Axis.Column:t.IRange.Axis.Row);if(a)for(let t=0;t<l;t++){let n=o[e[t]];if(n)for(let e=0;e<r;e++){let r=n[e];r!=null&&u.pushAt(e,t,r)}}else for(let t=0;t<l;t++){let n=e[t];for(let e=0;e<i;e++){let r=o[e][n];r!=null&&u.pushAt(t,e,r)}}return u.build()}take(e,n=t.IRange.Axis.Row){let r=this.getRowCount(),i=this.getColumnCount();return e.length*i<i*r*.7?this._takeSparse(e,n):this._takeDense(e,n)}tile(e,t){if(e===1&&t===1)return this._self();if(e<=0||t<=0)throw Error(`Invalid tile dimensions: ${e} x ${t}`);let n=this._coords;if(!n)return this._self();let r=this._values,i=r.cloneEmpty(),a=this.getColumnCount(),o=this.getRowCount(),s=n.colStart,c=n.rowStart,l=0,u=0,d={rowIndex:0,colIndex:0};for(let f=0;f<e;f++){l=f*o;for(let e=0;e<t;e++)u=e*a,d.colIndex=s+u,d.rowIndex=c+l,r.copyTo(i,d,n)}return n={colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colStart+t*a-1,rowEnd:n.rowStart+e*o-1},this._newRange(i,n,this._optionsIterator)}toScalar(){if(this.size!==1)throw Error(`Cannot convert to scalar, range size is ${this.size} not 1`);return this.getValueAt(0,0)}toType(e){let t=typeof e==`string`?{type:e}:e,n=this._optionsIterator;return n=n?{...n,...t}:t,this._newRange(this._values,this._coords,n)}transpose(){if(this.size<=1)return this._self();let e=this._values,n=this._coords,r=e.getAxis(),i=this._entries({axis:r===t.IRange.Axis.Column?t.IRange.Axis.Row:t.IRange.Axis.Column,bounds:n,reuseResult:!0}),a=r===t.IRange.Axis.Column,o=new _i.Builder,s=n.colStart,c=n.rowStart,l=i.next();for(;!l.done;){let e=l.value,t=e[0],n=t.colIndex-s,r=t.rowIndex-c,u=e[1];o.pushAt(a?r:n,a?n:r,u),l=i.next()}return this.empty()._cloneFromBuilder(o)}values(e){let t=this.entries(e);return{[Symbol.iterator](){return this},next(){let e=t.next();return e.done?oi:{done:!1,value:e.value.value}}}}zip(e,t,n){let r=e.map(e=>e.isIRange?e:this.fill(e)),i=this._createBuilder();for(let{coords:e,value:a}of this.entries(n)){let{rowIndex:n,colIndex:o}=e,s=[a];for(let e of r){let t=e.getValueAt(n,o);s.push(t)}i.pushAt(n,o,t(s,e,this))}return this._cloneFromBuilder(i)._untyped()}isLiteral(){return this._isLiteral}isDirectScalar(){return this._isDirectScalar}isScalar(){return this.size===1}isEmpty(){return this.size===0}isVector(){let e=this.getColumnCount(),t=this.getRowCount();return e!==0&&t!==0&&(e===1&&t!==1||t===1&&e!==1)}get size(){let e=this._coords;return e?(e.colEnd-e.colStart+1)*(e.rowEnd-e.rowStart+1):0}[Symbol.iterator](){let e=this.entries();return{next(){let t=e.next();return t.done?oi:{done:!1,value:t.value.value}},[Symbol.iterator](){return this}}}toString(){let e=this._coords;return e?`${e.rowEnd-e.rowStart+1}x${e.colEnd-e.colStart+1}:${this._toStringValues()}`:`0x0:{}`}get[Symbol.toStringTag](){return`[Range]`}_validateCoords(e){}_axisFromOptions(e){let t=this._optionsIterator;if(!e)return t.axis;let n;return n=typeof e==`object`&&`axis`in e?e.axis:e,n?n===`fastest`?this._values.getAxis():n:t.axis}_toStringValues(e=39){let n=`{`,r=this.entries({includeEmpty:!0,axis:t.IRange.Axis.Row,onError:`value`}),i=r.next(),a=0,o=i.value?.coords.rowIndex??0;for(;!i.done&&n.length<e;){let e=i.value;e.coords.rowIndex>o?(n+=`;`,o=e.coords.rowIndex):a>0&&(n+=`,`),a++;let t=e.value;t===null?t=``:typeof t==`string`?t=`"${t}"`:typeof t==`boolean`&&(t=t?`TRUE`:`FALSE`),n+=t,i=r.next()}return i.done?n+=`}`:n+=`...`,n}_entries(e){if(!this._coords)return si;let n=this._values,r=this._optionsIterator,i=e?.axis===`fastest`?n.getAxis():e?.axis??r.axis,a=e?{...r,...e,axis:i}:r,o=n.entries(a),s=e?.type,c=null,l=e?.includeEmpty??!1,u=e?.errorOnInvalidCoercion??!1;if(l&&(o=new Ga(o,a),s&&(c=this._coerceValue(null,s,{...e,onError:`value`},t.ScalarType.Null))),s){let n=o,r=e.onError??`throw`,i=r===`ignore`,a=!1,d=!1,f=null;i||(r===`throw`?a=!0:r===`value`?d=!0:typeof r==`function`&&(f=r));let p=this._runtime,m=this,h=QD(p,s),g=e.coerce,_;g&&(typeof g==`function`?(h=g,_=QD(p,s,hO)):Array.isArray(g)&&(h=QD(p,s,g)));let v=this._isDirectScalar;o={[Symbol.iterator]:()=>o,next(){for(;;){let e=n.next();if(e.done)return oi;let r=e.value,o=r[1],g=null;if(o===void 0||o===null&&i)g=c;else if(s){let e=WD(o,!0);if(v&&!h&&e!==s&&(o=$D(p,o,e,s,!0),e=WD(o,!0)),e===s)g=o;else{if(h?(g=h(o,e,_,m),u&&g===null&&o!==null&&(g=t.FormulaError.BuiltIn.Value)):e===t.ScalarType.Error&&(g=o),t.FormulaError.isError(g))if(i)g=null;else{if(a)throw g;d||f&&f(o)}if(g===null){if(l)return{done:!1,value:[r[0],g]};continue}}}return g===o?e:{done:!1,value:[r[0],g]}}}}}return o}_absoluteCoords(e,t){let r=this._coords??n.CoordUtils.EmptyRange,i=r.colStart,a=r.rowStart;JO.colStart=(e.colStart??0)+i,JO.rowStart=(e.rowStart??0)+a,JO.colEnd=(e.colEnd??r.colEnd-i)+i,JO.rowEnd=(e.rowEnd??r.rowEnd-a)+a;let o=n.CoordUtils.intersectRanges(r,JO,t);return o&&this._validateCoords(o),o}_self(){return this._isLiteral?this.clone():this}_untyped(){let e=this._optionsIterator;if(!e?.type)return this;let{type:t,coerce:n,...r}=e;return this._newRange(this._values,this._coords,r,this._isLiteral)}_createBuilder(e){let r=this._coords??n.CoordUtils.EmptyRange,i=this._values.getAxis(),a=e??i,o=a!==t.IRange.Axis.Row,s=o?r.colStart:r.rowStart,c=o?r.rowStart:r.colStart;return a===i?new _i.Builder(null,s,c):new _i.TransposedBuilder(null,s,c)}_applyBuilder(e,t,n=!1){if(!t)return e;let r=t.build();return r?(n&&(e=e.clone()),e.setValues(r.tuples),e):e}_cloneFromBuilder(e,n=null){let r=e?e.build():void 0;if(!r&&!n)return this._self();let i=this._values;i=i.clone();let a=i.getAxis()===t.IRange.Axis.Column;if(n){let e=n.done();for(let t of e)i.delete(t)}let o=this._coords;if(r){let e=Ha(r.bounds,a),t=o,n=t?t.colStart:0,s=t?t.rowStart:0,c=t?t.colEnd:0,l=t?t.rowEnd:0,u=e.colEnd,d=e.rowEnd;(u>c||d>l)&&QO(i,t,u,d),i.setValues(r.tuples),o={colStart:n,rowStart:s,colEnd:Math.max(u,c),rowEnd:Math.max(d,l)}}return this._newRange(i,o,this._optionsIterator,this._isLiteral)}_coerceValue(e,n,r,i){if(!n)return e;let a=this._runtime,o=QD(a,n),s=r?.coerce,c;s&&(typeof s==`function`?(o=s,c=QD(a,n,hO)):Array.isArray(s)&&(o=QD(a,n,s))),i??=WD(e,!0),this._isDirectScalar&&i!==n&&(e=$D(this._runtime,e,i,n,!0),i=WD(e,!0));let l=null;if(i===n)l=e;else if(o?l=o(e,i,c,this):i===t.ScalarType.Error&&(l=e),t.FormulaError.isError(l)){let e=r?.onError??`throw`;if(e===`throw`)throw l;e===`value`||(e===`ignore`?l=null:typeof e==`function`&&e(l))}return l}_mergeIterators(e,r,i){let a=this._coords??n.CoordUtils.EmptyRange,o=e._coords??n.CoordUtils.EmptyRange,s=this._values.getAxis(),c=i?.axis===`fastest`?s:i?.axis??s,l=c!==t.IRange.Axis.Row,u=this._entries(i),d=this._entries(i),f=a.colStart,p=a.rowStart,m=f-o.colStart,h=p-o.rowStart,g=c===s?new _i.Builder:new _i.TransposedBuilder,_=new qa({...i,axis:c,bounds:a,comparator:(l?ay:oy)(a,o)},u,d),v=_.next();for(;!v.done;){let e=v.value,t=e[1],n=e[3],i=e[0],a=e[2],o=i?i.colIndex:a.colIndex+m,s=i?i.rowIndex:a.rowIndex+h,c=r(t,n,{colIndex:o-f,rowIndex:s-p},this),u=l?o:s,d=l?s:o;g.pushAt(u,d,c),v=_.next()}return g}_newRange(t,n,r=null,i=!1,a=!1){return new e(this._runtime,t,n,r,i,a)}get isIRange(){return!0}},KO=class extends GO{constructor(e,t,n,r){super(e,t,n),this._visibleCoords=r}getStats(e){return super.getStats(e).toLocalCoords(this._visibleCoords,e)}},qO={colStart:-(2**53-1),rowStart:-(2**53-1),colEnd:2**53-1,rowEnd:2**53-1},JO={colStart:-(2**53-1),rowStart:-(2**53-1),colEnd:2**53-1,rowEnd:2**53-1},YO=Object.freeze([Object.freeze([null])]),XO=Object.freeze({axis:t.IRange.Axis.Row}),ZO=(e,n,r)=>{if(r===null)return void e.delete(n);let i=e.getAxis()===t.IRange.Axis.Column,a=Ya(r,Va(n.colStart,n.rowStart,n.colEnd,n.rowEnd,i),i);e.setValues(a.tuples)},QO=(e,t,n,r,i=null)=>{if(!t)return qO.colStart=0,qO.rowStart=0,qO.colEnd=n,qO.rowEnd=r,void ZO(e,qO,i);let a=t.colEnd,o=Math.max(n,a),s=t.rowEnd,c=Math.max(r,s);o>a&&(qO.colStart=a+1,qO.rowStart=t.rowStart,qO.colEnd=o,qO.rowEnd=c,ZO(e,qO,i),o=a),c>s&&(qO.colStart=t.colStart,qO.rowStart=s+1,qO.colEnd=o,qO.rowEnd=c,ZO(e,qO,i))},$O=Object.freeze({axis:`fastest`}),ek=64,tk=Object.freeze([t.ScalarType.Error]),nk=Object.freeze({axis:`fastest`,onError:`value`}),rk={colIndex:-(2**53-1),rowIndex:-(2**53-1)};function ik(e,t,n,r){let i=e==null,a=t==null;return i||a?i&&a?0:i?1:-1:$o.compare(e,t,r,r.collator)*n}function ak(e,t,n){if(typeof t!=`string`)return e+H_(t);let r=n.get(t);return r===void 0&&(r=H_(t),n.set(t,r)),e+r}var ok=class e extends GO{constructor(e,t,n,r,i,a){if(super(e,t,n,r??null),this._getEntireCoords=i??VD,this._resolveScope=a,this._coords=sk(n,this._getEntireCoords()),!n)throw Error(`ReferenceRange requires a coords`);this._validateCoords(n)}getCoords(){let e=this._coords;if(e.scope){let n=this._resolveScope(e.scope);if(n==null)throw new t.FormulaError.Ref;e={...e,scope:n}}return e}get isIReferenceRange(){return!0}toType(t){let n=typeof t==`string`?{type:t}:t;return new e(this._runtime,this._values,this._coords,n,this._getEntireCoords,this._resolveScope)}_validateCoords(e){let t=this._getEntireCoords?.();if(t&&(e.rowStart<t.rowStart&&e.rowStart!==-(2**53-1)||e.rowEnd>t.rowEnd&&e.rowEnd!==2**53-1||e.colStart<t.colStart&&e.colStart!==-(2**53-1)||e.colEnd>t.colEnd&&e.colEnd!==2**53-1))throw new n.OutOfBoundsError}get[Symbol.toStringTag](){return`[ReferenceRange]`}toString(){let e=this._coords,n=this._getEntireCoords();return e.scope&&(e={...e},e.scope=this._resolveScope(e.scope)??t.FormulaError.Label.Ref),`${Zl(e,n)}=>${super.toString()}`}},sk=(e,t)=>{let n=e.rowStart,r=e.rowEnd,i=e.colStart,a=e.colEnd,o=!1;return i===-(2**53-1)&&(i=t.colStart,o=!0),n===-(2**53-1)&&(n=t.rowStart,o=!0),r===2**53-1&&(r=t.rowEnd,o=!0),a===2**53-1&&(a=t.colEnd,o=!0),o?{rowStart:n,rowEnd:r,colStart:i,colEnd:a,scope:e.scope}:e};Object.defineProperty(exports,"$",{enumerable:!0,get:function(){return Vb}}),Object.defineProperty(exports,"$t",{enumerable:!0,get:function(){return ul}}),Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return Hb}}),Object.defineProperty(exports,"At",{enumerable:!0,get:function(){return qp}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return Pb}}),Object.defineProperty(exports,"Bt",{enumerable:!0,get:function(){return up}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return Qx}}),Object.defineProperty(exports,"Cn",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"Ct",{enumerable:!0,get:function(){return i_}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return dS}}),Object.defineProperty(exports,"Dn",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"Dt",{enumerable:!0,get:function(){return Qp}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return mS}}),Object.defineProperty(exports,"En",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"Et",{enumerable:!0,get:function(){return Sh}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return Bb}}),Object.defineProperty(exports,"Ft",{enumerable:!0,get:function(){return jp}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return kb}}),Object.defineProperty(exports,"Gt",{enumerable:!0,get:function(){return Cd}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return jb}}),Object.defineProperty(exports,"Ht",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return xb}}),Object.defineProperty(exports,"It",{enumerable:!0,get:function(){return Np}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return Mb}}),Object.defineProperty(exports,"Jt",{enumerable:!0,get:function(){return ru}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return Lb}}),Object.defineProperty(exports,"Kt",{enumerable:!0,get:function(){return md}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return Eb}}),Object.defineProperty(exports,"Lt",{enumerable:!0,get:function(){return np}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return Sb}}),Object.defineProperty(exports,"Mt",{enumerable:!0,get:function(){return Gm}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return _b}}),Object.defineProperty(exports,"Nt",{enumerable:!0,get:function(){return im}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return Mx}}),Object.defineProperty(exports,"Ot",{enumerable:!0,get:function(){return $p}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return yb}}),Object.defineProperty(exports,"Pt",{enumerable:!0,get:function(){return dp}}),Object.defineProperty(exports,"Q",{enumerable:!0,get:function(){return qb}}),Object.defineProperty(exports,"Qt",{enumerable:!0,get:function(){return tu}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return Nb}}),Object.defineProperty(exports,"Rt",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return tS}}),Object.defineProperty(exports,"Sn",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"St",{enumerable:!0,get:function(){return s_}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return Vx}}),Object.defineProperty(exports,"Tn",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"Tt",{enumerable:!0,get:function(){return Kp}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return Db}}),Object.defineProperty(exports,"Ut",{enumerable:!0,get:function(){return Qd}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return Ab}}),Object.defineProperty(exports,"Vt",{enumerable:!0,get:function(){return sp}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return Ob}}),Object.defineProperty(exports,"Wt",{enumerable:!0,get:function(){return qd}}),Object.defineProperty(exports,"X",{enumerable:!0,get:function(){return Cb}}),Object.defineProperty(exports,"Xt",{enumerable:!0,get:function(){return ou}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return Tb}}),Object.defineProperty(exports,"Yt",{enumerable:!0,get:function(){return Zl}}),Object.defineProperty(exports,"Z",{enumerable:!0,get:function(){return wb}}),Object.defineProperty(exports,"Zt",{enumerable:!0,get:function(){return Wl}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return fS}}),Object.defineProperty(exports,"_n",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"_t",{enumerable:!0,get:function(){return R_}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return sD}}),Object.defineProperty(exports,"an",{enumerable:!0,get:function(){return mo}}),Object.defineProperty(exports,"at",{enumerable:!0,get:function(){return Ry}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return pS}}),Object.defineProperty(exports,"bn",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"bt",{enumerable:!0,get:function(){return T_}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return VE}}),Object.defineProperty(exports,"cn",{enumerable:!0,get:function(){return vo}}),Object.defineProperty(exports,"ct",{enumerable:!0,get:function(){return cy}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return pE}}),Object.defineProperty(exports,"dn",{enumerable:!0,get:function(){return oi}}),Object.defineProperty(exports,"dt",{enumerable:!0,get:function(){return Jv}}),Object.defineProperty(exports,"en",{enumerable:!0,get:function(){return cl}}),Object.defineProperty(exports,"et",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return xw}}),Object.defineProperty(exports,"fn",{enumerable:!0,get:function(){return zr}}),Object.defineProperty(exports,"ft",{enumerable:!0,get:function(){return Fv}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return TS}}),Object.defineProperty(exports,"gn",{enumerable:!0,get:function(){return Yn}}),Object.defineProperty(exports,"gt",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return kC}}),Object.defineProperty(exports,"hn",{enumerable:!0,get:function(){return Qn}}),Object.defineProperty(exports,"ht",{enumerable:!0,get:function(){return H_}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return dD}}),Object.defineProperty(exports,"in",{enumerable:!0,get:function(){return Co}}),Object.defineProperty(exports,"it",{enumerable:!0,get:function(){return rb}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return Fb}}),Object.defineProperty(exports,"jt",{enumerable:!0,get:function(){return Bm}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return Ub}}),Object.defineProperty(exports,"kt",{enumerable:!0,get:function(){return wh}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return yE}}),Object.defineProperty(exports,"ln",{enumerable:!0,get:function(){return yo}}),Object.defineProperty(exports,"lt",{enumerable:!0,get:function(){return Ov}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return KC}}),Object.defineProperty(exports,"mn",{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(exports,"mt",{enumerable:!0,get:function(){return V_}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return PO}}),Object.defineProperty(exports,"nn",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"nt",{enumerable:!0,get:function(){return Ky}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return DD}}),Object.defineProperty(exports,"on",{enumerable:!0,get:function(){return go}}),Object.defineProperty(exports,"ot",{enumerable:!0,get:function(){return Iy}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return YC}}),Object.defineProperty(exports,"pn",{enumerable:!0,get:function(){return Ir}}),Object.defineProperty(exports,"pt",{enumerable:!0,get:function(){return pv}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return bb}}),Object.defineProperty(exports,"qt",{enumerable:!0,get:function(){return Il}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return SO}}),Object.defineProperty(exports,"rn",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"rt",{enumerable:!0,get:function(){return sb}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return nD}}),Object.defineProperty(exports,"sn",{enumerable:!0,get:function(){return _o}}),Object.defineProperty(exports,"st",{enumerable:!0,get:function(){return Cy}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return LO}}),Object.defineProperty(exports,"tn",{enumerable:!0,get:function(){return Qo}}),Object.defineProperty(exports,"tt",{enumerable:!0,get:function(){return mb}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return TE}}),Object.defineProperty(exports,"un",{enumerable:!0,get:function(){return _i}}),Object.defineProperty(exports,"ut",{enumerable:!0,get:function(){return Dv}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Bx}}),Object.defineProperty(exports,"vn",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"vt",{enumerable:!0,get:function(){return C_}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return rS}}),Object.defineProperty(exports,"wn",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"wt",{enumerable:!0,get:function(){return sg}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return iS}}),Object.defineProperty(exports,"xn",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"xt",{enumerable:!0,get:function(){return x_}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return nS}}),Object.defineProperty(exports,"yn",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"yt",{enumerable:!0,get:function(){return E_}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return Ib}}),Object.defineProperty(exports,"zt",{enumerable:!0,get:function(){return Y}});
|