a-calc 0.0.79 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +162 -64
- package/browser/index.js +1 -1
- package/calc.d.ts +9 -3
- package/cjs/index.cjs +1 -1
- package/es/index.mjs +1 -1
- package/package.json +73 -73
- package/browser/index.html +0 -149
- package/example/index.html +0 -23
- package/example/index.js +0 -8
package/README.md
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
# a-calc
|
|
2
|
-
来源于实际业务的字符串四则运算的库,
|
|
2
|
+
来源于实际业务的字符串四则运算的库, 可解决以下问题(注意1.0.2有破坏性更新!):
|
|
3
3
|
|
|
4
4
|
* js数字计算精度问题
|
|
5
5
|
* 数字计算可能输出科学计数法
|
|
6
|
-
* 数字格式化,
|
|
6
|
+
* 数字格式化, 数字千分位输出, 数字直接格式化成百分比, 保留数字的正负号, 直接输出分数等
|
|
7
7
|
* 带单位的数字计算或格式化, 例如: `0.1% + 2% `
|
|
8
8
|
* 科学计数法写法的计算, 例如:`-2e3 + 6`
|
|
9
|
+
* 支持四种舍入规则:去尾、进一、四舍五入、四舍六入(一种更精准的方法)
|
|
9
10
|
|
|
10
|
-
> 支持的运算符 : + - * / %
|
|
11
|
+
> 支持的运算符 : + - * / % **
|
|
11
12
|
|
|
12
13
|
## 安装
|
|
13
14
|
|
|
@@ -54,6 +55,14 @@ calc("0.1 + 0.2 * 0.3 / 0.4 * (0.5 + 0.6)") // 0.265
|
|
|
54
55
|
calc("-2e2 + 3e+2") // 100
|
|
55
56
|
```
|
|
56
57
|
|
|
58
|
+
## 关于空格
|
|
59
|
+
|
|
60
|
+
空格在无歧义的情况下是非必须的,甚至可以正确解析下面人眼都难以解析的写法`calc("-2e+2+3e+2")`,但是没有人应该这样编写计算式来考验`a-calc`解析能力,<span style="color: red;">请记住始终在你的计算式包含空格,这样也更漂亮和清晰,就像我写的示例那样!!!</span>
|
|
61
|
+
|
|
62
|
+
顺便举个有歧义的计算式 `calc("50%%2", {_unit: true})`这种歧义显然是在带单位计算的时候出现,由于解析器不知道你的单位是`%` 还是 `%%` 所以你要用空格给出明确的意思,正确的写法应该是 `calc("50% % 2", {_unit: true})`
|
|
63
|
+
|
|
64
|
+
总之始终加空格!
|
|
65
|
+
|
|
57
66
|
## 填充变量并计算(重要)
|
|
58
67
|
|
|
59
68
|
**计算后的值为精准值且不会出现科学计数法**
|
|
@@ -91,8 +100,12 @@ calc("1 + 2%", {_unit: true}) // 3%
|
|
|
91
100
|
calc("1.123$$$ + 2.88% | + =6", {_unit: true}) // +4.003000$$$
|
|
92
101
|
```
|
|
93
102
|
|
|
103
|
+
在 `1.0.2` 之后带单位的计算可以有更多的参数,`_unit` 的取值可以为`boolean | "on" | "off" | "auto" | "space"` 参数看起来很多其实和之前的用法差不多, `true "on" "auto"` 这三个值的效果是一样的,表示自动识别数字后的单位,`false "off"` 表示关闭单位计算,最大的不同是 `"space"` 这个值表示只将空格作为单位分隔符,例如你的单位恰好是 `+-` 这种情况在普通模式下会被识别成运算符,就可以使用 `"space"` 模式,但是此时的空格就是必须的了,你要这样写:`calc("2+- * 3")` 最终结果为:`6+-`
|
|
104
|
+
|
|
94
105
|
## 计算并格式化
|
|
95
106
|
|
|
107
|
+
格式化支持如下功能:限制小数位数,保留正负号,百分比输出,科学计数法输出,千分位输出,并且他们是可以组合的,不过有个别的情况组合是不生效的,这个自己去试一下,组合情况太多,不在一一列举。
|
|
108
|
+
|
|
96
109
|
```js
|
|
97
110
|
// 操作小数位数
|
|
98
111
|
calc("0.1 + 0.2 | =2") // 0.30
|
|
@@ -109,10 +122,33 @@ calc("1 + 1 | +") // +2
|
|
|
109
122
|
// 千分位
|
|
110
123
|
calc("10000000 + 100000000 | ,") // 110,000,000
|
|
111
124
|
|
|
125
|
+
// 百分比
|
|
126
|
+
calc("1 + 1 | %") // 200%
|
|
127
|
+
|
|
128
|
+
// 科学计数法, 注意这里由于是普通字符串所以要用\\e,这个 e也可以大写
|
|
129
|
+
calc("1 + 1 | \\e") // 2e+0
|
|
130
|
+
|
|
112
131
|
// 同时指定小数位和千分位且保留正负号
|
|
113
132
|
calc("10000000 + 100000000 | +,=10") // +110,000,000.0000000000
|
|
114
133
|
```
|
|
115
134
|
|
|
135
|
+
## 四种舍入规则
|
|
136
|
+
|
|
137
|
+
舍入规则通过在格式化字符串的部分加入,他们的符号分别为:
|
|
138
|
+
|
|
139
|
+
- `~-` 去尾,默认的舍入规则
|
|
140
|
+
- `~+` 进一
|
|
141
|
+
- `~5` 四舍五入
|
|
142
|
+
- `~6` 四舍六入,该舍入规则相较四舍五入更为精准,规则在舍入的后一位为5的时候有所不同,他会查看5后面的位置,如果后面的数字不为0那么会进一,如果后面的数字为0 ,那么会看5前面的数字是否为偶数,如果是则不进,不是则进
|
|
143
|
+
|
|
144
|
+
```js
|
|
145
|
+
calc("0.11 + 0.22 | =1 ~+") // 0.4 保留一位并进一
|
|
146
|
+
calc("0.55 | =1 ~5") // 0.6
|
|
147
|
+
calc("0.65 | =1 ~6") // 0.6
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
这个新加入的舍入规则似乎会让格式化的部分更加的长,但是实际情况不是这样,一般一个项目的舍入规则是固定的,所以舍入规则部分的格式化应该被封装在默认的格式化参数中,在实际使用的时候完全不需要书写这部分内容,参考下面的`默认格式化` 说明
|
|
151
|
+
|
|
116
152
|
## 只格式化
|
|
117
153
|
|
|
118
154
|
```js
|
|
@@ -133,7 +169,7 @@ fmt("1000000 | ,") // 1,000,000
|
|
|
133
169
|
|
|
134
170
|
```js
|
|
135
171
|
calc("1 + 2sd + d",{
|
|
136
|
-
|
|
172
|
+
_fill_data: {d: 3}, // 从这里数据源对象要赋给 _fill_data, 该对象也可以是一个对象数组,此时取数据的时候是依次从数组的项里查找,找到第一个立刻停止
|
|
137
173
|
_error: "-", // 计算式出错的时候返回 - 作为替代值
|
|
138
174
|
})
|
|
139
175
|
|
|
@@ -152,75 +188,137 @@ calc("1 + 2sd + d", {
|
|
|
152
188
|
calc("111111 + 11111 | ,",{_fmt: "=2"}) // 122,222.00 很显然 , 和 =2 被组合起来了,且表达式中的格式化字符串优先级更高
|
|
153
189
|
```
|
|
154
190
|
|
|
155
|
-
## 在项目中的使用姿势(
|
|
191
|
+
## 在项目中的使用姿势(vue3为例)
|
|
156
192
|
|
|
157
193
|
> 在项目中编写庞大的第二个参数是不好的, 所以第二个参数你应该想办法固定他, 下面只是一个在VUE项目中的演示
|
|
158
194
|
|
|
159
|
-
|
|
160
|
-
import { calc, fmt } from "a-calc";
|
|
195
|
+
### 集成到vue3模板
|
|
161
196
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
197
|
+
```typescript
|
|
198
|
+
import { calc, fmt } from "a-calc";
|
|
199
|
+
import type { App } from "vue";
|
|
200
|
+
import { getCurrentInstance } from "vue";
|
|
201
|
+
|
|
202
|
+
function bind_calc ( app: App<Element> )
|
|
203
|
+
{
|
|
204
|
+
// 接受一个app的实例绑定计算器
|
|
205
|
+
|
|
206
|
+
app.config.globalProperties.calc = function ( expr: string, obj: any )
|
|
207
|
+
{
|
|
208
|
+
const instance: any = getCurrentInstance();
|
|
209
|
+
const data_arr = [ instance.setupState, instance.data ];
|
|
210
|
+
let _fmt, _error, _unit;
|
|
211
|
+
|
|
212
|
+
if ( obj !== undefined ) {
|
|
213
|
+
dataArr.unshift( obj );
|
|
214
|
+
_fmt = obj._fmt === undefined ? undefined : obj._fmt;
|
|
215
|
+
_error = obj._error === undefined ? undefined : obj._error;
|
|
216
|
+
_unit = obj._unit === undefined ? undefined : obj._unit;
|
|
217
|
+
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
return calc( expr, {
|
|
221
|
+
_fill_data: data_arr,
|
|
222
|
+
_error: _error === undefined ? "-" : _error,
|
|
223
|
+
_fmt, // 格式化参数在没有字符串格式化的时候才有用
|
|
224
|
+
_unit
|
|
225
|
+
} );
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
app.config.globalProperties.fmt = function ( expr: string, obj: any )
|
|
229
|
+
{
|
|
230
|
+
// 专门格式化的
|
|
231
|
+
const instance: any = getCurrentInstance();
|
|
232
|
+
const dataArr = [ instance.setupState, instance.data ];
|
|
233
|
+
let _fmt, _error, _unit;
|
|
234
|
+
|
|
235
|
+
if ( obj !== undefined ) {
|
|
236
|
+
dataArr.unshift( obj );
|
|
237
|
+
_fmt = obj._fmt === undefined ? undefined : obj._fmt;
|
|
238
|
+
_error = obj._error === undefined ? undefined : obj._error;
|
|
239
|
+
_unit = obj._unit === undefined ? undefined : obj._unit;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
return fmt( expr,
|
|
191
243
|
{
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
244
|
+
_fill_data: data_arr,
|
|
245
|
+
_error: _error === undefined ? "-" : _error,
|
|
246
|
+
_fmt,
|
|
247
|
+
_unit
|
|
248
|
+
} );
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### 集成到script setup中
|
|
255
|
+
|
|
256
|
+
```typescript
|
|
257
|
+
interface CalcConfig
|
|
258
|
+
{
|
|
259
|
+
_fmt?: string;
|
|
260
|
+
_error: string;
|
|
261
|
+
_unit?: boolean;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
function use_calc ( state: ReactiveVariable<any>, config: CalcConfig = { _error: "-" } )
|
|
265
|
+
{
|
|
266
|
+
const data_arr = [ state ];
|
|
267
|
+
|
|
268
|
+
const _fmt = config._fmt === undefined ? undefined : config._fmt;
|
|
269
|
+
const _error = config._error === undefined ? undefined : config._error;
|
|
270
|
+
const _unit = config._unit === undefined ? undefined : config._unit;
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
return function ( expr: string, data = {} )
|
|
274
|
+
{
|
|
275
|
+
data_arr.unshift( data );
|
|
276
|
+
return calc( expr, {
|
|
277
|
+
_fill_data: data_arr,
|
|
278
|
+
_error: _error === undefined ? "-" : _error,
|
|
279
|
+
_fmt, // 格式化参数在没有字符串格式化的时候才有用
|
|
280
|
+
_unit
|
|
281
|
+
} );
|
|
282
|
+
};
|
|
283
|
+
}
|
|
220
284
|
```
|
|
221
285
|
|
|
286
|
+
下面是使用示例
|
|
287
|
+
|
|
288
|
+
```vue
|
|
289
|
+
<script lang="ts" setup>
|
|
290
|
+
const state = reactive({
|
|
291
|
+
a: 1,
|
|
292
|
+
b: 2,
|
|
293
|
+
c: 3
|
|
294
|
+
})
|
|
295
|
+
|
|
296
|
+
const calc = use_calc(state)
|
|
297
|
+
|
|
298
|
+
calc("a + b * c")
|
|
299
|
+
</script>
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
222
304
|
## 版本变更
|
|
223
305
|
|
|
306
|
+
* 1.0.2
|
|
307
|
+
* 破坏性变更:所有暴露出的小驼峰命名全部改成了蛇形命名法例如原来的`_fillData` 现在变成了 `_fill_data`,原因是蛇形命名法更清晰。
|
|
308
|
+
* 内部代码极大的简化,解析器几乎完全重写,带来更稳定的体验
|
|
309
|
+
* 原先的设计就是calc函数具备所有fmt的功能,可是1.0.2 之前的版本虽然符合这个设计可是calc和fmt是分别实现的,现在fmt只是calc的别名。
|
|
310
|
+
* 支持新的运算符 **
|
|
311
|
+
* 支持新的格式化字符 % 可以将数字输出成百分比
|
|
312
|
+
* 支持新的格式化字符 `\e`,可以将数字格式化成科学计数法
|
|
313
|
+
* 修复格式化字符串非法的时候可能造成死循环的问题
|
|
314
|
+
* 解决1/0是 Infinity 的问题
|
|
315
|
+
* 增加若干单元测试
|
|
316
|
+
* 更详细的类型提示
|
|
317
|
+
* 更新文档,添加vue3集成的示例代码
|
|
318
|
+
* 0.0.80
|
|
319
|
+
* 带来4种舍入规则,分别为:去尾、进一、四舍五入、四舍六入
|
|
320
|
+
* 更多边界情况的检测
|
|
321
|
+
* fmt允许不传入格式化字符串,这个特性允许你使用 fmt 来清除小数点后多余的0
|
|
224
322
|
* 0.0.79
|
|
225
323
|
* 更新文档
|
|
226
324
|
* 0.0.78
|
package/browser/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var a_calc=function(e){"use strict";function F(e){return(F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function O(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function E(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function A(e,t,r){return t&&E(e.prototype,t),r&&E(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function N(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&i(e,t)}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function i(e,t){return(i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function S(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function j(e,t,r){return(j=S()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);t=new(Function.bind.apply(e,n));return r&&i(t,r.prototype),t}).apply(null,arguments)}function t(e){var r="function"==typeof Map?new Map:void 0;return(t=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return j(e,arguments,o(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),i(t,e)})(e)}function x(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");t=e;if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function P(r){var n=S();return function(){var e,t=o(r);return x(this,n?(e=o(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments))}}function v(e){return function(e){if(Array.isArray(e))return k(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?k(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var R=/^[+-]?\d[\d.]*(?:e\+|E\+|e-|E-|e|E)?\d*$/,T=/^[+-]?\d[\d.]*(?:e\+|E\+|e-|E-|e|E)?\d*\D*$/,D=/^[a-zA-z_][\w\[\]"'_.]*$/;function B(e){return-1<"+-*/%()".indexOf(e)}function $(e){switch(e){case"+":case"-":return 1;case"*":case"/":case"%":return 2;default:return 0}}function g(e){return void 0!==e}function C(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.some(function(e){return void 0!==e})}function d(e){return null!==e}function h(e){return"string"==typeof e&&!!R.test(e)}function J(e){for(var t,r,n=null,o=null,i=[/^([+-]?[\d.]+(?:e|E)(?:\+|-)?\d+)(\D*)$/,/^([+-]?[\d.]+)(\D*)$/],u=0;u<i.length;u++){var l=e.match(i[u]);if(l){t=l;break}}return t&&(o=t[1],""!==(r=t[2]).trim()&&(n=r)),{num:o,unit:n}}var y=function(){N(n,t(Error));var r=P(n);function n(e){var t;return O(this,n),(t=r.call(this,e)).name="CalculatorError",t.message=e,t}return A(n)}(),w=function(){N(n,t(Error));var r=P(n);function n(e){var t;return O(this,n),(t=r.call(this,e)).name="TokensFillError",t.message=e,t}return A(n)}(),K=function(){N(n,t(Error));var r=P(n);function n(e){var t;return O(this,n),(t=r.call(this,e)).name="ArgError",t.message=e,t}return A(n)}();function Q(e){for(var t,r=0,n=e.length,o=[];r<n;)if(t=e[r],/\s/.test(t))r++;else if("+"===t)o.push({type:"plus",value:t}),r++;else if(","===t)o.push({type:"comma",value:t}),r++;else if("<>=".includes(t)){var i,u=t;n<=++r?o.push({type:"symbol",value:u}):(i=e[r],"<>=".includes(i)?(u+=i,o.push({type:"symbol",value:u}),r++):o.push({type:"symbol",value:t}))}else if(/[a-zA-Z_]/.test(t)){for(var l="";/[\w_.\[\]"']/.test(t)&&(l+=t,!(n<=++r));)t=e[r];o.push({type:"var",value:l})}else if(/\d/.test(t)){for(var a="";/[\d.]/.test(t)&&(a+=t,!(n<=++r));)t=e[r];o.push({type:"number",value:a})}return o}function ee(e){var t={expr:"",fmt:null,data:null},r="",n=e[0];if(1===e.length)if("string"==typeof n)r=n;else{if("number"!=typeof n)throw new K("错误的参数类型: ".concat(n," 类型为:").concat(F(n)));r=n.toString()}else{if(2!=e.length)throw new K("过多的参数, 该函数最多接受两个参数!");n=e[1];if(i=n,("[object Object]"!==Object.prototype.toString.call(i)||Array.isArray(i))&&!Array.isArray(n))throw new Error("参数错误, 暂不支持的参数");if("string"==typeof(r=e[0])){if(""===r.trim())throw new w("参数不可为空字符串")}else if("number"==typeof r)r=r.toString();else if(void 0===r||Number.isNaN(r))throw new w("非法参数:".concat(r));t.data=n}var o,i=r.split("|");return 1===i.length?t.expr=i[0]:(t.expr=i[0],""!==(e=i[1]).trim()&&(n=Q(e),t.fmt=n)),null!==t.data&&t.data._fmt&&(r=Q(t.data._fmt),null===t.fmt?t.fmt=r:(o=t.fmt.map(function(e){return e.type}),r.forEach(function(e){o.includes(e.type)||t.fmt.push(e)}))),t}var te=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,re=Math.ceil,I=Math.floor,U="[BigNumber Error] ",ne=U+"Number primitive has more than 15 significant digits: ",L=1e14,M=14,oe=9007199254740991,ie=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],z=1e7,G=1e9;function q(e){var t=0|e;return 0<e||e===t?t:t-1}function H(e){for(var t,r,n=1,o=e.length,i=e[0]+"";n<o;){for(t=e[n++]+"",r=M-t.length;r--;t="0"+t);i+=t}for(o=i.length;48===i.charCodeAt(--o););return i.slice(0,o+1||1)}function V(e,t){var r,n,o=e.c,i=t.c,u=e.s,l=t.s,e=e.e,t=t.e;if(!u||!l)return null;if(r=o&&!o[0],n=i&&!i[0],r||n)return r?n?0:-l:u;if(u!=l)return u;if(r=u<0,n=e==t,!o||!i)return n?0:!o^r?1:-1;if(!n)return t<e^r?1:-1;for(l=(e=o.length)<(t=i.length)?e:t,u=0;u<l;u++)if(o[u]!=i[u])return o[u]>i[u]^r?1:-1;return e==t?0:t<e^r?1:-1}function W(e,t,r,n){if(e<t||r<e||e!==I(e))throw Error(U+(n||"Argument")+("number"==typeof e?e<t||r<e?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function Z(e){var t=e.c.length-1;return q(e.e/M)==t&&e.c[t]%2!=0}function X(e,t){return(1<e.length?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function Y(e,t,r){var n,o;if(t<0){for(o=r+".";++t;o+=r);e=o+e}else if(++t>(n=e.length)){for(o=r,t-=n;--t;o+=r);e+=o}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}var c=function C(e){var d,f,h,t,s,y,u,l,a,c,p,r=x.prototype={constructor:x,toString:null,valueOf:null},v=new x(1),w=20,m=4,g=-7,b=21,_=-1e7,O=1e7,E=!1,o=1,A=0,N={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},S="0123456789abcdefghijklmnopqrstuvwxyz",j=!0;function x(e,t){var r,n,o,i,u,l,a,s,c=this;if(!(c instanceof x))return new x(e,t);if(null==t){if(e&&!0===e._isBigNumber)return c.s=e.s,void(!e.c||e.e>O?c.c=c.e=null:e.e<_?c.c=[c.e=0]:(c.e=e.e,c.c=e.c.slice()));if((l="number"==typeof e)&&0*e==0){if(c.s=1/e<0?(e=-e,-1):1,e===~~e){for(i=0,u=e;10<=u;u/=10,i++);return void(O<i?c.c=c.e=null:(c.e=i,c.c=[e]))}s=String(e)}else{if(!te.test(s=String(e)))return h(c,s,l);c.s=45==s.charCodeAt(0)?(s=s.slice(1),-1):1}0<(u=(s=-1<(i=s.indexOf("."))?s.replace(".",""):s).search(/e/i))?(i<0&&(i=u),i+=+s.slice(u+1),s=s.substring(0,u)):i<0&&(i=s.length)}else{if(W(t,2,S.length,"Base"),10==t&&j)return B(c=new x(e),w+c.e+1,m);if(s=String(e),l="number"==typeof e){if(0*e!=0)return h(c,s,l,t);if(c.s=1/e<0?(s=s.slice(1),-1):1,x.DEBUG&&15<s.replace(/^0\.0*|\./,"").length)throw Error(ne+e)}else c.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1;for(r=S.slice(0,t),i=u=0,a=s.length;u<a;u++)if(r.indexOf(n=s.charAt(u))<0){if("."==n){if(i<u){i=a;continue}}else if(!o&&(s==s.toUpperCase()&&(s=s.toLowerCase())||s==s.toLowerCase()&&(s=s.toUpperCase()))){o=!0,u=-1,i=0;continue}return h(c,String(e),l,t)}l=!1,-1<(i=(s=f(s,t,10,c.s)).indexOf("."))?s=s.replace(".",""):i=s.length}for(u=0;48===s.charCodeAt(u);u++);for(a=s.length;48===s.charCodeAt(--a););if(s=s.slice(u,++a)){if(a-=u,l&&x.DEBUG&&15<a&&(oe<e||e!==I(e)))throw Error(ne+c.s*e);if((i=i-u-1)>O)c.c=c.e=null;else if(i<_)c.c=[c.e=0];else{if(c.e=i,c.c=[],u=(i+1)%M,i<0&&(u+=M),u<a){for(u&&c.c.push(+s.slice(0,u)),a-=M;u<a;)c.c.push(+s.slice(u,u+=M));u=M-(s=s.slice(u)).length}else u-=a;for(;u--;s+="0");c.c.push(+s)}}else c.c=[c.e=0]}function P(e,t,r,n){for(var o,i,u=[0],l=0,a=e.length;l<a;){for(i=u.length;i--;u[i]*=t);for(u[0]+=n.indexOf(e.charAt(l++)),o=0;o<u.length;o++)u[o]>r-1&&(null==u[o+1]&&(u[o+1]=0),u[o+1]+=u[o]/r|0,u[o]%=r)}return u.reverse()}function k(e,t,r){var n,o,i,u=0,l=e.length,a=t%z,s=t/z|0;for(e=e.slice();l--;)u=((o=a*(i=e[l]%z)+(n=s*i+(i=e[l]/z|0)*a)%z*z+u)/r|0)+(n/z|0)+s*i,e[l]=o%r;return e=u?[u].concat(e):e}function R(e,t,r,n){var o,i;if(r!=n)i=n<r?1:-1;else for(o=i=0;o<r;o++)if(e[o]!=t[o]){i=e[o]>t[o]?1:-1;break}return i}function T(e,t,r,n){for(var o=0;r--;)e[r]-=o,o=e[r]<t[r]?1:0,e[r]=o*n+e[r]-t[r];for(;!e[0]&&1<e.length;e.splice(0,1));}function n(e,t,r,n){var o,i,u,l;if(null==r?r=m:W(r,0,8),!e.c)return e.toString();if(o=e.c[0],i=e.e,null==t)l=H(e.c),l=1==n||2==n&&(i<=g||b<=i)?X(l,i):Y(l,i,"0");else if(r=(e=B(new x(e),t,r)).e,u=(l=H(e.c)).length,1==n||2==n&&(t<=r||r<=g)){for(;u<t;l+="0",u++);l=X(l,r)}else if(t-=i,l=Y(l,r,"0"),u<r+1){if(0<--t)for(l+=".";t--;l+="0");}else if(0<(t+=r-u))for(r+1==u&&(l+=".");t--;l+="0");return e.s<0&&o?"-"+l:l}function i(e,t){for(var r,n=1,o=new x(e[0]);n<e.length;n++){if(!(r=new x(e[n])).s){o=r;break}t.call(o,r)&&(o=r)}return o}function D(e,t,r){for(var n=1,o=t.length;!t[--o];t.pop());for(o=t[0];10<=o;o/=10,n++);return(r=n+r*M-1)>O?e.c=e.e=null:r<_?e.c=[e.e=0]:(e.e=r,e.c=t),e}function B(e,t,r,n){var o,i,u,l,a,s,c,f=e.c,h=ie;if(f){e:{for(o=1,l=f[0];10<=l;l/=10,o++);if((i=t-o)<0)i+=M,u=t,c=(a=f[s=0])/h[o-u-1]%10|0;else if((s=re((i+1)/M))>=f.length){if(!n)break e;for(;f.length<=s;f.push(0));a=c=0,u=(i%=M)-M+(o=1)}else{for(a=l=f[s],o=1;10<=l;l/=10,o++);c=(u=(i%=M)-M+o)<0?0:a/h[o-u-1]%10|0}if(n=n||t<0||null!=f[s+1]||(u<0?a:a%h[o-u-1]),n=r<4?(c||n)&&(0==r||r==(e.s<0?3:2)):5<c||5==c&&(4==r||n||6==r&&(0<i?0<u?a/h[o-u]:0:f[s-1])%10&1||r==(e.s<0?8:7)),t<1||!f[0])return f.length=0,n?(t-=e.e+1,f[0]=h[(M-t%M)%M],e.e=-t||0):f[0]=e.e=0,e;if(0==i?(f.length=s,l=1,s--):(f.length=s+1,l=h[M-i],f[s]=0<u?I(a/h[o-u]%h[u])*l:0),n)for(;;){if(0==s){for(i=1,u=f[0];10<=u;u/=10,i++);for(u=f[0]+=l,l=1;10<=u;u/=10,l++);i!=l&&(e.e++,f[0]==L&&(f[0]=1));break}if(f[s]+=l,f[s]!=L)break;f[s--]=0,l=1}for(i=f.length;0===f[--i];f.pop());}e.e>O?e.c=e.e=null:e.e<_&&(e.c=[e.e=0])}return e}function $(e){var t,r=e.e;return null===r?e.toString():(t=H(e.c),t=r<=g||b<=r?X(t,r):Y(t,r,"0"),e.s<0?"-"+t:t)}return x.clone=C,x.ROUND_UP=0,x.ROUND_DOWN=1,x.ROUND_CEIL=2,x.ROUND_FLOOR=3,x.ROUND_HALF_UP=4,x.ROUND_HALF_DOWN=5,x.ROUND_HALF_EVEN=6,x.ROUND_HALF_CEIL=7,x.ROUND_HALF_FLOOR=8,x.EUCLID=9,x.config=x.set=function(e){var t,r;if(null!=e){if("object"!=F(e))throw Error(U+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(W(r=e[t],0,G,t),w=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(W(r=e[t],0,8,t),m=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(W(r[0],-G,0,t),W(r[1],0,G,t),g=r[0],b=r[1]):(W(r,-G,G,t),g=-(b=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)W(r[0],-G,-1,t),W(r[1],1,G,t),_=r[0],O=r[1];else{if(W(r,-G,G,t),!r)throw Error(U+t+" cannot be zero: "+r);_=-(O=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(U+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw E=!r,Error(U+"crypto unavailable");E=r}else E=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(W(r=e[t],0,9,t),o=r),e.hasOwnProperty(t="POW_PRECISION")&&(W(r=e[t],0,G,t),A=r),e.hasOwnProperty(t="FORMAT")){if("object"!=F(r=e[t]))throw Error(U+t+" not an object: "+r);N=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(U+t+" invalid: "+r);j="0123456789"==r.slice(0,10),S=r}}return{DECIMAL_PLACES:w,ROUNDING_MODE:m,EXPONENTIAL_AT:[g,b],RANGE:[_,O],CRYPTO:E,MODULO_MODE:o,POW_PRECISION:A,FORMAT:N,ALPHABET:S}},x.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!x.DEBUG)return!0;var t,r,n=e.c,o=e.e,i=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===i||-1===i)&&-G<=o&&o<=G&&o===I(o))if(0===n[0]){if(0===o&&1===n.length)return!0}else if((t=(o+1)%M)<1&&(t+=M),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||L<=r||r!==I(r))break e;if(0!==r)return!0}}else if(null===n&&null===o&&(null===i||1===i||-1===i))return!0;throw Error(U+"Invalid BigNumber: "+e)},x.maximum=x.max=function(){return i(arguments,r.lt)},x.minimum=x.min=function(){return i(arguments,r.gt)},x.random=(t=9007199254740992,s=Math.random()*t&2097151?function(){return I(Math.random()*t)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,o,i,u=0,l=[],a=new x(v);if(null==e?e=w:W(e,0,G),o=re(e/M),E)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(o*=2));u<o;)9e15<=(i=131072*t[u]+(t[u+1]>>>11))?(r=crypto.getRandomValues(new Uint32Array(2)),t[u]=r[0],t[u+1]=r[1]):(l.push(i%1e14),u+=2);u=o/2}else{if(!crypto.randomBytes)throw E=!1,Error(U+"crypto unavailable");for(t=crypto.randomBytes(o*=7);u<o;)9e15<=(i=281474976710656*(31&t[u])+1099511627776*t[u+1]+4294967296*t[u+2]+16777216*t[u+3]+(t[u+4]<<16)+(t[u+5]<<8)+t[u+6])?crypto.randomBytes(7).copy(t,u):(l.push(i%1e14),u+=7);u=o/7}if(!E)for(;u<o;)(i=s())<9e15&&(l[u++]=i%1e14);for(o=l[--u],e%=M,o&&e&&(l[u]=I(o/(i=ie[M-e]))*i);0===l[u];l.pop(),u--);if(u<0)l=[n=0];else{for(n=-1;0===l[0];l.splice(0,1),n-=M);for(u=1,i=l[0];10<=i;i/=10,u++);u<M&&(n-=M-u)}return a.e=n,a.c=l,a}),x.sum=function(){for(var e=1,t=arguments,r=new x(t[0]);e<t.length;)r=r.plus(t[e++]);return r},y="0123456789",f=function(e,t,r,n,o){var i,u,l,a,s,c,f,h,p=e.indexOf("."),v=w,g=m;for(0<=p&&(a=A,A=0,e=e.replace(".",""),c=(h=new x(t)).pow(e.length-p),A=a,h.c=P(Y(H(c.c),c.e,"0"),10,r,y),h.e=h.c.length),l=a=(f=P(e,t,r,o?(i=S,y):(i=y,S))).length;0==f[--a];f.pop());if(!f[0])return i.charAt(0);if(p<0?--l:(c.c=f,c.e=l,c.s=n,f=(c=d(c,h,v,g,r)).c,s=c.r,l=c.e),p=f[u=l+v+1],a=r/2,s=s||u<0||null!=f[u+1],s=g<4?(null!=p||s)&&(0==g||g==(c.s<0?3:2)):a<p||p==a&&(4==g||s||6==g&&1&f[u-1]||g==(c.s<0?8:7)),u<1||!f[0])e=s?Y(i.charAt(1),-v,i.charAt(0)):i.charAt(0);else{if(f.length=u,s)for(--r;++f[--u]>r;)f[u]=0,u||(++l,f=[1].concat(f));for(a=f.length;!f[--a];);for(p=0,e="";p<=a;e+=i.charAt(f[p++]));e=Y(e,l,i.charAt(0))}return e},d=function(e,t,r,n,o){var i,u,l,a,s,c,f,h,p,v,g,d,y,w,m,b,_,O=e.s==t.s?1:-1,E=e.c,A=t.c;if(!(E&&E[0]&&A&&A[0]))return new x(e.s&&t.s&&(E?!A||E[0]!=A[0]:A)?E&&0==E[0]||!A?0*O:O/0:NaN);for(p=(h=new x(O)).c=[],O=r+(u=e.e-t.e)+1,o||(o=L,u=q(e.e/M)-q(t.e/M),O=O/M|0),l=0;A[l]==(E[l]||0);l++);if(A[l]>(E[l]||0)&&u--,O<0)p.push(1),a=!0;else{for(w=E.length,b=A.length,O+=2,1<(s=I(o/(A[l=0]+1)))&&(A=k(A,s,o),E=k(E,s,o),b=A.length,w=E.length),y=b,g=(v=E.slice(0,b)).length;g<b;v[g++]=0);_=A.slice(),_=[0].concat(_),m=A[0],A[1]>=o/2&&m++;do{if(s=0,(i=R(A,v,b,g))<0){if(d=v[0],b!=g&&(d=d*o+(v[1]||0)),1<(s=I(d/m)))for(f=(c=k(A,s=o<=s?o-1:s,o)).length,g=v.length;1==R(c,v,f,g);)s--,T(c,b<f?_:A,f,o),f=c.length,i=1;else 0==s&&(i=s=1),f=(c=A.slice()).length;if(T(v,c=f<g?[0].concat(c):c,g,o),g=v.length,-1==i)for(;R(A,v,b,g)<1;)s++,T(v,b<g?_:A,g,o),g=v.length}else 0===i&&(s++,v=[0])}while(p[l++]=s,v[0]?v[g++]=E[y]||0:(v=[E[y]],g=1),(y++<w||null!=v[0])&&O--);a=null!=v[0],p[0]||p.splice(0,1)}if(o==L){for(l=1,O=p[0];10<=O;O/=10,l++);B(h,r+(h.e=l+u*M-1)+1,n,a)}else h.e=u,h.r=+a;return h},u=/^(-?)0([xbo])(?=\w[\w.]*$)/i,l=/^([^.]+)\.$/,a=/^\.([^.]+)$/,c=/^-?(Infinity|NaN)$/,p=/^\s*\+(?=[\w.])|^\s+|\s+$/g,h=function(e,t,r,n){var o,i=r?t:t.replace(p,"");if(c.test(i))e.s=isNaN(i)?null:i<0?-1:1;else{if(!r&&(i=i.replace(u,function(e,t,r){return o="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=o?e:t}),n&&(o=n,i=i.replace(l,"$1").replace(a,"0.$1")),t!=i))return new x(i,o);if(x.DEBUG)throw Error(U+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},r.absoluteValue=r.abs=function(){var e=new x(this);return e.s<0&&(e.s=1),e},r.comparedTo=function(e,t){return V(this,new x(e,t))},r.decimalPlaces=r.dp=function(e,t){var r,n;if(null!=e)return W(e,0,G),null==t?t=m:W(t,0,8),B(new x(this),e+this.e+1,t);if(!(e=this.c))return null;if(r=((n=e.length-1)-q(this.e/M))*M,n=e[n])for(;n%10==0;n/=10,r--);return r=r<0?0:r},r.dividedBy=r.div=function(e,t){return d(this,new x(e,t),w,m)},r.dividedToIntegerBy=r.idiv=function(e,t){return d(this,new x(e,t),0,1)},r.exponentiatedBy=r.pow=function(e,t){var r,n,o,i,u,l,a,s,c=this;if((e=new x(e)).c&&!e.isInteger())throw Error(U+"Exponent not an integer: "+$(e));if(null!=t&&(t=new x(t)),u=14<e.e,!c.c||!c.c[0]||1==c.c[0]&&!c.e&&1==c.c.length||!e.c||!e.c[0])return s=new x(Math.pow(+$(c),u?2-Z(e):+$(e))),t?s.mod(t):s;if(l=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new x(NaN);(n=!l&&c.isInteger()&&t.isInteger())&&(c=c.mod(t))}else{if(9<e.e&&(0<c.e||c.e<-1||(0==c.e?1<c.c[0]||u&&24e7<=c.c[1]:c.c[0]<8e13||u&&c.c[0]<=9999975e7)))return i=c.s<0&&Z(e)?-0:0,-1<c.e&&(i=1/i),new x(l?1/i:i);A&&(i=re(A/M+2))}for(a=u?(r=new x(.5),l&&(e.s=1),Z(e)):(o=Math.abs(+$(e)))%2,s=new x(v);;){if(a){if(!(s=s.times(c)).c)break;i?s.c.length>i&&(s.c.length=i):n&&(s=s.mod(t))}if(o){if(0===(o=I(o/2)))break;a=o%2}else if(B(e=e.times(r),e.e+1,1),14<e.e)a=Z(e);else{if(0==(o=+$(e)))break;a=o%2}c=c.times(c),i?c.c&&c.c.length>i&&(c.c.length=i):n&&(c=c.mod(t))}return n?s:(l&&(s=v.div(s)),t?s.mod(t):i?B(s,A,m,void 0):s)},r.integerValue=function(e){var t=new x(this);return null==e?e=m:W(e,0,8),B(t,t.e+1,e)},r.isEqualTo=r.eq=function(e,t){return 0===V(this,new x(e,t))},r.isFinite=function(){return!!this.c},r.isGreaterThan=r.gt=function(e,t){return 0<V(this,new x(e,t))},r.isGreaterThanOrEqualTo=r.gte=function(e,t){return 1===(t=V(this,new x(e,t)))||0===t},r.isInteger=function(){return!!this.c&&q(this.e/M)>this.c.length-2},r.isLessThan=r.lt=function(e,t){return V(this,new x(e,t))<0},r.isLessThanOrEqualTo=r.lte=function(e,t){return-1===(t=V(this,new x(e,t)))||0===t},r.isNaN=function(){return!this.s},r.isNegative=function(){return this.s<0},r.isPositive=function(){return 0<this.s},r.isZero=function(){return!!this.c&&0==this.c[0]},r.minus=function(e,t){var r,n,o,i,u=this,l=u.s;if(t=(e=new x(e,t)).s,!l||!t)return new x(NaN);if(l!=t)return e.s=-t,u.plus(e);var a=u.e/M,s=e.e/M,c=u.c,f=e.c;if(!a||!s){if(!c||!f)return c?(e.s=-t,e):new x(f?u:NaN);if(!c[0]||!f[0])return f[0]?(e.s=-t,e):new x(c[0]?u:3==m?-0:0)}if(a=q(a),s=q(s),c=c.slice(),l=a-s){for((o=(i=l<0)?(l=-l,c):(s=a,f)).reverse(),t=l;t--;o.push(0));o.reverse()}else for(n=(i=(l=c.length)<(t=f.length))?l:t,l=t=0;t<n;t++)if(c[t]!=f[t]){i=c[t]<f[t];break}if(i&&(o=c,c=f,f=o,e.s=-e.s),0<(t=(n=f.length)-(r=c.length)))for(;t--;c[r++]=0);for(t=L-1;l<n;){if(c[--n]<f[n]){for(r=n;r&&!c[--r];c[r]=t);--c[r],c[n]+=L}c[n]-=f[n]}for(;0==c[0];c.splice(0,1),--s);return c[0]?D(e,c,s):(e.s=3==m?-1:1,e.c=[e.e=0],e)},r.modulo=r.mod=function(e,t){var r,n=this;return e=new x(e,t),!n.c||!e.s||e.c&&!e.c[0]?new x(NaN):!e.c||n.c&&!n.c[0]?new x(n):(9==o?(t=e.s,e.s=1,r=d(n,e,0,3),e.s=t,r.s*=t):r=d(n,e,0,o),(e=n.minus(r.times(e))).c[0]||1!=o||(e.s=n.s),e)},r.multipliedBy=r.times=function(e,t){var r,n,o,i,u,l,a,s,c,f,h,p=this,v=p.c,g=(e=new x(e,t)).c;if(!(v&&g&&v[0]&&g[0]))return!p.s||!e.s||v&&!v[0]&&!g||g&&!g[0]&&!v?e.c=e.e=e.s=null:(e.s*=p.s,v&&g?(e.c=[0],e.e=0):e.c=e.e=null),e;for(t=q(p.e/M)+q(e.e/M),e.s*=p.s,(l=v.length)<(p=g.length)&&(h=v,v=g,g=h,n=l,l=p,p=n),n=l+p,h=[];n--;h.push(0));for(n=p;0<=--n;){for(c=g[n]%1e7,f=g[n]/1e7|(r=0),o=n+(i=l);n<o;)r=((a=c*(a=v[--i]%1e7)+(u=f*a+(s=v[i]/1e7|0)*c)%1e7*1e7+h[o]+r)/1e14|0)+(u/1e7|0)+f*s,h[o--]=a%1e14;h[o]=r}return r?++t:h.splice(0,1),D(e,h,t)},r.negated=function(){var e=new x(this);return e.s=-e.s||null,e},r.plus=function(e,t){var r,n=this,o=n.s;if(t=(e=new x(e,t)).s,!o||!t)return new x(NaN);if(o!=t)return e.s=-t,n.minus(e);var i=n.e/M,u=e.e/M,l=n.c,a=e.c;if(!i||!u){if(!l||!a)return new x(o/0);if(!l[0]||!a[0])return a[0]?e:new x(l[0]?n:0*o)}if(i=q(i),u=q(u),l=l.slice(),o=i-u){for((r=0<o?(u=i,a):(o=-o,l)).reverse();o--;r.push(0));r.reverse()}for((o=l.length)-(t=a.length)<0&&(r=a,a=l,l=r,t=o),o=0;t;)o=(l[--t]=l[t]+a[t]+o)/L|0,l[t]=L===l[t]?0:l[t]%L;return o&&(l=[o].concat(l),++u),D(e,l,u)},r.precision=r.sd=function(e,t){var r,n;if(null!=e&&e!==!!e)return W(e,1,G),null==t?t=m:W(t,0,8),B(new x(this),e,t);if(!(t=this.c))return null;if(r=(n=t.length-1)*M+1,n=t[n]){for(;n%10==0;n/=10,r--);for(n=t[0];10<=n;n/=10,r++);}return r=e&&this.e+1>r?this.e+1:r},r.shiftedBy=function(e){return W(e,-oe,oe),this.times("1e"+e)},r.squareRoot=r.sqrt=function(){var e,t,r,n,o,i=this,u=i.c,l=i.s,a=i.e,s=w+4,c=new x("0.5");if(1!==l||!u||!u[0])return new x(!l||l<0&&(!u||u[0])?NaN:u?i:1/0);if((r=0==(l=Math.sqrt(+$(i)))||l==1/0?(((t=H(u)).length+a)%2==0&&(t+="0"),l=Math.sqrt(+t),a=q((a+1)/2)-(a<0||a%2),new x(t=l==1/0?"5e"+a:(t=l.toExponential()).slice(0,t.indexOf("e")+1)+a)):new x(l+"")).c[0])for((l=(a=r.e)+s)<3&&(l=0);;)if(o=r,r=c.times(o.plus(d(i,o,s,1))),H(o.c).slice(0,l)===(t=H(r.c)).slice(0,l)){if(r.e<a&&--l,"9999"!=(t=t.slice(l-3,l+1))&&(n||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(B(r,r.e+w+2,1),e=!r.times(r).eq(i));break}if(!n&&(B(o,o.e+w+2,0),o.times(o).eq(i))){r=o;break}s+=4,l+=4,n=1}return B(r,r.e+w+1,m,e)},r.toExponential=function(e,t){return null!=e&&(W(e,0,G),e++),n(this,e,t,1)},r.toFixed=function(e,t){return null!=e&&(W(e,0,G),e=e+this.e+1),n(this,e,t)},r.toFormat=function(e,t,r){if(null==r)null!=e&&t&&"object"==F(t)?(r=t,t=null):e&&"object"==F(e)?(r=e,e=t=null):r=N;else if("object"!=F(r))throw Error(U+"Argument not an object: "+r);if(e=this.toFixed(e,t),this.c){var n,t=e.split("."),o=+r.groupSize,i=+r.secondaryGroupSize,u=r.groupSeparator||"",l=t[0],t=t[1],a=this.s<0,s=a?l.slice(1):l,c=s.length;if(i&&(n=o,o=i,c-=i=n),0<o&&0<c){for(l=s.substr(0,n=c%o||o);n<c;n+=o)l+=u+s.substr(n,o);0<i&&(l+=u+s.slice(n)),a&&(l="-"+l)}e=t?l+(r.decimalSeparator||"")+((i=+r.fractionGroupSize)?t.replace(new RegExp("\\d{"+i+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):t):l}return(r.prefix||"")+e+(r.suffix||"")},r.toFraction=function(e){var t,r,n,o,i,u,l,a,s,c,f=this,h=f.c;if(null!=e&&(!(l=new x(e)).isInteger()&&(l.c||1!==l.s)||l.lt(v)))throw Error(U+"Argument "+(l.isInteger()?"out of range: ":"not an integer: ")+$(l));if(!h)return new x(f);for(t=new x(v),s=r=new x(v),n=a=new x(v),h=H(h),i=t.e=h.length-f.e-1,t.c[0]=ie[(u=i%M)<0?M+u:u],e=!e||0<l.comparedTo(t)?0<i?t:s:l,u=O,O=1/0,l=new x(h),a.c[0]=0;c=d(l,t,0,1),1!=(o=r.plus(c.times(n))).comparedTo(e);)r=n,n=o,s=a.plus(c.times(o=s)),a=o,t=l.minus(c.times(o=t)),l=o;return o=d(e.minus(r),n,0,1),a=a.plus(o.times(s)),r=r.plus(o.times(n)),a.s=s.s=f.s,h=d(s,n,i*=2,m).minus(f).abs().comparedTo(d(a,r,i,m).minus(f).abs())<1?[s,n]:[a,r],O=u,h},r.toNumber=function(){return+$(this)},r.toPrecision=function(e,t){return null!=e&&W(e,1,G),n(this,e,t,2)},r.toString=function(e){var t,r=this,n=r.s,o=r.e;return null===o?n?(t="Infinity",n<0&&(t="-"+t)):t="NaN":(t=null==e?o<=g||b<=o?X(H(r.c),o):Y(H(r.c),o,"0"):10===e&&j?Y(H((r=B(new x(r),w+o+1,m)).c),r.e,"0"):(W(e,2,S.length,"Base"),f(Y(H(r.c),o,"0"),10,e,n,!0)),n<0&&r.c[0]&&(t="-"+t)),t},r.valueOf=r.toJSON=function(){return $(this)},r._isBigNumber=!0,r[Symbol.toStringTag]="BigNumber",r[Symbol.for("nodejs.util.inspect.custom")]=r.valueOf,null!=e&&x.set(e),x}();function ue(e,t,r){var n="";if(c.isBigNumber(e))n=e.toFixed();else if("string"!=typeof e)n=e.toString();else if(!0===r){r=J(e);if(null===r.num)return null;n=c(r.num).toFixed()}else n=c(e).toFixed();if("undefined"===n||"NaN"===n)return null;var o=null,i=null,u=null,l=null;if(t.forEach(function(e){var t=e.type;if("symbol"===t){if(![">=","<=","="].includes(e.value))throw new Error("错误的格式化参数:",e.value);i=e.value}else if("comma"===t)u=!0;else if("number"===t)o=e.value;else{if("plus"!==t)throw new Error("错误的fmt Token");l=!0}}),null!==o){var r=n.split("."),e=r[0],a=1===r.length?"":r[1],s=a.length;switch(i){case"<=":a=s<=o?a:a.slice(0,o);break;case"=":s<o?a+="0".repeat(o-s):o<s&&(a=a.slice(0,o));break;case">=":a=o<=s?a:a+"0".repeat(o-s)}n=""===a?e:"".concat(e,".").concat(a)}return null!==u&&(n=1<(t=n.split(".")).length?((r=t[0]).includes("-")?t[0]=r[0]+r.slice(1).replace(/(?=(?!^)(?:\d{3})+$)/g,","):t[0]=r.replace(/(?=(?!^)(?:\d{3})+$)/g,","),t.join(".")):(e=t[0]).includes("-")?e[0]+e.slice(1).replace(/(?=(?!^)(?:\d{3})+$)/g,","):e.replace(/(?=(?!^)(?:\d{3})+$)/g,",")),n=null===l||n.startsWith("-")?n:"+"+n}function le(e,t){for(var r=1<arguments.length&&void 0!==t&&t,n=[],o=0,i=null,u=e.length;o<u;)if(i=e[o],/\s/.test(i))o++;else if("+-".includes(i)){var l=n[n.length-1];if(0===n.length||"+-".includes(l)||"("===l){var a=i;if(++o>=u){n.push(a);break}for(var i=e[o],s=0;/[^*/()\s]/.test(i)&&(["+","-"].includes(i)&&s++,!(2<s||!/[eE]/.test(a[a.length-1])&&"+-".includes(i)))&&(a+=i,!(++o>=u));)i=e[o];n.push(a)}else n.push(i),o++}else if("*/%()".includes(i))n.push(i),o++;else if(/[a-zA-Z_$]/.test(i)){for(var c="";/[\w_.\[\]"']/.test(i)&&(c+=i,!(++o>=u));)i=e[o];n.push(c)}else if(/\d/.test(i)){for(var f="",h=0,p=void 0,p=r?/[^*/()\s]/:/[\d.eE\+-]/;p.test(i)&&(["+","-"].includes(i)&&h++,!(1<h||!/[eE]/.test(f[f.length-1])&&"+-".includes(i)))&&(f+=i,!(++o>=u));)i=e[o];n.push(f)}return n}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},ae=Array.isArray,r="object"==F(r)&&r&&r.Object===Object&&r,n="object"==("undefined"==typeof self?"undefined":F(self))&&self&&self.Object===Object&&self,r=r||n||Function("return this")(),n=r.Symbol,u=Object.prototype,se=u.hasOwnProperty,ce=u.toString,l=n?n.toStringTag:void 0;var fe=Object.prototype.toString;var he=function(e){var t=se.call(e,l),r=e[l];try{var n=!(e[l]=void 0)}catch(e){}var o=ce.call(e);return n&&(t?e[l]=r:delete e[l]),o},pe=function(e){return fe.call(e)},ve=n?n.toStringTag:void 0;function ge(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":(ve&&ve in Object(e)?he:pe)(e)}var de=ge,ye=function(e){return null!=e&&"object"==F(e)};function we(e){return"symbol"==F(e)||ye(e)&&"[object Symbol]"==de(e)}var me=ae,be=we,_e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Oe=/^\w*$/;function Ee(e,t){if(me(e))return!1;var r=F(e);return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!be(e))||(Oe.test(e)||!_e.test(e)||null!=t&&e in Object(t))}function Ae(e){var t=F(e);return null!=e&&("object"==t||"function"==t)}var Ne=ge,Se=Ae;function je(e){return!!Se(e)&&("[object Function]"==(e=Ne(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}var u=r["__core-js_shared__"],xe=(u=/[^.]+$/.exec(u&&u.keys&&u.keys.IE_PROTO||""))?"Symbol(src)_1."+u:"";var Pe=Function.prototype.toString;var ke=je,Re=function(e){return!!xe&&xe in e},Te=Ae,De=function(e){if(null!=e){try{return Pe.call(e)}catch(e){}try{return e+""}catch(e){}}return""},Be=/^\[object .+?Constructor\]$/,u=Function.prototype,a=Object.prototype,u=u.toString,a=a.hasOwnProperty,$e=RegExp("^"+u.call(a).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Ce=function(e){return!(!Te(e)||Re(e))&&(ke(e)?$e:Be).test(De(e))},Fe=function(e,t){return null==e?void 0:e[t]};function Ie(e,t){return e=Fe(e,t),Ce(e)?e:void 0}var u=Ie(Object,"create"),Ue=u;var Le=u,Me=Object.prototype.hasOwnProperty;var ze=u,Ge=Object.prototype.hasOwnProperty;var qe=u;function He(e){return e=this.has(e)&&delete this.__data__[e],this.size-=e?1:0,e}function Ve(e){var t,r=this.__data__;return Le?"__lodash_hash_undefined__"===(t=r[e])?void 0:t:Me.call(r,e)?r[e]:void 0}function We(e){var t=this.__data__;return ze?void 0!==t[e]:Ge.call(t,e)}function Ze(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=qe&&void 0===t?"__lodash_hash_undefined__":t,this}function s(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s.prototype.clear=function(){this.__data__=Ue?Ue(null):{},this.size=0},s.prototype.delete=He,s.prototype.get=Ve,s.prototype.has=We,s.prototype.set=Ze;a=s;var Xe=function(e,t){return e===t||e!=e&&t!=t};function f(e,t){for(var r=e.length;r--;)if(Xe(e[r][0],t))return r;return-1}var Ye=f,Je=Array.prototype.splice;var Ke=f;var Qe=f;var et=f;function tt(e){var t=this.__data__;return!((e=Ye(t,e))<0)&&(e==t.length-1?t.pop():Je.call(t,e,1),--this.size,!0)}function rt(e){var t=this.__data__;return(e=Ke(t,e))<0?void 0:t[e][1]}function nt(e){return-1<Qe(this.__data__,e)}function ot(e,t){var r=this.__data__,n=et(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function p(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}p.prototype.clear=function(){this.__data__=[],this.size=0},p.prototype.delete=tt,p.prototype.get=rt,p.prototype.has=nt,p.prototype.set=ot;var u=p,r=Ie(r,"Map"),it=a,ut=u,lt=r;var at=function(e){var t=F(e);return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};function m(e,t){return e=e.__data__,at(t)?e["string"==typeof t?"string":"hash"]:e.map}var st=m;var ct=m;var ft=m;var ht=m;function pt(e){return e=st(this,e).delete(e),this.size-=e?1:0,e}function vt(e){return ct(this,e).get(e)}function gt(e){return ft(this,e).has(e)}function dt(e,t){var r=ht(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function b(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}b.prototype.clear=function(){this.size=0,this.__data__={hash:new it,map:new(lt||ut),string:new it}},b.prototype.delete=pt,b.prototype.get=vt,b.prototype.has=gt,b.prototype.set=dt;var yt=b;function wt(n,o){if("function"!=typeof n||null!=o&&"function"!=typeof o)throw new TypeError("Expected a function");function i(){var e=arguments,t=o?o.apply(this,e):e[0],r=i.cache;return r.has(t)?r.get(t):(e=n.apply(this,e),i.cache=r.set(t,e)||r,e)}return i.cache=new(wt.Cache||yt),i}wt.Cache=yt;var mt=wt;var bt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_t=/\\(\\)?/g,a=function(e){var t=(e=mt(e,function(e){return 500===t.size&&t.clear(),e})).cache;return e}(function(e){var o=[];return 46===e.charCodeAt(0)&&o.push(""),e.replace(bt,function(e,t,r,n){o.push(r?n.replace(_t,"$1"):t||e)}),o});var Ot=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o},Et=ae,At=we,u=n?n.prototype:void 0,Nt=u?u.toString:void 0;var St=function e(t){if("string"==typeof t)return t;if(Et(t))return Ot(t,e)+"";if(At(t))return Nt?Nt.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r};var jt=ae,xt=Ee,Pt=a,kt=function(e){return null==e?"":St(e)};var Rt=we;var Tt=function(e,t){return jt(e)?e:xt(e,t)?[e]:Pt(kt(e))},Dt=function(e){if("string"==typeof e||Rt(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t};var Bt=function(e,t){for(var r=0,n=(t=Tt(t,e)).length;null!=e&&r<n;)e=e[Dt(t[r++])];return r&&r==n?e:void 0};var _=function(e,t,r){return void 0===(e=null==e?void 0:Bt(e,t))?r:e};function $t(e,t,r){var n=[];if(!d(t))throw new w("错误的填充数据:",t);Array.isArray(t)?n=t:n.push(t);for(var o=[],i=0;i<e.length;i++){var u=e[i];if(D.test(u)){if("undefined"===u||"NaN"===u)throw new w("key不应该为:".concat(u));for(var l=null,a=0;a<n.length;a++){var s=n[a],s=_(s,u);if(void 0!==s){l=s;break}}if(null===l)throw new w("token填充失败,请确认".concat(u,"存在"));if("string"==typeof l){if(""===l.trim())throw new w("token填充失败,".concat(u,"值不可为空字符"));if(!0===r){if(!T.test(l))throw new w("token填充失败,".concat(u,"值:").concat(l,"为非法单位数字"))}else if(!h(l))throw new w("token填充失败,".concat(u,"值:").concat(l,"为非法数字"))}l="string"!=typeof l?l.toString():l,o.push(l)}else o.push(u)}return o}function Ct(e,o){return e.map(function(e){if("var"!==e.type)return e;for(var t,r,n=0;n<o.length&&!g(t=_(o[n],e.value));n++);if("number"==typeof(r=t)||h(r))return{type:"number",value:t};throw new w("错误的填充值")})}function Ft(e){var r=null;return e.length,{tokens:e.map(function(e){var t=J(e);return null!==t.unit?(null==r&&(r=t.unit),t.num):e}),unit:r}}function It(e){for(var t,r=[],n=[],o=e;0<o.length;){var i=o.shift();if(B(i))if("("===i)r.push(i);else if(")"===i){for(var u=r.pop();"("!==u&&0<r.length;)n.push(u),u=r.pop();if("("!==u)throw"error: unmatched ()"}else{for(;t=r[r.length-1],$(i)<=$(t)&&0<r.length;)n.push(r.pop());r.push(i)}else n.push(i)}if(0<r.length){if(")"===r[r.length-1]||"("===r[r.length-1])throw"error: unmatched ()";for(;0<r.length;)n.push(r.pop())}return n}function Ut(e){for(var t,r=[];0<e.length;){var n=e.shift();if(B(n)){if(r.length<2)throw new y("错误的栈长度, 可能是无法计算的表达式");var o=r.pop(),i=r.pop();if("string"==typeof o&&!c.isBigNumber(o)){if(!h(o))throw new y("".concat(o,"不是一个合法的数字"));o=new c(o)}if("string"==typeof i&&!c.isBigNumber(i)){if(!h(i))throw new y("".concat(i,"不是一个合法的数字"));i=new c(i)}switch(n){case"+":r.push(i.plus(o));break;case"-":r.push(i.minus(o));break;case"*":r.push(i.times(o));break;case"/":r.push(i.div(o));break;case"%":r.push(i.mod(o))}}else r.push(n)}if(1!==r.length)throw"unvalid expression";return t=r[0],c.isBigNumber(t)?t:c(t)}return e.calc=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n,o=ee(t),i=le(o.expr,_(o,"data._unit",!1)),u=null,l=null;if(!0===_(o,"data._debug")&&(console.warn("======a-calc调试模式======"),console.warn(o),console.warn(i)),d(o.data)){var a=o.data,s=[],c=a._error,f=a._fillError,h=a._warn,p=_(a,"_unit",null);if(Array.isArray(a)?s=a:(s.push(u=a),g(a=_(u,"_fillData"))&&(Array.isArray(a)?s=[].concat(v(s),v(a)):s.push(a))),C(f,c))try{i=$t(i,s,p),d(o.fmt)&&(o.fmt=Ct(o.fmt,s))}catch(e){if(e instanceof w)return g(h)&&!0===h&&console.warn(e),g(f)?f:c;throw e}else i=$t(i,s,p),d(o.fmt)&&(o.fmt=Ct(o.fmt,s));!0===p&&(l=(a=Ft(i)).unit,i=a.tokens)}if(!0===_(o,"data._debug")&&(console.warn(i),console.warn("单位:".concat(l))),f=It(i),s=null,d(u)&&C(n,c))try{s=Ut(f)}catch(e){if(e instanceof y)return void 0!==h&&!0===h&&console.warn(e),c;throw e}else s=Ut(f);return null!==(s=d(o.fmt)?ue(s,o.fmt):null!==s?s.toFixed():null)&&null!==l&&(s+=l),s},e.fmt=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=ee(t),o=le(n.expr,_(n,"data._unit",!1)),i=null,u=null;if(!0===_(n,"data._debug")&&(console.warn("======a-calc调试模式======"),console.warn(n),console.warn(o)),""===n.expr.trim()&&d(n.data)&&g(n.data._error))return n.data._error;if(2<o.length)throw new Error("fmt并非用于计算, 不能传入多个标识:".concat(n.expr));if(1!==o.length)throw new Error("fmt接收了一个无法被解析的标识");if(d(n.data)){var l,a=n.data,s=[],c=a._fillError,f=_(a,"_unit",null);if(Array.isArray(a)?s=a:(s.push(i=a),g(l=_(i,"_fillData"))&&(Array.isArray(l)?s=[].concat(v(s),v(l)):s.push(l))),C(c,a._error))try{o=$t(o,s,f),d(n.fmt)&&(n.fmt=Ct(n.fmt,s))}catch(e){if(e instanceof w)return void 0!==i._warn&&!0===i._warn&&console.warn(e),i._fillError||i._error;throw e}else o=$t(o,s,f),d(n.fmt)&&(n.fmt=Ct(n.fmt,s));!0===f&&(u=(l=Ft(o)).unit,o=l.tokens)}if(null===n.fmt)throw"表达式没有格式化部分";if(c=o[0],!0===f){if(!T.test(c))throw new w("token填充失败,".concat(key,"值:").concat(value,"为非法单位数字"))}else if(!h(c))throw new w("待格式化对象: ".concat(c," 不是数字"));return null!==(a=ue(c,n.fmt,f))&&null!==u&&(a+=u),a},e.version="0.0.78",Object.defineProperty(e,"__esModule",{value:!0}),e}({});
|
|
1
|
+
var a_calc=function(e){"use strict";function D(e){return(D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function E(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){var r;if(e)return"string"==typeof e?n(e,t):"Map"===(r="Object"===(r=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var O="1.0.2",N=/^[+-]?\d[\d.]*(?:e\+|E\+|e-|E-|e|E)?\d*$/,A=/^[+-]?\d[\d.]*(?:e\+|E\+|e-|E-|e|E)?\d*\D*$/;function S(e){return-1<"+-*/%()**".indexOf(e)}function j(e){switch(e){case"+":case"-":return 1;case"*":case"/":case"%":case"**":return 2;default:return 0}}function f(e){return void 0!==e}function h(e){return null!==e}function c(e){return"string"==typeof e&&!!N.test(e)}var o={initial:"initial",number:"number",variable:"var",symbol:"symbol",percent:"percent",round:"round",plus:"plus",comma:"comma",fraction:"fraction",scientific:"scientific"},x="<>=";function k(e){for(var t=o.initial,r=[],n=[];e;){var i=e[0];if(t===o.initial)if(x.includes(i))t=o.symbol,r.push(i),e=e.slice(1);else if("~"===i)t=o.round,r.push(i),e=e.slice(1);else if("\\"===i&&/[Ee]/.test(e[1]))t=o.initial,n.push({type:"scientific",value:e[1]}),e=e.slice(2);else{if("/"===i)t=o.initial,n.push({type:"fraction",value:i});else if(/[a-zA-Z_]/.test(i))t=o.variable,r.push(i);else if(/\d/.test(i))t=o.number,r.push(i);else if("+"===i)t=o.initial,n.push({type:"plus",value:i});else if(","===i)t=o.initial,n.push({type:"comma",value:i});else if("%"===i)t=o.initial,n.push({type:"percent",value:i});else if(!/\s/.test(i))throw new Error("不识别的fmt字符:".concat(i));e=e.slice(1)}else if(t===o.number)/\d/.test(i)?(r.push(i),e=e.slice(1)):(n.push({type:"number",value:r.join("")}),r.length=0,t=o.initial);else if(t===o.variable)/[\$\w_\-.\[\]"']/.test(i)?(r.push(i),e=e.slice(1)):(n.push({type:"var",value:r.join("")}),r.length=0,t=o.initial);else if(t===o.symbol)/\s/.test(i)?e=e.slice(1):x.includes(i)?(r.push(i),e=e.slice(1)):(n.push({type:"symbol",value:r.join("")}),r.length=0,t=o.initial);else{if(t!==o.round)throw new Error("错误的自动机状态");if(/\s/.test(i))e=e.slice(1);else{if(!("56+-".includes(i)&&r.length<2))throw new Error("舍入格式化语法错误:".concat(i));r.push(i),e=e.slice(1),n.push({type:"round",value:r.join("")}),r.length=0,t=o.initial}}}if(0<r.length&&(n.push({type:t,value:r.join("")}),r.length=0,t=o.initial),1<n.filter(function(e){return"number"===e.type}).length)throw new Error("格式化字符串错误,发现多余的数字");return n}var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r=Array.isArray,t="object"==D(t)&&t&&t.Object===Object&&t,i="object"==("undefined"==typeof self?"undefined":D(self))&&self&&self.Object===Object&&self,t=t||i||Function("return this")(),i=t.Symbol,s=Object.prototype,P=s.hasOwnProperty,T=s.toString,u=i?i.toStringTag:void 0;var $=Object.prototype.toString;var B=function(e){var t=P.call(e,u),r=e[u];try{var n=!(e[u]=void 0)}catch(e){}var i=T.call(e);return n&&(t?e[u]=r:delete e[u]),i},I=function(e){return $.call(e)},R=i?i.toStringTag:void 0;function C(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":(R&&R in Object(e)?B:I)(e)}var J=C,K=function(e){return null!=e&&"object"==D(e)};function l(e){return"symbol"==D(e)||K(e)&&"[object Symbol]"==J(e)}var Q=r,ee=l,te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,re=/^\w*$/;function ne(e,t){var r;return!Q(e)&&(!("number"!=(r=D(e))&&"symbol"!=r&&"boolean"!=r&&null!=e&&!ee(e))||re.test(e)||!te.test(e)||null!=t&&e in Object(t))}function ie(e){var t=D(e);return null!=e&&("object"==t||"function"==t)}var oe=C,se=ie;function ue(e){return!!se(e)&&("[object Function]"==(e=oe(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}var s=t["__core-js_shared__"],le=(s=/[^.]+$/.exec(s&&s.keys&&s.keys.IE_PROTO||""))?"Symbol(src)_1."+s:"";var ce=Function.prototype.toString;var ae=ue,fe=function(e){return!!le&&le in e},he=ie,pe=function(e){if(null!=e){try{return ce.call(e)}catch(e){}try{return e+""}catch(e){}}return""},ge=/^\[object .+?Constructor\]$/,s=Function.prototype,a=Object.prototype,s=s.toString,a=a.hasOwnProperty,ve=RegExp("^"+s.call(a).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var de=function(e){return!(!he(e)||fe(e))&&(ae(e)?ve:ge).test(pe(e))},me=function(e,t){return null==e?void 0:e[t]};function ye(e,t){return e=me(e,t),de(e)?e:void 0}var s=ye(Object,"create"),we=s;var be=s,_e=Object.prototype.hasOwnProperty;var Ee=s,Oe=Object.prototype.hasOwnProperty;var Ne=s;function Ae(e){return e=this.has(e)&&delete this.__data__[e],this.size-=e?1:0,e}function Se(e){var t,r=this.__data__;return be?"__lodash_hash_undefined__"===(t=r[e])?void 0:t:_e.call(r,e)?r[e]:void 0}function je(e){var t=this.__data__;return Ee?void 0!==t[e]:Oe.call(t,e)}function xe(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ne&&void 0===t?"__lodash_hash_undefined__":t,this}function p(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}p.prototype.clear=function(){this.__data__=we?we(null):{},this.size=0},p.prototype.delete=Ae,p.prototype.get=Se,p.prototype.has=je,p.prototype.set=xe;a=p;var ke=function(e,t){return e===t||e!=e&&t!=t};function g(e,t){for(var r=e.length;r--;)if(ke(e[r][0],t))return r;return-1}var Pe=g,Te=Array.prototype.splice;var $e=g;var Be=g;var Ie=g;function Re(e){var t=this.__data__;return!((e=Pe(t,e))<0||(e==t.length-1?t.pop():Te.call(t,e,1),--this.size,0))}function Ce(e){var t=this.__data__;return(e=$e(t,e))<0?void 0:t[e][1]}function De(e){return-1<Be(this.__data__,e)}function Fe(e,t){var r=this.__data__,n=Ie(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function v(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}v.prototype.clear=function(){this.__data__=[],this.size=0},v.prototype.delete=Re,v.prototype.get=Ce,v.prototype.has=De,v.prototype.set=Fe;var s=v,t=ye(t,"Map"),Ue=a,Le=s,ze=t;var Me=function(e){var t=D(e);return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};function d(e,t){return e=e.__data__,Me(t)?e["string"==typeof t?"string":"hash"]:e.map}var Ge=d;var qe=d;var He=d;var Ve=d;function We(e){return e=Ge(this,e).delete(e),this.size-=e?1:0,e}function Ze(e){return qe(this,e).get(e)}function Xe(e){return He(this,e).has(e)}function Ye(e,t){var r=Ve(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function m(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}m.prototype.clear=function(){this.size=0,this.__data__={hash:new Ue,map:new(ze||Le),string:new Ue}},m.prototype.delete=We,m.prototype.get=Ze,m.prototype.has=Xe,m.prototype.set=Ye;var Je=m;function y(n,i){if("function"!=typeof n||null!=i&&"function"!=typeof i)throw new TypeError("Expected a function");function o(){var e=arguments,t=i?i.apply(this,e):e[0],r=o.cache;return r.has(t)?r.get(t):(e=n.apply(this,e),o.cache=r.set(t,e)||r,e)}return o.cache=new(y.Cache||Je),o}y.Cache=Je;var Ke=y;var Qe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/\\(\\)?/g,a=function(e){var t=(e=Ke(e,function(e){return 500===t.size&&t.clear(),e})).cache;return e}(function(e){var i=[];return 46===e.charCodeAt(0)&&i.push(""),e.replace(Qe,function(e,t,r,n){i.push(r?n.replace(et,"$1"):t||e)}),i});var tt=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i},rt=r,nt=l,s=i?i.prototype:void 0,it=s?s.toString:void 0;var ot=function e(t){var r;return"string"==typeof t?t:rt(t)?tt(t,e)+"":nt(t)?it?it.call(t):"":"0"==(r=t+"")&&1/t==-1/0?"-0":r};var st=r,ut=ne,lt=a,ct=function(e){return null==e?"":ot(e)};var at=l;var ft=function(e,t){return st(e)?e:ut(e,t)?[e]:lt(ct(e))},ht=function(e){var t;return"string"==typeof e||at(e)?e:"0"==(t=e+"")&&1/e==-1/0?"-0":t};var pt=function(e,t){for(var r=0,n=(t=ft(t,e)).length;null!=e&&r<n;)e=e[ht(t[r++])];return r&&r==n?e:void 0};var w=function(e,t,r){return void 0===(e=null==e?void 0:pt(e,t))?r:e};var b={initial:"initial",number:"number",scientific:"scientific",operator:"operator",bracket:"bracket",var:"var"},gt="+-",vt="*/%",dt="()";function mt(e,t){for(var r,n,i,o=1<arguments.length&&void 0!==t&&t,s=b.initial,u=[],l=[],c=function(){u.push(r),e=e.slice(1)},a=function(e){l.push({type:e,value:u.join("")}),u.length=0},f=function(){e=e.slice(1)};e;)switch(r=e[0],s){case b.initial:if(gt.includes(r)){var h=l.at(-1),s=0===l.length||"operator"===h.type||"("===h?b.number:b.operator;c()}else if(vt.includes(r))s=b.operator,c();else if(/\d/.test(r))s=b.number,c();else if(dt.includes(r))s=b.bracket;else if(/[a-zA-Z_$]/.test(r))s=b.var,c();else{if(!/\s/.test(r))throw new Error("不识别的字符".concat(r));f()}break;case b.bracket:l.push({type:b.bracket,value:r}),f(),s=b.initial;break;case b.operator:h=u.at(-1);"*"===r&&"*"===h&&c(),a(b.operator),s=b.initial;break;case b.number:if(/\d/.test(r))c();else if("."===r){if(0===u.length||u.includes("."))throw new Error("非法的小数部分".concat(u.join("")));c()}else"Ee".includes(r)?(s=b.scientific,c()):["auto","on",!0].includes(o)&&/[^*/+\-()\s]/.test(r)||"space"===o&&/\S/.test(r)?c():(a(b.number),s=b.initial);break;case b.scientific:/\d/.test(r)?c():gt.includes(r)?(n=u.slice(1),i=u.at(-1),n.includes(r)||!/[Ee]/.test(i)?(a(b.scientific),s=b.initial):c()):["auto","on",!0].includes(o)&&/[^*/+\-()\s]/.test(r)||"space"===o&&/\S/.test(r)?c():(a(b.scientific),s=b.initial);break;case b.var:/[\w_.\[\]"']/.test(r)?c():(a(b.var),s=b.initial);break;default:throw new Error("状态错误")}return 0!==u.length&&(l.push({type:s,value:u.join("")}),u.length=0,s=b.initial),l}function yt(e,t,r){if(null===t)throw new Error("错误的填充数据:",t);for(var n=[],i=0;i<e.length;i++){var o=e[i];if("var"!==o.type)n.push(o);else{if("undefined"===o.value||"NaN"===o.value)throw new Error("key不应该为:".concat(o.value));for(var s=null,u=0;u<t.length;u++){var l=t[u],l=w(l,o.value);if(void 0!==l){s=l;break}}if(null===s)throw new Error("token填充失败,请确认".concat(o,"存在"));if("string"==typeof s){if(""===s.trim())throw new Error("token填充失败,".concat(o.value,"值不可为空字符"));if([!0,"on","auto","space"].includes(r)){if(!A.test(s))throw new Error("token填充失败,".concat(o.value,"值:").concat(s,"为非法单位数字"))}else if(!c(s))throw new Error("token填充失败,".concat(o,"值:").concat(s,"为非法数字"))}s="string"!=typeof s?s.toString():s,n.push({type:"number",value:s})}}return n}function wt(e){for(var t,r=[],n=[],i=e.map(function(e){return e.value});0<i.length;){var o=i.shift();if(S(o))if("("===o)r.push(o);else if(")"===o){for(var s=r.pop();"("!==s&&0<r.length;)n.push(s),s=r.pop();if("("!==s)throw"error: unmatched ()"}else{for(;t=r[r.length-1],j(o)<=j(t)&&0<r.length;)n.push(r.pop());r.push(o)}else n.push(o)}if(0<r.length){if(")"===r[r.length-1]||"("===r[r.length-1])throw"error: unmatched ()";for(;0<r.length;)n.push(r.pop())}return n}var bt=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,_t=Math.ceil,F=Math.floor,U="[BigNumber Error] ",Et=U+"Number primitive has more than 15 significant digits: ",L=1e14,z=14,Ot=9007199254740991,Nt=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],M=1e7,G=1e9;function q(e){var t=0|e;return 0<e||e===t?t:t-1}function H(e){for(var t,r,n=1,i=e.length,o=e[0]+"";n<i;){for(t=e[n++]+"",r=z-t.length;r--;t="0"+t);o+=t}for(i=o.length;48===o.charCodeAt(--i););return o.slice(0,i+1||1)}function V(e,t){var r,n,i=e.c,o=t.c,s=e.s,u=t.s,e=e.e,t=t.e;if(!s||!u)return null;if(r=i&&!i[0],n=o&&!o[0],r||n)return r?n?0:-u:s;if(s!=u)return s;if(r=s<0,n=e==t,!i||!o)return n?0:!i^r?1:-1;if(!n)return t<e^r?1:-1;for(u=(e=i.length)<(t=o.length)?e:t,s=0;s<u;s++)if(i[s]!=o[s])return i[s]>o[s]^r?1:-1;return e==t?0:t<e^r?1:-1}function W(e,t,r,n){if(e<t||r<e||e!==F(e))throw Error(U+(n||"Argument")+("number"==typeof e?e<t||r<e?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function Z(e){var t=e.c.length-1;return q(e.e/z)==t&&e.c[t]%2!=0}function X(e,t){return(1<e.length?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function Y(e,t,r){var n,i;if(t<0){for(i=r+".";++t;i+=r);e=i+e}else if(++t>(n=e.length)){for(i=r,t-=n;--t;i+=r);e+=i}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}var _=function C(e){var d,f,h,t,c,m,s,u,l,a,p,r=x.prototype={constructor:x,toString:null,valueOf:null},g=new x(1),y=20,w=4,v=-7,b=21,_=-1e7,E=1e7,O=!1,i=1,N=0,A={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},S="0123456789abcdefghijklmnopqrstuvwxyz",j=!0;function x(e,t){var r,n,i,o,s,u,l,c,a=this;if(!(a instanceof x))return new x(e,t);if(null==t){if(e&&!0===e._isBigNumber)return a.s=e.s,void(!e.c||e.e>E?a.c=a.e=null:e.e<_?a.c=[a.e=0]:(a.e=e.e,a.c=e.c.slice()));if((u="number"==typeof e)&&0*e==0){if(a.s=1/e<0?(e=-e,-1):1,e===~~e){for(o=0,s=e;10<=s;s/=10,o++);return void(E<o?a.c=a.e=null:(a.e=o,a.c=[e]))}c=String(e)}else{if(!bt.test(c=String(e)))return h(a,c,u);a.s=45==c.charCodeAt(0)?(c=c.slice(1),-1):1}0<(s=(c=-1<(o=c.indexOf("."))?c.replace(".",""):c).search(/e/i))?(o<0&&(o=s),o+=+c.slice(s+1),c=c.substring(0,s)):o<0&&(o=c.length)}else{if(W(t,2,S.length,"Base"),10==t&&j)return I(a=new x(e),y+a.e+1,w);if(c=String(e),u="number"==typeof e){if(0*e!=0)return h(a,c,u,t);if(a.s=1/e<0?(c=c.slice(1),-1):1,x.DEBUG&&15<c.replace(/^0\.0*|\./,"").length)throw Error(Et+e)}else a.s=45===c.charCodeAt(0)?(c=c.slice(1),-1):1;for(r=S.slice(0,t),o=s=0,l=c.length;s<l;s++)if(r.indexOf(n=c.charAt(s))<0){if("."==n){if(o<s){o=l;continue}}else if(!i&&(c==c.toUpperCase()&&(c=c.toLowerCase())||c==c.toLowerCase()&&(c=c.toUpperCase()))){i=!0,s=-1,o=0;continue}return h(a,String(e),u,t)}u=!1,-1<(o=(c=f(c,t,10,a.s)).indexOf("."))?c=c.replace(".",""):o=c.length}for(s=0;48===c.charCodeAt(s);s++);for(l=c.length;48===c.charCodeAt(--l););if(c=c.slice(s,++l)){if(l-=s,u&&x.DEBUG&&15<l&&(Ot<e||e!==F(e)))throw Error(Et+a.s*e);if((o=o-s-1)>E)a.c=a.e=null;else if(o<_)a.c=[a.e=0];else{if(a.e=o,a.c=[],s=(o+1)%z,o<0&&(s+=z),s<l){for(s&&a.c.push(+c.slice(0,s)),l-=z;s<l;)a.c.push(+c.slice(s,s+=z));s=z-(c=c.slice(s)).length}else s-=l;for(;s--;c+="0");a.c.push(+c)}}else a.c=[a.e=0]}function k(e,t,r,n){for(var i,o,s=[0],u=0,l=e.length;u<l;){for(o=s.length;o--;s[o]*=t);for(s[0]+=n.indexOf(e.charAt(u++)),i=0;i<s.length;i++)r-1<s[i]&&(null==s[i+1]&&(s[i+1]=0),s[i+1]+=s[i]/r|0,s[i]%=r)}return s.reverse()}function P(e,t,r){var n,i,o,s=0,u=e.length,l=t%M,c=t/M|0;for(e=e.slice();u--;)s=((i=l*(o=e[u]%M)+(n=c*o+(o=e[u]/M|0)*l)%M*M+s)/r|0)+(n/M|0)+c*o,e[u]=i%r;return e=s?[s].concat(e):e}function T(e,t,r,n){var i,o;if(r!=n)o=n<r?1:-1;else for(i=o=0;i<r;i++)if(e[i]!=t[i]){o=e[i]>t[i]?1:-1;break}return o}function $(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]<t[r]?1:0,e[r]=i*n+e[r]-t[r];for(;!e[0]&&1<e.length;e.splice(0,1));}function n(e,t,r,n){var i,o,s,u;if(null==r?r=w:W(r,0,8),!e.c)return e.toString();if(i=e.c[0],o=e.e,null==t)u=H(e.c),u=1==n||2==n&&(o<=v||b<=o)?X(u,o):Y(u,o,"0");else if(r=(e=I(new x(e),t,r)).e,s=(u=H(e.c)).length,1==n||2==n&&(t<=r||r<=v)){for(;s<t;u+="0",s++);u=X(u,r)}else if(t-=o,u=Y(u,r,"0"),s<r+1){if(0<--t)for(u+=".";t--;u+="0");}else if(0<(t+=r-s))for(r+1==s&&(u+=".");t--;u+="0");return e.s<0&&i?"-"+u:u}function o(e,t){for(var r,n=1,i=new x(e[0]);n<e.length;n++){if(!(r=new x(e[n])).s){i=r;break}t.call(i,r)&&(i=r)}return i}function B(e,t,r){for(var n=1,i=t.length;!t[--i];t.pop());for(i=t[0];10<=i;i/=10,n++);return(r=n+r*z-1)>E?e.c=e.e=null:r<_?e.c=[e.e=0]:(e.e=r,e.c=t),e}function I(e,t,r,n){var i,o,s,u,l,c,a,f=e.c,h=Nt;if(f){e:{for(i=1,u=f[0];10<=u;u/=10,i++);if((o=t-i)<0)o+=z,s=t,a=(l=f[c=0])/h[i-s-1]%10|0;else if((c=_t((o+1)/z))>=f.length){if(!n)break e;for(;f.length<=c;f.push(0));l=a=0,s=(o%=z)-z+(i=1)}else{for(l=u=f[c],i=1;10<=u;u/=10,i++);a=(s=(o%=z)-z+i)<0?0:l/h[i-s-1]%10|0}if(n=n||t<0||null!=f[c+1]||(s<0?l:l%h[i-s-1]),n=r<4?(a||n)&&(0==r||r==(e.s<0?3:2)):5<a||5==a&&(4==r||n||6==r&&(0<o?0<s?l/h[i-s]:0:f[c-1])%10&1||r==(e.s<0?8:7)),t<1||!f[0])return f.length=0,n?(t-=e.e+1,f[0]=h[(z-t%z)%z],e.e=-t||0):f[0]=e.e=0,e;if(0==o?(f.length=c,u=1,c--):(f.length=c+1,u=h[z-o],f[c]=0<s?F(l/h[i-s]%h[s])*u:0),n)for(;;){if(0==c){for(o=1,s=f[0];10<=s;s/=10,o++);for(s=f[0]+=u,u=1;10<=s;s/=10,u++);o!=u&&(e.e++,f[0]==L)&&(f[0]=1);break}if(f[c]+=u,f[c]!=L)break;f[c--]=0,u=1}for(o=f.length;0===f[--o];f.pop());}e.e>E?e.c=e.e=null:e.e<_&&(e.c=[e.e=0])}return e}function R(e){var t,r=e.e;return null===r?e.toString():(t=H(e.c),t=r<=v||b<=r?X(t,r):Y(t,r,"0"),e.s<0?"-"+t:t)}return x.clone=C,x.ROUND_UP=0,x.ROUND_DOWN=1,x.ROUND_CEIL=2,x.ROUND_FLOOR=3,x.ROUND_HALF_UP=4,x.ROUND_HALF_DOWN=5,x.ROUND_HALF_EVEN=6,x.ROUND_HALF_CEIL=7,x.ROUND_HALF_FLOOR=8,x.EUCLID=9,x.config=x.set=function(e){var t,r;if(null!=e){if("object"!=D(e))throw Error(U+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(W(r=e[t],0,G,t),y=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(W(r=e[t],0,8,t),w=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(W(r[0],-G,0,t),W(r[1],0,G,t),v=r[0],b=r[1]):(W(r,-G,G,t),v=-(b=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)W(r[0],-G,-1,t),W(r[1],1,G,t),_=r[0],E=r[1];else{if(W(r,-G,G,t),!r)throw Error(U+t+" cannot be zero: "+r);_=-(E=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(U+t+" not true or false: "+r);if(r&&("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes))throw O=!r,Error(U+"crypto unavailable");O=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(W(r=e[t],0,9,t),i=r),e.hasOwnProperty(t="POW_PRECISION")&&(W(r=e[t],0,G,t),N=r),e.hasOwnProperty(t="FORMAT")){if("object"!=D(r=e[t]))throw Error(U+t+" not an object: "+r);A=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(U+t+" invalid: "+r);j="0123456789"==r.slice(0,10),S=r}}return{DECIMAL_PLACES:y,ROUNDING_MODE:w,EXPONENTIAL_AT:[v,b],RANGE:[_,E],CRYPTO:O,MODULO_MODE:i,POW_PRECISION:N,FORMAT:A,ALPHABET:S}},x.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!x.DEBUG)return!0;var t,r,n=e.c,i=e.e,o=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===o||-1===o)&&-G<=i&&i<=G&&i===F(i))if(0===n[0]){if(0===i&&1===n.length)return!0}else if((t=(i+1)%z)<1&&(t+=z),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||L<=r||r!==F(r))break e;if(0!==r)return!0}}else if(null===n&&null===i&&(null===o||1===o||-1===o))return!0;throw Error(U+"Invalid BigNumber: "+e)},x.maximum=x.max=function(){return o(arguments,r.lt)},x.minimum=x.min=function(){return o(arguments,r.gt)},x.random=(t=9007199254740992,c=Math.random()*t&2097151?function(){return F(Math.random()*t)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,i,o,s=0,u=[],l=new x(g);if(null==e?e=y:W(e,0,G),i=_t(e/z),O)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(i*=2));s<i;)9e15<=(o=131072*t[s]+(t[s+1]>>>11))?(r=crypto.getRandomValues(new Uint32Array(2)),t[s]=r[0],t[s+1]=r[1]):(u.push(o%1e14),s+=2);s=i/2}else{if(!crypto.randomBytes)throw O=!1,Error(U+"crypto unavailable");for(t=crypto.randomBytes(i*=7);s<i;)9e15<=(o=281474976710656*(31&t[s])+1099511627776*t[s+1]+4294967296*t[s+2]+16777216*t[s+3]+(t[s+4]<<16)+(t[s+5]<<8)+t[s+6])?crypto.randomBytes(7).copy(t,s):(u.push(o%1e14),s+=7);s=i/7}if(!O)for(;s<i;)(o=c())<9e15&&(u[s++]=o%1e14);for(i=u[--s],e%=z,i&&e&&(u[s]=F(i/(o=Nt[z-e]))*o);0===u[s];u.pop(),s--);if(s<0)u=[n=0];else{for(n=-1;0===u[0];u.splice(0,1),n-=z);for(s=1,o=u[0];10<=o;o/=10,s++);s<z&&(n-=z-s)}return l.e=n,l.c=u,l}),x.sum=function(){for(var e=1,t=arguments,r=new x(t[0]);e<t.length;)r=r.plus(t[e++]);return r},m="0123456789",f=function(e,t,r,n,i){var o,s,u,l,c,a,f,h,p=e.indexOf("."),g=y,v=w;for(0<=p&&(l=N,N=0,e=e.replace(".",""),a=(h=new x(t)).pow(e.length-p),N=l,h.c=k(Y(H(a.c),a.e,"0"),10,r,m),h.e=h.c.length),u=l=(f=k(e,t,r,i?(o=S,m):(o=m,S))).length;0==f[--l];f.pop());if(!f[0])return o.charAt(0);if(p<0?--u:(a.c=f,a.e=u,a.s=n,f=(a=d(a,h,g,v,r)).c,c=a.r,u=a.e),p=f[s=u+g+1],l=r/2,c=c||s<0||null!=f[s+1],c=v<4?(null!=p||c)&&(0==v||v==(a.s<0?3:2)):l<p||p==l&&(4==v||c||6==v&&1&f[s-1]||v==(a.s<0?8:7)),s<1||!f[0])e=c?Y(o.charAt(1),-g,o.charAt(0)):o.charAt(0);else{if(f.length=s,c)for(--r;++f[--s]>r;)f[s]=0,s||(++u,f=[1].concat(f));for(l=f.length;!f[--l];);for(p=0,e="";p<=l;e+=o.charAt(f[p++]));e=Y(e,u,o.charAt(0))}return e},d=function(e,t,r,n,i){var o,s,u,l,c,a,f,h,p,g,v,d,m,y,w,b,_,E=e.s==t.s?1:-1,O=e.c,N=t.c;if(!(O&&O[0]&&N&&N[0]))return new x(e.s&&t.s&&(O?!N||O[0]!=N[0]:N)?O&&0==O[0]||!N?0*E:E/0:NaN);for(p=(h=new x(E)).c=[],E=r+(s=e.e-t.e)+1,i||(i=L,s=q(e.e/z)-q(t.e/z),E=E/z|0),u=0;N[u]==(O[u]||0);u++);if(N[u]>(O[u]||0)&&s--,E<0)p.push(1),l=!0;else{for(y=O.length,b=N.length,E+=2,1<(c=F(i/(N[u=0]+1)))&&(N=P(N,c,i),O=P(O,c,i),b=N.length,y=O.length),m=b,v=(g=O.slice(0,b)).length;v<b;g[v++]=0);_=N.slice(),_=[0].concat(_),w=N[0],N[1]>=i/2&&w++;do{if(c=0,(o=T(N,g,b,v))<0){if(d=g[0],b!=v&&(d=d*i+(g[1]||0)),1<(c=F(d/w)))for(f=(a=P(N,c=i<=c?i-1:c,i)).length,v=g.length;1==T(a,g,f,v);)c--,$(a,b<f?_:N,f,i),f=a.length,o=1;else 0==c&&(o=c=1),f=(a=N.slice()).length;if($(g,a=f<v?[0].concat(a):a,v,i),v=g.length,-1==o)for(;T(N,g,b,v)<1;)c++,$(g,b<v?_:N,v,i),v=g.length}else 0===o&&(c++,g=[0])}while(p[u++]=c,g[0]?g[v++]=O[m]||0:(g=[O[m]],v=1),(m++<y||null!=g[0])&&E--);l=null!=g[0],p[0]||p.splice(0,1)}if(i==L){for(u=1,E=p[0];10<=E;E/=10,u++);I(h,r+(h.e=u+s*z-1)+1,n,l)}else h.e=s,h.r=+l;return h},s=/^(-?)0([xbo])(?=\w[\w.]*$)/i,u=/^([^.]+)\.$/,l=/^\.([^.]+)$/,a=/^-?(Infinity|NaN)$/,p=/^\s*\+(?=[\w.])|^\s+|\s+$/g,h=function(e,t,r,n){var i,o=r?t:t.replace(p,"");if(a.test(o))e.s=isNaN(o)?null:o<0?-1:1;else{if(!r&&(o=o.replace(s,function(e,t,r){return i="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=i?e:t}),n&&(i=n,o=o.replace(u,"$1").replace(l,"0.$1")),t!=o))return new x(o,i);if(x.DEBUG)throw Error(U+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},r.absoluteValue=r.abs=function(){var e=new x(this);return e.s<0&&(e.s=1),e},r.comparedTo=function(e,t){return V(this,new x(e,t))},r.decimalPlaces=r.dp=function(e,t){var r,n;if(null!=e)return W(e,0,G),null==t?t=w:W(t,0,8),I(new x(this),e+this.e+1,t);if(!(e=this.c))return null;if(r=((n=e.length-1)-q(this.e/z))*z,n=e[n])for(;n%10==0;n/=10,r--);return r=r<0?0:r},r.dividedBy=r.div=function(e,t){return d(this,new x(e,t),y,w)},r.dividedToIntegerBy=r.idiv=function(e,t){return d(this,new x(e,t),0,1)},r.exponentiatedBy=r.pow=function(e,t){var r,n,i,o,s,u,l,c,a=this;if((e=new x(e)).c&&!e.isInteger())throw Error(U+"Exponent not an integer: "+R(e));if(null!=t&&(t=new x(t)),s=14<e.e,!a.c||!a.c[0]||1==a.c[0]&&!a.e&&1==a.c.length||!e.c||!e.c[0])return c=new x(Math.pow(+R(a),s?e.s*(2-Z(e)):+R(e))),t?c.mod(t):c;if(u=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new x(NaN);(n=!u&&a.isInteger()&&t.isInteger())&&(a=a.mod(t))}else{if(9<e.e&&(0<a.e||a.e<-1||(0==a.e?1<a.c[0]||s&&24e7<=a.c[1]:a.c[0]<8e13||s&&a.c[0]<=9999975e7)))return o=a.s<0&&Z(e)?-0:0,-1<a.e&&(o=1/o),new x(u?1/o:o);N&&(o=_t(N/z+2))}for(l=s?(r=new x(.5),u&&(e.s=1),Z(e)):(i=Math.abs(+R(e)))%2,c=new x(g);;){if(l){if(!(c=c.times(a)).c)break;o?c.c.length>o&&(c.c.length=o):n&&(c=c.mod(t))}if(i){if(0===(i=F(i/2)))break;l=i%2}else if(I(e=e.times(r),e.e+1,1),14<e.e)l=Z(e);else{if(0==(i=+R(e)))break;l=i%2}a=a.times(a),o?a.c&&a.c.length>o&&(a.c.length=o):n&&(a=a.mod(t))}return n?c:(u&&(c=g.div(c)),t?c.mod(t):o?I(c,N,w,void 0):c)},r.integerValue=function(e){var t=new x(this);return null==e?e=w:W(e,0,8),I(t,t.e+1,e)},r.isEqualTo=r.eq=function(e,t){return 0===V(this,new x(e,t))},r.isFinite=function(){return!!this.c},r.isGreaterThan=r.gt=function(e,t){return 0<V(this,new x(e,t))},r.isGreaterThanOrEqualTo=r.gte=function(e,t){return 1===(t=V(this,new x(e,t)))||0===t},r.isInteger=function(){return!!this.c&&q(this.e/z)>this.c.length-2},r.isLessThan=r.lt=function(e,t){return V(this,new x(e,t))<0},r.isLessThanOrEqualTo=r.lte=function(e,t){return-1===(t=V(this,new x(e,t)))||0===t},r.isNaN=function(){return!this.s},r.isNegative=function(){return this.s<0},r.isPositive=function(){return 0<this.s},r.isZero=function(){return!!this.c&&0==this.c[0]},r.minus=function(e,t){var r,n,i,o,s=this,u=s.s;if(t=(e=new x(e,t)).s,!u||!t)return new x(NaN);if(u!=t)return e.s=-t,s.plus(e);var l=s.e/z,c=e.e/z,a=s.c,f=e.c;if(!l||!c){if(!a||!f)return a?(e.s=-t,e):new x(f?s:NaN);if(!a[0]||!f[0])return f[0]?(e.s=-t,e):new x(a[0]?s:3==w?-0:0)}if(l=q(l),c=q(c),a=a.slice(),u=l-c){for((i=(o=u<0)?(u=-u,a):(c=l,f)).reverse(),t=u;t--;i.push(0));i.reverse()}else for(n=(o=(u=a.length)<(t=f.length))?u:t,u=t=0;t<n;t++)if(a[t]!=f[t]){o=a[t]<f[t];break}if(o&&(i=a,a=f,f=i,e.s=-e.s),0<(t=(n=f.length)-(r=a.length)))for(;t--;a[r++]=0);for(t=L-1;u<n;){if(a[--n]<f[n]){for(r=n;r&&!a[--r];a[r]=t);--a[r],a[n]+=L}a[n]-=f[n]}for(;0==a[0];a.splice(0,1),--c);return a[0]?B(e,a,c):(e.s=3==w?-1:1,e.c=[e.e=0],e)},r.modulo=r.mod=function(e,t){var r,n=this;return e=new x(e,t),!n.c||!e.s||e.c&&!e.c[0]?new x(NaN):!e.c||n.c&&!n.c[0]?new x(n):(9==i?(t=e.s,e.s=1,r=d(n,e,0,3),e.s=t,r.s*=t):r=d(n,e,0,i),(e=n.minus(r.times(e))).c[0]||1!=i||(e.s=n.s),e)},r.multipliedBy=r.times=function(e,t){var r,n,i,o,s,u,l,c,a,f,h,p=this,g=p.c,v=(e=new x(e,t)).c;if(!(g&&v&&g[0]&&v[0]))return!p.s||!e.s||g&&!g[0]&&!v||v&&!v[0]&&!g?e.c=e.e=e.s=null:(e.s*=p.s,g&&v?(e.c=[0],e.e=0):e.c=e.e=null),e;for(t=q(p.e/z)+q(e.e/z),e.s*=p.s,(u=g.length)<(p=v.length)&&(h=g,g=v,v=h,n=u,u=p,p=n),n=u+p,h=[];n--;h.push(0));for(n=p;0<=--n;){for(a=v[n]%1e7,f=v[n]/1e7|(r=0),i=n+(o=u);n<i;)r=((l=a*(l=g[--o]%1e7)+(s=f*l+(c=g[o]/1e7|0)*a)%1e7*1e7+h[i]+r)/1e14|0)+(s/1e7|0)+f*c,h[i--]=l%1e14;h[i]=r}return r?++t:h.splice(0,1),B(e,h,t)},r.negated=function(){var e=new x(this);return e.s=-e.s||null,e},r.plus=function(e,t){var r,n=this,i=n.s;if(t=(e=new x(e,t)).s,!i||!t)return new x(NaN);if(i!=t)return e.s=-t,n.minus(e);var o=n.e/z,s=e.e/z,u=n.c,l=e.c;if(!o||!s){if(!u||!l)return new x(i/0);if(!u[0]||!l[0])return l[0]?e:new x(u[0]?n:0*i)}if(o=q(o),s=q(s),u=u.slice(),i=o-s){for((r=0<i?(s=o,l):(i=-i,u)).reverse();i--;r.push(0));r.reverse()}for((i=u.length)-(t=l.length)<0&&(r=l,l=u,u=r,t=i),i=0;t;)i=(u[--t]=u[t]+l[t]+i)/L|0,u[t]=L===u[t]?0:u[t]%L;return i&&(u=[i].concat(u),++s),B(e,u,s)},r.precision=r.sd=function(e,t){var r,n;if(null!=e&&e!==!!e)return W(e,1,G),null==t?t=w:W(t,0,8),I(new x(this),e,t);if(!(t=this.c))return null;if(r=(n=t.length-1)*z+1,n=t[n]){for(;n%10==0;n/=10,r--);for(n=t[0];10<=n;n/=10,r++);}return r=e&&this.e+1>r?this.e+1:r},r.shiftedBy=function(e){return W(e,-Ot,Ot),this.times("1e"+e)},r.squareRoot=r.sqrt=function(){var e,t,r,n,i,o=this,s=o.c,u=o.s,l=o.e,c=y+4,a=new x("0.5");if(1!==u||!s||!s[0])return new x(!u||u<0&&(!s||s[0])?NaN:s?o:1/0);if((r=0==(u=Math.sqrt(+R(o)))||u==1/0?(((t=H(s)).length+l)%2==0&&(t+="0"),u=Math.sqrt(+t),l=q((l+1)/2)-(l<0||l%2),new x(t=u==1/0?"5e"+l:(t=u.toExponential()).slice(0,t.indexOf("e")+1)+l)):new x(u+"")).c[0])for((u=(l=r.e)+c)<3&&(u=0);;)if(i=r,r=a.times(i.plus(d(o,i,c,1))),H(i.c).slice(0,u)===(t=H(r.c)).slice(0,u)){if(r.e<l&&--u,"9999"!=(t=t.slice(u-3,u+1))&&(n||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(I(r,r.e+y+2,1),e=!r.times(r).eq(o));break}if(!n&&(I(i,i.e+y+2,0),i.times(i).eq(o))){r=i;break}c+=4,u+=4,n=1}return I(r,r.e+y+1,w,e)},r.toExponential=function(e,t){return null!=e&&(W(e,0,G),e++),n(this,e,t,1)},r.toFixed=function(e,t){return null!=e&&(W(e,0,G),e=e+this.e+1),n(this,e,t)},r.toFormat=function(e,t,r){if(null==r)null!=e&&t&&"object"==D(t)?(r=t,t=null):e&&"object"==D(e)?(r=e,e=t=null):r=A;else if("object"!=D(r))throw Error(U+"Argument not an object: "+r);if(e=this.toFixed(e,t),this.c){var n,t=e.split("."),i=+r.groupSize,o=+r.secondaryGroupSize,s=r.groupSeparator||"",u=t[0],t=t[1],l=this.s<0,c=l?u.slice(1):u,a=c.length;if(o&&(n=i,i=o,a-=o=n),0<i&&0<a){for(u=c.substr(0,n=a%i||i);n<a;n+=i)u+=s+c.substr(n,i);0<o&&(u+=s+c.slice(n)),l&&(u="-"+u)}e=t?u+(r.decimalSeparator||"")+((o=+r.fractionGroupSize)?t.replace(new RegExp("\\d{"+o+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):t):u}return(r.prefix||"")+e+(r.suffix||"")},r.toFraction=function(e){var t,r,n,i,o,s,u,l,c,a,f=this,h=f.c;if(null!=e&&(!(u=new x(e)).isInteger()&&(u.c||1!==u.s)||u.lt(g)))throw Error(U+"Argument "+(u.isInteger()?"out of range: ":"not an integer: ")+R(u));if(!h)return new x(f);for(t=new x(g),c=r=new x(g),n=l=new x(g),h=H(h),o=t.e=h.length-f.e-1,t.c[0]=Nt[(s=o%z)<0?z+s:s],e=!e||0<u.comparedTo(t)?0<o?t:c:u,s=E,E=1/0,u=new x(h),l.c[0]=0;a=d(u,t,0,1),1!=(i=r.plus(a.times(n))).comparedTo(e);)r=n,n=i,c=l.plus(a.times(i=c)),l=i,t=u.minus(a.times(i=t)),u=i;return i=d(e.minus(r),n,0,1),l=l.plus(i.times(c)),r=r.plus(i.times(n)),l.s=c.s=f.s,h=d(c,n,o*=2,w).minus(f).abs().comparedTo(d(l,r,o,w).minus(f).abs())<1?[c,n]:[l,r],E=s,h},r.toNumber=function(){return+R(this)},r.toPrecision=function(e,t){return null!=e&&W(e,1,G),n(this,e,t,2)},r.toString=function(e){var t,r=this,n=r.s,i=r.e;return null===i?n?(t="Infinity",n<0&&(t="-"+t)):t="NaN":(t=null==e?i<=v||b<=i?X(H(r.c),i):Y(H(r.c),i,"0"):10===e&&j?Y(H((r=I(new x(r),y+i+1,w)).c),r.e,"0"):(W(e,2,S.length,"Base"),f(Y(H(r.c),i,"0"),10,e,n,!0)),n<0&&r.c[0]&&(t="-"+t)),t},r.valueOf=r.toJSON=function(){return R(this)},r._isBigNumber=!0,r[Symbol.toStringTag]="BigNumber",r[Symbol.for("nodejs.util.inspect.custom")]=r.valueOf,null!=e&&x.set(e),x}();function At(e){for(var t=[];0<e.length;){var r=e.shift();if(S(r)){if(t.length<2)throw new Error("错误的栈长度, 可能是无法计算的表达式");var n=t.pop(),i=t.pop();if("string"==typeof n&&!_.isBigNumber(n)){if(!c(n))throw new Error("".concat(n,"不是一个合法的数字"));n=new _(n)}if("string"==typeof i&&!_.isBigNumber(i)){if(!c(i))throw new Error("".concat(i,"不是一个合法的数字"));i=new _(i)}switch(r){case"+":t.push(i.plus(n));break;case"-":t.push(i.minus(n));break;case"*":t.push(i.times(n));break;case"/":t.push(i.div(n));break;case"%":t.push(i.mod(n));break;case"**":t.push(i.pow(n))}}else t.push(r)}if(1!==t.length)throw"unvalid expression";var o=t[0];if((o=_.isBigNumber(o)?o:_(o)).isNaN())throw new Error("计算结果为NaN");return o}function St(e,t){var r,n,i,o,s,u,l,c,a,f,h,p,g,v,d,m,y,w="";return _.isBigNumber(e)?w=e.toFixed():"string"!=typeof e&&(w=e.toString()),"undefined"===w||"NaN"===w?null:(s="~-",c=l=u=o=i=n=r=null,t.forEach(function(e){var t=e.type;if("symbol"===t){if(![">=","<=","="].includes(e.value))throw new Error("错误的格式化参数:",e.value);n=e.value}else if("comma"===t)i=!0;else if("number"===t)r=e.value;else if("plus"===t)o=!0;else if("round"===t)s=e.value;else if("fraction"===t)l=!0;else if("scientific"===t)u=!0;else{if("percent"!==t)throw new Error("错误的fmt Token");c=!0}}),u?(e=_(w).toExponential(),o&&!e.startsWith("-")?"+"+e:e):l?(t=_(w).toFraction().map(function(e){return e.toFixed()}).join("/"),o&&!t.startsWith("-")?"+"+t:t):(c&&(w=_(w).times(100).toFixed()),r&&(e=w.split("."),t=e[0],e=1===e.length?"":e[1],m=n,h=r,d=s,p=a=t,y=(g=f=e).length,v={"~-":function(){g=f.slice(0,h)},"~+":function(){""===(g=f.slice(0,h))?p=a.slice(0,a.length-1)+(+a[a.length-1]+1):g=g.slice(0,h-1)+(+g[h-1]+1)},"~5":function(){g=f.slice(0,h);var e=+f[h];""===g?5<=e&&(p=a.slice(0,a.length-1)+(+a[a.length-1]+1)):5<=e&&(g=g.slice(0,h-1)+(+g[h-1]+1))},"~6":function(){g=f.slice(0,h);var e=""===(e=f.slice(+h+1,f.length))?0:parseInt(e),t=+f[h],r=+a[a.length-1];""===g?(6<=t||5==t&&0<e||5==t&&r%2!=0)&&(p=a.slice(0,a.length-1)+(+a[a.length-1]+1)):(r=+f[h-1],(6<=t||5==t&&0<e||5==t&&r%2!=0)&&(g=g.slice(0,h-1)+(+g[h-1]+1)))}},"<="===m?y<=h?g=f:v[d]&&v[d]():"="===m?y<h?g=f+"0".repeat(h-y):h<y&&v[d]&&v[d]():">="===m&&y<h&&(g=f+"0".repeat(h-y)),t=(v={int_part:p,dec_part:g}).int_part,w=""===(e=v.dec_part)?t:"".concat(t,".").concat(e)),i&&(w=1<(d=w.split(".")).length?((m=d[0]).includes("-")?d[0]=m[0]+m.slice(1).replace(/(?=(?!^)(?:\d{3})+$)/g,","):d[0]=m.replace(/(?=(?!^)(?:\d{3})+$)/g,","),d.join(".")):(y=d[0]).includes("-")?y[0]+y.slice(1).replace(/(?=(?!^)(?:\d{3})+$)/g,","):y.replace(/(?=(?!^)(?:\d{3})+$)/g,",")),null===o||w.startsWith("-")||(w="+"+w),c&&(w+="%"),w))}function jt(e,i){return e.map(function(e){if("var"!==e.type)return e;for(var t,r,n=0;n<i.length&&!f(t=w(i[n],e.value));n++);if("number"==typeof(r=t)||c(r))return{type:"number",value:t};throw new Error("错误的填充值")})}function xt(e){var r=null;return e.length,{tokens:e.map(function(e){var t=function(e){for(var t,r,n=null,i=null,o=[/^([+-]?[\d.]+(?:e|E)(?:\+|-)?\d+)(.*)$/,/^([+-]?[\d.]+)(.*)$/],s=0;s<o.length;s++){var u=e.match(o[s]);if(u){t=u;break}}return t&&(i=t[1],""!==(r=t[2]).trim())&&(n=r),{num:i,unit:n}}(e.value);return null!==t.unit?(null==r&&(r=t.unit),{type:"number",value:t.num}):e}),unit:r}}function kt(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=function(e){var t={expr:"",fmt:null,options:null,fmt_err:!1,expr_err:!1},r="",n=e[0],i=e[1],o=w(i,"_error",!1);if(0===e.length)throw new Error("至少传入一个参数");if("string"==typeof n){if(""===(r=n).trim()||n.includes("NaN"))return t.expr_err=!0,t}else{if("number"!=typeof n){if(!0===o)return t.expr_err=!0,t;throw new Error("错误的第一个参数类型: ".concat(n," 类型为:").concat(D(n)))}r=n.toString()}if(f(i)&&(t.options=i),e=r.split("|"),t.expr=e[0],1<e.length){o=e[1];if(""!==o.trim())try{t.fmt=k(o)}catch(e){return t.fmt_err=!0,t}}if(null!==t.options&&t.options._fmt){var s,n=[];try{n=k(t.options._fmt)}catch(e){return t.fmt_err=!0,t}null===t.fmt?t.fmt=n:(s=t.fmt.map(function(e){return e.type}),n.forEach(function(e){s.includes(e.type)||t.fmt.push(e)}))}return t}(t),i=w(n,"options._error",!1),o=w(n,"options._debug",!1),s=w(n,"options._unit",!1),u=n.options,l=null;if(n.fmt_err||n.expr_err){if(i)return i;throw new Error("表达式或格式化字符串错误,表达式为:".concat(n.expr))}if(i)try{c=mt(n.expr,s)}catch(e){return i}else c=mt(n.expr,s);if(o&&(console.warn("======a-calc调试模式======"),console.warn("arg:"),console.warn(n),console.warn("tokens:"),console.warn(c)),h(u)){var c,a=[];if(Array.isArray(u)?a=u:(a.push(u),f(u=w(u,"_fill_data",{}))&&(Array.isArray(u)?a=[].concat(E(a),E(u)):a.push(u))),i)try{c=yt(c,a,s),h(n.fmt)&&(n.fmt=jt(n.fmt,a))}catch(e){return i}else c=yt(c,a,s),h(n.fmt)&&(n.fmt=jt(n.fmt,a));[!0,"on","auto","space"].includes(s)&&(l=(u=xt(c)).unit,c=u.tokens)}o&&(console.warn("分离单位之后的tokens:"),console.warn(c),console.warn("单位:".concat(l)));a=wt(c),s=null;if(i)try{s=At(a)}catch(e){return i}else s=At(a);if("Infinity"!==(s=h(n.fmt)?St(s,n.fmt):null!==s?s.toFixed():null)&&null!==s)return null!==l&&(s+=l),s;if(i)return i;throw new Error("计算错误可能是非法的计算式")}console.log("%ca-calc:%c ".concat(O),"color: #fff;background: #67C23A;padding: 2px 3px;border-radius:4px;font-size: 14px;","color: #409EFF;font-size:14px;");t=kt;return e.calc=kt,e.fmt=t,e.version=O,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
|
package/calc.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
export function calc (
|
|
1
|
+
export declare function calc (
|
|
2
|
+
expr: any,
|
|
3
|
+
options?: any[] | { _error: any, _fill_data: any, _unit: boolean | "on" | "off" | "auto" | "space" }
|
|
4
|
+
): string;
|
|
2
5
|
|
|
3
|
-
export function fmt (
|
|
6
|
+
export declare function fmt (
|
|
7
|
+
expr: any,
|
|
8
|
+
options?: any[] | { _error: any, _fill_data: any, _unit: boolean | "on" | "off" | "auto" | "space" }
|
|
9
|
+
): string;
|
|
4
10
|
|
|
5
|
-
export const version: string;
|
|
11
|
+
export declare const version: string;
|
|
6
12
|
|
|
7
13
|
|