mathjs 15.1.0 → 15.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HISTORY.md +22 -0
- package/NOTICE +1 -1
- package/README.md +6 -6
- package/bin/cli.js +1 -1
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +3 -3
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/function/import.js +7 -0
- package/lib/cjs/core/function/typed.js +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesDen.generated.js +19 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesNum.generated.js +19 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +14 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +123 -121
- package/lib/cjs/entry/pureFunctionsAny.generated.js +344 -336
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +4 -0
- package/lib/cjs/expression/embeddedDocs/function/fraction/den.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/fraction/num.js +14 -0
- package/lib/cjs/expression/parse.js +26 -2
- package/lib/cjs/factoriesAny.js +15 -1
- package/lib/cjs/function/algebra/polynomialRoot.js +4 -0
- package/lib/cjs/function/arithmetic/add.js +8 -1
- package/lib/cjs/function/arithmetic/cbrt.js +7 -6
- package/lib/cjs/function/arithmetic/ceil.js +10 -2
- package/lib/cjs/function/arithmetic/exp.js +7 -5
- package/lib/cjs/function/arithmetic/expm1.js +6 -5
- package/lib/cjs/function/arithmetic/fix.js +10 -2
- package/lib/cjs/function/arithmetic/floor.js +10 -2
- package/lib/cjs/function/arithmetic/log.js +13 -0
- package/lib/cjs/function/arithmetic/mod.js +8 -2
- package/lib/cjs/function/arithmetic/nthRoot.js +9 -3
- package/lib/cjs/function/arithmetic/nthRoots.js +7 -10
- package/lib/cjs/function/fraction/den.js +60 -0
- package/lib/cjs/function/fraction/num.js +62 -0
- package/lib/cjs/function/matrix/map.js +6 -0
- package/lib/cjs/function/relational/compare.js +6 -0
- package/lib/cjs/function/relational/compareNatural.js +8 -2
- package/lib/cjs/function/relational/deepEqual.js +8 -3
- package/lib/cjs/function/relational/equal.js +15 -2
- package/lib/cjs/function/relational/unequal.js +14 -2
- package/lib/cjs/function/set/setDistinct.js +2 -1
- package/lib/cjs/function/string/format.js +9 -0
- package/lib/cjs/function/utils/isFinite.js +8 -1
- package/lib/cjs/function/utils/numeric.js +6 -0
- package/lib/cjs/header.js +3 -3
- package/lib/cjs/type/bigint.js +5 -0
- package/lib/cjs/type/boolean.js +6 -0
- package/lib/cjs/type/complex/function/complex.js +6 -0
- package/lib/cjs/type/fraction/function/fraction.js +8 -0
- package/lib/cjs/type/matrix/function/index.js +8 -0
- package/lib/cjs/type/matrix/function/matrix.js +6 -0
- package/lib/cjs/type/matrix/function/sparse.js +4 -0
- package/lib/cjs/type/string.js +4 -0
- package/lib/cjs/type/unit/Unit.js +7 -0
- package/lib/cjs/type/unit/function/unit.js +8 -0
- package/lib/cjs/utils/array.js +3 -0
- package/lib/cjs/utils/customs.js +39 -46
- package/lib/cjs/utils/map.js +2 -2
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/function/import.js +7 -0
- package/lib/esm/core/function/typed.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesDen.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesNum.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny.generated.js +2 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +125 -123
- package/lib/esm/entry/pureFunctionsAny.generated.js +341 -333
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +4 -0
- package/lib/esm/expression/embeddedDocs/function/fraction/den.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/fraction/num.js +8 -0
- package/lib/esm/expression/parse.js +26 -2
- package/lib/esm/factoriesAny.js +3 -1
- package/lib/esm/function/algebra/polynomialRoot.js +4 -0
- package/lib/esm/function/arithmetic/add.js +8 -1
- package/lib/esm/function/arithmetic/cbrt.js +7 -6
- package/lib/esm/function/arithmetic/ceil.js +10 -2
- package/lib/esm/function/arithmetic/exp.js +7 -5
- package/lib/esm/function/arithmetic/expm1.js +6 -5
- package/lib/esm/function/arithmetic/fix.js +10 -2
- package/lib/esm/function/arithmetic/floor.js +10 -2
- package/lib/esm/function/arithmetic/log.js +13 -0
- package/lib/esm/function/arithmetic/mod.js +8 -2
- package/lib/esm/function/arithmetic/nthRoot.js +9 -3
- package/lib/esm/function/arithmetic/nthRoots.js +7 -10
- package/lib/esm/function/fraction/den.js +54 -0
- package/lib/esm/function/fraction/num.js +56 -0
- package/lib/esm/function/matrix/map.js +6 -0
- package/lib/esm/function/relational/compare.js +6 -0
- package/lib/esm/function/relational/compareNatural.js +8 -2
- package/lib/esm/function/relational/deepEqual.js +8 -3
- package/lib/esm/function/relational/equal.js +15 -2
- package/lib/esm/function/relational/unequal.js +14 -2
- package/lib/esm/function/set/setDistinct.js +2 -1
- package/lib/esm/function/string/format.js +9 -0
- package/lib/esm/function/utils/isFinite.js +8 -1
- package/lib/esm/function/utils/numeric.js +6 -0
- package/lib/esm/header.js +1 -1
- package/lib/esm/type/bigint.js +5 -0
- package/lib/esm/type/boolean.js +6 -0
- package/lib/esm/type/complex/function/complex.js +6 -0
- package/lib/esm/type/fraction/function/fraction.js +8 -0
- package/lib/esm/type/matrix/function/index.js +8 -0
- package/lib/esm/type/matrix/function/matrix.js +6 -0
- package/lib/esm/type/matrix/function/sparse.js +4 -0
- package/lib/esm/type/string.js +4 -0
- package/lib/esm/type/unit/Unit.js +7 -0
- package/lib/esm/type/unit/function/unit.js +8 -0
- package/lib/esm/utils/array.js +3 -0
- package/lib/esm/utils/customs.js +42 -56
- package/lib/esm/utils/map.js +3 -3
- package/lib/esm/version.js +1 -1
- package/package.json +14 -14
- package/types/index.d.ts +96 -15
|
@@ -61,12 +61,15 @@ const createEqual = exports.createEqual = /* #__PURE__ */(0, _factory.factory)(n
|
|
|
61
61
|
*
|
|
62
62
|
* const a = math.unit('50 cm')
|
|
63
63
|
* const b = math.unit('5 m')
|
|
64
|
+
* math.equal(a, b) // returns false
|
|
65
|
+
*
|
|
66
|
+
* const a = math.unit('500 cm')
|
|
67
|
+
* const b = math.unit('5 m')
|
|
64
68
|
* math.equal(a, b) // returns true
|
|
65
69
|
*
|
|
66
70
|
* const c = [2, 5, 1]
|
|
67
71
|
* const d = [2, 7, 1]
|
|
68
|
-
*
|
|
69
|
-
* math.equal(c, d) // returns [true, false, true]
|
|
72
|
+
* math.equal(c, d) // returns [true, false, true]...
|
|
70
73
|
* math.deepEqual(c, d) // returns false
|
|
71
74
|
*
|
|
72
75
|
* math.equal("1000", "1e3") // returns true
|
|
@@ -76,6 +79,16 @@ const createEqual = exports.createEqual = /* #__PURE__ */(0, _factory.factory)(n
|
|
|
76
79
|
*
|
|
77
80
|
* unequal, smaller, smallerEq, larger, largerEq, compare, deepEqual, equalText
|
|
78
81
|
*
|
|
82
|
+
* History:
|
|
83
|
+
*
|
|
84
|
+
* v13 Handle bigints
|
|
85
|
+
* v11.6 Support matrix broadcasting
|
|
86
|
+
* v4 Compare strings by their numerical value
|
|
87
|
+
* v0.24 Handle `null` and `undefined`
|
|
88
|
+
* v0.23 Compare collections elementwise
|
|
89
|
+
* v0.20 Compare floating-point numbers within epsilon, allowing roundoff
|
|
90
|
+
* v0.2 Created
|
|
91
|
+
*
|
|
79
92
|
* @param {number | BigNumber | bigint | boolean | Complex | Unit | string | Array | Matrix} x First value to compare
|
|
80
93
|
* @param {number | BigNumber | bigint | boolean | Complex | Unit | string | Array | Matrix} y Second value to compare
|
|
81
94
|
* @return {boolean | Array | Matrix} Returns true when the compared values are equal, else returns false
|
|
@@ -64,19 +64,31 @@ const createUnequal = exports.createUnequal = /* #__PURE__ */(0, _factory.factor
|
|
|
64
64
|
*
|
|
65
65
|
* const a = math.unit('50 cm')
|
|
66
66
|
* const b = math.unit('5 m')
|
|
67
|
+
* math.unequal(a, b) // returns true
|
|
68
|
+
*
|
|
69
|
+
* const a = math.unit('500 cm')
|
|
70
|
+
* const b = math.unit('5 m')
|
|
67
71
|
* math.unequal(a, b) // returns false
|
|
68
72
|
*
|
|
69
73
|
* const c = [2, 5, 1]
|
|
70
74
|
* const d = [2, 7, 1]
|
|
71
|
-
*
|
|
72
|
-
* math.unequal(c, d) // returns [false, true, false]
|
|
75
|
+
* math.unequal(c, d) // returns [false, true, false]...
|
|
73
76
|
* math.deepEqual(c, d) // returns false
|
|
74
77
|
*
|
|
75
78
|
* math.unequal(0, null) // returns true
|
|
79
|
+
*
|
|
76
80
|
* See also:
|
|
77
81
|
*
|
|
78
82
|
* equal, deepEqual, smaller, smallerEq, larger, largerEq, compare
|
|
79
83
|
*
|
|
84
|
+
* History:
|
|
85
|
+
*
|
|
86
|
+
* v13 Handle bigints
|
|
87
|
+
* v11.6 Support matrix broadcasting
|
|
88
|
+
* v4 Compare strings by their numeric values
|
|
89
|
+
* v0.24 Handle `null` and `undefined`
|
|
90
|
+
* v0.2 Created
|
|
91
|
+
*
|
|
80
92
|
* @param {number | BigNumber | Fraction | boolean | Complex | Unit | string | Array | Matrix | undefined} x First value to compare
|
|
81
93
|
* @param {number | BigNumber | Fraction | boolean | Complex | Unit | string | Array | Matrix | undefined} y Second value to compare
|
|
82
94
|
* @return {boolean | Array | Matrix} Returns true when the compared values are unequal, else returns false
|
|
@@ -20,6 +20,7 @@ const createSetDistinct = exports.createSetDistinct = /* #__PURE__ */(0, _factor
|
|
|
20
20
|
/**
|
|
21
21
|
* Collect the distinct elements of a multiset.
|
|
22
22
|
* A multi-dimension array will be converted to a single-dimension array before the operation.
|
|
23
|
+
* The items of the returned array will be sorted in natural order.
|
|
23
24
|
*
|
|
24
25
|
* Syntax:
|
|
25
26
|
*
|
|
@@ -34,7 +35,7 @@ const createSetDistinct = exports.createSetDistinct = /* #__PURE__ */(0, _factor
|
|
|
34
35
|
* setMultiplicity
|
|
35
36
|
*
|
|
36
37
|
* @param {Array | Matrix} a A multiset
|
|
37
|
-
* @return {Array | Matrix} A set containing the
|
|
38
|
+
* @return {Array | Matrix} A set containing the distinct elements of the multiset
|
|
38
39
|
*/
|
|
39
40
|
return typed(name, {
|
|
40
41
|
'Array | Matrix': function (a) {
|
|
@@ -126,6 +126,15 @@ const createFormat = exports.createFormat = /* #__PURE__ */(0, _factory.factory)
|
|
|
126
126
|
*
|
|
127
127
|
* print
|
|
128
128
|
*
|
|
129
|
+
* History:
|
|
130
|
+
*
|
|
131
|
+
* v0.4 Created
|
|
132
|
+
* v0.7 Round to a consistent number of digits (rather than decimals)
|
|
133
|
+
* v0.15 Added multiple number notations and configurable precision
|
|
134
|
+
* v3 Added support for JSON objects
|
|
135
|
+
* v9 Added binary, hexadecimal, and octal notations
|
|
136
|
+
* v10.4.2 Add `truncate` option
|
|
137
|
+
*
|
|
129
138
|
* @param {*} value Value to be stringified
|
|
130
139
|
* @param {Object | Function | number} [options] Formatting options
|
|
131
140
|
* @return {string} The formatted value
|
|
@@ -40,8 +40,15 @@ const createIsFinite = exports.createIsFinite = /* #__PURE__ */(0, _factory.fact
|
|
|
40
40
|
*
|
|
41
41
|
* isBounded isNumeric, isPositive, isNegative, isNaN
|
|
42
42
|
*
|
|
43
|
-
*
|
|
43
|
+
* History:
|
|
44
|
+
*
|
|
45
|
+
* v15.1 Created
|
|
46
|
+
*
|
|
47
|
+
* @param {number | BigNumber | bigint | Complex | Fraction | Unit | Array | Matrix} x
|
|
48
|
+
* Value to be tested
|
|
44
49
|
* @return {boolean | Array | Matrix}
|
|
50
|
+
* Whether the value, or its entries, are finite, as appropriate
|
|
51
|
+
* to its type
|
|
45
52
|
*/
|
|
46
53
|
return typed(name, {
|
|
47
54
|
'Array | Matrix': A => map(A, isBounded),
|
|
@@ -52,6 +52,12 @@ const createNumeric = exports.createNumeric = /* #__PURE__ */(0, _factory.factor
|
|
|
52
52
|
*
|
|
53
53
|
* number, fraction, bignumber, bigint, string, format
|
|
54
54
|
*
|
|
55
|
+
* History:
|
|
56
|
+
*
|
|
57
|
+
* v6 Created
|
|
58
|
+
* v13 Added `bigint` support
|
|
59
|
+
* v14.2.1 Prefer mathjs `bigint()` to built-in `BigInt()`
|
|
60
|
+
*
|
|
55
61
|
* @param {string | number | BigNumber | bigint | Fraction } value
|
|
56
62
|
* A numeric value or a string containing a numeric value
|
|
57
63
|
* @param {string} outputType
|
package/lib/cjs/header.js
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
* It features real and complex numbers, units, matrices, a large set of
|
|
7
7
|
* mathematical functions, and a flexible expression parser.
|
|
8
8
|
*
|
|
9
|
-
* @version 15.
|
|
10
|
-
* @date
|
|
9
|
+
* @version 15.2.0
|
|
10
|
+
* @date 2026-04-07
|
|
11
11
|
*
|
|
12
12
|
* @license
|
|
13
|
-
* Copyright (C) 2013-
|
|
13
|
+
* Copyright (C) 2013-2026 Jos de Jong <wjosdejong@gmail.com>
|
|
14
14
|
*
|
|
15
15
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
16
16
|
* use this file except in compliance with the License. You may obtain a copy
|
package/lib/cjs/type/bigint.js
CHANGED
|
@@ -31,6 +31,11 @@ const createBigint = exports.createBigint = /* #__PURE__ */(0, _factory.factory)
|
|
|
31
31
|
*
|
|
32
32
|
* number, bignumber, boolean, complex, index, matrix, string, unit
|
|
33
33
|
*
|
|
34
|
+
* History:
|
|
35
|
+
*
|
|
36
|
+
* v13 Created
|
|
37
|
+
* v14.2.1 Added conversion options
|
|
38
|
+
*
|
|
34
39
|
* @param {string | number | BigNumber | bigint | Fraction | boolean | Array | Matrix | null} [value] Value to be converted
|
|
35
40
|
* @return {bigint | Array | Matrix} The created bigint
|
|
36
41
|
*/
|
package/lib/cjs/type/boolean.js
CHANGED
|
@@ -36,6 +36,12 @@ const createBoolean = exports.createBoolean = /* #__PURE__ */(0, _factory.factor
|
|
|
36
36
|
*
|
|
37
37
|
* bignumber, complex, index, matrix, string, unit
|
|
38
38
|
*
|
|
39
|
+
* History:
|
|
40
|
+
*
|
|
41
|
+
* v0.11 Created
|
|
42
|
+
* v0.16 Added conversion from BigNumber
|
|
43
|
+
* v14.2.1 Added conversion from bigint
|
|
44
|
+
*
|
|
39
45
|
* @param {string | number | boolean | Array | Matrix | null} value A value of any type
|
|
40
46
|
* @return {boolean | Array | Matrix} The boolean value
|
|
41
47
|
*/
|
|
@@ -47,6 +47,12 @@ const createComplex = exports.createComplex = /* #__PURE__ */(0, _factory.factor
|
|
|
47
47
|
*
|
|
48
48
|
* bignumber, boolean, index, matrix, number, string, unit
|
|
49
49
|
*
|
|
50
|
+
* History:
|
|
51
|
+
*
|
|
52
|
+
* v0.5 Created
|
|
53
|
+
* v0.16 Added conversion from BigNumber
|
|
54
|
+
* v6 Added conversion from Fraction
|
|
55
|
+
*
|
|
50
56
|
* @param {* | Array | Matrix} [args]
|
|
51
57
|
* Arguments specifying the real and imaginary part of the complex number
|
|
52
58
|
* @return {Complex | Array | Matrix} Returns a complex value
|
|
@@ -45,6 +45,14 @@ const createFraction = exports.createFraction = /* #__PURE__ */(0, _factory.fact
|
|
|
45
45
|
*
|
|
46
46
|
* bignumber, number, string, unit
|
|
47
47
|
*
|
|
48
|
+
* History:
|
|
49
|
+
*
|
|
50
|
+
* v2 Created
|
|
51
|
+
* v3 Added conversion from BigNumber
|
|
52
|
+
* v11.8 Added conversion from Unit
|
|
53
|
+
* v13 Added conversion from bigint
|
|
54
|
+
* v14 Move to bigint-based fraction.js@5; construct from two bigints
|
|
55
|
+
*
|
|
48
56
|
* @param {number | string | Fraction | BigNumber | bigint | Unit | Array | Matrix} [args]
|
|
49
57
|
* Arguments specifying the value, or numerator and denominator of
|
|
50
58
|
* the fraction
|
|
@@ -45,6 +45,14 @@ const createIndex = exports.createIndex = /* #__PURE__ */(0, _factory.factory)(n
|
|
|
45
45
|
*
|
|
46
46
|
* bignumber, boolean, complex, matrix, number, string, unit
|
|
47
47
|
*
|
|
48
|
+
* History:
|
|
49
|
+
*
|
|
50
|
+
* v? Created
|
|
51
|
+
* v2 Dropped support for `[start, end, step]` arguments in favor
|
|
52
|
+
* of lists of arbitrary values; added support for Range
|
|
53
|
+
* objects.
|
|
54
|
+
* v11.10 Added support for arrays of booleans as indices.
|
|
55
|
+
*
|
|
48
56
|
* @param {...*} ranges Zero or more ranges or numbers.
|
|
49
57
|
* @return {Index} Returns the created index
|
|
50
58
|
*/
|
|
@@ -41,6 +41,12 @@ const createMatrix = exports.createMatrix = /* #__PURE__ */(0, _factory.factory)
|
|
|
41
41
|
*
|
|
42
42
|
* bignumber, boolean, complex, index, number, string, unit, sparse
|
|
43
43
|
*
|
|
44
|
+
* History:
|
|
45
|
+
*
|
|
46
|
+
* v0.5 Created
|
|
47
|
+
* v1.5 Support dense or sparse Matrix types; allow construction
|
|
48
|
+
* from string, Array, or another Matrix.
|
|
49
|
+
*
|
|
44
50
|
* @param {Array | Matrix} [data] A multi dimensional array
|
|
45
51
|
* @param {string} [format] The Matrix storage format, either `'dense'` or `'sparse'`
|
|
46
52
|
* @param {string} [datatype] Type of the values
|
|
@@ -41,6 +41,10 @@ const createSparse = exports.createSparse = /* #__PURE__ */(0, _factory.factory)
|
|
|
41
41
|
*
|
|
42
42
|
* bignumber, boolean, complex, index, number, string, unit, matrix
|
|
43
43
|
*
|
|
44
|
+
* History:
|
|
45
|
+
*
|
|
46
|
+
* v1.5 Created
|
|
47
|
+
*
|
|
44
48
|
* @param {Array | Matrix} [data] A two dimensional array
|
|
45
49
|
*
|
|
46
50
|
* @return {Matrix} The created matrix
|
package/lib/cjs/type/string.js
CHANGED
|
@@ -35,6 +35,10 @@ const createString = exports.createString = /* #__PURE__ */(0, _factory.factory)
|
|
|
35
35
|
*
|
|
36
36
|
* bignumber, boolean, complex, index, matrix, number, unit
|
|
37
37
|
*
|
|
38
|
+
* History:
|
|
39
|
+
*
|
|
40
|
+
* v0.9 Created
|
|
41
|
+
*
|
|
38
42
|
* @param {* | Array | Matrix | null} [value] A value to convert to a string
|
|
39
43
|
* @return {string | Array | Matrix} The created string
|
|
40
44
|
*/
|
|
@@ -3166,6 +3166,13 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
|
|
|
3166
3166
|
value: 1,
|
|
3167
3167
|
offset: 0
|
|
3168
3168
|
},
|
|
3169
|
+
Ah: {
|
|
3170
|
+
name: 'Ah',
|
|
3171
|
+
base: BASE_UNITS.ELECTRIC_CHARGE,
|
|
3172
|
+
prefixes: PREFIXES.SHORT,
|
|
3173
|
+
value: 3600,
|
|
3174
|
+
offset: 0
|
|
3175
|
+
},
|
|
3169
3176
|
// Electric capacitance
|
|
3170
3177
|
farad: {
|
|
3171
3178
|
name: 'farad',
|
|
@@ -38,6 +38,14 @@ const createUnitFunction = exports.createUnitFunction = /* #__PURE__ */(0, _fact
|
|
|
38
38
|
*
|
|
39
39
|
* bignumber, boolean, complex, index, matrix, number, string, createUnit
|
|
40
40
|
*
|
|
41
|
+
* History:
|
|
42
|
+
*
|
|
43
|
+
* v0.5 Created
|
|
44
|
+
* v0.16 Support conversion from BigNumber
|
|
45
|
+
* v2.5 Support BigNumber and Fraction values in units
|
|
46
|
+
* v2.6 Support Complex values in units
|
|
47
|
+
* v11.1 Allow the type of unit to be specifed by a unit (not just string)
|
|
48
|
+
*
|
|
41
49
|
* @param {* | Array | Matrix} args A number and unit.
|
|
42
50
|
* @return {Unit | Array | Matrix} The created unit
|
|
43
51
|
*/
|
package/lib/cjs/utils/array.js
CHANGED
|
@@ -856,6 +856,9 @@ function get(array, index) {
|
|
|
856
856
|
if (!Array.isArray(array)) {
|
|
857
857
|
throw new Error('Array expected');
|
|
858
858
|
}
|
|
859
|
+
if (!Array.isArray(index)) {
|
|
860
|
+
throw new Error('Array expected for index');
|
|
861
|
+
}
|
|
859
862
|
const size = arraySize(array);
|
|
860
863
|
if (index.length !== size.length) {
|
|
861
864
|
throw new _DimensionError.DimensionError(index.length, size.length);
|
package/lib/cjs/utils/customs.js
CHANGED
|
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getSafeMethod = getSafeMethod;
|
|
7
7
|
exports.getSafeProperty = getSafeProperty;
|
|
8
8
|
exports.isPlainObject = isPlainObject;
|
|
9
|
+
exports.isSafeArrayProperty = isSafeArrayProperty;
|
|
9
10
|
exports.isSafeMethod = isSafeMethod;
|
|
10
|
-
exports.
|
|
11
|
+
exports.isSafeObjectProperty = isSafeObjectProperty;
|
|
11
12
|
exports.setSafeProperty = setSafeProperty;
|
|
12
13
|
var _object = require("./object.js");
|
|
13
14
|
/**
|
|
14
|
-
* Get a property of a plain object
|
|
15
|
+
* Get a property of a plain object or array
|
|
15
16
|
* Throws an error in case the object is not a plain object or the
|
|
16
17
|
* property is not defined on the object itself
|
|
17
18
|
* @param {Object} object
|
|
@@ -19,18 +20,20 @@ var _object = require("./object.js");
|
|
|
19
20
|
* @return {*} Returns the property value when safe
|
|
20
21
|
*/
|
|
21
22
|
function getSafeProperty(object, prop) {
|
|
22
|
-
|
|
23
|
-
if (isSafeProperty(object, prop)) {
|
|
23
|
+
if (isSafeObjectProperty(object, prop) || isSafeArrayProperty(object, prop)) {
|
|
24
24
|
return object[prop];
|
|
25
25
|
}
|
|
26
|
-
if (
|
|
27
|
-
throw new Error(
|
|
26
|
+
if (isSafeMethod(object, prop)) {
|
|
27
|
+
throw new Error(`Cannot access method "${prop}" as a property`);
|
|
28
|
+
}
|
|
29
|
+
if (object === null || object === undefined) {
|
|
30
|
+
throw new TypeError(`Cannot access property "${prop}": object is ${object}`);
|
|
28
31
|
}
|
|
29
32
|
throw new Error('No access to property "' + prop + '"');
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
/**
|
|
33
|
-
* Set a property on a plain object.
|
|
36
|
+
* Set a property on a plain object or array.
|
|
34
37
|
* Throws an error in case the object is not a plain object or the
|
|
35
38
|
* property would override an inherited property like .constructor or .toString
|
|
36
39
|
* @param {Object} object
|
|
@@ -38,49 +41,43 @@ function getSafeProperty(object, prop) {
|
|
|
38
41
|
* @param {*} value
|
|
39
42
|
* @return {*} Returns the value
|
|
40
43
|
*/
|
|
41
|
-
// TODO: merge this function into access.js?
|
|
42
44
|
function setSafeProperty(object, prop, value) {
|
|
43
|
-
|
|
44
|
-
if (isSafeProperty(object, prop)) {
|
|
45
|
+
if (isSafeObjectProperty(object, prop) || isSafeArrayProperty(object, prop)) {
|
|
45
46
|
object[prop] = value;
|
|
46
47
|
return value;
|
|
47
48
|
}
|
|
48
|
-
throw new Error(
|
|
49
|
+
throw new Error(`No access to property "${prop}"`);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
/**
|
|
52
|
-
* Test whether a property is safe
|
|
53
|
-
* For example .
|
|
54
|
-
* @param {Object
|
|
53
|
+
* Test whether a property is safe for reading and writing on an object
|
|
54
|
+
* For example .constructor and .__proto__ are not safe
|
|
55
|
+
* @param {Object} object
|
|
55
56
|
* @param {string} prop
|
|
56
57
|
* @return {boolean} Returns true when safe
|
|
57
58
|
*/
|
|
58
|
-
function
|
|
59
|
-
if (!isPlainObject(object)
|
|
59
|
+
function isSafeObjectProperty(object, prop) {
|
|
60
|
+
if (!isPlainObject(object)) {
|
|
60
61
|
return false;
|
|
61
62
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
// UNSAFE: inherited from Function prototype
|
|
76
|
-
// e.g call, apply
|
|
77
|
-
if (prop in Function.prototype) {
|
|
78
|
-
// 'in' is used instead of hasOwnProperty for nodejs v0.10
|
|
79
|
-
// which is inconsistent on root prototypes. It is safe
|
|
80
|
-
// here because Function.prototype is a root object
|
|
63
|
+
return !(prop in Object.prototype);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Test whether a property is safe for reading and writing on an Array
|
|
68
|
+
* For example .__proto__ and .constructor are not safe
|
|
69
|
+
* @param {unknown} array
|
|
70
|
+
* @param {string | number} prop
|
|
71
|
+
* @return {boolean} Returns true when safe
|
|
72
|
+
*/
|
|
73
|
+
function isSafeArrayProperty(array, prop) {
|
|
74
|
+
if (!Array.isArray(array)) {
|
|
81
75
|
return false;
|
|
82
76
|
}
|
|
83
|
-
return
|
|
77
|
+
return typeof prop === 'number' || typeof prop === 'string' && isInteger(prop) || prop === 'length';
|
|
78
|
+
}
|
|
79
|
+
function isInteger(prop) {
|
|
80
|
+
return /^\d+$/.test(prop);
|
|
84
81
|
}
|
|
85
82
|
|
|
86
83
|
/**
|
|
@@ -108,17 +105,20 @@ function isSafeMethod(object, method) {
|
|
|
108
105
|
if (object === null || object === undefined || typeof object[method] !== 'function') {
|
|
109
106
|
return false;
|
|
110
107
|
}
|
|
108
|
+
|
|
111
109
|
// UNSAFE: ghosted
|
|
112
110
|
// e.g overridden toString
|
|
113
111
|
// Note that IE10 doesn't support __proto__ and we can't do this check there.
|
|
114
112
|
if ((0, _object.hasOwnProperty)(object, method) && Object.getPrototypeOf && method in Object.getPrototypeOf(object)) {
|
|
115
113
|
return false;
|
|
116
114
|
}
|
|
115
|
+
|
|
117
116
|
// SAFE: whitelisted
|
|
118
117
|
// e.g toString
|
|
119
|
-
if (
|
|
118
|
+
if (safeNativeMethods.has(method)) {
|
|
120
119
|
return true;
|
|
121
120
|
}
|
|
121
|
+
|
|
122
122
|
// UNSAFE: inherited from Object prototype
|
|
123
123
|
// e.g constructor
|
|
124
124
|
if (method in Object.prototype) {
|
|
@@ -127,6 +127,7 @@ function isSafeMethod(object, method) {
|
|
|
127
127
|
// here because Object.prototype is a root object
|
|
128
128
|
return false;
|
|
129
129
|
}
|
|
130
|
+
|
|
130
131
|
// UNSAFE: inherited from Function prototype
|
|
131
132
|
// e.g call, apply
|
|
132
133
|
if (method in Function.prototype) {
|
|
@@ -140,12 +141,4 @@ function isSafeMethod(object, method) {
|
|
|
140
141
|
function isPlainObject(object) {
|
|
141
142
|
return typeof object === 'object' && object && object.constructor === Object;
|
|
142
143
|
}
|
|
143
|
-
const
|
|
144
|
-
length: true,
|
|
145
|
-
name: true
|
|
146
|
-
};
|
|
147
|
-
const safeNativeMethods = {
|
|
148
|
-
toString: true,
|
|
149
|
-
valueOf: true,
|
|
150
|
-
toLocaleString: true
|
|
151
|
-
};
|
|
144
|
+
const safeNativeMethods = new Set(['toString', 'valueOf', 'toLocaleString']);
|
package/lib/cjs/utils/map.js
CHANGED
|
@@ -34,7 +34,7 @@ class ObjectWrappingMap {
|
|
|
34
34
|
return this;
|
|
35
35
|
}
|
|
36
36
|
has(key) {
|
|
37
|
-
return (0, _customs.
|
|
37
|
+
return (0, _customs.isSafeObjectProperty)(this.wrappedObject, key) && key in this.wrappedObject;
|
|
38
38
|
}
|
|
39
39
|
entries() {
|
|
40
40
|
return mapIterator(this.keys(), key => [key, this.get(key)]);
|
|
@@ -45,7 +45,7 @@ class ObjectWrappingMap {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
delete(key) {
|
|
48
|
-
if ((0, _customs.
|
|
48
|
+
if ((0, _customs.isSafeObjectProperty)(this.wrappedObject, key)) {
|
|
49
49
|
delete this.wrappedObject[key];
|
|
50
50
|
}
|
|
51
51
|
}
|
package/lib/cjs/version.js
CHANGED
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.version = void 0;
|
|
7
|
-
const version = exports.version = '15.
|
|
7
|
+
const version = exports.version = '15.2.0';
|
|
8
8
|
// Note: This file is automatically generated when building math.js.
|
|
9
9
|
// Changes made in this file will be overwritten.
|
|
@@ -55,6 +55,13 @@ export function importFactory(typed, load, math, importedFactories) {
|
|
|
55
55
|
*
|
|
56
56
|
* math.fibonacci(7) // returns 13
|
|
57
57
|
*
|
|
58
|
+
* History:
|
|
59
|
+
*
|
|
60
|
+
* v0.2 Created
|
|
61
|
+
* v0.7 Changed second parameter to an options object
|
|
62
|
+
* v2 Dropped support for direct import of a module by name
|
|
63
|
+
* v14.2 Add facility for specifying the former name of an import
|
|
64
|
+
*
|
|
58
65
|
* @param {Object | Array} functions Object with functions to be imported.
|
|
59
66
|
* @param {Object} [options] Import options.
|
|
60
67
|
*/
|
|
@@ -97,7 +97,7 @@ export var createTyped = /* #__PURE__ */factory('typed', dependencies, function
|
|
|
97
97
|
// TODO: deprecate the identifier type (it's not used anymore, see https://github.com/josdejong/mathjs/issues/3253)
|
|
98
98
|
{
|
|
99
99
|
name: 'identifier',
|
|
100
|
-
test: s => isString && /^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(s)
|
|
100
|
+
test: s => isString && /^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*$/.test(s)
|
|
101
101
|
}, {
|
|
102
102
|
name: 'string',
|
|
103
103
|
test: isString
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THIS FILE IS AUTO-GENERATED
|
|
3
|
+
* DON'T MAKE CHANGES HERE
|
|
4
|
+
*/
|
|
5
|
+
import { fractionDependencies } from './dependenciesFraction.generated.js';
|
|
6
|
+
import { typedDependencies } from './dependenciesTyped.generated.js';
|
|
7
|
+
import { createDen } from '../../factoriesAny.js';
|
|
8
|
+
export var denDependencies = {
|
|
9
|
+
fractionDependencies,
|
|
10
|
+
typedDependencies,
|
|
11
|
+
createDen
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THIS FILE IS AUTO-GENERATED
|
|
3
|
+
* DON'T MAKE CHANGES HERE
|
|
4
|
+
*/
|
|
5
|
+
import { fractionDependencies } from './dependenciesFraction.generated.js';
|
|
6
|
+
import { typedDependencies } from './dependenciesTyped.generated.js';
|
|
7
|
+
import { createNum } from '../../factoriesAny.js';
|
|
8
|
+
export var numDependencies = {
|
|
9
|
+
fractionDependencies,
|
|
10
|
+
typedDependencies,
|
|
11
|
+
createNum
|
|
12
|
+
};
|
|
@@ -84,6 +84,7 @@ export { cubeDependencies } from './dependenciesAny/dependenciesCube.generated.j
|
|
|
84
84
|
export { cumsumDependencies } from './dependenciesAny/dependenciesCumSum.generated.js';
|
|
85
85
|
export { cumsumTransformDependencies } from './dependenciesAny/dependenciesCumSumTransform.generated.js';
|
|
86
86
|
export { deepEqualDependencies } from './dependenciesAny/dependenciesDeepEqual.generated.js';
|
|
87
|
+
export { denDependencies } from './dependenciesAny/dependenciesDen.generated.js';
|
|
87
88
|
export { DenseMatrixDependencies } from './dependenciesAny/dependenciesDenseMatrixClass.generated.js';
|
|
88
89
|
export { derivativeDependencies } from './dependenciesAny/dependenciesDerivative.generated.js';
|
|
89
90
|
export { detDependencies } from './dependenciesAny/dependenciesDet.generated.js';
|
|
@@ -230,6 +231,7 @@ export { nuclearMagnetonDependencies } from './dependenciesAny/dependenciesNucle
|
|
|
230
231
|
export { nullDependencies } from './dependenciesAny/dependenciesNull.generated.js';
|
|
231
232
|
export { nullishDependencies } from './dependenciesAny/dependenciesNullish.generated.js';
|
|
232
233
|
export { nullishTransformDependencies } from './dependenciesAny/dependenciesNullishTransform.generated.js';
|
|
234
|
+
export { numDependencies } from './dependenciesAny/dependenciesNum.generated.js';
|
|
233
235
|
export { numberDependencies } from './dependenciesAny/dependenciesNumber.generated.js';
|
|
234
236
|
export { numericDependencies } from './dependenciesAny/dependenciesNumeric.generated.js';
|
|
235
237
|
export { ObjectNodeDependencies } from './dependenciesAny/dependenciesObjectNode.generated.js';
|