@sheetxl/formulas-extended 0.7.23-beta.1

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.
Files changed (157) hide show
  1. package/LICENSE.md +11 -0
  2. package/README.md +59 -0
  3. package/browser/cjs/B4JJfKSI4ppwU855.cjs +1 -0
  4. package/browser/cjs/BWDfauDHqB6U_2ka.cjs +1 -0
  5. package/browser/cjs/BwLx9ix5Sq7suAYP.cjs +1 -0
  6. package/browser/cjs/C2uDl8VIJqh58YF_.cjs +1 -0
  7. package/browser/cjs/CW-b31_-r-_raT8Y.cjs +1 -0
  8. package/browser/cjs/Clu7XiAsCB48GDXN.cjs +1 -0
  9. package/browser/cjs/CnZfa45XxA-9Jhmp.cjs +1 -0
  10. package/browser/cjs/DsFZgtSQpC75d1M0.cjs +1 -0
  11. package/browser/cjs/JfM6P_qoQQTWakZf.cjs +1 -0
  12. package/browser/cjs/bM25C5avKgBAJVfk.cjs +1 -0
  13. package/browser/cjs/fqTQ_p3ehzUvc1tF.cjs +1 -0
  14. package/browser/cjs/h3dw1jAp2J5Pu4p3.cjs +1 -0
  15. package/browser/cjs/index.cjs +1 -0
  16. package/browser/cjs/jev6VGWTdgEgm4Yk.cjs +1 -0
  17. package/browser/cjs/lEQC21-Sk4lwHy2r.cjs +1 -0
  18. package/browser/esm/-9SircqlVS-6jMNw.mjs +304 -0
  19. package/browser/esm/BCWg0NNa-nGjBMYM.mjs +19 -0
  20. package/browser/esm/BSWSZ6lA8jcSqHmz.mjs +19 -0
  21. package/browser/esm/BUYVOSf4JEFM5iRs.mjs +45 -0
  22. package/browser/esm/BWbYcyqeI2q9zobt.mjs +63 -0
  23. package/browser/esm/BatWJFRiqJI5wALH.mjs +52 -0
  24. package/browser/esm/CRT-M9ZISwPJluM8.mjs +71 -0
  25. package/browser/esm/Ck9zOHAyQJLQF_j_.mjs +83 -0
  26. package/browser/esm/CmXZZdy6rEOCrUnH.mjs +63 -0
  27. package/browser/esm/DAxAXOJZXvqvlnoT.mjs +28 -0
  28. package/browser/esm/DHrrLoyQ_KZ3yWWr.mjs +55 -0
  29. package/browser/esm/DboajdAr6s1IjcXM.mjs +45 -0
  30. package/browser/esm/Dtof6I8zPa8LIz89.mjs +35 -0
  31. package/browser/esm/XphbS4usCLMa2WZ2.mjs +20 -0
  32. package/browser/esm/index.mjs +2978 -0
  33. package/licenses/dependencies.txt +1 -0
  34. package/node/esm/-9SircqlVS-6jMNw.mjs +304 -0
  35. package/node/esm/BBREUOtt4cAHs88k.mjs +45 -0
  36. package/node/esm/BCWg0NNa-nGjBMYM.mjs +19 -0
  37. package/node/esm/BSWSZ6lA8jcSqHmz.mjs +19 -0
  38. package/node/esm/BUYVOSf4JEFM5iRs.mjs +45 -0
  39. package/node/esm/BWbYcyqeI2q9zobt.mjs +63 -0
  40. package/node/esm/BatWJFRiqJI5wALH.mjs +52 -0
  41. package/node/esm/CRT-M9ZISwPJluM8.mjs +71 -0
  42. package/node/esm/Ck9zOHAyQJLQF_j_.mjs +83 -0
  43. package/node/esm/CmXZZdy6rEOCrUnH.mjs +63 -0
  44. package/node/esm/DHrrLoyQ_KZ3yWWr.mjs +55 -0
  45. package/node/esm/Dp0K0CPOWr5We6lS.mjs +28 -0
  46. package/node/esm/Dtof6I8zPa8LIz89.mjs +35 -0
  47. package/node/esm/XphbS4usCLMa2WZ2.mjs +20 -0
  48. package/node/esm/index.mjs +3047 -0
  49. package/package.json +43 -0
  50. package/resources/contents.json +14 -0
  51. package/resources/locales/contents.json +9 -0
  52. package/resources/locales/de/functions.json +59 -0
  53. package/types/index.d.ts +4 -0
  54. package/types/src/.generated/decl/cube/Cube.decl.d.ts +4 -0
  55. package/types/src/.generated/decl/cube/Cube.decl.d.ts.map +1 -0
  56. package/types/src/.generated/decl/financial/ACCRINT.decl.d.ts +4 -0
  57. package/types/src/.generated/decl/financial/ACCRINT.decl.d.ts.map +1 -0
  58. package/types/src/.generated/decl/financial/AMORDEGRC.decl.d.ts +4 -0
  59. package/types/src/.generated/decl/financial/AMORDEGRC.decl.d.ts.map +1 -0
  60. package/types/src/.generated/decl/financial/Date.decl.d.ts +4 -0
  61. package/types/src/.generated/decl/financial/Date.decl.d.ts.map +1 -0
  62. package/types/src/.generated/decl/financial/Financial.decl.d.ts +4 -0
  63. package/types/src/.generated/decl/financial/Financial.decl.d.ts.map +1 -0
  64. package/types/src/.generated/decl/financial/Financial2.decl.d.ts +4 -0
  65. package/types/src/.generated/decl/financial/Financial2.decl.d.ts.map +1 -0
  66. package/types/src/.generated/decl/financial/Financial3.decl.d.ts +4 -0
  67. package/types/src/.generated/decl/financial/Financial3.decl.d.ts.map +1 -0
  68. package/types/src/.generated/decl/financial/Financial4.decl.d.ts +4 -0
  69. package/types/src/.generated/decl/financial/Financial4.decl.d.ts.map +1 -0
  70. package/types/src/.generated/decl/financial/ODD.decl.d.ts +4 -0
  71. package/types/src/.generated/decl/financial/ODD.decl.d.ts.map +1 -0
  72. package/types/src/.generated/decl/financial/VDB.decl.d.ts +4 -0
  73. package/types/src/.generated/decl/financial/VDB.decl.d.ts.map +1 -0
  74. package/types/src/.generated/decl/statistical/ETS.decl.d.ts +4 -0
  75. package/types/src/.generated/decl/statistical/ETS.decl.d.ts.map +1 -0
  76. package/types/src/.generated/decl/statistical/Regression.decl.d.ts +4 -0
  77. package/types/src/.generated/decl/statistical/Regression.decl.d.ts.map +1 -0
  78. package/types/src/.generated/decl/statistical/TTEST.decl.d.ts +4 -0
  79. package/types/src/.generated/decl/statistical/TTEST.decl.d.ts.map +1 -0
  80. package/types/src/.generated/decl/text/RegEx.decl.d.ts +4 -0
  81. package/types/src/.generated/decl/text/RegEx.decl.d.ts.map +1 -0
  82. package/types/src/.generated/desc/cube/Cube.desc.d.ts +4 -0
  83. package/types/src/.generated/desc/cube/Cube.desc.d.ts.map +1 -0
  84. package/types/src/.generated/desc/financial/ACCRINT.desc.d.ts +4 -0
  85. package/types/src/.generated/desc/financial/ACCRINT.desc.d.ts.map +1 -0
  86. package/types/src/.generated/desc/financial/AMORDEGRC.desc.d.ts +4 -0
  87. package/types/src/.generated/desc/financial/AMORDEGRC.desc.d.ts.map +1 -0
  88. package/types/src/.generated/desc/financial/Date.desc.d.ts +4 -0
  89. package/types/src/.generated/desc/financial/Date.desc.d.ts.map +1 -0
  90. package/types/src/.generated/desc/financial/Financial.desc.d.ts +4 -0
  91. package/types/src/.generated/desc/financial/Financial.desc.d.ts.map +1 -0
  92. package/types/src/.generated/desc/financial/Financial2.desc.d.ts +4 -0
  93. package/types/src/.generated/desc/financial/Financial2.desc.d.ts.map +1 -0
  94. package/types/src/.generated/desc/financial/Financial3.desc.d.ts +4 -0
  95. package/types/src/.generated/desc/financial/Financial3.desc.d.ts.map +1 -0
  96. package/types/src/.generated/desc/financial/Financial4.desc.d.ts +4 -0
  97. package/types/src/.generated/desc/financial/Financial4.desc.d.ts.map +1 -0
  98. package/types/src/.generated/desc/financial/ODD.desc.d.ts +4 -0
  99. package/types/src/.generated/desc/financial/ODD.desc.d.ts.map +1 -0
  100. package/types/src/.generated/desc/financial/VDB.desc.d.ts +4 -0
  101. package/types/src/.generated/desc/financial/VDB.desc.d.ts.map +1 -0
  102. package/types/src/.generated/desc/statistical/ETS.desc.d.ts +4 -0
  103. package/types/src/.generated/desc/statistical/ETS.desc.d.ts.map +1 -0
  104. package/types/src/.generated/desc/statistical/Regression.desc.d.ts +4 -0
  105. package/types/src/.generated/desc/statistical/Regression.desc.d.ts.map +1 -0
  106. package/types/src/.generated/desc/statistical/TTEST.desc.d.ts +4 -0
  107. package/types/src/.generated/desc/statistical/TTEST.desc.d.ts.map +1 -0
  108. package/types/src/.generated/desc/text/RegEx.desc.d.ts +4 -0
  109. package/types/src/.generated/desc/text/RegEx.desc.d.ts.map +1 -0
  110. package/types/src/.generated/index.d.ts +7 -0
  111. package/types/src/.generated/index.d.ts.map +1 -0
  112. package/types/src/_utils/AnyArgs.d.ts +38 -0
  113. package/types/src/_utils/AnyArgs.d.ts.map +1 -0
  114. package/types/src/_utils/Consts.d.ts +14 -0
  115. package/types/src/_utils/Consts.d.ts.map +1 -0
  116. package/types/src/_utils/Date.d.ts +33 -0
  117. package/types/src/_utils/Date.d.ts.map +1 -0
  118. package/types/src/_utils/FinanaceSolver.d.ts +19 -0
  119. package/types/src/_utils/FinanaceSolver.d.ts.map +1 -0
  120. package/types/src/_utils/FinanceCoupon.d.ts +141 -0
  121. package/types/src/_utils/FinanceCoupon.d.ts.map +1 -0
  122. package/types/src/_utils/FinanceDate.d.ts +26 -0
  123. package/types/src/_utils/FinanceDate.d.ts.map +1 -0
  124. package/types/src/_utils/FinanceDayCount.d.ts +80 -0
  125. package/types/src/_utils/FinanceDayCount.d.ts.map +1 -0
  126. package/types/src/_utils/FinanceUtils.d.ts +3 -0
  127. package/types/src/_utils/FinanceUtils.d.ts.map +1 -0
  128. package/types/src/_utils/LeastSquares.d.ts +131 -0
  129. package/types/src/_utils/LeastSquares.d.ts.map +1 -0
  130. package/types/src/cube/Cube.d.ts +64 -0
  131. package/types/src/cube/Cube.d.ts.map +1 -0
  132. package/types/src/financial/ACCRINT.d.ts +19 -0
  133. package/types/src/financial/ACCRINT.d.ts.map +1 -0
  134. package/types/src/financial/AMORDEGRC.d.ts +53 -0
  135. package/types/src/financial/AMORDEGRC.d.ts.map +1 -0
  136. package/types/src/financial/Date.d.ts +29 -0
  137. package/types/src/financial/Date.d.ts.map +1 -0
  138. package/types/src/financial/Financial.d.ts +287 -0
  139. package/types/src/financial/Financial.d.ts.map +1 -0
  140. package/types/src/financial/Financial2.d.ts +99 -0
  141. package/types/src/financial/Financial2.d.ts.map +1 -0
  142. package/types/src/financial/Financial3.d.ts +95 -0
  143. package/types/src/financial/Financial3.d.ts.map +1 -0
  144. package/types/src/financial/Financial4.d.ts +82 -0
  145. package/types/src/financial/Financial4.d.ts.map +1 -0
  146. package/types/src/financial/ODD.d.ts +106 -0
  147. package/types/src/financial/ODD.d.ts.map +1 -0
  148. package/types/src/financial/VDB.d.ts +27 -0
  149. package/types/src/financial/VDB.d.ts.map +1 -0
  150. package/types/src/statistical/ETS.d.ts +45 -0
  151. package/types/src/statistical/ETS.d.ts.map +1 -0
  152. package/types/src/statistical/Regression.d.ts +49 -0
  153. package/types/src/statistical/Regression.d.ts.map +1 -0
  154. package/types/src/statistical/TTEST.d.ts +27 -0
  155. package/types/src/statistical/TTEST.d.ts.map +1 -0
  156. package/types/src/text/RegEx.d.ts +34 -0
  157. package/types/src/text/RegEx.d.ts.map +1 -0
@@ -0,0 +1,2978 @@
1
+ /**
2
+ * @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.7.23-beta.1
3
+ *
4
+ * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
+ * License: The license can be found at https://www.sheetxl.com/license.
6
+ */
7
+ import { FormulaContext as e, FormulaError as t, IRange as n, ScalarType as r } from "@sheetxl/primitives";
8
+ var i = Object.defineProperty, a = (e, t) => {
9
+ let n = {};
10
+ for (var r in e) i(n, r, {
11
+ get: e[r],
12
+ enumerable: !0
13
+ });
14
+ return t || i(n, Symbol.toStringTag, { value: "Module" }), n;
15
+ }, o = a({
16
+ CUBEKPIMEMBER: () => s,
17
+ CUBEMEMBER: () => c,
18
+ CUBEMEMBERPROPERTY: () => l,
19
+ CUBERANKEDMEMBER: () => u,
20
+ CUBESET: () => d,
21
+ CUBESETCOUNT: () => f,
22
+ CUBEVALUE: () => p
23
+ });
24
+ function s(e, n, r, i) {
25
+ throw t.BuiltIn.NA;
26
+ }
27
+ function c(e, n, r) {
28
+ throw t.BuiltIn.NA;
29
+ }
30
+ function l(e, n, r) {
31
+ throw t.BuiltIn.NA;
32
+ }
33
+ function u(e, n, r, i) {
34
+ throw t.BuiltIn.NA;
35
+ }
36
+ function d(e, n, r, i, a) {
37
+ throw t.BuiltIn.NA;
38
+ }
39
+ function f(e) {
40
+ throw t.BuiltIn.NA;
41
+ }
42
+ function p(e, ...n) {
43
+ throw t.BuiltIn.NA;
44
+ }
45
+ var m = [
46
+ 31,
47
+ 29,
48
+ 31,
49
+ 30,
50
+ 31,
51
+ 30,
52
+ 31,
53
+ 31,
54
+ 30,
55
+ 31,
56
+ 30,
57
+ 31
58
+ ], h = [
59
+ 31,
60
+ 28,
61
+ 31,
62
+ 30,
63
+ 31,
64
+ 30,
65
+ 31,
66
+ 31,
67
+ 30,
68
+ 31,
69
+ 30,
70
+ 31
71
+ ];
72
+ function g(e) {
73
+ return e % 4 == 0 && e % 100 != 0 || e % 400 == 0;
74
+ }
75
+ function _(e, t) {
76
+ return g(e) ? m[t] : h[t];
77
+ }
78
+ function v(e, t, n) {
79
+ return _(e, t) === n;
80
+ }
81
+ function y(e, t) {
82
+ return Math.trunc(e) - Math.trunc(t);
83
+ }
84
+ function b(t, n) {
85
+ let r = e.fromSerialDate(t, !0), i = e.fromSerialDate(n, !0), a = i.getFullYear() - r.getFullYear();
86
+ if (a > 1) return !0;
87
+ if (a < 1) return !1;
88
+ let o = i.getMonth() - r.getMonth();
89
+ return o > 0 || !(o < 0) && i.getDate() > r.getDate();
90
+ }
91
+ function x(e, t) {
92
+ if (v(e.getFullYear(), e.getMonth(), e.getDate())) {
93
+ e.setDate(1), e.setMonth(e.getMonth() + t);
94
+ let n = e.getFullYear(), r = e.getMonth();
95
+ e.setDate(_(n, r));
96
+ } else e.setMonth(e.getMonth() + t);
97
+ return e;
98
+ }
99
+ function S(e) {
100
+ return !(e < 0 || e > 4);
101
+ }
102
+ function C(t) {
103
+ return e.getDateParts(Math.max(0, Math.floor(t)));
104
+ }
105
+ function w(e, t, n, r, i, a) {
106
+ return 360 * (r - e) + 30 * (i - t) + (a - n);
107
+ }
108
+ function T(t, n, r) {
109
+ switch (r) {
110
+ case 0: return function(e, t) {
111
+ let n = C(e), r = C(t), i = n.year, a = n.month, o = n.day, s = r.year, c = r.month, l = r.day, u = !1;
112
+ return a === 2 ? o === (g(i) ? 29 : 28) && (o = 30, u = !0) : o === 31 && (o = 30), l !== 31 || u || (o < 30 ? (c === 12 ? (s += 1, c = 1) : c += 1, l = 1) : l = 30), {
113
+ days: Math.abs(w(i, a, o, s, c, l)),
114
+ yearDays: 360
115
+ };
116
+ }(t, n);
117
+ case 1: return function(t, n) {
118
+ if (t === n) return {
119
+ days: 0,
120
+ yearDays: 365
121
+ };
122
+ let r = C(t), i = C(n), a = r.year, o = i.year, s = Math.abs(n - t), c = Math.abs(o - a), l = c + 1, u = o < a ? o : a, d = o < a ? a : o, f, p = e.getSerialDate(u, 1, 1);
123
+ if (u === 1900 && (p += 1), c === 0) f = e.getSerialDate(u, 12, 31) - p + 1;
124
+ else if (c === 1) {
125
+ let r = Math.min(t, n), i = Math.max(t, n), a = C(r), o = C(i), s = o.month - a.month;
126
+ if (s > 0 || s === 0 && o.day > a.day) f = (e.getSerialDate(d + 1, 1, 1) - p) / l;
127
+ else {
128
+ f = 365;
129
+ for (let t of [u, d]) if (g(t)) {
130
+ let n = e.getSerialDate(t, 2, 29);
131
+ if (n >= r && n <= i) {
132
+ f = 366;
133
+ break;
134
+ }
135
+ }
136
+ }
137
+ } else f = (e.getSerialDate(d + 1, 1, 1) - p) / l;
138
+ return {
139
+ days: s,
140
+ yearDays: f
141
+ };
142
+ }(t, n);
143
+ case 2: return {
144
+ days: Math.abs(n - t),
145
+ yearDays: 360
146
+ };
147
+ case 3:
148
+ default: return {
149
+ days: Math.abs(n - t),
150
+ yearDays: 365
151
+ };
152
+ case 4: return function(e, t) {
153
+ let n = C(e), r = C(t), i = n.day, a = r.day;
154
+ return i === 31 && (i = 30), a === 31 && (a = 30), {
155
+ days: Math.abs(w(n.year, n.month, i, r.year, r.month, a)),
156
+ yearDays: 360
157
+ };
158
+ }(t, n);
159
+ }
160
+ }
161
+ function E(e, t, n) {
162
+ let { days: r } = T(e, t, n);
163
+ return e < t ? r : 0;
164
+ }
165
+ function ee(e, t) {
166
+ let n = e.getMonth(), r = e.getDate();
167
+ return r === new Date(e.getFullYear(), n + 1, 0).getDate() ? new Date(t, n + 1, 0) : new Date(t, n, r);
168
+ }
169
+ function te(t, n, r) {
170
+ let i = e.fromSerialDate(t, !0), a = e.fromSerialDate(n, !0), o = 12 / r;
171
+ for (a = ee(a, i.getFullYear()), a > i && (a = ee(a, a.getFullYear() - 1)); a <= i;) a = x(a, o);
172
+ return a = x(a, -o), a;
173
+ }
174
+ function D(t, n, r) {
175
+ return e.toSerialDate(te(t, n, r), !0);
176
+ }
177
+ function O(t, n, r) {
178
+ let i = x(te(t, n, r), 12 / r);
179
+ return e.toSerialDate(i, !0);
180
+ }
181
+ function k(e, t, n, r) {
182
+ return E(D(e, t, n), e, r);
183
+ }
184
+ function A(t, n, r, i) {
185
+ if (i === 3) return 365 / r;
186
+ if (i !== 1) return 360 / r;
187
+ let a = D(t, n, r), o = x(e.fromSerialDate(a, !0), 12 / r), s = e.toSerialDate(o, !0);
188
+ return a < 0 && r === 1 ? 365 : s - a;
189
+ }
190
+ function j(t, n, r) {
191
+ let i = e.fromSerialDate(t, !0), a = e.fromSerialDate(n, !0), o = 12 / r, s = 0;
192
+ for (; a > i;) a = x(a, -o), s++;
193
+ return s;
194
+ }
195
+ function M(t, n, r) {
196
+ let i = e.fromSerialDate(t, !0);
197
+ if (i = x(i, n), r) {
198
+ let e = i.getFullYear(), t = i.getMonth();
199
+ i.setDate(_(e, t));
200
+ }
201
+ return e.toSerialDate(i, !0);
202
+ }
203
+ function ne(t, n, r, i, a, o, s, c, l) {
204
+ let u = E(r, i, l), d = A(t, i, c, l);
205
+ return u < d ? function(e, t, n, r, i, a, o, s, c, l, u) {
206
+ let d = j(e, t, s), f = E(e, r, c), p = E(n, e, c), m = a / s, h = 100 * i / s, g = h * l / u, _ = o / (1 + m) ** (d - 1 + f / u);
207
+ _ += g / (1 + m) ** (f / u);
208
+ for (let e = 2; e <= d; e++) _ += h / (1 + m) ** (e - 1 + f / u);
209
+ return _ -= h * p / u, _;
210
+ }(t, n, r, i, a, o, s, c, l, u, d) : function(t, n, r, i, a, o, s, c, l, u) {
211
+ let d = j(i, n, c), f = function(t, n, r, i) {
212
+ let a = e.fromSerialDate(t, !0), o = e.fromSerialDate(n, !0), s = a.getFullYear(), c = a.getMonth(), l = a.getDate(), u = o.getFullYear(), d = o.getMonth(), f = o.getDate(), p = v(s, c, l) || c !== 1 && l > 28 && l < _(s, c) && v(u, d, f), m = M(n, 0, p), h = +!!i + +(n < m), g = M(m, r, p);
213
+ for (; r > 0 ? g < n : g > n;) g = M(g, r, p), h++;
214
+ return h;
215
+ }(i, t, 12 / c, !0), p;
216
+ p = l === 2 || l === 3 ? E(t, O(t, i, c), l) : u - E(D(t, i, c), t, l);
217
+ let m = o / c, h = 100 * a / c, g = s / (1 + m) ** (d + f + p / u), y = j(r, i, c), b = i, S = 0, C = 0;
218
+ for (let n = y; n >= 1; n--) {
219
+ let i = e.fromSerialDate(b, !0), a = e.toSerialDate(x(i, -12 / c), !0), o = l === 1 ? E(a, b, l) : u;
220
+ S += (n > 1 ? o : E(r, b, l)) / o;
221
+ let s = Math.max(r, a), d = Math.min(t, b);
222
+ C += (s < d ? E(s, d, l) : 0) / o, b = a;
223
+ }
224
+ g += h * S / (1 + m) ** (f + p / u);
225
+ for (let e = 1; e <= d; e++) g += h / (1 + m) ** (e + f + p / u);
226
+ return g -= h * C, g;
227
+ }(t, n, r, i, a, o, s, c, l, d);
228
+ }
229
+ function re(e, t, n, r, i, a, o) {
230
+ let s = j(e, t, a), c = A(e, t, a, o), l = k(e, t, a, o), u = c - l, d = 100 * n / a, f = r / a;
231
+ if (s === 1) return (d + i) / (f * u / c + 1) - d * l / c;
232
+ let p = i / (1 + f) ** (s - 1 + u / c);
233
+ for (let e = 1; e <= s; e++) p += d / (1 + f) ** (e - 1 + u / c);
234
+ return p -= d * l / c, p;
235
+ }
236
+ function ie(e, t, n, r, i, a) {
237
+ let o = k(e, t, i, a), s = A(e, t, i, a), c = j(e, t, i), l = (s - o) / s - 1, u = 1 + r / i, d = 100 * n / i, f = 0, p = 0;
238
+ for (let e = 1; e <= c; e++) {
239
+ let t = e + l, n = d / u ** t;
240
+ f += t * n, p += n;
241
+ }
242
+ let m = c + l, h = 100 / u ** m;
243
+ return f += m * h, p += h, f / p / i;
244
+ }
245
+ function ae(e, t, n, r, i) {
246
+ let a = Math.min(i / n, 1), o = a === 1 && r !== 1 ? 0 : e * (1 - a) ** (r - 1), s = e * (1 - a) ** r, c = s < t ? o - t : o - s;
247
+ return Math.max(c, 0);
248
+ }
249
+ function N(e, t, n) {
250
+ return D(e, t, n) >= 0;
251
+ }
252
+ function P(e) {
253
+ return !(e < 1 || e > 4 || e === 3);
254
+ }
255
+ var oe = a({ ACCRINT: () => se });
256
+ function se(n, r, i, a, o, s, c = 0, l = !0) {
257
+ if (n = Math.trunc(n), r = Math.trunc(r), i = Math.trunc(i), s = Math.trunc(s), c = Math.trunc(c), !e.isValidDate(n) || !e.isValidDate(r) || !e.isValidDate(i)) return t.BuiltIn.Value;
258
+ if (!P(s) || !S(c) || a <= 0 || o <= 0 || n >= i) return NaN;
259
+ let u = function(e, t, n, r, i, a = !0) {
260
+ let o = Math.ceil(r * (Math.abs(t - e) + Math.abs(t - n)) / 365) + 6, s = 0;
261
+ for (let n = 1; n <= o; n++) if (ce(t, r, -n) <= e) {
262
+ s = n;
263
+ break;
264
+ }
265
+ let c = [];
266
+ for (let e = -s; c.length <= 600; e++) {
267
+ let i = ce(t, r, e);
268
+ if (c.push(i), i >= n) break;
269
+ }
270
+ let l = null;
271
+ if (i === 1) {
272
+ let e = c.findIndex((e) => e === t);
273
+ e > 0 && (l = t - c[e - 1]);
274
+ }
275
+ let u = 0;
276
+ for (let o = 0; o + 1 < c.length; o++) {
277
+ let s = c[o], d = c[o + 1];
278
+ if (d <= e) continue;
279
+ if (s >= n) break;
280
+ let f = Math.max(s, e), p = Math.min(d, n);
281
+ if (f === s && p === d && (i === 0 || i === 4 || a)) {
282
+ u += 1;
283
+ continue;
284
+ }
285
+ let m, h;
286
+ switch (i) {
287
+ case 0:
288
+ m = f - s === 1 && d < t ? p - f : T(f, p, 0).days, h = 360 / r;
289
+ break;
290
+ case 1:
291
+ m = p - f, h = l === null ? d - s : l;
292
+ break;
293
+ case 2:
294
+ m = p - f, h = 360 / r;
295
+ break;
296
+ case 3:
297
+ default:
298
+ m = p - f, h = 365 / r;
299
+ break;
300
+ case 4: m = T(f, p, 4).days, h = 360 / r;
301
+ }
302
+ h > 0 && (u += m / h);
303
+ }
304
+ return u;
305
+ }(n, r, i, s, c, l);
306
+ return a / s * o * u;
307
+ }
308
+ function ce(t, n, r) {
309
+ let i = Math.round(12 / n * r), a = e.fromSerialDate(t, !0);
310
+ return x(a, i), e.toSerialDate(a, !0);
311
+ }
312
+ var le = a({ AMORDEGRC: () => ue });
313
+ function ue(t, n, r, i, a, o, s = 0) {
314
+ if (s = Math.floor(s), !e.isValidDate(n) || !e.isValidDate(r) || t <= 0 || i < 0 || t < i || a < 0 || o <= 0 || s !== 0 && s !== 1 && s !== 3 || Math.floor(n) > Math.floor(r)) return NaN;
315
+ let c = 1 / o, l = o * ((u = c) < 5 ? 1.5 : u <= 6 ? 2 : 2.5);
316
+ var u;
317
+ let { days: d, yearDays: f } = T(n, r, s), p = d / f;
318
+ return function(e, t, n, r, i, a, o) {
319
+ let s = Math.ceil(r), c = Math.floor(e * n * a);
320
+ if (o === 0) return c;
321
+ let l = e - Math.floor(e * n * i);
322
+ if (r < 3) {
323
+ let e = s - 1;
324
+ return e <= 0 ? l > t ? l : 0 : o <= e ? Math.ceil(l / e) : 0;
325
+ }
326
+ let u = l;
327
+ for (let e = 1; e <= o; e++) {
328
+ if (u <= t) return 0;
329
+ let r = u * n, i = s - e, a = i > 0 ? u / i : 0, c = Math.floor(Math.max(r, a));
330
+ if (e === o) return c;
331
+ u -= c;
332
+ }
333
+ return 0;
334
+ }(t, i, l, c, p, s === 1 && c >= 3 ? d / 365 : p, a > 1 ? Math.floor(a) : Math.ceil(a));
335
+ }
336
+ function de(t) {
337
+ if (t === null) return 0;
338
+ if (typeof t == "string") try {
339
+ return e.parseAsNumber(t);
340
+ } catch {
341
+ return e.parseAsSerialDate(t);
342
+ }
343
+ return e.parseAsSerialDate(t);
344
+ }
345
+ var fe = a({
346
+ DATEDIF: () => F,
347
+ DAYS360: () => I,
348
+ YEARFRAC: () => pe
349
+ });
350
+ function F(t, n, r) {
351
+ let i = e.getDateParts(t), a = e.getDateParts(n), o = Math.trunc(t), s = Math.trunc(n);
352
+ if (r = r.toLowerCase(), t > n) return NaN;
353
+ let c = a.year - i.year, l = a.month - i.month, u = a.day - i.day, d;
354
+ switch (r) {
355
+ case "y": return d = l < 0 || l === 0 && u < 0 ? -1 : 0, d + c;
356
+ case "m": return d = u < 0 ? -1 : 0, 12 * c + l + d;
357
+ case "d": return s - o;
358
+ case "md": return s - e.getSerialDate(a.year, a.month + (u < 0 ? -1 : 0), i.day);
359
+ case "ym": return d = u < 0 ? -1 : 0, (d + 12 * c + l) % 12;
360
+ case "yd": return s - e.getSerialDate(a.year - +(l < 0 || l === 0 && u < 0), i.month, i.day);
361
+ }
362
+ return NaN;
363
+ }
364
+ function pe(t, n, r = 0) {
365
+ let i = de(t), a = de(n), o = (s = r) === null ? 0 : e.parseAsNumber(s);
366
+ var s;
367
+ if (!e.isValidDate(i) || !e.isValidDate(a) || !S(o)) return NaN;
368
+ if (i > a) {
369
+ let e = i;
370
+ i = a, a = e;
371
+ }
372
+ let { days: c, yearDays: l } = T(i, a, o);
373
+ return c / l;
374
+ }
375
+ function I(e, t, n = !1) {
376
+ return n ? (t >= e ? 1 : -1) * T(e, t, 4).days : function(e, t) {
377
+ let n = C(e), r = C(t), i = n.year, a = n.month, o = n.day, s = r.year, c = r.month, l = r.day;
378
+ if (a === 2 ? C(e + 1).month === 3 && (o = 30) : o === 31 && (o = 30), l === 31) if (o < 30) {
379
+ let e = C(t + 1);
380
+ s = e.year, c = e.month, l = e.day;
381
+ } else l = 30;
382
+ return w(i, a, o, s, c, l);
383
+ }(e, t);
384
+ }
385
+ var L = (e) => {
386
+ let t = e.getLocaleProfile().currencySymbol;
387
+ return `${t}#,##0.00_);[Red](${t}#,##0.00)`;
388
+ }, me = a({
389
+ COUPDAYS: () => he,
390
+ CUMIPMT: () => ge,
391
+ CUMPRINC: () => _e,
392
+ DB: () => ve,
393
+ DDB: () => ye,
394
+ DISC: () => be,
395
+ DOLLARDE: () => xe,
396
+ DOLLARFR: () => Se,
397
+ EFFECT: () => Ce,
398
+ FV: () => R,
399
+ FVSCHEDULE: () => we,
400
+ IPMT: () => Te,
401
+ IRR: () => Ee,
402
+ ISPMT: () => De,
403
+ MIRR: () => Oe,
404
+ NOMINAL: () => ke,
405
+ NPER: () => Ae,
406
+ NPV: () => je,
407
+ PDURATION: () => Me,
408
+ PMT: () => z,
409
+ PPMT: () => Ne,
410
+ PRICEDISC: () => Pe,
411
+ PV: () => Fe,
412
+ RATE: () => Ie,
413
+ RRI: () => Le,
414
+ SLN: () => Re,
415
+ STOCKHISTORY: () => ze,
416
+ SYD: () => Be,
417
+ TBILLEQ: () => Ve,
418
+ TBILLPRICE: () => He,
419
+ TBILLYIELD: () => Ue,
420
+ XIRR: () => We,
421
+ XNPV: () => Ge
422
+ });
423
+ function he(t, n, r, i = 0) {
424
+ if (!e.isValidDate(t) || !e.isValidDate(n) || !P(r) || !S(i) || t >= n) return NaN;
425
+ if (i === 1) {
426
+ let i = function(e, t, n) {
427
+ let r = new Date(t);
428
+ if (r.setFullYear(e.getFullYear()), r > e) for (; r > e;) r.setMonth(r.getMonth() - Math.round(12 / n));
429
+ else {
430
+ let t = new Date(r);
431
+ for (t.setMonth(t.getMonth() + Math.round(12 / n)); t <= e;) r.setTime(t.getTime()), t.setMonth(t.getMonth() + Math.round(12 / n));
432
+ }
433
+ return r;
434
+ }(e.fromSerialDate(t), e.fromSerialDate(n), r), a = new Date(i);
435
+ return a.setMonth(a.getMonth() + Math.round(12 / r)), F(e.toSerialDate(i), e.toSerialDate(a), "D");
436
+ }
437
+ let a;
438
+ switch (i) {
439
+ case 0:
440
+ case 2:
441
+ case 4:
442
+ a = 360;
443
+ break;
444
+ case 3:
445
+ a = 365;
446
+ break;
447
+ default: return NaN;
448
+ }
449
+ return a / r;
450
+ }
451
+ function ge(t, n, r, i, a, o) {
452
+ if (!e.isValidDate(i) || !e.isValidDate(a) || t <= 0 || n <= 0 || r <= 0 || i < 1 || a < 1 || i > a || o !== 0 && o !== 1) return NaN;
453
+ let s = z(t, n, r, 0, o), c = 0;
454
+ i === 1 && (o === 0 && (c = -r), i++);
455
+ for (let e = i; e <= a; e++) c += o === 1 ? R(t, e - 2, s, r, 1) - s : R(t, e - 1, s, r, 0);
456
+ return c *= t, c;
457
+ }
458
+ function _e(t, n, r, i, a, o) {
459
+ if (!e.isValidDate(i) || !e.isValidDate(a) || i > a || t <= 0 || n <= 0 || r <= 0 || i < 1 || a < 1 || i > a || o !== 0 && o !== 1) return NaN;
460
+ let s = z(t, n, r, 0, o), c = 0;
461
+ i === 1 && (c = o === 0 ? s + r * t : s, i++);
462
+ for (let e = i; e <= a; e++) c += o > 0 ? s - (R(t, e - 2, s, r, 1) - s) * t : s - R(t, e - 1, s, r, 0) * t;
463
+ return c;
464
+ }
465
+ function ve(t, n, r, i, a = 12) {
466
+ if (t < 0 || n < 0 || r <= 0 || i < 0 || a < 1 || a > 12 || a === 12 && i > r || i > r + 1) return NaN;
467
+ if (t === 0) return 0;
468
+ e.formatResults(L(e.getRuntime()));
469
+ let o = Math.round(1e3 * (1 - (n / t) ** (1 / r))) / 1e3, s = t * o * a / 12;
470
+ if (i === 1) return s;
471
+ let c = t - s;
472
+ for (let e = 2; e < i; e++) c -= c * o;
473
+ return i === r + 1 ? c * o * (12 - a) / 12 : c * o;
474
+ }
475
+ function ye(e, t, n, r, i = 2) {
476
+ if (e < 0 || t < 0 || n < 0 || r < 0 || i <= 0 || r > n) return NaN;
477
+ if (t >= e) return 0;
478
+ let a = 0, o = 0;
479
+ for (let s = 1; s <= r; s++) o = Math.min(i / n * (e - a), e - t - a), a += o;
480
+ return o;
481
+ }
482
+ function be(t, n, r, i, a = 0) {
483
+ if (!e.isValidDate(t) || !e.isValidDate(n) || !S(a) || r <= 0 || i <= 0 || t >= n) return NaN;
484
+ let o, s;
485
+ switch (a) {
486
+ case 0:
487
+ o = 360, s = I(t, n, !1);
488
+ break;
489
+ case 1:
490
+ case 3:
491
+ o = 365, s = F(t, n, "D");
492
+ break;
493
+ case 2:
494
+ o = 360, s = F(t, n, "D");
495
+ break;
496
+ case 4:
497
+ o = 360, s = I(t, n, !0);
498
+ break;
499
+ default: return NaN;
500
+ }
501
+ return (i - r) / i * o / s;
502
+ }
503
+ function xe(e, n) {
504
+ if ((n = Math.trunc(n)) < 0) return NaN;
505
+ if (n === 0) throw t.BuiltIn.Div0;
506
+ if (n === 1) return e;
507
+ let r = e < 0 ? -1 : 1, i = Math.abs(e), a = Math.trunc(i), o = i - a;
508
+ return r * (a + Math.round(o * 10 ** Math.ceil(Math.log10(n))) / n);
509
+ }
510
+ function Se(e, n) {
511
+ if ((n = Math.trunc(n)) < 0) return NaN;
512
+ if (n === 0) throw t.BuiltIn.Div0;
513
+ if (n === 1) return e;
514
+ let r = e < 0 ? -1 : 1, i = Math.abs(e), a = Math.trunc(i), o = i - a, s = Math.ceil(Math.log10(n));
515
+ return r * (a + o * n / 10 ** s);
516
+ }
517
+ function Ce(e, t) {
518
+ return t = Math.trunc(t), e <= 0 || t < 1 ? NaN : (1 + e / t) ** +t - 1;
519
+ }
520
+ function R(t, n, r, i = 0, a = 0) {
521
+ let o;
522
+ if (t === 0) o = i + r * n;
523
+ else {
524
+ let e = (1 + t) ** +n;
525
+ o = a === 1 ? i * e + r * (1 + t) * (e - 1) / t : i * e + r * (e - 1) / t;
526
+ }
527
+ return e.formatResults(L(e.getRuntime())), -o;
528
+ }
529
+ function we(e, n) {
530
+ let r = e;
531
+ for (let e of n.values()) {
532
+ if (typeof e != "number") throw t.BuiltIn.Value;
533
+ r *= 1 + e;
534
+ }
535
+ return r;
536
+ }
537
+ function Te(e, t, n, r, i = 0, a = 0) {
538
+ if (n <= 0 || t < 1 || t > n) return NaN;
539
+ let o = z(e, n, r, i, a);
540
+ return t === 1 ? e * (a ? 0 : -r) : e * (a ? R(e, t - 2, o, r, a) - o : R(e, t - 1, o, r, a));
541
+ }
542
+ function Ee(e, t = .1) {
543
+ let n = e.some((e) => e > 0), r = e.some((e) => e < 0);
544
+ if (!n || !r) return NaN;
545
+ let i = (t) => {
546
+ let n = 1 + t, r = 0, i = 1;
547
+ for (let t = 0; t < e.length; t++) r += e[t] / i, i *= n;
548
+ return r;
549
+ }, a = t;
550
+ for (let e = 0; e < 20; e++) {
551
+ let e = i(a), t = a - e / ((i(a + B) - e) / B);
552
+ if (Math.abs(t - a) < B) return t;
553
+ a = t, a <= -1 && (a = -.9999999);
554
+ }
555
+ return NaN;
556
+ }
557
+ function De(e, n, r, i) {
558
+ if (r === 0) throw t.BuiltIn.Div0;
559
+ return i * e * (n / r - 1);
560
+ }
561
+ function Oe(n, r, i) {
562
+ let a = n.length;
563
+ if (!n.some((e) => e < 0)) throw t.BuiltIn.Div0;
564
+ let o = 0;
565
+ for (let e = 0; e < a; e++) {
566
+ let t = n[e];
567
+ t < 0 && (o += t / (1 + r) ** +e);
568
+ }
569
+ let s = 0;
570
+ for (let e = 0; e < a; e++) {
571
+ let t = n[e];
572
+ t > 0 && (s += t * (1 + i) ** (a - 1 - e));
573
+ }
574
+ return e.formatResults("0%"), (-s / o) ** (1 / (a - 1)) - 1;
575
+ }
576
+ function ke(e, t) {
577
+ return t = Math.trunc(t), e <= 0 || t < 1 ? NaN : ((e + 1) ** (1 / t) - 1) * t;
578
+ }
579
+ function Ae(e, n, r, i = 0, a = 0) {
580
+ if (e === 0) {
581
+ if (n === 0) throw t.BuiltIn.Div0;
582
+ return (-r - i) / n;
583
+ }
584
+ return a && (n *= 1 + e), Math.log((n - i * e) / (r * e + n)) / Math.log(1 + e);
585
+ }
586
+ function je(e, n) {
587
+ if (n.length > 254) throw t.BuiltIn.Value;
588
+ let r = 0;
589
+ for (let i = n.length - 1; i >= 0; i--) {
590
+ if (r += n[i], e === -1) {
591
+ if (r === 0) continue;
592
+ throw t.BuiltIn.Div0;
593
+ }
594
+ r /= 1 + e;
595
+ }
596
+ return r;
597
+ }
598
+ function Me(e, t, n) {
599
+ return e <= 0 || t <= 0 || n <= 0 ? NaN : (Math.log(n) - Math.log(t)) / Math.log(1 + e);
600
+ }
601
+ function z(t, n, r, i = 0, a = 0) {
602
+ if (n === 0) return NaN;
603
+ if (t === 0) return (-r - i) / n;
604
+ a = +!!a;
605
+ let o = (1 + t) ** +n;
606
+ return e.formatResults(L(e.getRuntime())), (i * t + r * t * o) * (a ? 1 / (1 + t) : 1) / (1 - o);
607
+ }
608
+ function Ne(e, t, n, r, i = 0, a = 0) {
609
+ return n <= 0 || t < 1 || t > n ? NaN : z(e, n, r, i, a) - Te(e, t, n, r, i, a);
610
+ }
611
+ function Pe(t, n, r, i, a = 0) {
612
+ if (!e.isValidDate(t) || !e.isValidDate(n) || !S(a) || r <= 0 || i <= 0 || t >= n) return NaN;
613
+ let o, s;
614
+ switch (a) {
615
+ case 0:
616
+ o = 360, s = I(t, n, !1);
617
+ break;
618
+ case 1:
619
+ case 3:
620
+ o = 365, s = F(t, n, "D");
621
+ break;
622
+ case 2:
623
+ o = 360, s = F(t, n, "D");
624
+ break;
625
+ case 4:
626
+ o = 360, s = I(t, n, !0);
627
+ break;
628
+ default: return NaN;
629
+ }
630
+ return i - r * i * s / o;
631
+ }
632
+ function Fe(n, r, i, a = 0, o = 0) {
633
+ if (o = +!!o, n === -1) {
634
+ if (r === 0) return NaN;
635
+ throw t.BuiltIn.Div0;
636
+ }
637
+ return e.formatResults(L(e.getRuntime())), n === 0 ? -i * r - a : ((1 - (1 + n) ** +r) * i * (1 + n * o) / n - a) / (1 + n) ** +r;
638
+ }
639
+ function Ie(e, n, r, i = 0, a = 0, o = .1) {
640
+ if (o <= -1) throw t.BuiltIn.Value;
641
+ a = +!!a;
642
+ let s = o;
643
+ for (let t = 0; t < 100; t++) {
644
+ if (s <= -1) return NaN;
645
+ let t, o;
646
+ if (Math.abs(s) < B) t = r * (1 + e * s) + n * (1 + s * a) * e + i, o = r * e + n * a * e;
647
+ else {
648
+ let c = (1 + s) ** +e, l = e * (1 + s) ** (e - 1);
649
+ t = r * c + n * (1 / s + a) * (c - 1) + i, o = r * l + n * (1 / s + a) * l + n * (-1 / (s * s)) * (c - 1);
650
+ }
651
+ if (Math.abs(t) < B) return s;
652
+ s -= t / o;
653
+ }
654
+ return NaN;
655
+ }
656
+ function Le(e, t, n) {
657
+ return e <= 0 || t === 0 || n < 0 && t > 0 || n > 0 && t < 0 ? NaN : (n / t) ** (1 / e) - 1;
658
+ }
659
+ function Re(e, n, r) {
660
+ if (r === 0) throw t.BuiltIn.Div0;
661
+ return (e - n) / r;
662
+ }
663
+ function ze(n, r, i, a = 0, o = 1, s = [
664
+ 0,
665
+ 1,
666
+ 2,
667
+ 3,
668
+ 4
669
+ ]) {
670
+ let c = i ?? r;
671
+ if (!e.isValidDate(r) || !e.isValidDate(c)) throw t.BuiltIn.Num;
672
+ }
673
+ function Be(e, t, n, r) {
674
+ return r > n ? NaN : (e - t) * (n - r + 1) * 2 / (n * (n + 1));
675
+ }
676
+ function Ve(t, n, r) {
677
+ if (t = Math.round(t), n = Math.round(n), !e.isValidDate(t) || !e.isValidDate(n) || t >= n || b(t, n)) return NaN;
678
+ let i = 360 - r * (n - t);
679
+ return i === 0 ? 0 : i < 0 ? NaN : 365 * r / i;
680
+ }
681
+ function He(t, n, r) {
682
+ if (t = Math.round(t), n = Math.round(n), !e.isValidDate(t) || !e.isValidDate(n) || t >= n || b(t, n)) return NaN;
683
+ let i = 360 - r * (n - t);
684
+ return i === 0 ? 0 : i < 0 ? NaN : 100 * (1 - r * (n - t) / 360);
685
+ }
686
+ function Ue(t, n, r) {
687
+ return t = Math.round(t), n = Math.round(n), !e.isValidDate(t) || !e.isValidDate(n) || t >= n || b(t, n) ? NaN : 360 * (100 - r) / (r * (n - t));
688
+ }
689
+ function We(e, n, r = .1) {
690
+ let i = e.flatten({
691
+ includeEmpty: !0,
692
+ onError: "value"
693
+ }), a = n.flatten({
694
+ includeEmpty: !0,
695
+ onError: "value"
696
+ });
697
+ if (i.length !== a.length) return NaN;
698
+ let o = [], s = [];
699
+ for (let e = 0; e < i.length; e++) {
700
+ let n = i[e], r = a[e];
701
+ if (n !== null) {
702
+ if (r === null) return NaN;
703
+ if (t.isError(n) || t.isError(r) || typeof r != "number" || isNaN(r)) return t.BuiltIn.Value;
704
+ o.push(n), s.push(r);
705
+ }
706
+ }
707
+ let c = o.some((e) => e > 0), l = o.some((e) => e < 0);
708
+ if (!c || !l) return NaN;
709
+ let u = s[0], d = s.map((e) => y(e, u) / 365), f = (e) => {
710
+ let t = 1 + e, n = 0;
711
+ for (let e = 0; e < o.length; e++) n += o[e] / t ** +d[e];
712
+ return n;
713
+ }, p = r;
714
+ for (let e = 0; e < 20; e++) {
715
+ let e = f(p), t = (f(p + B) - e) / B;
716
+ if (Math.abs(t) < B) break;
717
+ let n = p - e / t;
718
+ if (Math.abs(n - p) < B) return n;
719
+ p = n, p <= -1 && (p = -.9999999);
720
+ }
721
+ return NaN;
722
+ }
723
+ function Ge(e, n, r) {
724
+ if (e <= 0) return NaN;
725
+ let i = n.flatten({
726
+ includeEmpty: !0,
727
+ onError: "value"
728
+ }), a = r.flatten({
729
+ includeEmpty: !0,
730
+ onError: "value"
731
+ });
732
+ if (i.length !== a.length || i.length === 0) return NaN;
733
+ let o = [], s = [];
734
+ for (let e = 0; e < i.length; e++) {
735
+ let n = i[e], r = a[e];
736
+ if (n !== null || r !== null) {
737
+ if (n === null || r === null) return NaN;
738
+ if (t.isError(n) || t.isError(r)) return t.BuiltIn.Value;
739
+ if (typeof n != "number") return NaN;
740
+ if (typeof r != "number") return t.BuiltIn.Value;
741
+ o.push(n), s.push(r);
742
+ }
743
+ }
744
+ for (let e = 1; e < s.length; e++) if (s[e] < s[e - 1]) return NaN;
745
+ let c = 0, l = s[0];
746
+ for (let t = 0; t < o.length; t++) c += o[t] / (1 + e) ** (y(s[t], l) / 365);
747
+ return c;
748
+ }
749
+ var B = 1e-7, Ke = a({
750
+ ACCRINTM: () => qe,
751
+ AMORLINC: () => $e,
752
+ INTRATE: () => Je,
753
+ PRICEMAT: () => Ze,
754
+ RECEIVED: () => Ye,
755
+ YIELDDISC: () => Xe,
756
+ YIELDMAT: () => Qe
757
+ });
758
+ function qe(t, n, r, i, a = 0) {
759
+ if (a = Math.floor(a), !e.isValidDate(t) || !e.isValidDate(n) || !S(a) || r <= 0 || i <= 0 || Math.floor(t) > Math.floor(n)) return NaN;
760
+ if (Math.floor(t) === Math.floor(n)) return 0;
761
+ let { days: o, yearDays: s } = T(t, n, a);
762
+ return i * r * o / s;
763
+ }
764
+ function Je(t, n, r, i, a = 0) {
765
+ if (a = Math.floor(a), !e.isValidDate(t) || !e.isValidDate(n) || !S(a) || r <= 0 || i <= 0 || Math.floor(t) >= Math.floor(n)) return NaN;
766
+ let { days: o, yearDays: s } = T(t, n, a);
767
+ return (i - r) / r * (s / o);
768
+ }
769
+ function Ye(t, n, r, i, a = 0) {
770
+ if (a = Math.floor(a), !e.isValidDate(t) || !e.isValidDate(n) || r <= 0 || i <= 0 || !S(a) || Math.floor(t) >= Math.floor(n)) return NaN;
771
+ let { days: o, yearDays: s } = T(t, n, a), c = r / (1 - i * o / s);
772
+ return c < 0 ? NaN : c;
773
+ }
774
+ function Xe(t, n, r, i, a = 0) {
775
+ if (a = Math.floor(a), !e.isValidDate(t) || !e.isValidDate(n) || r <= 0 || i <= 0 || !S(a) || Math.floor(t) >= Math.floor(n)) return NaN;
776
+ let { days: o, yearDays: s } = T(t, n, a);
777
+ return (i / r - 1) / (o / s);
778
+ }
779
+ function Ze(t, n, r, i, a, o = 0) {
780
+ if (o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a < 0 || !S(o) || !et(r, t, n)) return NaN;
781
+ let { yearDays: s } = T(r, t, o), { days: c } = T(t, n, o), { days: l } = T(r, n, o), { days: u } = T(r, t, o);
782
+ return (100 + l / s * i * 100) / (1 + c / s * a) - u / s * i * 100;
783
+ }
784
+ function Qe(t, n, r, i, a, o = 0) {
785
+ if (o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a <= 0 || !S(o) || !et(r, t, n)) return NaN;
786
+ let { yearDays: s } = T(r, t, o), { days: c } = T(t, n, o), { days: l } = T(r, n, o), { days: u } = T(r, t, o);
787
+ return ((1 + l / s * i) / (a / 100 + u / s * i) - 1) / (c / s);
788
+ }
789
+ function $e(t, n, r, i, a, o, s = 0) {
790
+ if (s = Math.floor(s), t <= 0 || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || t < i || a < 0 || o <= 0 || Math.floor(n) > Math.floor(r) || ![
791
+ 0,
792
+ 1,
793
+ 3,
794
+ 4
795
+ ].includes(s)) return NaN;
796
+ a = a > 1 ? Math.floor(a) : Math.ceil(a);
797
+ let c = t - i, l = t * o, { days: u, yearDays: d } = T(n, r, s), f = u / d, p = Math.ceil(c / l - f);
798
+ return p < 0 ? 0 : a === 0 ? l * f : a === p ? c - l * (f + a - 1) : a > p ? 0 : l;
799
+ }
800
+ function et(e, t, n) {
801
+ return Math.floor(n) > Math.floor(t) && Math.floor(t) > Math.floor(e);
802
+ }
803
+ var tt = a({
804
+ COUPDAYBS: () => nt,
805
+ COUPDAYS: () => rt,
806
+ COUPDAYSNC: () => it,
807
+ COUPNCD: () => at,
808
+ COUPNUM: () => st,
809
+ COUPPCD: () => ot
810
+ });
811
+ function nt(t, n, r, i = 0) {
812
+ return r = Math.floor(r), i = Math.floor(i), e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i) ? k(t, n, r, i) : NaN;
813
+ }
814
+ function rt(t, n, r, i = 0) {
815
+ return r = Math.floor(r), i = Math.floor(i), e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i) ? A(t, n, r, i) : NaN;
816
+ }
817
+ function it(t, n, r, i = 0) {
818
+ if (r = Math.floor(r), i = Math.floor(i), !(e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i))) return NaN;
819
+ let { days: a } = T(t, O(t, n, r), i);
820
+ return a;
821
+ }
822
+ function at(t, n, r, i = 0) {
823
+ return r = Math.floor(r), i = Math.floor(i), e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && !(t >= n) && V(t, n, r, i) ? (e.formatResults("Short Date"), O(t, n, r)) : NaN;
824
+ }
825
+ function ot(t, n, r, i = 0) {
826
+ if (r = Math.floor(r), i = Math.floor(i), !(e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i))) return NaN;
827
+ e.formatResults("d-mmm-yy");
828
+ let a = D(t, n, r);
829
+ return a < 0 ? 0 : a;
830
+ }
831
+ function st(t, n, r, i = 0) {
832
+ return r = Math.floor(r), i = Math.floor(i), e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i) ? D(t, n, r) < 0 ? NaN : j(t, n, r) : NaN;
833
+ }
834
+ function V(e, t, n, r) {
835
+ return P(n) && S(r) && Math.floor(e) < Math.floor(t);
836
+ }
837
+ function ct(e, t) {
838
+ let n = 1e-7, r = e, i = 1, a = 0;
839
+ for (; i > n && a < 500;) {
840
+ let e = (t(r + n) - t(r - n)) / 2e-7, o = r - t(r) / e;
841
+ i = Math.abs(o - r), r = o, a++;
842
+ }
843
+ return Number.isNaN(r) || !Number.isFinite(r) || a === 500 ? function(e, t) {
844
+ let n = 1e-7, r = 1.6, i = Number.MAX_VALUE;
845
+ if (e <= -1 || e >= i) return NaN;
846
+ let a, o, s = Math.max(e - .01, -.9999999), c = Math.min(e + .01, i - n), l = !1;
847
+ for (let e = 0; e < 60; e++) {
848
+ if (a = t(s), o = t(c), a * o <= 0) {
849
+ l = !0;
850
+ break;
851
+ }
852
+ s = Math.max(s + r * (s - c), -.9999999), c = Math.min(c + r * (c - s), i - n);
853
+ }
854
+ if (!l) return NaN;
855
+ a = t(s);
856
+ let u = s, d = a, f = 0;
857
+ do
858
+ u = s + (c - s) / 2, d = t(u), a * d < 0 ? c = u : (s = u, a = d), f++;
859
+ while (Math.abs(d) > n && f < 60);
860
+ return u;
861
+ }(e, t) : r;
862
+ }
863
+ var lt = a({
864
+ DURATION: () => dt,
865
+ MDURATION: () => ft,
866
+ PRICE: () => ut,
867
+ YIELD: () => pt
868
+ });
869
+ function ut(t, n, r, i, a, o, s = 0) {
870
+ return o = Math.floor(o), s = Math.floor(s), !e.isValidDate(t) || !e.isValidDate(n) || r < 0 || i < 0 || a <= 0 || !P(o) || !S(s) || Math.floor(t) >= Math.floor(n) || !N(t, n, o) ? NaN : re(t, n, r, i, a, o, s);
871
+ }
872
+ function dt(t, n, r, i, a, o = 0) {
873
+ return a = Math.floor(a), o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || r < 0 || i < 0 || !P(a) || !S(o) || Math.floor(t) >= Math.floor(n) || t <= 0 || n <= 366 ? NaN : ie(t, n, r, i, a, o);
874
+ }
875
+ function ft(t, n, r, i, a, o = 0) {
876
+ return a = Math.floor(a), o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || r < 0 || i < 0 || !P(a) || !S(o) || Math.floor(t) >= Math.floor(n) || t <= 0 || n <= 366 ? NaN : ie(t, n, r, i, a, o) / (1 + i / a);
877
+ }
878
+ function pt(t, n, r, i, a, o, s = 0) {
879
+ if (o = Math.floor(o), s = Math.floor(s), !e.isValidDate(t) || !e.isValidDate(n) || r < 0 || i <= 0 || a <= 0 || !P(o) || !S(s) || Math.floor(t) >= Math.floor(n) || !N(t, n, o)) return NaN;
880
+ if (j(t, n, o) > 1) {
881
+ let e = ct(r || .01, (e) => re(t, n, r, e, a, o, s) - i);
882
+ return Number.isNaN(e) ? NaN : e;
883
+ }
884
+ let c = k(t, n, o, s), l = A(t, n, o, s), { days: u } = T(t, n, s), d = i / 100 + c / l * (r / o);
885
+ return (a / 100 + r / o - d) / d * o * (l / u);
886
+ }
887
+ var mt = a({
888
+ ODDFPRICE: () => ht,
889
+ ODDFYIELD: () => gt,
890
+ ODDLPRICE: () => _t,
891
+ ODDLYIELD: () => vt
892
+ });
893
+ function ht(t, n, r, i, a, o, s, c, l = 0) {
894
+ return c = Math.floor(c), l = Math.floor(l), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || !e.isValidDate(i) || a < 0 || o < 0 || s <= 0 || !P(c) || !S(l) || !bt(t, n, r, i, c) ? NaN : ne(t, n, r, i, a, o, s, c, l);
895
+ }
896
+ function gt(t, n, r, i, a, o, s, c, l = 0) {
897
+ if (c = Math.floor(c), l = Math.floor(l), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || !e.isValidDate(i) || a < 0 || o <= 0 || s <= 0 || !P(c) || !S(l) || !bt(t, n, r, i, c)) return NaN;
898
+ let { days: u } = T(t, n, l), d = ct((a * u * 100 - (o - 100)) / (.25 * (o - 100) * (1 + 2 * u) + 100 * u), (e) => o - ne(t, n, r, i, a, e, s, c, l));
899
+ return Number.isNaN(d) ? NaN : d;
900
+ }
901
+ function _t(t, n, r, i, a, o, s, c = 0) {
902
+ return s = Math.floor(s), c = Math.floor(c), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a < 0 || o <= 0 || !P(s) || !S(c) || !xt(t, n, r, s) ? NaN : function(e, t, n, r, i, a, o, s) {
903
+ let { fAi: c, fDCi: l, fDSCi: u } = yt(e, t, n, o, s);
904
+ return (a * o + 100 * r * (l - c * (1 + i * u / o))) / (i * u + o);
905
+ }(t, n, r, i, a, o, s, c);
906
+ }
907
+ function vt(t, n, r, i, a, o, s, c = 0) {
908
+ if (s = Math.floor(s), c = Math.floor(c), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a <= 0 || o <= 0 || !P(s) || !S(c) || !xt(t, n, r, s)) return NaN;
909
+ let { fAi: l, fDCi: u, fDSCi: d } = yt(t, n, r, s, c);
910
+ return (s * (o - a) + 100 * i * (u - l)) / (d * a + 100 * i * l * d / s);
911
+ }
912
+ function yt(t, n, r, i, a) {
913
+ let o = function(t, n, r) {
914
+ let i = e.fromSerialDate(t, !0), a = e.fromSerialDate(n, !0), o = 12 / r;
915
+ for (a.setFullYear(i.getFullYear()), a > i && a.setFullYear(a.getFullYear() - 1); a < i;) a.setMonth(a.getMonth() + o);
916
+ return e.toSerialDate(a, !0);
917
+ }(n, r, i);
918
+ return {
919
+ fAi: H(r, t, o, i, a),
920
+ fDCi: H(r, n, o, i, a),
921
+ fDSCi: H(t, n, o, i, a)
922
+ };
923
+ }
924
+ function H(t, n, r, i, a) {
925
+ let o = e.fromSerialDate(t, !0), s = e.fromSerialDate(n, !0), c = 12 / i, l = e.fromSerialDate(r, !0);
926
+ for (l.setFullYear(o.getFullYear()), l < o && l.setFullYear(l.getFullYear() + 1); l > o;) l.setMonth(l.getMonth() - c);
927
+ let u = e.toSerialDate(l, !0);
928
+ l.setMonth(l.getMonth() + c);
929
+ let d = e.toSerialDate(l, !0), f = (e, t, n) => a === 1 || a === 3 ? n - t : A(t, n, i, e);
930
+ if (d >= n) {
931
+ let { days: e } = T(t, n, a);
932
+ return e / f(a, u, d);
933
+ }
934
+ let { days: p } = T(t, d, a), m = p / f(a, u, d), h = e.fromSerialDate(d, !0), g = e.fromSerialDate(d, !0);
935
+ for (g.setMonth(g.getMonth() + c); g < s;) h.setMonth(h.getMonth() + c), g.setMonth(g.getMonth() + c), m += 1;
936
+ u = e.toSerialDate(h, !0), d = e.toSerialDate(g, !0);
937
+ let { days: _ } = T(u, n, a);
938
+ return m += _ / f(a, u, d), m;
939
+ }
940
+ function bt(t, n, r, i, a) {
941
+ return Math.floor(n) > Math.floor(i) && Math.floor(i) > Math.floor(t) && Math.floor(t) > Math.floor(r) && function(t, n, r) {
942
+ let i = e.fromSerialDate(t, !0), a = e.fromSerialDate(n, !0), o = v(i.getFullYear(), i.getMonth(), i.getDate()), s = v(a.getFullYear(), a.getMonth(), a.getDate());
943
+ return !!(i.getDate() === a.getDate() || o && s) && Math.abs(12 * (a.getFullYear() - i.getFullYear()) + (a.getMonth() - i.getMonth())) % (12 / r) == 0;
944
+ }(n, i, a) && N(r, n, a);
945
+ }
946
+ function xt(e, t, n, r) {
947
+ return Math.floor(t) > Math.floor(e) && Math.floor(e) > Math.floor(n) && N(n, t, r);
948
+ }
949
+ var St = a({ VDB: () => Ct });
950
+ function Ct(n, r, i, a, o, s = 2, c = !1) {
951
+ if (!e.isValidDate(a) || !e.isValidDate(o) || n < 0 || r < 0 || i < 0 || a < 0 || o < 0 || o > i || a > o || s < 0) return NaN;
952
+ if (i === 0 && a === 0 && o === 0) throw t.BuiltIn.Div0;
953
+ if (n < r) {
954
+ if (a >= 1 || c) return 0;
955
+ let e = r - n, t = o - a;
956
+ return -(t >= 1 ? e : e * t);
957
+ }
958
+ return c ? function(e, t, n, r, i, a) {
959
+ let o = Math.floor(r) + 1, s = Math.ceil(i), c = 0;
960
+ for (let l = o; l <= s; l++) {
961
+ let u = ae(e, t, n, l, a);
962
+ l === o ? u *= Math.min(i, o) - r : l === s && (u *= i - (s - 1)), c += u;
963
+ }
964
+ return c;
965
+ }(n, r, i, a, o, s) : function(e, t, n, r, i, a) {
966
+ let o = Math.ceil(i), s = e, c = !1, l = 0, u = 0;
967
+ for (let d = 1; d <= o && !(s <= t); d++) {
968
+ let o;
969
+ if (c) o = l;
970
+ else {
971
+ let r = ae(e, t, n, d, a), i = n - (d - 1), u = i > 0 ? (s - t) / i : 0;
972
+ u > r ? (l = u, c = !0, o = u) : o = r;
973
+ }
974
+ o = Math.min(o, s - t);
975
+ let f = Math.max(d - 1, r);
976
+ u += o * Math.max(0, Math.min(d, i) - f), s -= o;
977
+ }
978
+ return u;
979
+ }(n, r, i, a, o, s);
980
+ }
981
+ var U = Object.freeze({ includeEmpty: !0 }), wt = (Object.freeze({ axis: n.Axis.Column }), Object.freeze({ axis: n.Axis.Row }), Object.freeze({
982
+ type: r.Number,
983
+ axis: n.Axis.Column
984
+ })), Tt = a({
985
+ FORECAST_ETS: () => Et,
986
+ FORECAST_ETS_CONFINT: () => Dt,
987
+ FORECAST_ETS_SEASONALITY: () => Ot,
988
+ FORECAST_ETS_STAT: () => kt
989
+ });
990
+ function Et(e, n, r, i = 1, a = 1, o = 1) {
991
+ let s = W(n, r, a, o);
992
+ if (t.isError(s)) return s;
993
+ let { values: c, stepSize: l, lastTime: u, firstTime: d } = s, f = Math.round((e - u) / l), p = K(c, i);
994
+ if (t.isError(p)) return p;
995
+ let { alpha: m, beta: h, gamma: g, period: _, b0: v } = p, { L: y, T: b, S: x, finalIndex: S } = G(c, m, h, g, _, v).finalState, C = y + f * b;
996
+ return _ > 1 && (C += x[(S + f) % _]), C;
997
+ }
998
+ function Dt(n, r, i, a = .95, o = 1, s = 1, c = 1) {
999
+ if (a < 0 || a >= 1) return t.BuiltIn.Num;
1000
+ let l = W(r, i, s, c);
1001
+ if (t.isError(l)) return l;
1002
+ let { values: u, stepSize: d, lastTime: f } = l;
1003
+ if (u.length < 4) return 0;
1004
+ let p = Math.round((n - f) / d), m = K(u, o);
1005
+ if (t.isError(m)) return m;
1006
+ let { alpha: h, beta: g, gamma: _, period: v, b0: y } = m, b = function(e, t, n, r, i, a) {
1007
+ let o = e.length, s, c, l = Array(Math.max(1, i)).fill(0);
1008
+ if (i > 1 && o >= 2 * i) {
1009
+ let t = 0, n = 0;
1010
+ for (let n = 0; n < i; n++) t += e[n];
1011
+ for (let t = i; t < 2 * i; t++) n += e[t];
1012
+ s = t / i, c = (n - t) / (i * i);
1013
+ let r = t / i;
1014
+ for (let t = 0; t < i; t++) l[t] = e[t] - r;
1015
+ } else s = e[0], c = a === void 0 ? i > 1 && i < o ? (e[i] - e[0]) / i : 0 : a;
1016
+ let u = 0;
1017
+ for (let a = 0; a < o; a++) {
1018
+ let o = i > 1 ? a % i : 0, d = i > 1 ? l[o] : 0, f = s + c + d, p = e[a] - f;
1019
+ u += p * p;
1020
+ let m = t * (e[a] - d) + (1 - t) * (s + c), h = n * (m - s) + (1 - n) * c;
1021
+ i > 1 && (l[o] = r * (e[a] - m) + (1 - r) * d), s = m, c = h;
1022
+ }
1023
+ return Math.sqrt(u / o);
1024
+ }(u, h, g, _, v, y), x = function(e, t, n, r) {
1025
+ let i = Math.abs(r);
1026
+ if (i === 0) return 0;
1027
+ let a = 0, o = 1;
1028
+ for (let r = 1; r <= i; r++) a += o * o, o = o + e + (n > 1 && r % n === 0 ? t : 0);
1029
+ return a;
1030
+ }(h, _, v, p);
1031
+ return function(t) {
1032
+ let n = (1 + t) / 2, r = e.getFunction("NORM.S.INV");
1033
+ if (r) return r.execute(n);
1034
+ let i = Math.sqrt(-2 * Math.log(1 - n));
1035
+ return i - (2.515517 + .802853 * i + .010328 * i * i) / (1 + 1.432788 * i + .189269 * i * i + .001308 * i * i * i);
1036
+ }(a) * b * Math.sqrt(x);
1037
+ }
1038
+ function Ot(e, n, r = 1, i = 1) {
1039
+ let a = W(e, n, r, i);
1040
+ if (t.isError(a)) return a === t.BuiltIn.NA ? a : 0;
1041
+ let { values: o } = a;
1042
+ return o.length < 4 ? 0 : jt(o);
1043
+ }
1044
+ function kt(e, n, r, i = 1, a = 1, o = 1) {
1045
+ if (r < 1 || r > 8) return t.BuiltIn.Num;
1046
+ let s = W(e, n, a, o);
1047
+ if (t.isError(s)) return s;
1048
+ let { values: c, stepSize: l } = s;
1049
+ if (r === 8) return l;
1050
+ let u = K(c, i);
1051
+ if (t.isError(u)) return u;
1052
+ let { alpha: d, beta: f, gamma: p, period: m, b0: h } = u;
1053
+ switch (r) {
1054
+ case 1: return d;
1055
+ case 2: return f * d;
1056
+ case 3: return p;
1057
+ default: {
1058
+ let e = function(e, t, n, r, i, a) {
1059
+ let o = e.length, s, c, l = Array(Math.max(1, i)).fill(0);
1060
+ if (i > 1 && o >= 2 * i) {
1061
+ let t = 0, n = 0;
1062
+ for (let n = 0; n < i; n++) t += e[n];
1063
+ for (let t = i; t < 2 * i; t++) n += e[t];
1064
+ s = t / i, c = (n - t) / (i * i);
1065
+ let r = t / i;
1066
+ for (let t = 0; t < i; t++) l[t] = e[t] - r;
1067
+ } else s = e[0], c = a === void 0 ? i > 1 && i < o ? (e[i] - e[0]) / i : 0 : a;
1068
+ let u = 0, d = 0, f = 0, p = 0;
1069
+ for (let t = 1; t < o; t++) p += Math.abs(e[t] - e[t - 1]);
1070
+ let m = p / (o - 1);
1071
+ for (let a = 0; a < o; a++) {
1072
+ let o = e[a], p = i > 1 ? a % i : 0, m = i > 1 ? l[p] : 0, h = s + c + m, g = o - h;
1073
+ u += Math.abs(g), d += g * g, f += Math.abs(g) / ((Math.abs(o) + Math.abs(h)) / 2 || 1);
1074
+ let _ = t * (o - m) + (1 - t) * (s + c), v = n * (_ - s) + (1 - n) * c;
1075
+ i > 1 && (l[p] = r * (o - _) + (1 - r) * m), s = _, c = v;
1076
+ }
1077
+ return {
1078
+ mae: u / o,
1079
+ rmse: Math.sqrt(d / o),
1080
+ smape: f / o,
1081
+ mase: m === 0 ? 0 : u / o / m
1082
+ };
1083
+ }(c, d, f, p, m, h);
1084
+ if (r === 4) return e.mase;
1085
+ if (r === 5) return e.smape;
1086
+ if (r === 6) return e.mae;
1087
+ if (r === 7) return e.rmse;
1088
+ }
1089
+ }
1090
+ return t.BuiltIn.Num;
1091
+ }
1092
+ function At(e, n) {
1093
+ if (e.length === 1) return e[0].value;
1094
+ let r = e.map((e) => e.value);
1095
+ switch (n) {
1096
+ case 1: return r.reduce((e, t) => e + t, 0) / r.length;
1097
+ case 2: return r.length;
1098
+ case 3: return Math.max(...r);
1099
+ case 4: {
1100
+ r.sort((e, t) => e - t);
1101
+ let e = Math.floor(r.length / 2);
1102
+ return r.length % 2 == 0 ? (r[e - 1] + r[e]) / 2 : r[e];
1103
+ }
1104
+ case 5: return Math.min(...r);
1105
+ case 6: return r.reduce((e, t) => e + t, 0);
1106
+ default: return t.BuiltIn.Num;
1107
+ }
1108
+ }
1109
+ function W(e, n, r, i) {
1110
+ if (r < 0 || r > 1) return t.BuiltIn.Num;
1111
+ let a = e.flatten(U), o = n.flatten(U);
1112
+ if (a.length !== o.length) return t.BuiltIn.NA;
1113
+ if (a.length < 2) return t.BuiltIn.Num;
1114
+ let s = o.map((e, t) => ({
1115
+ time: e,
1116
+ value: a[t]
1117
+ })).sort((e, t) => e.time - t.time), c = [], l = [s[0]];
1118
+ for (let e = 1; e < s.length; e++) {
1119
+ let n = s[e];
1120
+ if (n.time === s[e - 1].time) l.push(n);
1121
+ else {
1122
+ let e = At(l, i);
1123
+ if (t.isError(e)) return e;
1124
+ c.push({
1125
+ time: l[0].time,
1126
+ value: e
1127
+ }), l = [n];
1128
+ }
1129
+ }
1130
+ let u = At(l, i);
1131
+ if (t.isError(u)) return u;
1132
+ if (c.push({
1133
+ time: l[0].time,
1134
+ value: u
1135
+ }), c.length < 2) return t.BuiltIn.Num;
1136
+ let d = [];
1137
+ for (let e = 1; e < c.length; e++) d.push(c[e].time - c[e - 1].time);
1138
+ d.sort((e, t) => e - t);
1139
+ let f = Math.floor(d.length / 2), p = d.length % 2 == 0 ? (d[f - 1] + d[f]) / 2 : d[f];
1140
+ if (p <= 0) return t.BuiltIn.Num;
1141
+ let m = [c[0].value];
1142
+ for (let e = 1; e < c.length; e++) {
1143
+ let n = c[e - 1].time, i = c[e].time, a = n + p;
1144
+ if (i > a) {
1145
+ let t = Math.round((i - n) / p) - 1;
1146
+ for (let n = 1; n <= t; n++) if (r === 0) m.push(0);
1147
+ else {
1148
+ let r = c[e - 1].value, i = c[e].value;
1149
+ m.push(r + n / (t + 1) * (i - r));
1150
+ }
1151
+ } else if (Math.abs(i - a) > .01 * p) return t.BuiltIn.Num;
1152
+ m.push(c[e].value);
1153
+ }
1154
+ return {
1155
+ values: m,
1156
+ stepSize: p,
1157
+ lastTime: c[c.length - 1].time,
1158
+ firstTime: c[0].time
1159
+ };
1160
+ }
1161
+ function jt(e) {
1162
+ let t = e.length;
1163
+ if (t < 4) return 0;
1164
+ let n = e.reduce((e, t) => e + t, 0) / t, r = 0;
1165
+ for (let i = 0; i < t; i++) r += (e[i] - n) ** 2;
1166
+ if (r === 0) return 0;
1167
+ let i = -Infinity, a = 0, o = Math.min(Math.floor(t / 2), 24);
1168
+ for (let s = 2; s <= o; s++) {
1169
+ let o = 0;
1170
+ for (let r = 0; r < t - s; r++) o += (e[r] - n) * (e[r + s] - n);
1171
+ let c = o / r;
1172
+ c > i && c > .3 && (i = c, a = s);
1173
+ }
1174
+ return a;
1175
+ }
1176
+ function G(e, t, n, r, i, a) {
1177
+ let o = e.length, s, c;
1178
+ if (i > 1 && o >= 2 * i) {
1179
+ let t = 0, n = 0;
1180
+ for (let n = 0; n < i; n++) t += e[n];
1181
+ for (let t = i; t < 2 * i; t++) n += e[t];
1182
+ s = t / i, c = (n - t) / (i * i);
1183
+ } else s = e[0], c = a === void 0 ? i > 1 && i < o ? (e[i] - e[0]) / i : 0 : a;
1184
+ let l = Array(Math.max(1, i)).fill(0);
1185
+ if (i > 1 && o >= i) {
1186
+ let t = l.length > 0 ? (() => {
1187
+ let t = 0;
1188
+ for (let n = 0; n < i; n++) t += e[n];
1189
+ return t / i;
1190
+ })() : s;
1191
+ for (let n = 0; n < i; n++) l[n] = e[n] - t;
1192
+ }
1193
+ let u = 0, d = 0;
1194
+ for (let a = 0; a < o; a++) {
1195
+ let o = e[a], f = i > 1 ? a % i : 0, p = i > 1 ? l[f] : 0, m = o - (s + c + p);
1196
+ u += m * m;
1197
+ let h = t * (o - p) + (1 - t) * (s + c), g = n * (h - s) + (1 - n) * c;
1198
+ i > 1 && (l[f] = r * (o - h) + (1 - r) * p), s = h, c = g, d = f;
1199
+ }
1200
+ return {
1201
+ mse: u / o,
1202
+ finalState: {
1203
+ L: s,
1204
+ T: c,
1205
+ S: l,
1206
+ finalIndex: d
1207
+ }
1208
+ };
1209
+ }
1210
+ function K(e, n) {
1211
+ let r = 1;
1212
+ if (n === 0) r = 1;
1213
+ else if (n === 1) r = jt(e), r <= 1 && (r = 1);
1214
+ else {
1215
+ if (!(n > 1)) return t.BuiltIn.Num;
1216
+ r = Math.floor(n);
1217
+ }
1218
+ if (r > 1 && e.length < 2 * r) return t.BuiltIn.Num;
1219
+ let i = e.length;
1220
+ if (r === 1) {
1221
+ let t = Math.max(1, Math.floor(i / 4)), n = Mt((t) => {
1222
+ let n = Math.max(.001, Math.min(.999, t[0])), r = Math.max(.001, Math.min(.999, t[1])), i = t[2];
1223
+ return G(e, n, r, 0, 1, i).mse;
1224
+ }, [
1225
+ .9,
1226
+ .1,
1227
+ i > t ? (e[t] - e[0]) / t : 0
1228
+ ]).x;
1229
+ return {
1230
+ alpha: Math.max(.001, Math.min(.999, n[0])),
1231
+ beta: Math.max(.001, Math.min(.999, n[1])),
1232
+ gamma: 0,
1233
+ period: 1,
1234
+ b0: n[2]
1235
+ };
1236
+ }
1237
+ let a = Mt((t) => G(e, Math.max(.001, Math.min(.999, t[0])), Math.max(.001, Math.min(.999, t[1])), Math.max(.001, Math.min(.999, t[2])), r).mse, [
1238
+ .9,
1239
+ .1,
1240
+ .1
1241
+ ]).x;
1242
+ return {
1243
+ alpha: Math.max(.001, Math.min(.999, a[0])),
1244
+ beta: Math.max(.001, Math.min(.999, a[1])),
1245
+ gamma: Math.max(.001, Math.min(.999, a[2])),
1246
+ period: r,
1247
+ b0: 0
1248
+ };
1249
+ }
1250
+ function q(e, t, n, r, i) {
1251
+ for (let a = 0; a < e.length; ++a) e[a] = t * n[a] + r * i[a];
1252
+ }
1253
+ function Mt(e, t, n) {
1254
+ let r = (n ||= {}).maxIterations || 200 * t.length, i = n.nonZeroDelta || 1.05, a = n.zeroDelta || .001, o = n.minErrorDelta || 1e-6, s = n.minTolerance || 1e-5, c = n.rho === void 0 ? 1 : n.rho, l = n.chi === void 0 ? 2 : n.chi, u = n.psi === void 0 ? -.5 : n.psi, d = n.sigma === void 0 ? .5 : n.sigma, f, p = t.length, m = Array(p + 1);
1255
+ m[0] = t, m[0].fx = e(t), m[0].id = 0;
1256
+ for (let n = 0; n < p; ++n) {
1257
+ let r = t.slice();
1258
+ r[n] = r[n] ? r[n] * i : a, m[n + 1] = r, m[n + 1].fx = e(r), m[n + 1].id = n + 1;
1259
+ }
1260
+ function h(e) {
1261
+ for (let t = 0; t < e.length; t++) m[p][t] = e[t];
1262
+ m[p].fx = e.fx;
1263
+ }
1264
+ let g = (e, t) => e.fx - t.fx, _ = t.slice(), v = t.slice(), y = t.slice(), b = t.slice();
1265
+ for (let t = 0; t < r; ++t) {
1266
+ if (m.sort(g), n.history) {
1267
+ let e = m.map((e) => {
1268
+ let t = e.slice();
1269
+ return t.fx = e.fx, t.id = e.id, t;
1270
+ });
1271
+ e.sort((e, t) => e.id - t.id), n.history.push({
1272
+ x: m[0].slice(),
1273
+ fx: m[0].fx,
1274
+ simplex: e
1275
+ });
1276
+ }
1277
+ f = 0;
1278
+ for (let e = 0; e < p; ++e) f = Math.max(f, Math.abs(m[0][e] - m[1][e]));
1279
+ if (Math.abs(m[0].fx - m[p].fx) < o && f < s) break;
1280
+ for (let e = 0; e < p; ++e) {
1281
+ _[e] = 0;
1282
+ for (let t = 0; t < p; ++t) _[e] += m[t][e];
1283
+ _[e] /= p;
1284
+ }
1285
+ let t = m[p];
1286
+ if (q(v, 1 + c, _, -c, t), v.fx = e(v), v.fx < m[0].fx) q(b, 1 + l, _, -l, t), b.fx = e(b), h(b.fx < v.fx ? b : v);
1287
+ else if (v.fx >= m[p - 1].fx) {
1288
+ let n = !1;
1289
+ if (v.fx > t.fx ? (q(y, 1 + u, _, -u, t), y.fx = e(y), y.fx < t.fx ? h(y) : n = !0) : (q(y, 1 - u * c, _, u * c, t), y.fx = e(y), y.fx < v.fx ? h(y) : n = !0), n) {
1290
+ if (d >= 1) break;
1291
+ for (let t = 1; t < m.length; ++t) q(m[t], 1 - d, m[0], d, m[t]), m[t].fx = e(m[t]);
1292
+ }
1293
+ } else h(v);
1294
+ }
1295
+ return m.sort(g), {
1296
+ fx: m[0].fx,
1297
+ x: m[0]
1298
+ };
1299
+ }
1300
+ var J = (e, n) => {
1301
+ let r = e.getRowCount(), i = e.getColumnCount(), a = r * i;
1302
+ if (a === 0) throw t.BuiltIn.Value;
1303
+ let o = X(e, a), s = r === 1 && i > 1, c = r > 1 && i > 1;
1304
+ if (!n || n.size === 0) {
1305
+ let e = Array(a);
1306
+ for (let t = 0; t < a; t++) e[t] = [t + 1];
1307
+ return {
1308
+ ys: o,
1309
+ xs: e,
1310
+ k: 1,
1311
+ isRowOriented: s,
1312
+ isRectangularY: c,
1313
+ yRows: r,
1314
+ yCols: i
1315
+ };
1316
+ }
1317
+ let l = n.getRowCount(), u = n.getColumnCount();
1318
+ if (c) {
1319
+ if (l !== r || u !== i) throw t.BuiltIn.Ref;
1320
+ let e = X(n, a), d = Array(a);
1321
+ for (let t = 0; t < a; t++) d[t] = [e[t]];
1322
+ return {
1323
+ ys: o,
1324
+ xs: d,
1325
+ k: 1,
1326
+ isRowOriented: s,
1327
+ isRectangularY: c,
1328
+ yRows: r,
1329
+ yCols: i
1330
+ };
1331
+ }
1332
+ if ((s ? u : l) !== a) throw t.BuiltIn.Ref;
1333
+ let d = s ? l : u;
1334
+ return {
1335
+ ys: o,
1336
+ xs: It(n, a, d, s),
1337
+ k: d,
1338
+ isRowOriented: s,
1339
+ isRectangularY: c,
1340
+ yRows: r,
1341
+ yCols: i
1342
+ };
1343
+ }, Nt = (e) => {
1344
+ let n = Array(e.length);
1345
+ for (let r = 0; r < e.length; r++) {
1346
+ if (e[r] <= 0) throw t.BuiltIn.Num;
1347
+ n[r] = Math.log(e[r]);
1348
+ }
1349
+ return n;
1350
+ }, Pt = (e, n, r) => {
1351
+ let i, a, o;
1352
+ if (n && n.size > 0) {
1353
+ let r = ((e, n) => {
1354
+ let r = e.getRowCount(), i = e.getColumnCount(), a = r * i;
1355
+ if (a === 0) throw t.BuiltIn.Ref;
1356
+ if (n.k === 1) {
1357
+ let t = X(e, a), n = Array(a);
1358
+ for (let e = 0; e < a; e++) n[e] = [t[e]];
1359
+ return {
1360
+ xs: n,
1361
+ rows: r,
1362
+ cols: i
1363
+ };
1364
+ }
1365
+ let o = n.isRowOriented ? i : r;
1366
+ if ((n.isRowOriented ? r : i) !== n.k) throw t.BuiltIn.Ref;
1367
+ return {
1368
+ xs: It(e, o, n.k, n.isRowOriented),
1369
+ rows: n.isRowOriented ? 1 : o,
1370
+ cols: n.isRowOriented ? o : 1
1371
+ };
1372
+ })(n, e);
1373
+ i = r.xs, a = r.rows, o = r.cols;
1374
+ } else i = e.xs, a = e.yRows, o = e.yCols;
1375
+ let s = Array(a), c = 0;
1376
+ for (let e = 0; e < a; e++) {
1377
+ let t = Array(o);
1378
+ for (let e = 0; e < o; e++) t[e] = r(i[c++]);
1379
+ s[e] = t;
1380
+ }
1381
+ return s;
1382
+ }, Y = (e, t, n) => {
1383
+ let r = e.length, i = t.length > 0 ? t[0].length : 0, a = [], o = [];
1384
+ n && (a.push(Array(r).fill(1)), o.push(i));
1385
+ for (let e = i - 1; e >= 0; e--) {
1386
+ let n = Array(r);
1387
+ for (let i = 0; i < r; i++) n[i] = t[i][e];
1388
+ a.push(n), o.push(i - 1 - e);
1389
+ }
1390
+ let s = [], c = [], l = [];
1391
+ for (let e = 0; e < a.length; e++) {
1392
+ let t = a[e].slice(), n = Math.sqrt(Z(t, t)), i = Array(c.length).fill(0);
1393
+ for (let e = 0; e < 2; e++) for (let e = 0; e < c.length; e++) {
1394
+ let n = Z(c[e], t);
1395
+ for (let i = 0; i < r; i++) t[i] -= n * c[e][i];
1396
+ i[e] += n;
1397
+ }
1398
+ let o = Math.sqrt(Z(t, t));
1399
+ if (!(o <= 1e-10 * (n || 1))) {
1400
+ for (let e = 0; e < r; e++) t[e] /= o;
1401
+ i.push(o), c.push(t), l.push(i), s.push(e);
1402
+ }
1403
+ }
1404
+ let u = s.length, d = Array(u);
1405
+ for (let t = 0; t < u; t++) d[t] = Z(c[t], e);
1406
+ let f = Array(u).fill(0);
1407
+ for (let e = u - 1; e >= 0; e--) {
1408
+ let t = d[e];
1409
+ for (let n = e + 1; n < u; n++) t -= l[n][e] * f[n];
1410
+ f[e] = t / l[e][e];
1411
+ }
1412
+ let p = Array.from({ length: u }, () => Array(u).fill(0));
1413
+ for (let e = u - 1; e >= 0; e--) {
1414
+ p[e][e] = 1 / l[e][e];
1415
+ for (let t = e + 1; t < u; t++) {
1416
+ let n = 0;
1417
+ for (let r = e + 1; r <= t; r++) n += l[r][e] * p[r][t];
1418
+ p[e][t] = -n * p[e][e];
1419
+ }
1420
+ }
1421
+ let m = Array(i + 1).fill(0), h = Array(i + 1).fill(0);
1422
+ for (let e = 0; e < u; e++) {
1423
+ let t = o[s[e]];
1424
+ m[t] = f[e];
1425
+ let n = 0;
1426
+ for (let t = e; t < u; t++) n += p[e][t] * p[e][t];
1427
+ h[t] = n;
1428
+ }
1429
+ let g = (e) => {
1430
+ let t = n ? m[i] : 0;
1431
+ for (let n = 0; n < i; n++) t += m[i - 1 - n] * e[n];
1432
+ return t;
1433
+ }, _ = 0;
1434
+ for (let n = 0; n < r; n++) {
1435
+ let r = e[n] - g(t[n] ?? []);
1436
+ _ += r * r;
1437
+ }
1438
+ let v = 0;
1439
+ if (n) {
1440
+ let t = 0;
1441
+ for (let n = 0; n < r; n++) t += e[n];
1442
+ t /= r;
1443
+ for (let n = 0; n < r; n++) v += (e[n] - t) * (e[n] - t);
1444
+ } else for (let t = 0; t < r; t++) v += e[t] * e[t];
1445
+ let y = v - _, b = n ? u - 1 : u, x = r - b - +!!n, S = x > 0 ? _ / x : 0, C = x > 0 ? Math.sqrt(S) : 0, w = Array(i + 1).fill(0);
1446
+ for (let e = 0; e <= i; e++) w[e] = C * Math.sqrt(Math.max(h[e], 0));
1447
+ return {
1448
+ coefficients: m,
1449
+ standardErrors: w,
1450
+ kEffective: b,
1451
+ df: x,
1452
+ sey: C,
1453
+ r2: v === 0 ? 1 : y / v,
1454
+ f: x > 0 && b > 0 && S !== 0 ? y / b / S : null,
1455
+ ssReg: y,
1456
+ ssResid: _,
1457
+ predict: g
1458
+ };
1459
+ }, Ft = (e, n, r) => {
1460
+ let i = n.length, a = t.BuiltIn.NA, o = (e, t) => {
1461
+ let n = Array(i).fill(a);
1462
+ return n[0] = e, i > 1 && (n[1] = t), n;
1463
+ }, s = e.standardErrors.slice();
1464
+ return r || (s[i - 1] = a), [
1465
+ n.slice(),
1466
+ s,
1467
+ o(e.r2, e.sey),
1468
+ o(e.f ?? t.BuiltIn.Num, e.df),
1469
+ o(e.ssReg, e.ssResid)
1470
+ ];
1471
+ }, X = (e, n) => {
1472
+ let r = Array(n), i = 0;
1473
+ for (let n of e.values(U)) {
1474
+ if (typeof n != "number") throw t.BuiltIn.Value;
1475
+ r[i++] = n;
1476
+ }
1477
+ return r;
1478
+ }, It = (e, t, n, r) => {
1479
+ let i = X(e, t * n), a = Array(t);
1480
+ for (let e = 0; e < t; e++) {
1481
+ let o = Array(n);
1482
+ for (let a = 0; a < n; a++) o[a] = r ? i[a * t + e] : i[e * n + a];
1483
+ a[e] = o;
1484
+ }
1485
+ return a;
1486
+ }, Z = (e, t) => {
1487
+ let n = 0;
1488
+ for (let r = 0; r < e.length; r++) n += e[r] * t[r];
1489
+ return n;
1490
+ }, Lt = a({
1491
+ GROWTH: () => Vt,
1492
+ LINEST: () => Rt,
1493
+ LOGEST: () => zt,
1494
+ TREND: () => Bt
1495
+ });
1496
+ function Rt(e, t, n = !0, r = !1) {
1497
+ let i = J(e, t), a = Y(i.ys, i.xs, n), o = a.coefficients;
1498
+ return r ? Ft(a, o, n) : [o.slice()];
1499
+ }
1500
+ function zt(e, t, n = !0, r = !1) {
1501
+ let i = J(e, t), a = Y(Nt(i.ys), i.xs, n), o = a.coefficients.map(Math.exp);
1502
+ return r ? Ft(a, o, n) : [o];
1503
+ }
1504
+ function Bt(e, t, n, r = !0) {
1505
+ let i = J(e, t);
1506
+ return Pt(i, n, Y(i.ys, i.xs, r).predict);
1507
+ }
1508
+ function Vt(e, t, n, r = !0) {
1509
+ let i = J(e, t);
1510
+ return Pt(i, n, Y(Nt(i.ys), i.xs, r).predict).map((e) => e.map(Math.exp));
1511
+ }
1512
+ var Ht = a({
1513
+ TTEST: () => Ut,
1514
+ T_TEST: () => Wt
1515
+ });
1516
+ function Ut(e, t, n, r) {
1517
+ return Wt(e, t, n, r);
1518
+ }
1519
+ function Wt(e, n, r, i) {
1520
+ if (r = Math.floor(r), i = Math.floor(i), ![1, 2].includes(r) || ![
1521
+ 1,
1522
+ 2,
1523
+ 3
1524
+ ].includes(i)) return NaN;
1525
+ let a = e.getShape(), o = n.getShape(), s = a.rows * a.columns, c = o.rows * o.columns;
1526
+ if (i === 1 && s !== c) return t.BuiltIn.NA;
1527
+ let l = e.flatten(wt), u = n.flatten(wt);
1528
+ if (l === null || u === null) return t.BuiltIn.Value;
1529
+ if (l.length < 2 || u.length < 2) throw t.BuiltIn.Div0;
1530
+ if (i === 1 && l.length !== u.length) return t.BuiltIn.NA;
1531
+ let d = i === 1 ? function(e, t) {
1532
+ let n = e.length, r = 0, i = 0, a = 0;
1533
+ for (let o = 0; o < n; o++) r += e[o], i += t[o], a += (e[o] - t[o]) ** 2;
1534
+ let o = r - i, s = n * a - o ** 2;
1535
+ return s === 0 ? { error: !0 } : {
1536
+ x: Math.abs(o) * Math.sqrt((n - 1) / s),
1537
+ df: n - 1
1538
+ };
1539
+ }(l, u) : i === 2 ? function(e, t) {
1540
+ let n = e.length, r = t.length, i = 0, a = 0, o = 0, s = 0;
1541
+ for (let t of e) i += t, a += t * t;
1542
+ for (let e of t) o += e, s += e * e;
1543
+ let c = a - i ** 2 / n, l = s - o ** 2 / r, u = Math.sqrt(c + l);
1544
+ if (u === 0) return { error: !0 };
1545
+ let d = n + r - 2;
1546
+ return {
1547
+ x: Math.abs(i / n - o / r) / u * Math.sqrt(n * r * d / (n + r)),
1548
+ df: d
1549
+ };
1550
+ }(l, u) : function(e, t) {
1551
+ let n = e.length, r = t.length, i = 0, a = 0, o = 0, s = 0;
1552
+ for (let t of e) i += t, a += t * t;
1553
+ for (let e of t) o += e, s += e * e;
1554
+ let c = (a - i ** 2 / n) / (n * (n - 1)), l = (s - o ** 2 / r) / (r * (r - 1));
1555
+ if (c + l === 0) return { error: !0 };
1556
+ let u = Math.abs(i / n - o / r) / Math.sqrt(c + l), d = c / (c + l);
1557
+ return {
1558
+ x: u,
1559
+ df: 1 / (d ** 2 / (n - 1) + (1 - d) ** 2 / (r - 1))
1560
+ };
1561
+ }(l, u);
1562
+ if ("error" in d) throw t.BuiltIn.Div0;
1563
+ return function(e, t) {
1564
+ let n = .5 * function(e, t, n) {
1565
+ if (n <= 0) return 0;
1566
+ if (n >= 1) return 1;
1567
+ let r = Q(e) + Q(t) - Q(e + t), i = Math.exp(Math.log(n) * e + Math.log(1 - n) * t - r);
1568
+ return n < (e + 1) / (e + t + 2) ? i * Gt(e, t, n) / e : 1 - i * Gt(t, e, 1 - n) / t;
1569
+ }(t / 2, .5, t / (t + e * e));
1570
+ return e >= 0 ? 1 - n : n;
1571
+ }(-d.x, d.df) * r;
1572
+ }
1573
+ function Gt(e, t, n) {
1574
+ let r = 1e-30, i = e + t, a = e + 1, o = e - 1, s = 1, c = 1 - i * n / a;
1575
+ Math.abs(c) < r && (c = r), c = 1 / c;
1576
+ let l = c;
1577
+ for (let u = 1; u <= 200; u++) {
1578
+ let d = 2 * u, f = u * (t - u) * n / ((o + d) * (e + d));
1579
+ c = 1 + f * c, Math.abs(c) < r && (c = r), s = 1 + f / s, Math.abs(s) < r && (s = r), c = 1 / c, l *= c * s, f = -(e + u) * (i + u) * n / ((e + d) * (a + d)), c = 1 + f * c, Math.abs(c) < r && (c = r), s = 1 + f / s, Math.abs(s) < r && (s = r), c = 1 / c;
1580
+ let p = c * s;
1581
+ if (l *= p, Math.abs(p - 1) < 3e-7) break;
1582
+ }
1583
+ return l;
1584
+ }
1585
+ function Q(e) {
1586
+ let t = [
1587
+ .9999999999998099,
1588
+ 676.5203681218851,
1589
+ -1259.1392167224028,
1590
+ 771.3234287776531,
1591
+ -176.6150291621406,
1592
+ 12.507343278686905,
1593
+ -.13857109526572012,
1594
+ 9984369578019572e-21,
1595
+ 1.5056327351493116e-7
1596
+ ];
1597
+ if (e < .5) return Math.log(Math.PI / Math.sin(Math.PI * e)) - Q(1 - e);
1598
+ e--;
1599
+ let n = t[0];
1600
+ for (let r = 1; r < 9; r++) n += t[r] / (e + r);
1601
+ let r = e + 7.5;
1602
+ return .5 * Math.log(2 * Math.PI) + (e + .5) * Math.log(r) - r + Math.log(n);
1603
+ }
1604
+ var Kt = a({
1605
+ REGEXEXTRACT: () => qt,
1606
+ REGEXMATCH: () => Jt,
1607
+ REGEXREPLACE: () => Yt,
1608
+ REGEXTEST: () => Xt
1609
+ });
1610
+ function qt(n, r, i = 0, a = !1) {
1611
+ let o = $(r, a);
1612
+ if (t.isError(o)) return o;
1613
+ if (i === 0) {
1614
+ let r = n.match(o);
1615
+ return r ? e.createRange().replace([[r[0]]]) : e.createRange().replace([[t.BuiltIn.NA]]);
1616
+ }
1617
+ if (i === 1) {
1618
+ let r = new RegExp(o.source, o.flags + "g"), i = [...n.matchAll(r)];
1619
+ if (i.length === 0) return e.createRange().replace([[t.BuiltIn.NA]]);
1620
+ let a = i.map((e) => e[0]);
1621
+ return e.createRange().replace([a]);
1622
+ }
1623
+ if (i === 2) {
1624
+ let r = n.match(o);
1625
+ if (!r) return e.createRange().replace([[t.BuiltIn.NA]]);
1626
+ if (r.length === 1) return t.BuiltIn.Value;
1627
+ let i = r.slice(1).map((e) => e ?? t.BuiltIn.NA);
1628
+ return e.createRange().replace([i]);
1629
+ }
1630
+ return t.BuiltIn.Value;
1631
+ }
1632
+ function Jt(e, n, r = !1) {
1633
+ let i = $(n, r);
1634
+ return t.isError(i) ? i : i.test(e);
1635
+ }
1636
+ function Yt(e, n, r, i = 0, a = !1) {
1637
+ let o = $(n, a);
1638
+ if (t.isError(o)) return o;
1639
+ if (i === 0) {
1640
+ let t = new RegExp(o.source, o.flags + "g");
1641
+ return e.replace(t, r);
1642
+ }
1643
+ let s = 0, c = e, l = new RegExp(o.source, o.flags), u = 0;
1644
+ for (; u <= c.length;) {
1645
+ let e = c.slice(u).match(l);
1646
+ if (!e || e.index === void 0) break;
1647
+ if (s++, s === i) {
1648
+ let t = u + e.index;
1649
+ c = c.slice(0, t) + e[0].replace(l, r) + c.slice(t + e[0].length);
1650
+ break;
1651
+ }
1652
+ u += e.index + Math.max(e[0].length, 1);
1653
+ }
1654
+ return c;
1655
+ }
1656
+ function Xt(e, n, r = !1) {
1657
+ let i = $(n, r);
1658
+ return t.isError(i) ? i : i.test(e);
1659
+ }
1660
+ function $(e, n) {
1661
+ try {
1662
+ return new RegExp(e, n ? "i" : "");
1663
+ } catch {
1664
+ return t.BuiltIn.Value;
1665
+ }
1666
+ }
1667
+ var Zt = {
1668
+ CUBEKPIMEMBER: {
1669
+ p: [
1670
+ {
1671
+ n: "connection",
1672
+ s: "string"
1673
+ },
1674
+ {
1675
+ n: "kpiName",
1676
+ s: "string"
1677
+ },
1678
+ { n: "kpiProperty" },
1679
+ {
1680
+ n: "caption",
1681
+ s: "string",
1682
+ m: "?"
1683
+ }
1684
+ ],
1685
+ r: { s: "string" }
1686
+ },
1687
+ CUBEMEMBER: {
1688
+ p: [
1689
+ {
1690
+ n: "connection",
1691
+ s: "string"
1692
+ },
1693
+ {
1694
+ n: "memberExpression",
1695
+ s: "string"
1696
+ },
1697
+ {
1698
+ n: "caption",
1699
+ s: "string",
1700
+ m: "?"
1701
+ }
1702
+ ],
1703
+ r: { s: "string" }
1704
+ },
1705
+ CUBEMEMBERPROPERTY: {
1706
+ p: [
1707
+ {
1708
+ n: "connection",
1709
+ s: "string"
1710
+ },
1711
+ {
1712
+ n: "memberExpression",
1713
+ s: "string"
1714
+ },
1715
+ { n: "kpiProperty" }
1716
+ ],
1717
+ r: { s: "string" }
1718
+ },
1719
+ CUBERANKEDMEMBER: {
1720
+ p: [
1721
+ {
1722
+ n: "connection",
1723
+ s: "string"
1724
+ },
1725
+ {
1726
+ n: "setExpression",
1727
+ s: "string"
1728
+ },
1729
+ { n: "rank" },
1730
+ {
1731
+ n: "caption",
1732
+ s: "string",
1733
+ m: "?"
1734
+ }
1735
+ ],
1736
+ r: { s: "string" }
1737
+ },
1738
+ CUBESET: {
1739
+ p: [
1740
+ {
1741
+ n: "connection",
1742
+ s: "string"
1743
+ },
1744
+ {
1745
+ n: "setExpression",
1746
+ s: "string"
1747
+ },
1748
+ {
1749
+ n: "caption",
1750
+ s: "string",
1751
+ m: "?"
1752
+ },
1753
+ {
1754
+ n: "sortOrder",
1755
+ m: "?"
1756
+ },
1757
+ {
1758
+ n: "sortBy",
1759
+ s: "string",
1760
+ m: "?"
1761
+ }
1762
+ ],
1763
+ r: { s: "string" }
1764
+ },
1765
+ CUBESETCOUNT: {
1766
+ p: [{
1767
+ n: "set",
1768
+ s: "string"
1769
+ }],
1770
+ r: { s: "number" }
1771
+ },
1772
+ CUBEVALUE: {
1773
+ p: [{
1774
+ n: "connection",
1775
+ s: "string"
1776
+ }, {
1777
+ n: "memberExpression",
1778
+ s: "string",
1779
+ d: 1,
1780
+ m: "..."
1781
+ }],
1782
+ r: { s: "string" }
1783
+ }
1784
+ }, Qt = { ACCRINT: {
1785
+ p: [
1786
+ { n: "issue" },
1787
+ { n: "firstInterest" },
1788
+ { n: "settlement" },
1789
+ { n: "rate" },
1790
+ { n: "par" },
1791
+ { n: "frequency" },
1792
+ {
1793
+ n: "basis",
1794
+ m: "?",
1795
+ v: 0
1796
+ },
1797
+ {
1798
+ n: "calcMethod",
1799
+ s: "boolean",
1800
+ m: "?",
1801
+ v: !0
1802
+ }
1803
+ ],
1804
+ r: { s: "number" }
1805
+ } }, $t = { AMORDEGRC: {
1806
+ p: [
1807
+ { n: "cost" },
1808
+ { n: "datePurchased" },
1809
+ { n: "firstPeriod" },
1810
+ { n: "salvage" },
1811
+ { n: "period" },
1812
+ { n: "rate" },
1813
+ {
1814
+ n: "basis",
1815
+ m: "?",
1816
+ v: 0
1817
+ }
1818
+ ],
1819
+ r: { s: "number" }
1820
+ } }, en = {
1821
+ DATEDIF: {
1822
+ p: [
1823
+ { n: "startDate" },
1824
+ { n: "endDate" },
1825
+ {
1826
+ n: "unit",
1827
+ s: "string"
1828
+ }
1829
+ ],
1830
+ r: { s: "number" }
1831
+ },
1832
+ YEARFRAC: {
1833
+ p: [
1834
+ {
1835
+ n: "startDate",
1836
+ s: "*"
1837
+ },
1838
+ {
1839
+ n: "endDate",
1840
+ s: "*"
1841
+ },
1842
+ {
1843
+ n: "basis",
1844
+ s: "*",
1845
+ m: "?",
1846
+ v: 0
1847
+ }
1848
+ ],
1849
+ r: { s: "number" }
1850
+ },
1851
+ DAYS360: {
1852
+ p: [
1853
+ { n: "startDate" },
1854
+ { n: "endDate" },
1855
+ {
1856
+ n: "method",
1857
+ s: "boolean",
1858
+ m: "?",
1859
+ v: !1
1860
+ }
1861
+ ],
1862
+ r: { s: "number" }
1863
+ }
1864
+ }, tn = {
1865
+ COUPDAYS: {
1866
+ p: [
1867
+ { n: "settlement" },
1868
+ { n: "maturity" },
1869
+ { n: "frequency" },
1870
+ {
1871
+ n: "basis",
1872
+ m: "?",
1873
+ v: 0
1874
+ }
1875
+ ],
1876
+ r: { s: "number" }
1877
+ },
1878
+ CUMIPMT: {
1879
+ p: [
1880
+ { n: "rate" },
1881
+ { n: "nper" },
1882
+ { n: "pv" },
1883
+ { n: "startPeriod" },
1884
+ { n: "endPeriod" },
1885
+ { n: "type" }
1886
+ ],
1887
+ r: { s: "number" }
1888
+ },
1889
+ CUMPRINC: {
1890
+ p: [
1891
+ { n: "rate" },
1892
+ { n: "nper" },
1893
+ { n: "pv" },
1894
+ { n: "startPeriod" },
1895
+ { n: "endPeriod" },
1896
+ { n: "type" }
1897
+ ],
1898
+ r: { s: "number" }
1899
+ },
1900
+ DB: {
1901
+ p: [
1902
+ { n: "cost" },
1903
+ { n: "salvage" },
1904
+ { n: "life" },
1905
+ { n: "period" },
1906
+ {
1907
+ n: "month",
1908
+ m: "?",
1909
+ v: 12
1910
+ }
1911
+ ],
1912
+ r: { s: "number" }
1913
+ },
1914
+ DDB: {
1915
+ p: [
1916
+ { n: "cost" },
1917
+ { n: "salvage" },
1918
+ { n: "life" },
1919
+ { n: "period" },
1920
+ {
1921
+ n: "factor",
1922
+ m: "?",
1923
+ v: 2
1924
+ }
1925
+ ],
1926
+ r: { s: "number" }
1927
+ },
1928
+ DISC: {
1929
+ p: [
1930
+ { n: "settlement" },
1931
+ { n: "maturity" },
1932
+ { n: "pr" },
1933
+ { n: "redemption" },
1934
+ {
1935
+ n: "basis",
1936
+ m: "?",
1937
+ v: 0
1938
+ }
1939
+ ],
1940
+ r: { s: "number" }
1941
+ },
1942
+ DOLLARDE: {
1943
+ p: [{ n: "fractionalDollar" }, { n: "fraction" }],
1944
+ r: { s: "number" }
1945
+ },
1946
+ DOLLARFR: {
1947
+ p: [{ n: "decimalDollar" }, { n: "fraction" }],
1948
+ r: { s: "number" }
1949
+ },
1950
+ EFFECT: {
1951
+ p: [{ n: "nominalRate" }, { n: "npery" }],
1952
+ r: { s: "number" }
1953
+ },
1954
+ FV: {
1955
+ p: [
1956
+ { n: "rate" },
1957
+ { n: "nper" },
1958
+ { n: "pmt" },
1959
+ {
1960
+ n: "pv",
1961
+ m: "?",
1962
+ v: 0
1963
+ },
1964
+ {
1965
+ n: "type",
1966
+ m: "?",
1967
+ v: 0,
1968
+ e: ["0", "1"]
1969
+ }
1970
+ ],
1971
+ r: { s: "number" }
1972
+ },
1973
+ FVSCHEDULE: {
1974
+ p: [{ n: "principal" }, {
1975
+ n: "schedule",
1976
+ r: "r"
1977
+ }],
1978
+ r: { s: "number" }
1979
+ },
1980
+ IPMT: {
1981
+ p: [
1982
+ { n: "rate" },
1983
+ { n: "per" },
1984
+ { n: "nper" },
1985
+ { n: "pv" },
1986
+ {
1987
+ n: "fv",
1988
+ m: "?",
1989
+ v: 0
1990
+ },
1991
+ {
1992
+ n: "type",
1993
+ m: "?",
1994
+ v: 0
1995
+ }
1996
+ ],
1997
+ r: { s: "number" }
1998
+ },
1999
+ IRR: {
2000
+ p: [{
2001
+ n: "values",
2002
+ d: 1
2003
+ }, {
2004
+ n: "guess",
2005
+ m: "?",
2006
+ v: .1
2007
+ }],
2008
+ r: { s: "number" }
2009
+ },
2010
+ ISPMT: {
2011
+ p: [
2012
+ { n: "rate" },
2013
+ { n: "per" },
2014
+ { n: "nper" },
2015
+ { n: "pv" }
2016
+ ],
2017
+ r: { s: "number" }
2018
+ },
2019
+ MIRR: {
2020
+ p: [
2021
+ {
2022
+ n: "values",
2023
+ d: 1
2024
+ },
2025
+ { n: "financeRate" },
2026
+ { n: "reinvestRate" }
2027
+ ],
2028
+ r: { s: "number" }
2029
+ },
2030
+ NOMINAL: {
2031
+ p: [{ n: "effectiveRate" }, { n: "npery" }],
2032
+ r: { s: "number" }
2033
+ },
2034
+ NPER: {
2035
+ p: [
2036
+ { n: "rate" },
2037
+ { n: "pmt" },
2038
+ { n: "pv" },
2039
+ {
2040
+ n: "fv",
2041
+ m: "?",
2042
+ v: 0
2043
+ },
2044
+ {
2045
+ n: "type",
2046
+ m: "?",
2047
+ v: 0
2048
+ }
2049
+ ],
2050
+ r: { s: "number" }
2051
+ },
2052
+ NPV: {
2053
+ p: [{ n: "rate" }, {
2054
+ n: "value",
2055
+ g: [{ n: "value" }]
2056
+ }],
2057
+ r: { s: "number" }
2058
+ },
2059
+ PDURATION: {
2060
+ p: [
2061
+ { n: "rate" },
2062
+ { n: "pv" },
2063
+ { n: "fv" }
2064
+ ],
2065
+ r: { s: "number" }
2066
+ },
2067
+ PMT: {
2068
+ p: [
2069
+ { n: "rate" },
2070
+ { n: "nper" },
2071
+ { n: "pv" },
2072
+ {
2073
+ n: "fv",
2074
+ m: "?",
2075
+ v: 0
2076
+ },
2077
+ {
2078
+ n: "type",
2079
+ m: "?",
2080
+ v: 0
2081
+ }
2082
+ ],
2083
+ r: { s: "number" }
2084
+ },
2085
+ PPMT: {
2086
+ p: [
2087
+ { n: "rate" },
2088
+ { n: "per" },
2089
+ { n: "nper" },
2090
+ { n: "pv" },
2091
+ {
2092
+ n: "fv",
2093
+ m: "?",
2094
+ v: 0
2095
+ },
2096
+ {
2097
+ n: "type",
2098
+ m: "?",
2099
+ v: 0
2100
+ }
2101
+ ],
2102
+ r: { s: "number" }
2103
+ },
2104
+ PRICEDISC: {
2105
+ p: [
2106
+ { n: "settlement" },
2107
+ { n: "maturity" },
2108
+ { n: "discount" },
2109
+ { n: "redemption" },
2110
+ {
2111
+ n: "basis",
2112
+ m: "?",
2113
+ v: 0
2114
+ }
2115
+ ],
2116
+ r: { s: "number" }
2117
+ },
2118
+ PV: {
2119
+ p: [
2120
+ { n: "rate" },
2121
+ { n: "nper" },
2122
+ { n: "pmt" },
2123
+ {
2124
+ n: "fv",
2125
+ m: "?",
2126
+ v: 0
2127
+ },
2128
+ {
2129
+ n: "type",
2130
+ m: "?",
2131
+ v: 0
2132
+ }
2133
+ ],
2134
+ r: { s: "number" }
2135
+ },
2136
+ RATE: {
2137
+ p: [
2138
+ { n: "nper" },
2139
+ { n: "pmt" },
2140
+ { n: "pv" },
2141
+ {
2142
+ n: "fv",
2143
+ m: "?",
2144
+ v: 0
2145
+ },
2146
+ {
2147
+ n: "type",
2148
+ m: "?",
2149
+ v: 0
2150
+ },
2151
+ {
2152
+ n: "guess",
2153
+ m: "?",
2154
+ v: .1
2155
+ }
2156
+ ],
2157
+ r: { s: "number" }
2158
+ },
2159
+ RRI: {
2160
+ p: [
2161
+ { n: "nper" },
2162
+ { n: "pv" },
2163
+ { n: "fv" }
2164
+ ],
2165
+ r: { s: "number" }
2166
+ },
2167
+ SLN: {
2168
+ p: [
2169
+ { n: "cost" },
2170
+ { n: "salvage" },
2171
+ { n: "life" }
2172
+ ],
2173
+ r: { s: "number" }
2174
+ },
2175
+ STOCKHISTORY: {
2176
+ p: [
2177
+ {
2178
+ n: "stock",
2179
+ s: "string"
2180
+ },
2181
+ { n: "startDate" },
2182
+ {
2183
+ n: "endDate",
2184
+ m: "?"
2185
+ },
2186
+ {
2187
+ n: "interval",
2188
+ m: "?",
2189
+ v: 0
2190
+ },
2191
+ {
2192
+ n: "headers",
2193
+ m: "?",
2194
+ v: 1
2195
+ },
2196
+ {
2197
+ n: "properties",
2198
+ d: 1,
2199
+ m: "?"
2200
+ }
2201
+ ],
2202
+ r: { r: "r" }
2203
+ },
2204
+ SYD: {
2205
+ p: [
2206
+ { n: "cost" },
2207
+ { n: "salvage" },
2208
+ { n: "life" },
2209
+ { n: "per" }
2210
+ ],
2211
+ r: { s: "number" }
2212
+ },
2213
+ TBILLEQ: {
2214
+ p: [
2215
+ { n: "settlement" },
2216
+ { n: "maturity" },
2217
+ { n: "discount" }
2218
+ ],
2219
+ r: { s: "number" }
2220
+ },
2221
+ TBILLPRICE: {
2222
+ p: [
2223
+ { n: "settlement" },
2224
+ { n: "maturity" },
2225
+ { n: "discount" }
2226
+ ],
2227
+ r: { s: "number" }
2228
+ },
2229
+ TBILLYIELD: {
2230
+ p: [
2231
+ { n: "settlement" },
2232
+ { n: "maturity" },
2233
+ { n: "pr" }
2234
+ ],
2235
+ r: { s: "number" }
2236
+ },
2237
+ XIRR: {
2238
+ p: [
2239
+ {
2240
+ n: "values",
2241
+ r: "r"
2242
+ },
2243
+ {
2244
+ n: "dates",
2245
+ r: "r"
2246
+ },
2247
+ {
2248
+ n: "guess",
2249
+ m: "?",
2250
+ v: .1
2251
+ }
2252
+ ],
2253
+ r: { s: "*" }
2254
+ },
2255
+ XNPV: {
2256
+ p: [
2257
+ { n: "rate" },
2258
+ {
2259
+ n: "values",
2260
+ r: "r"
2261
+ },
2262
+ {
2263
+ n: "dates",
2264
+ r: "r"
2265
+ }
2266
+ ],
2267
+ r: { s: "*" }
2268
+ }
2269
+ }, nn = {
2270
+ ACCRINTM: {
2271
+ p: [
2272
+ { n: "issue" },
2273
+ { n: "settlement" },
2274
+ { n: "rate" },
2275
+ { n: "par" },
2276
+ {
2277
+ n: "basis",
2278
+ m: "?",
2279
+ v: 0
2280
+ }
2281
+ ],
2282
+ r: { s: "number" }
2283
+ },
2284
+ INTRATE: {
2285
+ p: [
2286
+ { n: "settlement" },
2287
+ { n: "maturity" },
2288
+ { n: "investment" },
2289
+ { n: "redemption" },
2290
+ {
2291
+ n: "basis",
2292
+ m: "?",
2293
+ v: 0
2294
+ }
2295
+ ],
2296
+ r: { s: "number" }
2297
+ },
2298
+ RECEIVED: {
2299
+ p: [
2300
+ { n: "settlement" },
2301
+ { n: "maturity" },
2302
+ { n: "investment" },
2303
+ { n: "discount" },
2304
+ {
2305
+ n: "basis",
2306
+ m: "?",
2307
+ v: 0
2308
+ }
2309
+ ],
2310
+ r: { s: "number" }
2311
+ },
2312
+ YIELDDISC: {
2313
+ p: [
2314
+ { n: "settlement" },
2315
+ { n: "maturity" },
2316
+ { n: "pr" },
2317
+ { n: "redemption" },
2318
+ {
2319
+ n: "basis",
2320
+ m: "?",
2321
+ v: 0
2322
+ }
2323
+ ],
2324
+ r: { s: "number" }
2325
+ },
2326
+ PRICEMAT: {
2327
+ p: [
2328
+ { n: "settlement" },
2329
+ { n: "maturity" },
2330
+ { n: "issue" },
2331
+ { n: "rate" },
2332
+ { n: "yld" },
2333
+ {
2334
+ n: "basis",
2335
+ m: "?",
2336
+ v: 0
2337
+ }
2338
+ ],
2339
+ r: { s: "number" }
2340
+ },
2341
+ YIELDMAT: {
2342
+ p: [
2343
+ { n: "settlement" },
2344
+ { n: "maturity" },
2345
+ { n: "issue" },
2346
+ { n: "rate" },
2347
+ { n: "pr" },
2348
+ {
2349
+ n: "basis",
2350
+ m: "?",
2351
+ v: 0
2352
+ }
2353
+ ],
2354
+ r: { s: "number" }
2355
+ },
2356
+ AMORLINC: {
2357
+ p: [
2358
+ { n: "cost" },
2359
+ { n: "datePurchased" },
2360
+ { n: "firstPeriod" },
2361
+ { n: "salvage" },
2362
+ { n: "period" },
2363
+ { n: "rate" },
2364
+ {
2365
+ n: "basis",
2366
+ m: "?",
2367
+ v: 0
2368
+ }
2369
+ ],
2370
+ r: { s: "number" }
2371
+ }
2372
+ }, rn = {
2373
+ COUPDAYBS: {
2374
+ p: [
2375
+ { n: "settlement" },
2376
+ { n: "maturity" },
2377
+ { n: "frequency" },
2378
+ {
2379
+ n: "basis",
2380
+ m: "?",
2381
+ v: 0
2382
+ }
2383
+ ],
2384
+ r: { s: "number" }
2385
+ },
2386
+ COUPDAYS: {
2387
+ p: [
2388
+ { n: "settlement" },
2389
+ { n: "maturity" },
2390
+ { n: "frequency" },
2391
+ {
2392
+ n: "basis",
2393
+ m: "?",
2394
+ v: 0
2395
+ }
2396
+ ],
2397
+ r: { s: "number" }
2398
+ },
2399
+ COUPDAYSNC: {
2400
+ p: [
2401
+ { n: "settlement" },
2402
+ { n: "maturity" },
2403
+ { n: "frequency" },
2404
+ {
2405
+ n: "basis",
2406
+ m: "?",
2407
+ v: 0
2408
+ }
2409
+ ],
2410
+ r: { s: "number" }
2411
+ },
2412
+ COUPNCD: {
2413
+ p: [
2414
+ { n: "settlement" },
2415
+ { n: "maturity" },
2416
+ { n: "frequency" },
2417
+ {
2418
+ n: "basis",
2419
+ m: "?",
2420
+ v: 0
2421
+ }
2422
+ ],
2423
+ r: { s: "number" }
2424
+ },
2425
+ COUPPCD: {
2426
+ p: [
2427
+ { n: "settlement" },
2428
+ { n: "maturity" },
2429
+ { n: "frequency" },
2430
+ {
2431
+ n: "basis",
2432
+ m: "?",
2433
+ v: 0
2434
+ }
2435
+ ],
2436
+ r: { s: "number" }
2437
+ },
2438
+ COUPNUM: {
2439
+ p: [
2440
+ { n: "settlement" },
2441
+ { n: "maturity" },
2442
+ { n: "frequency" },
2443
+ {
2444
+ n: "basis",
2445
+ m: "?",
2446
+ v: 0
2447
+ }
2448
+ ],
2449
+ r: { s: "number" }
2450
+ }
2451
+ }, an = {
2452
+ PRICE: {
2453
+ p: [
2454
+ { n: "settlement" },
2455
+ { n: "maturity" },
2456
+ { n: "rate" },
2457
+ { n: "yld" },
2458
+ { n: "redemption" },
2459
+ { n: "frequency" },
2460
+ {
2461
+ n: "basis",
2462
+ m: "?",
2463
+ v: 0
2464
+ }
2465
+ ],
2466
+ r: { s: "number" }
2467
+ },
2468
+ DURATION: {
2469
+ p: [
2470
+ { n: "settlement" },
2471
+ { n: "maturity" },
2472
+ { n: "coupon" },
2473
+ { n: "yld" },
2474
+ { n: "frequency" },
2475
+ {
2476
+ n: "basis",
2477
+ m: "?",
2478
+ v: 0
2479
+ }
2480
+ ],
2481
+ r: { s: "number" }
2482
+ },
2483
+ MDURATION: {
2484
+ p: [
2485
+ { n: "settlement" },
2486
+ { n: "maturity" },
2487
+ { n: "coupon" },
2488
+ { n: "yld" },
2489
+ { n: "frequency" },
2490
+ {
2491
+ n: "basis",
2492
+ m: "?",
2493
+ v: 0
2494
+ }
2495
+ ],
2496
+ r: { s: "number" }
2497
+ },
2498
+ YIELD: {
2499
+ p: [
2500
+ { n: "settlement" },
2501
+ { n: "maturity" },
2502
+ { n: "rate" },
2503
+ { n: "pr" },
2504
+ { n: "redemption" },
2505
+ { n: "frequency" },
2506
+ {
2507
+ n: "basis",
2508
+ m: "?",
2509
+ v: 0
2510
+ }
2511
+ ],
2512
+ r: { s: "number" }
2513
+ }
2514
+ }, on = {
2515
+ ODDFPRICE: {
2516
+ p: [
2517
+ { n: "settlement" },
2518
+ { n: "maturity" },
2519
+ { n: "issue" },
2520
+ { n: "firstCoupon" },
2521
+ { n: "rate" },
2522
+ { n: "yld" },
2523
+ { n: "redemption" },
2524
+ { n: "frequency" },
2525
+ {
2526
+ n: "basis",
2527
+ m: "?",
2528
+ v: 0
2529
+ }
2530
+ ],
2531
+ r: { s: "number" }
2532
+ },
2533
+ ODDFYIELD: {
2534
+ p: [
2535
+ { n: "settlement" },
2536
+ { n: "maturity" },
2537
+ { n: "issue" },
2538
+ { n: "firstCoupon" },
2539
+ { n: "rate" },
2540
+ { n: "pr" },
2541
+ { n: "redemption" },
2542
+ { n: "frequency" },
2543
+ {
2544
+ n: "basis",
2545
+ m: "?",
2546
+ v: 0
2547
+ }
2548
+ ],
2549
+ r: { s: "number" }
2550
+ },
2551
+ ODDLPRICE: {
2552
+ p: [
2553
+ { n: "settlement" },
2554
+ { n: "maturity" },
2555
+ { n: "lastInterest" },
2556
+ { n: "rate" },
2557
+ { n: "yld" },
2558
+ { n: "redemption" },
2559
+ { n: "frequency" },
2560
+ {
2561
+ n: "basis",
2562
+ m: "?",
2563
+ v: 0
2564
+ }
2565
+ ],
2566
+ r: { s: "number" }
2567
+ },
2568
+ ODDLYIELD: {
2569
+ p: [
2570
+ { n: "settlement" },
2571
+ { n: "maturity" },
2572
+ { n: "lastInterest" },
2573
+ { n: "rate" },
2574
+ { n: "pr" },
2575
+ { n: "redemption" },
2576
+ { n: "frequency" },
2577
+ {
2578
+ n: "basis",
2579
+ m: "?",
2580
+ v: 0
2581
+ }
2582
+ ],
2583
+ r: { s: "number" }
2584
+ }
2585
+ }, sn = { VDB: {
2586
+ p: [
2587
+ { n: "cost" },
2588
+ { n: "salvage" },
2589
+ { n: "life" },
2590
+ { n: "startPeriod" },
2591
+ { n: "endPeriod" },
2592
+ {
2593
+ n: "factor",
2594
+ m: "?",
2595
+ v: 2
2596
+ },
2597
+ {
2598
+ n: "noSwitch",
2599
+ s: "boolean",
2600
+ m: "?",
2601
+ v: !1
2602
+ }
2603
+ ],
2604
+ r: { s: "number" }
2605
+ } }, cn = {
2606
+ "FORECAST.ETS": {
2607
+ fn: "FORECAST_ETS",
2608
+ p: [
2609
+ { n: "targetDate" },
2610
+ {
2611
+ n: "values",
2612
+ r: "r"
2613
+ },
2614
+ {
2615
+ n: "timeline",
2616
+ r: "r"
2617
+ },
2618
+ {
2619
+ n: "seasonality",
2620
+ m: "?",
2621
+ v: 1
2622
+ },
2623
+ {
2624
+ n: "dataCompletion",
2625
+ m: "?",
2626
+ v: 1
2627
+ },
2628
+ {
2629
+ n: "aggregation",
2630
+ m: "?",
2631
+ v: 1
2632
+ }
2633
+ ],
2634
+ r: { s: "*" }
2635
+ },
2636
+ "FORECAST.ETS.CONFINT": {
2637
+ fn: "FORECAST_ETS_CONFINT",
2638
+ p: [
2639
+ { n: "targetDate" },
2640
+ {
2641
+ n: "values",
2642
+ r: "r"
2643
+ },
2644
+ {
2645
+ n: "timeline",
2646
+ r: "r"
2647
+ },
2648
+ {
2649
+ n: "confidenceLevel",
2650
+ m: "?",
2651
+ v: .95
2652
+ },
2653
+ {
2654
+ n: "seasonality",
2655
+ m: "?",
2656
+ v: 1
2657
+ },
2658
+ {
2659
+ n: "dataCompletion",
2660
+ m: "?",
2661
+ v: 1
2662
+ },
2663
+ {
2664
+ n: "aggregation",
2665
+ m: "?",
2666
+ v: 1
2667
+ }
2668
+ ],
2669
+ r: { s: "*" }
2670
+ },
2671
+ "FORECAST.ETS.SEASONALITY": {
2672
+ fn: "FORECAST_ETS_SEASONALITY",
2673
+ p: [
2674
+ {
2675
+ n: "values",
2676
+ r: "r"
2677
+ },
2678
+ {
2679
+ n: "timeline",
2680
+ r: "r"
2681
+ },
2682
+ {
2683
+ n: "dataCompletion",
2684
+ m: "?",
2685
+ v: 1
2686
+ },
2687
+ {
2688
+ n: "aggregation",
2689
+ m: "?",
2690
+ v: 1
2691
+ }
2692
+ ],
2693
+ r: { s: "*" }
2694
+ },
2695
+ "FORECAST.ETS.STAT": {
2696
+ fn: "FORECAST_ETS_STAT",
2697
+ p: [
2698
+ {
2699
+ n: "values",
2700
+ r: "r"
2701
+ },
2702
+ {
2703
+ n: "timeline",
2704
+ r: "r"
2705
+ },
2706
+ { n: "statisticType" },
2707
+ {
2708
+ n: "seasonality",
2709
+ m: "?",
2710
+ v: 1
2711
+ },
2712
+ {
2713
+ n: "dataCompletion",
2714
+ m: "?",
2715
+ v: 1
2716
+ },
2717
+ {
2718
+ n: "aggregation",
2719
+ m: "?",
2720
+ v: 1
2721
+ }
2722
+ ],
2723
+ r: { s: "*" }
2724
+ }
2725
+ }, ln = {
2726
+ LINEST: {
2727
+ p: [
2728
+ {
2729
+ n: "knownYs",
2730
+ r: "r"
2731
+ },
2732
+ {
2733
+ n: "knownXs",
2734
+ r: "r",
2735
+ m: "?",
2736
+ u: 1
2737
+ },
2738
+ {
2739
+ n: "constant",
2740
+ s: "boolean",
2741
+ m: "?",
2742
+ v: !0,
2743
+ u: 1
2744
+ },
2745
+ {
2746
+ n: "stats",
2747
+ s: "boolean",
2748
+ m: "?",
2749
+ v: !1
2750
+ }
2751
+ ],
2752
+ r: {
2753
+ s: "*",
2754
+ r: "m"
2755
+ }
2756
+ },
2757
+ LOGEST: {
2758
+ p: [
2759
+ {
2760
+ n: "knownYs",
2761
+ r: "r"
2762
+ },
2763
+ {
2764
+ n: "knownXs",
2765
+ r: "r",
2766
+ m: "?",
2767
+ u: 1
2768
+ },
2769
+ {
2770
+ n: "constant",
2771
+ s: "boolean",
2772
+ m: "?",
2773
+ v: !0,
2774
+ u: 1
2775
+ },
2776
+ {
2777
+ n: "stats",
2778
+ s: "boolean",
2779
+ m: "?",
2780
+ v: !1
2781
+ }
2782
+ ],
2783
+ r: {
2784
+ s: "*",
2785
+ r: "m"
2786
+ }
2787
+ },
2788
+ TREND: {
2789
+ p: [
2790
+ {
2791
+ n: "knownYs",
2792
+ r: "r"
2793
+ },
2794
+ {
2795
+ n: "knownXs",
2796
+ r: "r",
2797
+ m: "?",
2798
+ u: 1
2799
+ },
2800
+ {
2801
+ n: "newXs",
2802
+ r: "r",
2803
+ m: "?",
2804
+ u: 1
2805
+ },
2806
+ {
2807
+ n: "useConst",
2808
+ s: "boolean",
2809
+ m: "?",
2810
+ v: !0,
2811
+ u: 1
2812
+ }
2813
+ ],
2814
+ r: {
2815
+ s: "*",
2816
+ r: "m"
2817
+ }
2818
+ },
2819
+ GROWTH: {
2820
+ p: [
2821
+ {
2822
+ n: "knownYs",
2823
+ r: "r"
2824
+ },
2825
+ {
2826
+ n: "knownXs",
2827
+ r: "r",
2828
+ m: "?",
2829
+ u: 1
2830
+ },
2831
+ {
2832
+ n: "newXs",
2833
+ r: "r",
2834
+ m: "?",
2835
+ u: 1
2836
+ },
2837
+ {
2838
+ n: "useConst",
2839
+ s: "boolean",
2840
+ m: "?",
2841
+ v: !0,
2842
+ u: 1
2843
+ }
2844
+ ],
2845
+ r: {
2846
+ s: "number",
2847
+ r: "m"
2848
+ }
2849
+ }
2850
+ }, un = {
2851
+ TTEST: {
2852
+ p: [
2853
+ {
2854
+ n: "array1",
2855
+ s: "number",
2856
+ r: "r"
2857
+ },
2858
+ {
2859
+ n: "array2",
2860
+ s: "number",
2861
+ r: "r"
2862
+ },
2863
+ { n: "tails" },
2864
+ { n: "type" }
2865
+ ],
2866
+ r: { s: "number" }
2867
+ },
2868
+ "T.TEST": {
2869
+ fn: "T_TEST",
2870
+ p: [
2871
+ {
2872
+ n: "array1",
2873
+ s: "number",
2874
+ r: "r"
2875
+ },
2876
+ {
2877
+ n: "array2",
2878
+ s: "number",
2879
+ r: "r"
2880
+ },
2881
+ { n: "tails" },
2882
+ { n: "type" }
2883
+ ],
2884
+ r: { s: "number" }
2885
+ }
2886
+ }, dn = {
2887
+ REGEXEXTRACT: {
2888
+ p: [
2889
+ {
2890
+ n: "text",
2891
+ s: "string"
2892
+ },
2893
+ {
2894
+ n: "pattern",
2895
+ s: "string"
2896
+ },
2897
+ {
2898
+ n: "returnMode",
2899
+ m: "?",
2900
+ v: 0
2901
+ },
2902
+ {
2903
+ n: "caseInsensitive",
2904
+ s: "boolean",
2905
+ m: "?",
2906
+ v: !1
2907
+ }
2908
+ ],
2909
+ r: { r: "r" }
2910
+ },
2911
+ REGEXMATCH: {
2912
+ p: [
2913
+ {
2914
+ n: "text",
2915
+ s: "string"
2916
+ },
2917
+ {
2918
+ n: "regularExpression",
2919
+ s: "string"
2920
+ },
2921
+ {
2922
+ n: "caseInsensitive",
2923
+ s: "boolean",
2924
+ m: "?",
2925
+ v: !1
2926
+ }
2927
+ ],
2928
+ r: { s: "*" }
2929
+ },
2930
+ REGEXREPLACE: {
2931
+ p: [
2932
+ {
2933
+ n: "text",
2934
+ s: "string"
2935
+ },
2936
+ {
2937
+ n: "pattern",
2938
+ s: "string"
2939
+ },
2940
+ {
2941
+ n: "replacement",
2942
+ s: "string"
2943
+ },
2944
+ {
2945
+ n: "occurrence",
2946
+ m: "?",
2947
+ v: 0
2948
+ },
2949
+ {
2950
+ n: "caseInsensitive",
2951
+ s: "boolean",
2952
+ m: "?",
2953
+ v: !1
2954
+ }
2955
+ ],
2956
+ r: { s: "*" }
2957
+ },
2958
+ REGEXTEST: {
2959
+ p: [
2960
+ {
2961
+ n: "text",
2962
+ s: "string"
2963
+ },
2964
+ {
2965
+ n: "pattern",
2966
+ s: "string"
2967
+ },
2968
+ {
2969
+ n: "caseInsensitive",
2970
+ s: "boolean",
2971
+ m: "?",
2972
+ v: !1
2973
+ }
2974
+ ],
2975
+ r: { s: "*" }
2976
+ }
2977
+ }, fn = () => import("./CRT-M9ZISwPJluM8.mjs"), pn = () => import("./XphbS4usCLMa2WZ2.mjs"), mn = () => import("./BSWSZ6lA8jcSqHmz.mjs"), hn = () => import("./Dtof6I8zPa8LIz89.mjs"), gn = () => import("./-9SircqlVS-6jMNw.mjs"), _n = () => import("./Ck9zOHAyQJLQF_j_.mjs"), vn = () => import("./CmXZZdy6rEOCrUnH.mjs"), yn = () => import("./DHrrLoyQ_KZ3yWWr.mjs"), bn = () => import("./BWbYcyqeI2q9zobt.mjs"), xn = () => import("./BCWg0NNa-nGjBMYM.mjs"), Sn = () => import("./BatWJFRiqJI5wALH.mjs"), Cn = () => import("./DboajdAr6s1IjcXM.mjs"), wn = () => import("./DAxAXOJZXvqvlnoT.mjs"), Tn = () => import("./BUYVOSf4JEFM5iRs.mjs"), En = (e, t, n) => (n ||= /* @__PURE__ */ new Map(), t(n, e, o, Zt, fn, "Cube"), t(n, e, oe, Qt, pn, "Financial"), t(n, e, le, $t, mn, "Financial"), t(n, e, fe, en, hn, "Financial"), t(n, e, me, tn, gn, "Financial"), t(n, e, Ke, nn, _n, "Financial"), t(n, e, tt, rn, vn, "Financial"), t(n, e, lt, an, yn, "Financial"), t(n, e, mt, on, bn, "Financial"), t(n, e, St, sn, xn, "Financial"), t(n, e, Tt, cn, Sn, "Statistical"), t(n, e, Lt, ln, Cn, "Statistical"), t(n, e, Ht, un, wn, "Statistical"), t(n, e, Kt, dn, Tn, "Text"), n);
2978
+ export { En as default };