immutable 4.3.7 → 4.3.9
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/dist/immutable.es.js +187 -15
- package/dist/immutable.js +187 -15
- package/dist/immutable.min.js +33 -32
- package/package.json +1 -1
package/dist/immutable.es.js
CHANGED
|
@@ -880,6 +880,29 @@ function hashString(string) {
|
|
|
880
880
|
return smi(hashed);
|
|
881
881
|
}
|
|
882
882
|
|
|
883
|
+
// Per-process seed for the secondary collision hash. Never exposed nor
|
|
884
|
+
// serialized, so the public `hash()` stays deterministic. An odd base in
|
|
885
|
+
// [3, 2^20) keeps `base * h` exact as a double (no `Math.imul`).
|
|
886
|
+
var COLLISION_HASH_BASE =
|
|
887
|
+
((Math.random() * 0x100000) | 1) % 0x100000 || 0x9e37;
|
|
888
|
+
|
|
889
|
+
// Secondary hash to index entries within a `HashCollisionNode`, where every key
|
|
890
|
+
// shares the same primary `hash()`. Using a different, seeded base scatters
|
|
891
|
+
// crafted collision families (e.g. "Aa"/"BB", which only collide under base 31)
|
|
892
|
+
// that an attacker cannot precompute without the seed. It only narrows
|
|
893
|
+
// candidates — `is()` still decides equality — so non-string keys can safely
|
|
894
|
+
// fall back to the (here constant) primary hash and a linear scan.
|
|
895
|
+
function hashCollisionKey(key) {
|
|
896
|
+
if (typeof key !== 'string') {
|
|
897
|
+
return hash(key);
|
|
898
|
+
}
|
|
899
|
+
var hashed = 0;
|
|
900
|
+
for (var ii = 0; ii < key.length; ii++) {
|
|
901
|
+
hashed = (COLLISION_HASH_BASE * hashed + key.charCodeAt(ii)) | 0;
|
|
902
|
+
}
|
|
903
|
+
return hashed;
|
|
904
|
+
}
|
|
905
|
+
|
|
883
906
|
function hashSymbol(sym) {
|
|
884
907
|
var hashed = symbolMap[sym];
|
|
885
908
|
if (hashed !== undefined) {
|
|
@@ -2032,12 +2055,22 @@ function get(collection, key, notSetValue) {
|
|
|
2032
2055
|
: collection[key];
|
|
2033
2056
|
}
|
|
2034
2057
|
|
|
2058
|
+
function isProtoKey(key) {
|
|
2059
|
+
return (
|
|
2060
|
+
typeof key === 'string' && (key === '__proto__' || key === 'constructor')
|
|
2061
|
+
);
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2035
2064
|
function shallowCopy(from) {
|
|
2036
2065
|
if (Array.isArray(from)) {
|
|
2037
2066
|
return arrCopy(from);
|
|
2038
2067
|
}
|
|
2039
2068
|
var to = {};
|
|
2040
2069
|
for (var key in from) {
|
|
2070
|
+
if (isProtoKey(key)) {
|
|
2071
|
+
continue;
|
|
2072
|
+
}
|
|
2073
|
+
|
|
2041
2074
|
if (hasOwnProperty.call(from, key)) {
|
|
2042
2075
|
to[key] = from[key];
|
|
2043
2076
|
}
|
|
@@ -2072,6 +2105,10 @@ function remove(collection, key) {
|
|
|
2072
2105
|
}
|
|
2073
2106
|
|
|
2074
2107
|
function set(collection, key, value) {
|
|
2108
|
+
if (isProtoKey(key)) {
|
|
2109
|
+
return collection;
|
|
2110
|
+
}
|
|
2111
|
+
|
|
2075
2112
|
if (!isDataStructure(collection)) {
|
|
2076
2113
|
throw new TypeError(
|
|
2077
2114
|
'Cannot update non-data-structure value: ' + collection
|
|
@@ -2289,6 +2326,10 @@ function mergeWithSources(collection, sources, merger) {
|
|
|
2289
2326
|
merged.push(value);
|
|
2290
2327
|
}
|
|
2291
2328
|
: function (value, key) {
|
|
2329
|
+
if (isProtoKey(key)) {
|
|
2330
|
+
return;
|
|
2331
|
+
}
|
|
2332
|
+
|
|
2292
2333
|
var hasVal = hasOwnProperty.call(merged, key);
|
|
2293
2334
|
var nextVal =
|
|
2294
2335
|
hasVal && merger ? merger(merged[key], value, key) : value;
|
|
@@ -2768,20 +2809,79 @@ HashArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, ke
|
|
|
2768
2809
|
return new HashArrayMapNode(ownerID, newCount, newNodes);
|
|
2769
2810
|
};
|
|
2770
2811
|
|
|
2812
|
+
/**
|
|
2813
|
+
* Trie leaf gathering entries whose keys all share the same 32-bit `hash()`.
|
|
2814
|
+
* The trie routes by hash, so colliding keys cannot be separated and land here
|
|
2815
|
+
* in a flat `entries` array, disambiguated by `is()`.
|
|
2816
|
+
*
|
|
2817
|
+
* To guard against hash-flooding DoS (CWE-407), large buckets build a secondary
|
|
2818
|
+
* index keyed by a per-process seeded hash (`hashCollisionKey`). `is()` still
|
|
2819
|
+
* decides equality, so the index can only ever narrow candidates, never lose a key.
|
|
2820
|
+
*/
|
|
2771
2821
|
var HashCollisionNode = function HashCollisionNode(ownerID, keyHash, entries) {
|
|
2772
2822
|
this.ownerID = ownerID;
|
|
2773
2823
|
this.keyHash = keyHash;
|
|
2774
2824
|
this.entries = entries;
|
|
2825
|
+
// Lazy `{ [secondaryHash]: number[] }`, built only past
|
|
2826
|
+
// MIN_HASH_COLLISION_INDEX_SIZE so small buckets keep their linear path.
|
|
2827
|
+
this._index = undefined;
|
|
2775
2828
|
};
|
|
2776
2829
|
|
|
2777
|
-
|
|
2830
|
+
// Returns the position of `key` in `this.entries`, or -1. Uses the secondary
|
|
2831
|
+
// index when present; builds it only when `buildIndex` is true (reads and
|
|
2832
|
+
// transient inserts, where the node is reused so the O(n) build amortizes).
|
|
2833
|
+
// Persistent inserts already pay an O(n) copy, so a throwaway index is skipped.
|
|
2834
|
+
HashCollisionNode.prototype._positionOf = function _positionOf (key, buildIndex) {
|
|
2835
|
+
var entries = this.entries;
|
|
2836
|
+
var index = this._index;
|
|
2837
|
+
if (
|
|
2838
|
+
index === undefined &&
|
|
2839
|
+
buildIndex &&
|
|
2840
|
+
entries.length >= MIN_HASH_COLLISION_INDEX_SIZE
|
|
2841
|
+
) {
|
|
2842
|
+
index = this._buildIndex();
|
|
2843
|
+
}
|
|
2844
|
+
if (index !== undefined) {
|
|
2845
|
+
var positions = index[hashCollisionKey(key)];
|
|
2846
|
+
if (positions !== undefined) {
|
|
2847
|
+
for (var jj = 0; jj < positions.length; jj++) {
|
|
2848
|
+
var ii = positions[jj];
|
|
2849
|
+
if (is(key, entries[ii][0])) {
|
|
2850
|
+
return ii;
|
|
2851
|
+
}
|
|
2852
|
+
}
|
|
2853
|
+
}
|
|
2854
|
+
return -1;
|
|
2855
|
+
}
|
|
2856
|
+
for (var ii$1 = 0, len = entries.length; ii$1 < len; ii$1++) {
|
|
2857
|
+
if (is(key, entries[ii$1][0])) {
|
|
2858
|
+
return ii$1;
|
|
2859
|
+
}
|
|
2860
|
+
}
|
|
2861
|
+
return -1;
|
|
2862
|
+
};
|
|
2863
|
+
|
|
2864
|
+
// Builds and memoizes the secondary index. A plain object, not `Map` — which
|
|
2865
|
+
// in this module resolves to the *Immutable* Map, not the native one.
|
|
2866
|
+
HashCollisionNode.prototype._buildIndex = function _buildIndex () {
|
|
2867
|
+
var index = Object.create(null);
|
|
2778
2868
|
var entries = this.entries;
|
|
2779
2869
|
for (var ii = 0, len = entries.length; ii < len; ii++) {
|
|
2780
|
-
|
|
2781
|
-
|
|
2870
|
+
var secondaryHash = hashCollisionKey(entries[ii][0]);
|
|
2871
|
+
var positions = index[secondaryHash];
|
|
2872
|
+
if (positions !== undefined) {
|
|
2873
|
+
positions.push(ii);
|
|
2874
|
+
} else {
|
|
2875
|
+
index[secondaryHash] = [ii];
|
|
2782
2876
|
}
|
|
2783
2877
|
}
|
|
2784
|
-
|
|
2878
|
+
this._index = index;
|
|
2879
|
+
return index;
|
|
2880
|
+
};
|
|
2881
|
+
|
|
2882
|
+
HashCollisionNode.prototype.get = function get (shift, keyHash, key, notSetValue) {
|
|
2883
|
+
var idx = this._positionOf(key, true);
|
|
2884
|
+
return idx === -1 ? notSetValue : this.entries[idx][1];
|
|
2785
2885
|
};
|
|
2786
2886
|
|
|
2787
2887
|
HashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {
|
|
@@ -2801,14 +2901,11 @@ HashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, k
|
|
|
2801
2901
|
}
|
|
2802
2902
|
|
|
2803
2903
|
var entries = this.entries;
|
|
2804
|
-
var idx = 0;
|
|
2805
2904
|
var len = entries.length;
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
}
|
|
2811
|
-
var exists = idx < len;
|
|
2905
|
+
var isEditable = ownerID && ownerID === this.ownerID;
|
|
2906
|
+
var foundIdx = this._positionOf(key, isEditable);
|
|
2907
|
+
var idx = foundIdx === -1 ? len : foundIdx;
|
|
2908
|
+
var exists = foundIdx !== -1;
|
|
2812
2909
|
|
|
2813
2910
|
if (exists ? entries[idx][1] === value : removed) {
|
|
2814
2911
|
return this;
|
|
@@ -2821,7 +2918,6 @@ HashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, k
|
|
|
2821
2918
|
return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);
|
|
2822
2919
|
}
|
|
2823
2920
|
|
|
2824
|
-
var isEditable = ownerID && ownerID === this.ownerID;
|
|
2825
2921
|
var newEntries = isEditable ? entries : arrCopy(entries);
|
|
2826
2922
|
|
|
2827
2923
|
if (exists) {
|
|
@@ -2829,11 +2925,27 @@ HashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, k
|
|
|
2829
2925
|
idx === len - 1
|
|
2830
2926
|
? newEntries.pop()
|
|
2831
2927
|
: (newEntries[idx] = newEntries.pop());
|
|
2928
|
+
// The swap-pop reshuffles positions; drop the stale index (rebuilt lazily).
|
|
2929
|
+
if (isEditable) {
|
|
2930
|
+
this._index = undefined;
|
|
2931
|
+
}
|
|
2832
2932
|
} else {
|
|
2933
|
+
// Same key, same position: the index stays valid.
|
|
2833
2934
|
newEntries[idx] = [key, value];
|
|
2834
2935
|
}
|
|
2835
2936
|
} else {
|
|
2836
2937
|
newEntries.push([key, value]);
|
|
2938
|
+
// Keep the index in sync on the transient insert path. Persistent inserts
|
|
2939
|
+
// return a fresh node below whose index rebuilds lazily, so skip them.
|
|
2940
|
+
if (isEditable && this._index !== undefined) {
|
|
2941
|
+
var secondaryHash = hashCollisionKey(key);
|
|
2942
|
+
var positions = this._index[secondaryHash];
|
|
2943
|
+
if (positions !== undefined) {
|
|
2944
|
+
positions.push(len);
|
|
2945
|
+
} else {
|
|
2946
|
+
this._index[secondaryHash] = [len];
|
|
2947
|
+
}
|
|
2948
|
+
}
|
|
2837
2949
|
}
|
|
2838
2950
|
|
|
2839
2951
|
if (isEditable) {
|
|
@@ -3167,6 +3279,12 @@ var MAX_ARRAY_MAP_SIZE = SIZE / 4;
|
|
|
3167
3279
|
var MAX_BITMAP_INDEXED_SIZE = SIZE / 2;
|
|
3168
3280
|
var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;
|
|
3169
3281
|
|
|
3282
|
+
// Above this many colliding entries, a `HashCollisionNode` builds a seeded
|
|
3283
|
+
// secondary index instead of scanning linearly. Kept small so the rare,
|
|
3284
|
+
// naturally-occurring collision buckets stay overhead-free, while adversarial
|
|
3285
|
+
// hash-flooding (thousands of keys sharing one hash) degrades gracefully.
|
|
3286
|
+
var MIN_HASH_COLLISION_INDEX_SIZE = 16;
|
|
3287
|
+
|
|
3170
3288
|
var IS_LIST_SYMBOL = '@@__IMMUTABLE_LIST__@@';
|
|
3171
3289
|
|
|
3172
3290
|
function isList(maybeList) {
|
|
@@ -3679,7 +3797,39 @@ function listNodeFor(list, rawIndex) {
|
|
|
3679
3797
|
}
|
|
3680
3798
|
}
|
|
3681
3799
|
|
|
3800
|
+
/**
|
|
3801
|
+
* Validates requested bounds before int32 coercion in setListBounds().
|
|
3802
|
+
* Throws when origin/capacity would exceed the trie's safe range.
|
|
3803
|
+
*/
|
|
3804
|
+
function validateListBoundsRequest(list, begin, end) {
|
|
3805
|
+
var requestedOrigin = list._origin + (begin === undefined ? 0 : begin);
|
|
3806
|
+
var requestedCapacity =
|
|
3807
|
+
end === undefined
|
|
3808
|
+
? list._capacity
|
|
3809
|
+
: end < 0
|
|
3810
|
+
? list._capacity + end
|
|
3811
|
+
: list._origin + end;
|
|
3812
|
+
|
|
3813
|
+
// Keep origin/capacity within the trie's safe signed 32-bit range.
|
|
3814
|
+
if (
|
|
3815
|
+
(Number.isFinite(requestedCapacity) && requestedCapacity > MAX_LIST_SIZE) ||
|
|
3816
|
+
(Number.isFinite(requestedOrigin) && requestedOrigin < -MAX_LIST_SIZE) ||
|
|
3817
|
+
(Number.isFinite(requestedCapacity) &&
|
|
3818
|
+
Number.isFinite(requestedOrigin) &&
|
|
3819
|
+
requestedCapacity - requestedOrigin > MAX_LIST_SIZE)
|
|
3820
|
+
) {
|
|
3821
|
+
throw new RangeError(
|
|
3822
|
+
'Invalid List size: a List cannot hold more than ' +
|
|
3823
|
+
MAX_LIST_SIZE +
|
|
3824
|
+
' (2 ** 30) values.'
|
|
3825
|
+
);
|
|
3826
|
+
}
|
|
3827
|
+
}
|
|
3828
|
+
|
|
3682
3829
|
function setListBounds(list, begin, end) {
|
|
3830
|
+
// Validate full-precision bounds before int32 coercion.
|
|
3831
|
+
validateListBoundsRequest(list, begin, end);
|
|
3832
|
+
|
|
3683
3833
|
// Sanitize begin & end using this shorthand for ToInt32(argument)
|
|
3684
3834
|
// http://www.ecma-international.org/ecma-262/6.0/#sec-toint32
|
|
3685
3835
|
if (begin !== undefined) {
|
|
@@ -3718,7 +3868,8 @@ function setListBounds(list, begin, end) {
|
|
|
3718
3868
|
owner
|
|
3719
3869
|
);
|
|
3720
3870
|
newLevel += SHIFT;
|
|
3721
|
-
|
|
3871
|
+
// Shift origin into non-negative space as trie height grows.
|
|
3872
|
+
offsetShift += levelCapacity(newLevel);
|
|
3722
3873
|
}
|
|
3723
3874
|
if (offsetShift) {
|
|
3724
3875
|
newOrigin += offsetShift;
|
|
@@ -3731,7 +3882,7 @@ function setListBounds(list, begin, end) {
|
|
|
3731
3882
|
var newTailOffset = getTailOffset(newCapacity);
|
|
3732
3883
|
|
|
3733
3884
|
// New size might need creating a higher root.
|
|
3734
|
-
while (newTailOffset >=
|
|
3885
|
+
while (newTailOffset >= levelCapacity(newLevel + SHIFT)) {
|
|
3735
3886
|
newRoot = new VNode(
|
|
3736
3887
|
newRoot && newRoot.array.length ? [newRoot] : [],
|
|
3737
3888
|
owner
|
|
@@ -3829,6 +3980,19 @@ function getTailOffset(size) {
|
|
|
3829
3980
|
return size < SIZE ? 0 : ((size - 1) >>> SHIFT) << SHIFT;
|
|
3830
3981
|
}
|
|
3831
3982
|
|
|
3983
|
+
// The largest number of values a List can hold. Above this the 32-bit trie math
|
|
3984
|
+
// in setListBounds() stays in the safe signed 32-bit range.
|
|
3985
|
+
var MAX_LIST_SIZE = Math.pow( 2, 30 ); // 1073741824
|
|
3986
|
+
|
|
3987
|
+
/**
|
|
3988
|
+
* Computes 2 ** exp for the trie level-raising loops in setListBounds().
|
|
3989
|
+
* Use the cheap bitwise operator shift whenever possible, otherwise fall back to exponentiation.
|
|
3990
|
+
* This is necessary because bitwise operators in JavaScript only work on 32-bit signed integers, so for exp >= 31, we need to use exponentiation to avoid overflow.
|
|
3991
|
+
*/
|
|
3992
|
+
function levelCapacity(exp) {
|
|
3993
|
+
return exp < 31 ? 1 << exp : Math.pow( 2, exp );
|
|
3994
|
+
}
|
|
3995
|
+
|
|
3832
3996
|
var OrderedMap = /*@__PURE__*/(function (Map) {
|
|
3833
3997
|
function OrderedMap(value) {
|
|
3834
3998
|
// eslint-disable-next-line no-constructor-return
|
|
@@ -4322,6 +4486,10 @@ function toJS(value) {
|
|
|
4322
4486
|
if (isKeyed(value)) {
|
|
4323
4487
|
var result$1 = {};
|
|
4324
4488
|
value.__iterate(function (v, k) {
|
|
4489
|
+
if (isProtoKey(k)) {
|
|
4490
|
+
return;
|
|
4491
|
+
}
|
|
4492
|
+
|
|
4325
4493
|
result$1[k] = toJS(v);
|
|
4326
4494
|
});
|
|
4327
4495
|
return result$1;
|
|
@@ -4742,6 +4910,10 @@ function toObject() {
|
|
|
4742
4910
|
assertNotInfinite(this.size);
|
|
4743
4911
|
var object = {};
|
|
4744
4912
|
this.__iterate(function (v, k) {
|
|
4913
|
+
if (isProtoKey(k)) {
|
|
4914
|
+
return;
|
|
4915
|
+
}
|
|
4916
|
+
|
|
4745
4917
|
object[k] = v;
|
|
4746
4918
|
});
|
|
4747
4919
|
return object;
|
|
@@ -5922,7 +6094,7 @@ function defaultConverter(k, v) {
|
|
|
5922
6094
|
return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet();
|
|
5923
6095
|
}
|
|
5924
6096
|
|
|
5925
|
-
var version = "4.3.
|
|
6097
|
+
var version = "4.3.9";
|
|
5926
6098
|
|
|
5927
6099
|
var Immutable = {
|
|
5928
6100
|
version: version,
|
package/dist/immutable.js
CHANGED
|
@@ -886,6 +886,29 @@
|
|
|
886
886
|
return smi(hashed);
|
|
887
887
|
}
|
|
888
888
|
|
|
889
|
+
// Per-process seed for the secondary collision hash. Never exposed nor
|
|
890
|
+
// serialized, so the public `hash()` stays deterministic. An odd base in
|
|
891
|
+
// [3, 2^20) keeps `base * h` exact as a double (no `Math.imul`).
|
|
892
|
+
var COLLISION_HASH_BASE =
|
|
893
|
+
((Math.random() * 0x100000) | 1) % 0x100000 || 0x9e37;
|
|
894
|
+
|
|
895
|
+
// Secondary hash to index entries within a `HashCollisionNode`, where every key
|
|
896
|
+
// shares the same primary `hash()`. Using a different, seeded base scatters
|
|
897
|
+
// crafted collision families (e.g. "Aa"/"BB", which only collide under base 31)
|
|
898
|
+
// that an attacker cannot precompute without the seed. It only narrows
|
|
899
|
+
// candidates — `is()` still decides equality — so non-string keys can safely
|
|
900
|
+
// fall back to the (here constant) primary hash and a linear scan.
|
|
901
|
+
function hashCollisionKey(key) {
|
|
902
|
+
if (typeof key !== 'string') {
|
|
903
|
+
return hash(key);
|
|
904
|
+
}
|
|
905
|
+
var hashed = 0;
|
|
906
|
+
for (var ii = 0; ii < key.length; ii++) {
|
|
907
|
+
hashed = (COLLISION_HASH_BASE * hashed + key.charCodeAt(ii)) | 0;
|
|
908
|
+
}
|
|
909
|
+
return hashed;
|
|
910
|
+
}
|
|
911
|
+
|
|
889
912
|
function hashSymbol(sym) {
|
|
890
913
|
var hashed = symbolMap[sym];
|
|
891
914
|
if (hashed !== undefined) {
|
|
@@ -2038,12 +2061,22 @@
|
|
|
2038
2061
|
: collection[key];
|
|
2039
2062
|
}
|
|
2040
2063
|
|
|
2064
|
+
function isProtoKey(key) {
|
|
2065
|
+
return (
|
|
2066
|
+
typeof key === 'string' && (key === '__proto__' || key === 'constructor')
|
|
2067
|
+
);
|
|
2068
|
+
}
|
|
2069
|
+
|
|
2041
2070
|
function shallowCopy(from) {
|
|
2042
2071
|
if (Array.isArray(from)) {
|
|
2043
2072
|
return arrCopy(from);
|
|
2044
2073
|
}
|
|
2045
2074
|
var to = {};
|
|
2046
2075
|
for (var key in from) {
|
|
2076
|
+
if (isProtoKey(key)) {
|
|
2077
|
+
continue;
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2047
2080
|
if (hasOwnProperty.call(from, key)) {
|
|
2048
2081
|
to[key] = from[key];
|
|
2049
2082
|
}
|
|
@@ -2078,6 +2111,10 @@
|
|
|
2078
2111
|
}
|
|
2079
2112
|
|
|
2080
2113
|
function set(collection, key, value) {
|
|
2114
|
+
if (isProtoKey(key)) {
|
|
2115
|
+
return collection;
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2081
2118
|
if (!isDataStructure(collection)) {
|
|
2082
2119
|
throw new TypeError(
|
|
2083
2120
|
'Cannot update non-data-structure value: ' + collection
|
|
@@ -2295,6 +2332,10 @@
|
|
|
2295
2332
|
merged.push(value);
|
|
2296
2333
|
}
|
|
2297
2334
|
: function (value, key) {
|
|
2335
|
+
if (isProtoKey(key)) {
|
|
2336
|
+
return;
|
|
2337
|
+
}
|
|
2338
|
+
|
|
2298
2339
|
var hasVal = hasOwnProperty.call(merged, key);
|
|
2299
2340
|
var nextVal =
|
|
2300
2341
|
hasVal && merger ? merger(merged[key], value, key) : value;
|
|
@@ -2774,20 +2815,79 @@
|
|
|
2774
2815
|
return new HashArrayMapNode(ownerID, newCount, newNodes);
|
|
2775
2816
|
};
|
|
2776
2817
|
|
|
2818
|
+
/**
|
|
2819
|
+
* Trie leaf gathering entries whose keys all share the same 32-bit `hash()`.
|
|
2820
|
+
* The trie routes by hash, so colliding keys cannot be separated and land here
|
|
2821
|
+
* in a flat `entries` array, disambiguated by `is()`.
|
|
2822
|
+
*
|
|
2823
|
+
* To guard against hash-flooding DoS (CWE-407), large buckets build a secondary
|
|
2824
|
+
* index keyed by a per-process seeded hash (`hashCollisionKey`). `is()` still
|
|
2825
|
+
* decides equality, so the index can only ever narrow candidates, never lose a key.
|
|
2826
|
+
*/
|
|
2777
2827
|
var HashCollisionNode = function HashCollisionNode(ownerID, keyHash, entries) {
|
|
2778
2828
|
this.ownerID = ownerID;
|
|
2779
2829
|
this.keyHash = keyHash;
|
|
2780
2830
|
this.entries = entries;
|
|
2831
|
+
// Lazy `{ [secondaryHash]: number[] }`, built only past
|
|
2832
|
+
// MIN_HASH_COLLISION_INDEX_SIZE so small buckets keep their linear path.
|
|
2833
|
+
this._index = undefined;
|
|
2781
2834
|
};
|
|
2782
2835
|
|
|
2783
|
-
|
|
2836
|
+
// Returns the position of `key` in `this.entries`, or -1. Uses the secondary
|
|
2837
|
+
// index when present; builds it only when `buildIndex` is true (reads and
|
|
2838
|
+
// transient inserts, where the node is reused so the O(n) build amortizes).
|
|
2839
|
+
// Persistent inserts already pay an O(n) copy, so a throwaway index is skipped.
|
|
2840
|
+
HashCollisionNode.prototype._positionOf = function _positionOf (key, buildIndex) {
|
|
2841
|
+
var entries = this.entries;
|
|
2842
|
+
var index = this._index;
|
|
2843
|
+
if (
|
|
2844
|
+
index === undefined &&
|
|
2845
|
+
buildIndex &&
|
|
2846
|
+
entries.length >= MIN_HASH_COLLISION_INDEX_SIZE
|
|
2847
|
+
) {
|
|
2848
|
+
index = this._buildIndex();
|
|
2849
|
+
}
|
|
2850
|
+
if (index !== undefined) {
|
|
2851
|
+
var positions = index[hashCollisionKey(key)];
|
|
2852
|
+
if (positions !== undefined) {
|
|
2853
|
+
for (var jj = 0; jj < positions.length; jj++) {
|
|
2854
|
+
var ii = positions[jj];
|
|
2855
|
+
if (is(key, entries[ii][0])) {
|
|
2856
|
+
return ii;
|
|
2857
|
+
}
|
|
2858
|
+
}
|
|
2859
|
+
}
|
|
2860
|
+
return -1;
|
|
2861
|
+
}
|
|
2862
|
+
for (var ii$1 = 0, len = entries.length; ii$1 < len; ii$1++) {
|
|
2863
|
+
if (is(key, entries[ii$1][0])) {
|
|
2864
|
+
return ii$1;
|
|
2865
|
+
}
|
|
2866
|
+
}
|
|
2867
|
+
return -1;
|
|
2868
|
+
};
|
|
2869
|
+
|
|
2870
|
+
// Builds and memoizes the secondary index. A plain object, not `Map` — which
|
|
2871
|
+
// in this module resolves to the *Immutable* Map, not the native one.
|
|
2872
|
+
HashCollisionNode.prototype._buildIndex = function _buildIndex () {
|
|
2873
|
+
var index = Object.create(null);
|
|
2784
2874
|
var entries = this.entries;
|
|
2785
2875
|
for (var ii = 0, len = entries.length; ii < len; ii++) {
|
|
2786
|
-
|
|
2787
|
-
|
|
2876
|
+
var secondaryHash = hashCollisionKey(entries[ii][0]);
|
|
2877
|
+
var positions = index[secondaryHash];
|
|
2878
|
+
if (positions !== undefined) {
|
|
2879
|
+
positions.push(ii);
|
|
2880
|
+
} else {
|
|
2881
|
+
index[secondaryHash] = [ii];
|
|
2788
2882
|
}
|
|
2789
2883
|
}
|
|
2790
|
-
|
|
2884
|
+
this._index = index;
|
|
2885
|
+
return index;
|
|
2886
|
+
};
|
|
2887
|
+
|
|
2888
|
+
HashCollisionNode.prototype.get = function get (shift, keyHash, key, notSetValue) {
|
|
2889
|
+
var idx = this._positionOf(key, true);
|
|
2890
|
+
return idx === -1 ? notSetValue : this.entries[idx][1];
|
|
2791
2891
|
};
|
|
2792
2892
|
|
|
2793
2893
|
HashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {
|
|
@@ -2807,14 +2907,11 @@
|
|
|
2807
2907
|
}
|
|
2808
2908
|
|
|
2809
2909
|
var entries = this.entries;
|
|
2810
|
-
var idx = 0;
|
|
2811
2910
|
var len = entries.length;
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
}
|
|
2817
|
-
var exists = idx < len;
|
|
2911
|
+
var isEditable = ownerID && ownerID === this.ownerID;
|
|
2912
|
+
var foundIdx = this._positionOf(key, isEditable);
|
|
2913
|
+
var idx = foundIdx === -1 ? len : foundIdx;
|
|
2914
|
+
var exists = foundIdx !== -1;
|
|
2818
2915
|
|
|
2819
2916
|
if (exists ? entries[idx][1] === value : removed) {
|
|
2820
2917
|
return this;
|
|
@@ -2827,7 +2924,6 @@
|
|
|
2827
2924
|
return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);
|
|
2828
2925
|
}
|
|
2829
2926
|
|
|
2830
|
-
var isEditable = ownerID && ownerID === this.ownerID;
|
|
2831
2927
|
var newEntries = isEditable ? entries : arrCopy(entries);
|
|
2832
2928
|
|
|
2833
2929
|
if (exists) {
|
|
@@ -2835,11 +2931,27 @@
|
|
|
2835
2931
|
idx === len - 1
|
|
2836
2932
|
? newEntries.pop()
|
|
2837
2933
|
: (newEntries[idx] = newEntries.pop());
|
|
2934
|
+
// The swap-pop reshuffles positions; drop the stale index (rebuilt lazily).
|
|
2935
|
+
if (isEditable) {
|
|
2936
|
+
this._index = undefined;
|
|
2937
|
+
}
|
|
2838
2938
|
} else {
|
|
2939
|
+
// Same key, same position: the index stays valid.
|
|
2839
2940
|
newEntries[idx] = [key, value];
|
|
2840
2941
|
}
|
|
2841
2942
|
} else {
|
|
2842
2943
|
newEntries.push([key, value]);
|
|
2944
|
+
// Keep the index in sync on the transient insert path. Persistent inserts
|
|
2945
|
+
// return a fresh node below whose index rebuilds lazily, so skip them.
|
|
2946
|
+
if (isEditable && this._index !== undefined) {
|
|
2947
|
+
var secondaryHash = hashCollisionKey(key);
|
|
2948
|
+
var positions = this._index[secondaryHash];
|
|
2949
|
+
if (positions !== undefined) {
|
|
2950
|
+
positions.push(len);
|
|
2951
|
+
} else {
|
|
2952
|
+
this._index[secondaryHash] = [len];
|
|
2953
|
+
}
|
|
2954
|
+
}
|
|
2843
2955
|
}
|
|
2844
2956
|
|
|
2845
2957
|
if (isEditable) {
|
|
@@ -3173,6 +3285,12 @@
|
|
|
3173
3285
|
var MAX_BITMAP_INDEXED_SIZE = SIZE / 2;
|
|
3174
3286
|
var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;
|
|
3175
3287
|
|
|
3288
|
+
// Above this many colliding entries, a `HashCollisionNode` builds a seeded
|
|
3289
|
+
// secondary index instead of scanning linearly. Kept small so the rare,
|
|
3290
|
+
// naturally-occurring collision buckets stay overhead-free, while adversarial
|
|
3291
|
+
// hash-flooding (thousands of keys sharing one hash) degrades gracefully.
|
|
3292
|
+
var MIN_HASH_COLLISION_INDEX_SIZE = 16;
|
|
3293
|
+
|
|
3176
3294
|
var IS_LIST_SYMBOL = '@@__IMMUTABLE_LIST__@@';
|
|
3177
3295
|
|
|
3178
3296
|
function isList(maybeList) {
|
|
@@ -3685,7 +3803,39 @@
|
|
|
3685
3803
|
}
|
|
3686
3804
|
}
|
|
3687
3805
|
|
|
3806
|
+
/**
|
|
3807
|
+
* Validates requested bounds before int32 coercion in setListBounds().
|
|
3808
|
+
* Throws when origin/capacity would exceed the trie's safe range.
|
|
3809
|
+
*/
|
|
3810
|
+
function validateListBoundsRequest(list, begin, end) {
|
|
3811
|
+
var requestedOrigin = list._origin + (begin === undefined ? 0 : begin);
|
|
3812
|
+
var requestedCapacity =
|
|
3813
|
+
end === undefined
|
|
3814
|
+
? list._capacity
|
|
3815
|
+
: end < 0
|
|
3816
|
+
? list._capacity + end
|
|
3817
|
+
: list._origin + end;
|
|
3818
|
+
|
|
3819
|
+
// Keep origin/capacity within the trie's safe signed 32-bit range.
|
|
3820
|
+
if (
|
|
3821
|
+
(Number.isFinite(requestedCapacity) && requestedCapacity > MAX_LIST_SIZE) ||
|
|
3822
|
+
(Number.isFinite(requestedOrigin) && requestedOrigin < -MAX_LIST_SIZE) ||
|
|
3823
|
+
(Number.isFinite(requestedCapacity) &&
|
|
3824
|
+
Number.isFinite(requestedOrigin) &&
|
|
3825
|
+
requestedCapacity - requestedOrigin > MAX_LIST_SIZE)
|
|
3826
|
+
) {
|
|
3827
|
+
throw new RangeError(
|
|
3828
|
+
'Invalid List size: a List cannot hold more than ' +
|
|
3829
|
+
MAX_LIST_SIZE +
|
|
3830
|
+
' (2 ** 30) values.'
|
|
3831
|
+
);
|
|
3832
|
+
}
|
|
3833
|
+
}
|
|
3834
|
+
|
|
3688
3835
|
function setListBounds(list, begin, end) {
|
|
3836
|
+
// Validate full-precision bounds before int32 coercion.
|
|
3837
|
+
validateListBoundsRequest(list, begin, end);
|
|
3838
|
+
|
|
3689
3839
|
// Sanitize begin & end using this shorthand for ToInt32(argument)
|
|
3690
3840
|
// http://www.ecma-international.org/ecma-262/6.0/#sec-toint32
|
|
3691
3841
|
if (begin !== undefined) {
|
|
@@ -3724,7 +3874,8 @@
|
|
|
3724
3874
|
owner
|
|
3725
3875
|
);
|
|
3726
3876
|
newLevel += SHIFT;
|
|
3727
|
-
|
|
3877
|
+
// Shift origin into non-negative space as trie height grows.
|
|
3878
|
+
offsetShift += levelCapacity(newLevel);
|
|
3728
3879
|
}
|
|
3729
3880
|
if (offsetShift) {
|
|
3730
3881
|
newOrigin += offsetShift;
|
|
@@ -3737,7 +3888,7 @@
|
|
|
3737
3888
|
var newTailOffset = getTailOffset(newCapacity);
|
|
3738
3889
|
|
|
3739
3890
|
// New size might need creating a higher root.
|
|
3740
|
-
while (newTailOffset >=
|
|
3891
|
+
while (newTailOffset >= levelCapacity(newLevel + SHIFT)) {
|
|
3741
3892
|
newRoot = new VNode(
|
|
3742
3893
|
newRoot && newRoot.array.length ? [newRoot] : [],
|
|
3743
3894
|
owner
|
|
@@ -3835,6 +3986,19 @@
|
|
|
3835
3986
|
return size < SIZE ? 0 : ((size - 1) >>> SHIFT) << SHIFT;
|
|
3836
3987
|
}
|
|
3837
3988
|
|
|
3989
|
+
// The largest number of values a List can hold. Above this the 32-bit trie math
|
|
3990
|
+
// in setListBounds() stays in the safe signed 32-bit range.
|
|
3991
|
+
var MAX_LIST_SIZE = Math.pow( 2, 30 ); // 1073741824
|
|
3992
|
+
|
|
3993
|
+
/**
|
|
3994
|
+
* Computes 2 ** exp for the trie level-raising loops in setListBounds().
|
|
3995
|
+
* Use the cheap bitwise operator shift whenever possible, otherwise fall back to exponentiation.
|
|
3996
|
+
* This is necessary because bitwise operators in JavaScript only work on 32-bit signed integers, so for exp >= 31, we need to use exponentiation to avoid overflow.
|
|
3997
|
+
*/
|
|
3998
|
+
function levelCapacity(exp) {
|
|
3999
|
+
return exp < 31 ? 1 << exp : Math.pow( 2, exp );
|
|
4000
|
+
}
|
|
4001
|
+
|
|
3838
4002
|
var OrderedMap = /*@__PURE__*/(function (Map) {
|
|
3839
4003
|
function OrderedMap(value) {
|
|
3840
4004
|
// eslint-disable-next-line no-constructor-return
|
|
@@ -4328,6 +4492,10 @@
|
|
|
4328
4492
|
if (isKeyed(value)) {
|
|
4329
4493
|
var result$1 = {};
|
|
4330
4494
|
value.__iterate(function (v, k) {
|
|
4495
|
+
if (isProtoKey(k)) {
|
|
4496
|
+
return;
|
|
4497
|
+
}
|
|
4498
|
+
|
|
4331
4499
|
result$1[k] = toJS(v);
|
|
4332
4500
|
});
|
|
4333
4501
|
return result$1;
|
|
@@ -4748,6 +4916,10 @@
|
|
|
4748
4916
|
assertNotInfinite(this.size);
|
|
4749
4917
|
var object = {};
|
|
4750
4918
|
this.__iterate(function (v, k) {
|
|
4919
|
+
if (isProtoKey(k)) {
|
|
4920
|
+
return;
|
|
4921
|
+
}
|
|
4922
|
+
|
|
4751
4923
|
object[k] = v;
|
|
4752
4924
|
});
|
|
4753
4925
|
return object;
|
|
@@ -5928,7 +6100,7 @@
|
|
|
5928
6100
|
return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet();
|
|
5929
6101
|
}
|
|
5930
6102
|
|
|
5931
|
-
var version = "4.3.
|
|
6103
|
+
var version = "4.3.9";
|
|
5932
6104
|
|
|
5933
6105
|
var Immutable = {
|
|
5934
6106
|
version: version,
|
package/dist/immutable.min.js
CHANGED
|
@@ -21,35 +21,36 @@
|
|
|
21
21
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
22
|
* SOFTWARE.
|
|
23
23
|
*/
|
|
24
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Immutable={})}(this,function(t){"use strict";var e="delete",d=5,l=1<<d,g=l-1,v={};function u(){return{value:!1}}function _(t){t&&(t.value=!0)}function m(){}function c(t){return void 0===t.size&&(t.size=t.__iterate(r)),t.size}function h(t,e){if("number"!=typeof e){var r=e>>>0;if(""+r!==e||4294967295==r)return NaN;e=r}return e<0?c(t)+e:e}function r(){return!0}function p(t,e,r){return(0===t&&!i(t)||void 0!==r&&t<=-r)&&(void 0===e||void 0!==r&&r<=e)}function y(t,e){return n(t,e,0)}function w(t,e){return n(t,e,e)}function n(t,e,r){return void 0===t?r:i(t)?e===1/0?e:0|Math.max(0,e+t):void 0===e||e===t?t:0|Math.min(e,t)}function i(t){return t<0||0===t&&1/t==-1/0}var o="@@__IMMUTABLE_ITERABLE__@@";function f(t){return!(!t||!t[o])}var s="@@__IMMUTABLE_KEYED__@@";function a(t){return!(!t||!t[s])}var S="@@__IMMUTABLE_INDEXED__@@";function
|
|
25
|
-
)||
|
|
26
|
-
)?t.toSeq().entrySeq():ut(t)}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).of=function(){return e(arguments)},e.prototype.toIndexedSeq=function(){return this},e.prototype.toString=function(){return this.__toString("Seq [","]")},e}(
|
|
27
|
-
if(e)return this.cacheResult().__iterate(t,e);var r,n=V(this._collection),i=0;if(J(n))for(;!(r=n.next()).done&&!1!==t(r.value,i++,this););return i},e.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var r=V(this._collection);if(!J(r))return new P(N);var n=0;return new P(function(){var t=r.next();return t.done?t:W(e,n++,t.value)})},e}(Z);function it(){return rt=rt||new tt([])}function ot(t){var e=st(t);if(e)return e.fromEntrySeq();if("object"==typeof t)return new et(t);throw new TypeError("Expected Array or collection object of [k, v] entries, or keyed object: "+t)}function ut(t){var e=st(t);if(e)return e;throw new TypeError("Expected Array or collection object of values: "+t)}function st(t){return
|
|
28
|
-
var e;if(
|
|
29
|
-
e.prototype.map=function(t,e){var r=this,n=
|
|
30
|
-
var t=i.reverse.apply(this);return t.flip=function(){return i.reverse()},t},t.has=function(t){return i.includes(t)},t.includes=function(t){return i.has(t)},t.cacheResult=
|
|
31
|
-
;var e=t.value,r=e[0],e=e[1];if(s.call(a,e,r,u))return W(n,c?r:o++,e,t)}})},t}function
|
|
32
|
-
n=n
|
|
33
|
-
;var
|
|
34
|
-
)t[e]=arguments[e];return
|
|
35
|
-
)?e.__ensureOwner(this.__ownerID):this}function
|
|
36
|
-
|
|
37
|
-
;var
|
|
38
|
-
this.entry)};var Ne,
|
|
39
|
-
t.__proto__=o),((t.prototype=Object.create(o&&o.prototype)).constructor=t).of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("List [","]")},t.prototype.get=function(t,e){if(0<=(t=h(this,t))&&t<this.size){var r=
|
|
40
|
-
var e=0;e<i.size;e++)t.set(e,r.call(n,t.get(e),e,i))})},t.prototype.slice=function(t,e){var r=this.size;return p(t,e,r)?this:
|
|
41
|
-
var n,i=t&&t.array,o=a<r?0:a-r>>e,u=1+(c-r>>e);l<u&&(u=l);return function(){for(;;){if(n){var t=n();if(t!==
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var i=Object.create(
|
|
45
|
-
|
|
46
|
-
;var Lr,
|
|
47
|
-
return t instanceof n?this._start===t._start&&this._end===t._end&&this._step===t._step:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
).__iterate(n,t);var o=0;return r.__iterate(function(t,e,r){return s.call(a,t,e,r)&&++o&&n(t,e,i)}),o},e.__iteratorUncached=function(n,t){var i=this;if(t)return this.cacheResult().__iterator(n,t);var o=r.__iterator(K,t),u=!0;return new P(function(){if(!u)return N();var t=o.next();if(t.done)return t;var e=t.value,r=e[0],e=e[1];return s.call(a,e,r,i)?n===K?t:W(n,r,e,t):(u=!1,N())})},e));var r,s,a},takeUntil:function(t,e){return this.takeWhile(
|
|
51
|
-
|
|
52
|
-
arguments)}function un(t,e){return t<e?1:e<t?-1:0}function
|
|
53
|
-
function(t,e){r.set(n._indices[e],t===n._defaultValues[e]?void 0:t)})}),this},f=c.prototype=Object.create(
|
|
54
|
-
|
|
55
|
-
isPlainObject:
|
|
24
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Immutable={})}(this,function(t){"use strict";var e="delete",d=5,l=1<<d,g=l-1,v={};function u(){return{value:!1}}function _(t){t&&(t.value=!0)}function m(){}function c(t){return void 0===t.size&&(t.size=t.__iterate(r)),t.size}function h(t,e){if("number"!=typeof e){var r=e>>>0;if(""+r!==e||4294967295==r)return NaN;e=r}return e<0?c(t)+e:e}function r(){return!0}function p(t,e,r){return(0===t&&!i(t)||void 0!==r&&t<=-r)&&(void 0===e||void 0!==r&&r<=e)}function y(t,e){return n(t,e,0)}function w(t,e){return n(t,e,e)}function n(t,e,r){return void 0===t?r:i(t)?e===1/0?e:0|Math.max(0,e+t):void 0===e||e===t?t:0|Math.min(e,t)}function i(t){return t<0||0===t&&1/t==-1/0}var o="@@__IMMUTABLE_ITERABLE__@@";function f(t){return!(!t||!t[o])}var s="@@__IMMUTABLE_KEYED__@@";function a(t){return!(!t||!t[s])}var S="@@__IMMUTABLE_INDEXED__@@";function b(t){return!(!t||!t[S])}function z(t){return a(t)||b(t)}function I(t){return f(t)?t:X(t)}var O=function(t){function e(t){return a(t)?t:G(t)}return e.__proto__=t,(e.prototype=Object.create(t.prototype)).constructor=e}(I),E=function(t){function e(t){return b(t)?t:Z(t)}return e.__proto__=t,(e.prototype=Object.create(t.prototype)).constructor=e}(I),j=function(t){function e(t){return f(t)&&!z(t)?t:$(t)}return e.__proto__=t,(e.prototype=Object.create(t.prototype)).constructor=e}(I);I.Keyed=O,I.Indexed=E,I.Set=j;var M="@@__IMMUTABLE_SEQ__@@";function q(t){return!(!t||!t[M])}var x="@@__IMMUTABLE_RECORD__@@";function D(t){return!(!t||!t[x])}function A(t){return f(t)||D(t)}var k="@@__IMMUTABLE_ORDERED__@@";function R(t){return!(!t||!t[k])}var U=0,T=1,K=2,L="function"==typeof Symbol&&Symbol.iterator,C="@@iterator",B=L||C,P=function(t){this.next=t};function W(t,e,r,n){r=0===t?e:1===t?r:[e,r];return n?n.value=r:n={value:r,done:!1},n}function N(){return{value:void 0,done:!0}}function H(t){return Array.isArray(t
|
|
25
|
+
)||F(t)}function J(t){return t&&"function"==typeof t.next}function V(t){var e=F(t);return e&&e.call(t)}function F(t){t=t&&(L&&t[L]||t[C]);if("function"==typeof t)return t}P.prototype.toString=function(){return"[Iterator]"},P.KEYS=U,P.VALUES=T,P.ENTRIES=K,P.prototype.inspect=P.prototype.toSource=function(){return""+this},P.prototype[B]=function(){return this};var Y=Object.prototype.hasOwnProperty;function Q(t){return Array.isArray(t)||"string"==typeof t||t&&"object"==typeof t&&Number.isInteger(t.length)&&0<=t.length&&(0===t.length?1===Object.keys(t).length:t.hasOwnProperty(t.length-1))}var X=function(t){function e(t){return null==t?it():A(t)?t.toSeq():function(t){var e=st(t);if(e)return function(t){var e=F(t);return e&&e===t.entries}(t)?e.fromEntrySeq():function(t){var e=F(t);return e&&e===t.keys}(t)?e.toSetSeq():e;if("object"!=typeof t)throw new TypeError("Expected Array or collection object of values, or keyed object: "+t);return new et(t)}(t)}return e.__proto__=t,((e.prototype=Object.create(t.prototype)).constructor=e).prototype.toSeq=function(){return this},e.prototype.toString=function(){return this.__toString("Seq {","}")},e.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},e.prototype.__iterate=function(t,e){var r=this._cache;if(r){for(var n=r.length,i=0;i!==n;){var o=r[e?n-++i:i++];if(!1===t(o[1],o[0],this))break}return i}return this.__iterateUncached(t,e)},e.prototype.__iterator=function(e,r){var n=this._cache;if(n){var i=n.length,o=0;return new P(function(){if(o===i)return N();var t=n[r?i-++o:o++];return W(e,t[0],t[1])})}return this.__iteratorUncached(e,r)},e}(I),G=function(t){function e(t){return null==t?it().toKeyedSeq():f(t)?a(t)?t.toSeq():t.fromEntrySeq():D(t)?t.toSeq():ot(t)}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.toKeyedSeq=function(){return this},e}(X),Z=function(t){function e(t){return null==t?it():f(t)?a(t)?t.entrySeq():t.toIndexedSeq():D(t
|
|
26
|
+
)?t.toSeq().entrySeq():ut(t)}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).of=function(){return e(arguments)},e.prototype.toIndexedSeq=function(){return this},e.prototype.toString=function(){return this.__toString("Seq [","]")},e}(X),$=function(t){function e(t){return(f(t)&&!z(t)?t:Z(t)).toSetSeq()}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).of=function(){return e(arguments)},e.prototype.toSetSeq=function(){return this},e}(X);X.isSeq=q,X.Keyed=G,X.Set=$,X.Indexed=Z,X.prototype[M]=!0;var tt=function(t){function e(t){this._array=t,this.size=t.length}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.get=function(t,e){return this.has(t)?this._array[h(this,t)]:e},e.prototype.__iterate=function(t,e){for(var r=this._array,n=r.length,i=0;i!==n;){var o=e?n-++i:i++;if(!1===t(r[o],o,this))break}return i},e.prototype.__iterator=function(e,r){var n=this._array,i=n.length,o=0;return new P(function(){if(o===i)return N();var t=r?i-++o:o++;return W(e,t,n[t])})},e}(Z),et=function(t){function e(t){var e=Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]);this._object=t,this._keys=e,this.size=e.length}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.get=function(t,e){return void 0===e||this.has(t)?this._object[t]:e},e.prototype.has=function(t){return Y.call(this._object,t)},e.prototype.__iterate=function(t,e){for(var r=this._object,n=this._keys,i=n.length,o=0;o!==i;){var u=n[e?i-++o:o++];if(!1===t(r[u],u,this))break}return o},e.prototype.__iterator=function(e,r){var n=this._object,i=this._keys,o=i.length,u=0;return new P(function(){if(u===o)return N();var t=i[r?o-++u:u++];return W(e,t,n[t])})},e}(G);et.prototype[k]=!0;var rt,nt=function(t){function e(t){this._collection=t,this.size=t.length||t.size}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.__iterateUncached=function(t,e){
|
|
27
|
+
if(e)return this.cacheResult().__iterate(t,e);var r,n=V(this._collection),i=0;if(J(n))for(;!(r=n.next()).done&&!1!==t(r.value,i++,this););return i},e.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var r=V(this._collection);if(!J(r))return new P(N);var n=0;return new P(function(){var t=r.next();return t.done?t:W(e,n++,t.value)})},e}(Z);function it(){return rt=rt||new tt([])}function ot(t){var e=st(t);if(e)return e.fromEntrySeq();if("object"==typeof t)return new et(t);throw new TypeError("Expected Array or collection object of [k, v] entries, or keyed object: "+t)}function ut(t){var e=st(t);if(e)return e;throw new TypeError("Expected Array or collection object of values: "+t)}function st(t){return Q(t)?new tt(t):H(t)?new nt(t):void 0}var at="@@__IMMUTABLE_MAP__@@";function ct(t){return!(!t||!t[at])}function ft(t){return ct(t)&&R(t)}function ht(t){return!(!t||"function"!=typeof t.equals||"function"!=typeof t.hashCode)}function _t(t,e){if(t===e||t!=t&&e!=e)return!0;if(!t||!e)return!1;if("function"==typeof t.valueOf&&"function"==typeof e.valueOf){if((t=t.valueOf())===(e=e.valueOf())||t!=t&&e!=e)return!0;if(!t||!e)return!1}return!!(ht(t)&&ht(e)&&t.equals(e))}var pt="function"==typeof Math.imul&&-2==Math.imul(4294967295,2)?Math.imul:function(t,e){var r=65535&(t|=0),n=65535&(e|=0);return r*n+((t>>>16)*n+r*(e>>>16)<<16>>>0)|0};function lt(t){return t>>>1&1073741824|3221225471&t}var vt=Object.prototype.valueOf;function yt(t){if(null==t)return dt(t);if("function"==typeof t.hashCode)return lt(t.hashCode(t));var e,r=(e=t).valueOf!==vt&&"function"==typeof e.valueOf?e.valueOf(e):e;if(null==r)return dt(r);switch(typeof r){case"boolean":return r?1108378657:1108378656;case"number":return function(t){if(t!=t||t===1/0)return 0;var e=0|t;e!==t&&(e^=4294967295*t);for(;4294967295<t;)e^=t/=4294967295;return lt(e)}(r);case"string":return(qt<r.length?function(t){var e=At[t];void 0===e&&(e=gt(t),Dt===xt&&(Dt=0,At={}),Dt++,At[t]=e);return e}:gt)(r);case"object":case"function":return function(t){
|
|
28
|
+
var e;if(Ot&&void 0!==(e=It.get(t)))return e;if(void 0!==(e=t[Mt]))return e;if(!bt){if(void 0!==(e=t.propertyIsEnumerable&&t.propertyIsEnumerable[Mt]))return e;if(void 0!==(e=function(t){if(t&&0<t.nodeType)switch(t.nodeType){case 1:return t.uniqueID;case 9:return t.documentElement&&t.documentElement.uniqueID}}(t)))return e}if(e=zt(),Ot)It.set(t,e);else{if(void 0!==St&&!1===St(t))throw Error("Non-extensible objects are not allowed as keys.");if(bt)Object.defineProperty(t,Mt,{enumerable:!1,configurable:!1,writable:!1,value:e});else if(void 0!==t.propertyIsEnumerable&&t.propertyIsEnumerable===t.constructor.prototype.propertyIsEnumerable)t.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},t.propertyIsEnumerable[Mt]=e;else{if(void 0===t.nodeType)throw Error("Unable to set a non-enumerable property on object.");t[Mt]=e}}return e}(r);case"symbol":return void 0===(e=Et[t=r])?(e=zt(),Et[t]=e):e;default:if("function"==typeof r.toString)return gt(""+r);throw Error("Value type "+typeof r+" cannot be hashed.")}}function dt(t){return null===t?1108378658:1108378659}function gt(t){for(var e=0,r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return lt(e)}var mt=(1048576*Math.random()|1)%1048576||40503;function wt(t){if("string"!=typeof t)return yt(t);for(var e=0,r=0;r<t.length;r++)e=mt*e+t.charCodeAt(r)|0;return e}var St=Object.isExtensible,bt=function(){try{return Object.defineProperty({},"@",{}),!0}catch(t){return!1}}();function zt(){var t=++jt;return 1073741824&jt&&(jt=0),t}var It,Ot="function"==typeof WeakMap;Ot&&(It=new WeakMap);var Et=Object.create(null),jt=0,Mt="__immutablehash__";"function"==typeof Symbol&&(Mt=Symbol(Mt));var qt=16,xt=255,Dt=0,At={},kt=function(t){function e(t,e){this._iter=t,this._useKeys=e,this.size=t.size}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.get=function(t,e){return this._iter.get(t,e)},e.prototype.has=function(t){return this._iter.has(t)},e.prototype.valueSeq=function(){
|
|
29
|
+
return this._iter.valueSeq()},e.prototype.reverse=function(){var t=this,e=Ct(this,!0);return this._useKeys||(e.valueSeq=function(){return t._iter.toSeq().reverse()}),e},e.prototype.map=function(t,e){var r=this,n=Lt(this,t,e);return this._useKeys||(n.valueSeq=function(){return r._iter.toSeq().map(t,e)}),n},e.prototype.__iterate=function(r,t){var n=this;return this._iter.__iterate(function(t,e){return r(t,e,n)},t)},e.prototype.__iterator=function(t,e){return this._iter.__iterator(t,e)},e}(G);kt.prototype[k]=!0;var Rt=function(t){function e(t){this._iter=t,this.size=t.size}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.includes=function(t){return this._iter.includes(t)},e.prototype.__iterate=function(e,r){var n=this,i=0;return r&&c(this),this._iter.__iterate(function(t){return e(t,r?n.size-++i:i++,n)},r)},e.prototype.__iterator=function(e,r){var n=this,i=this._iter.__iterator(T,r),o=0;return r&&c(this),new P(function(){var t=i.next();return t.done?t:W(e,r?n.size-++o:o++,t.value,t)})},e}(Z),Ut=function(t){function e(t){this._iter=t,this.size=t.size}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.has=function(t){return this._iter.includes(t)},e.prototype.__iterate=function(e,t){var r=this;return this._iter.__iterate(function(t){return e(t,t,r)},t)},e.prototype.__iterator=function(e,t){var r=this._iter.__iterator(T,t);return new P(function(){var t=r.next();return t.done?t:W(e,t.value,t.value,t)})},e}($),Tt=function(t){function e(t){this._iter=t,this.size=t.size}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.entrySeq=function(){return this._iter.toSeq()},e.prototype.__iterate=function(r,t){var n=this;return this._iter.__iterate(function(t){if(t){Qt(t);var e=f(t);return r(e?t.get(1):t[1],e?t.get(0):t[0],n)}},t)},e.prototype.__iterator=function(n,t){var i=this._iter.__iterator(T,t);return new P(function(){for(;;){var t=i.next();if(t.done)return t;var e=t.value;if(e){Qt(e)
|
|
30
|
+
;var r=f(e);return W(n,r?e.get(0):e[0],r?e.get(1):e[1],t)}}})},e}(G);function Kt(i){var t=Gt(i);return t._iter=i,t.size=i.size,t.flip=function(){return i},t.reverse=function(){var t=i.reverse.apply(this);return t.flip=function(){return i.reverse()},t},t.has=function(t){return i.includes(t)},t.includes=function(t){return i.has(t)},t.cacheResult=Zt,t.__iterateUncached=function(r,t){var n=this;return i.__iterate(function(t,e){return!1!==r(e,t,n)},t)},t.__iteratorUncached=function(t,e){if(t!==K)return i.__iterator(t===T?U:T,e);var r=i.__iterator(t,e);return new P(function(){var t,e=r.next();return e.done||(t=e.value[0],e.value[0]=e.value[1],e.value[1]=t),e})},t}function Lt(o,u,s){var t=Gt(o);return t.size=o.size,t.has=function(t){return o.has(t)},t.get=function(t,e){var r=o.get(t,v);return r===v?e:u.call(s,r,t,o)},t.__iterateUncached=function(n,t){var i=this;return o.__iterate(function(t,e,r){return!1!==n(u.call(s,t,e,r),e,i)},t)},t.__iteratorUncached=function(n,t){var i=o.__iterator(K,t);return new P(function(){var t=i.next();if(t.done)return t;var e=t.value,r=e[0];return W(n,r,u.call(s,e[1],r,o),t)})},t}function Ct(u,s){var a=this,t=Gt(u);return t._iter=u,t.size=u.size,t.reverse=function(){return u},u.flip&&(t.flip=function(){var t=Kt(u);return t.reverse=function(){return u.flip()},t}),t.get=function(t,e){return u.get(s?t:-1-t,e)},t.has=function(t){return u.has(s?t:-1-t)},t.includes=function(t){return u.includes(t)},t.cacheResult=Zt,t.__iterate=function(r,n){var i=this,o=0;return n&&c(u),u.__iterate(function(t,e){return r(t,s?e:n?i.size-++o:o++,i)},!n)},t.__iterator=function(r,n){var i=0;n&&c(u);var o=u.__iterator(K,!n);return new P(function(){var t=o.next();if(t.done)return t;var e=t.value;return W(r,s?e[0]:n?a.size-++i:i++,e[1],t)})},t}function Bt(u,s,a,c){var t=Gt(u);return c&&(t.has=function(t){var e=u.get(t,v);return e!==v&&!!s.call(a,e,t,u)},t.get=function(t,e){var r=u.get(t,v);return r!==v&&s.call(a,r,t,u)?r:e}),t.__iterateUncached=function(n,t){var i=this,o=0;return u.__iterate(function(t,e,r){if(s.call(a,t
|
|
31
|
+
,e,r))return o++,n(t,c?e:o-1,i)},t),o},t.__iteratorUncached=function(n,t){var i=u.__iterator(K,t),o=0;return new P(function(){for(;;){var t=i.next();if(t.done)return t;var e=t.value,r=e[0],e=e[1];if(s.call(a,e,r,u))return W(n,c?r:o++,e,t)}})},t}function Pt(s,t,e,a){var r=s.size;if(p(t,e,r))return s;if(void 0===r&&(t<0||e<0))return Pt(s.toSeq().cacheResult(),t,e,a);var c,f=y(t,r),r=w(e,r)-f;r==r&&(c=r<0?0:r);r=Gt(s);return r.size=0===c?c:s.size&&c||void 0,!a&&q(s)&&0<=c&&(r.get=function(t,e){return 0<=(t=h(this,t))&&t<c?s.get(t+f,e):e}),r.__iterateUncached=function(r,t){var n=this;if(0===c)return 0;if(t)return this.cacheResult().__iterate(r,t);var i=0,o=!0,u=0;return s.__iterate(function(t,e){if(!(o=o&&i++<f))return u++,!1!==r(t,a?e:u-1,n)&&u!==c}),u},r.__iteratorUncached=function(e,t){if(0!==c&&t)return this.cacheResult().__iterator(e,t);if(0===c)return new P(N);var r=s.__iterator(e,t),n=0,i=0;return new P(function(){for(;n++<f;)r.next();if(++i>c)return N();var t=r.next();return a||e===T||t.done?t:W(e,i-1,e===U?void 0:t.value[1],t)})},r}function Wt(e,c,f,h){var t=Gt(e);return t.__iterateUncached=function(n,t){var i=this;if(t)return this.cacheResult().__iterate(n,t);var o=!0,u=0;return e.__iterate(function(t,e,r){if(!(o=o&&c.call(f,t,e,r)))return u++,n(t,h?e:u-1,i)}),u},t.__iteratorUncached=function(i,t){var o=this;if(t)return this.cacheResult().__iterator(i,t);var u=e.__iterator(K,t),s=!0,a=0;return new P(function(){var t;do{if((t=u.next()).done)return h||i===T?t:W(i,a++,i===U?void 0:t.value[1],t);var e=t.value,r=e[0],n=e[1];s=s&&c.call(f,n,r,o)}while(s);return i===K?t:W(i,r,n,t)})},t}function Nt(t,s,a){var c=Gt(t);return c.__iterateUncached=function(i,e){if(e)return this.cacheResult().__iterate(i,e);var o=0,u=!1;return function r(t,n){t.__iterate(function(t,e){return(!s||n<s)&&f(t)?r(t,n+1):(o++,!1===i(t,a?e:o-1,c)&&(u=!0)),!u},e)}(t,0),o},c.__iteratorUncached=function(r,n){if(n)return this.cacheResult().__iterator(r,n);var i=t.__iterator(r,n),o=[],u=0;return new P(function(){for(;i;){var t=i.next();if(
|
|
32
|
+
!1===t.done){var e=t.value;if(r===K&&(e=e[1]),s&&!(o.length<s)||!f(e))return a?t:W(r,u++,e,t);o.push(i),i=e.__iterator(r,n)}else i=o.pop()}return N()})},c}function Ht(r,n,i){n=n||$t;var t=a(r),o=0,u=r.toSeq().map(function(t,e){return[e,t,o++,i?i(t,e,r):t]}).valueSeq().toArray();return u.sort(function(t,e){return n(t[3],e[3])||t[2]-e[2]}).forEach(t?function(t,e){u[e].length=2}:function(t,e){u[e]=t[1]}),(t?G:b(r)?Z:$)(u)}function Jt(r,n,i){if(n=n||$t,i){var t=r.toSeq().map(function(t,e){return[t,i(t,e,r)]}).reduce(function(t,e){return Vt(n,t[1],e[1])?e:t});return t&&t[0]}return r.reduce(function(t,e){return Vt(n,t,e)?e:t})}function Vt(t,e,r){t=t(r,e);return 0===t&&r!==e&&(null==r||r!=r)||0<t}function Ft(t,u,s,a){var e=Gt(t),t=new tt(s).map(function(t){return t.size});return e.size=a?t.max():t.min(),e.__iterate=function(t,e){for(var r,n=this.__iterator(T,e),i=0;!(r=n.next()).done&&!1!==t(r.value,i++,this););return i},e.__iteratorUncached=function(e,r){var n=s.map(function(t){return t=I(t),V(r?t.reverse():t)}),i=0,o=!1;return new P(function(){var t;return o||(t=n.map(function(t){return t.next()}),o=a?t.every(function(t){return t.done}):t.some(function(t){return t.done})),o?N():W(e,i++,u.apply(null,t.map(function(t){return t.value})))})},e}function Yt(t,e){return t===e?t:q(t)?e:t.constructor(e)}function Qt(t){if(t!==Object(t))throw new TypeError("Expected [K, V] tuple: "+t)}function Xt(t){return a(t)?O:b(t)?E:j}function Gt(t){return Object.create((a(t)?G:b(t)?Z:$).prototype)}function Zt(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):X.prototype.cacheResult.call(this)}function $t(t,e){return void 0===t&&void 0===e?0:void 0===t?1:void 0===e?-1:e<t?1:t<e?-1:0}function te(t,e){for(var r=Math.max(0,t.length-(e=e||0)),n=Array(r),i=0;i<r;i++)n[i]=t[i+e];return n}function ee(t,e){if(!t)throw Error(e)}function re(t){ee(t!==1/0,"Cannot perform this action with an infinite size.")}function ne(t){if(Q(t)&&"string"!=typeof t)return t;if(R(t))return t.toArray();throw new TypeError(
|
|
33
|
+
"Invalid keyPath: expected Ordered Collection or Array: "+t)}Rt.prototype.cacheResult=kt.prototype.cacheResult=Ut.prototype.cacheResult=Tt.prototype.cacheResult=Zt;var ie=Object.prototype.toString;function oe(t){if(!t||"object"!=typeof t||"[object Object]"!==ie.call(t))return!1;t=Object.getPrototypeOf(t);if(null===t)return!0;for(var e=t,r=Object.getPrototypeOf(t);null!==r;)r=Object.getPrototypeOf(e=r);return e===t}function ue(t){return"object"==typeof t&&(A(t)||Array.isArray(t)||oe(t))}function se(e){try{return"string"==typeof e?JSON.stringify(e):e+""}catch(t){return JSON.stringify(e)}}function ae(t,e){return A(t)?t.has(e):ue(t)&&Y.call(t,e)}function ce(t,e,r){return A(t)?t.get(e,r):ae(t,e)?"function"==typeof t.get?t.get(e):t[e]:r}function fe(t){return"string"==typeof t&&("__proto__"===t||"constructor"===t)}function he(t){if(Array.isArray(t))return te(t);var e,r={};for(e in t)fe(e)||Y.call(t,e)&&(r[e]=t[e]);return r}function _e(t,e){if(!ue(t))throw new TypeError("Cannot update non-data-structure value: "+t);if(A(t)){if(!t.remove)throw new TypeError("Cannot update immutable value without .remove() method: "+t);return t.remove(e)}if(!Y.call(t,e))return t;t=he(t);return Array.isArray(t)?t.splice(e,1):delete t[e],t}function pe(t,e,r){if(fe(e))return t;if(!ue(t))throw new TypeError("Cannot update non-data-structure value: "+t);if(A(t)){if(!t.set)throw new TypeError("Cannot update immutable value without .set() method: "+t);return t.set(e,r)}if(Y.call(t,e)&&r===t[e])return t;t=he(t);return t[e]=r,t}function le(t,e,r,n){n||(n=r,r=void 0);n=function t(e,r,n,i,o,u){var s=r===v;if(i===n.length){var a=s?o:r,c=u(a);return c===a?r:c}if(!s&&!ue(r))throw new TypeError("Cannot update within non-data-structure value in path ["+n.slice(0,i).map(se)+"]: "+r);var a=n[i];var c=s?v:ce(r,a,v);var u=t(c===v?e:A(c),c,n,i+1,o,u);return u===c?r:u===v?_e(r,a):pe(s?e?Ge():{}:r,a,u)}(A(t),t,ne(e),0,r,n);return n===v?r:n}function ve(t,e,r){return le(t,e,v,function(){return r})}function ye(t,e){return ve(this,t,e)}function de(t,e){return le(t,e
|
|
34
|
+
,function(){return v})}function ge(t){return de(this,t)}function me(t,e,r,n){return le(t,[e],r,n)}function we(t,e,r){return 1===arguments.length?t(this):me(this,t,e,r)}function Se(t,e,r){return le(this,t,e,r)}function be(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return Ie(this,t)}function ze(t){for(var e=[],r=arguments.length-1;0<r--;)e[r]=arguments[r+1];if("function"!=typeof t)throw new TypeError("Invalid merger function: "+t);return Ie(this,e,t)}function Ie(t,e,i){for(var r=[],n=0;n<e.length;n++){var o=O(e[n]);0!==o.size&&r.push(o)}return 0===r.length?t:0!==t.toSeq().size||t.__ownerID||1!==r.length?t.withMutations(function(n){for(var t=i?function(e,r){me(n,r,v,function(t){return t===v?e:i(t,e,r)})}:function(t,e){n.set(e,t)},e=0;e<r.length;e++)r[e].forEach(t)}):t.constructor(r[0])}function Oe(t){for(var e=[],r=arguments.length-1;0<r--;)e[r]=arguments[r+1];return xe(t,e)}function Ee(t,e){for(var r=[],n=arguments.length-2;0<n--;)r[n]=arguments[n+2];return xe(e,r,t)}function je(t){for(var e=[],r=arguments.length-1;0<r--;)e[r]=arguments[r+1];return qe(t,e)}function Me(t,e){for(var r=[],n=arguments.length-2;0<n--;)r[n]=arguments[n+2];return qe(e,r,t)}function qe(t,e,r){return xe(t,e,(i=r,function t(e,r,n){return ue(e)&&ue(r)&&function(t,e){return t=X(t),e=X(e),b(t)===b(e)&&a(t)===a(e)}(e,r)?xe(e,[r],t):i?i(e,r,n):r}));var i}function xe(n,t,i){if(!ue(n))throw new TypeError("Cannot merge into non-data-structure value: "+n);if(A(n))return"function"==typeof i&&n.mergeWith?n.mergeWith.apply(n,[i].concat(t)):(n.merge?n.merge:n.concat).apply(n,t);for(var e=Array.isArray(n),o=n,r=e?E:O,u=e?function(t){o===n&&(o=he(o)),o.push(t)}:function(t,e){var r;fe(e)||(t=(r=Y.call(o,e))&&i?i(o[e],t,e):t,r&&t===o[e]||(o===n&&(o=he(o)),o[e]=t))},s=0;s<t.length;s++)r(t[s]).forEach(u);return o}function De(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return qe(this,t)}function Ae(t){for(var e=[],r=arguments.length-1;0<r--;)e[r]=arguments[r+1];return qe(this,e,t)}function ke(t){for(var e=[],
|
|
35
|
+
r=arguments.length-1;0<r--;)e[r]=arguments[r+1];return le(this,t,Ge(),function(t){return xe(t,e)})}function Re(t){for(var e=[],r=arguments.length-1;0<r--;)e[r]=arguments[r+1];return le(this,t,Ge(),function(t){return qe(t,e)})}function Ue(t){var e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Te(){return this.__ownerID?this:this.__ensureOwner(new m)}function Ke(){return this.__ensureOwner()}function Le(){return this.__altered}var Ce=function(n){function t(e){return null==e?Ge():ct(e)&&!R(e)?e:Ge().withMutations(function(r){var t=n(e);re(t.size),t.forEach(function(t,e){return r.set(e,t)})})}return n&&(t.__proto__=n),((t.prototype=Object.create(n&&n.prototype)).constructor=t).of=function(){for(var r=[],t=arguments.length;t--;)r[t]=arguments[t];return Ge().withMutations(function(t){for(var e=0;e<r.length;e+=2){if(r.length<=e+1)throw Error("Missing value for key: "+r[e]);t.set(r[e],r[e+1])}})},t.prototype.toString=function(){return this.__toString("Map {","}")},t.prototype.get=function(t,e){return this._root?this._root.get(0,void 0,t,e):e},t.prototype.set=function(t,e){return Ze(this,t,e)},t.prototype.remove=function(t){return Ze(this,t,v)},t.prototype.deleteAll=function(t){var r=I(t);return 0===r.size?this:this.withMutations(function(e){r.forEach(function(t){return e.remove(t)})})},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Ge()},t.prototype.sort=function(t){return Er(Ht(this,t))},t.prototype.sortBy=function(t,e){return Er(Ht(this,e,t))},t.prototype.map=function(n,i){var o=this;return this.withMutations(function(r){r.forEach(function(t,e){r.set(e,n.call(i,t,e,o))})})},t.prototype.__iterator=function(t,e){return new Fe(this,t,e)},t.prototype.__iterate=function(e,t){var r=this,n=0;return this._root&&this._root.iterate(function(t){return n++,e(t[1],t[0],r)},t),n},t.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Xe(this.size,this._root,t,this.__hash
|
|
36
|
+
):0===this.size?Ge():(this.__ownerID=t,this.__altered=!1,this)},t}(O);Ce.isMap=ct;var Be=Ce.prototype;Be[at]=!0,Be[e]=Be.remove,Be.removeAll=Be.deleteAll,Be.setIn=ye,Be.removeIn=Be.deleteIn=ge,Be.update=we,Be.updateIn=Se,Be.merge=Be.concat=be,Be.mergeWith=ze,Be.mergeDeep=De,Be.mergeDeepWith=Ae,Be.mergeIn=ke,Be.mergeDeepIn=Re,Be.withMutations=Ue,Be.wasAltered=Le,Be.asImmutable=Ke,Be["@@transducer/init"]=Be.asMutable=Te,Be["@@transducer/step"]=function(t,e){return t.set(e[0],e[1])},Be["@@transducer/result"]=function(t){return t.asImmutable()};var Pe=function(t,e){this.ownerID=t,this.entries=e};Pe.prototype.get=function(t,e,r,n){for(var i=this.entries,o=0,u=i.length;o<u;o++)if(_t(r,i[o][0]))return i[o][1];return n},Pe.prototype.update=function(t,e,r,n,i,o,u){for(var s=i===v,a=this.entries,c=0,f=a.length;c<f&&!_t(n,a[c][0]);c++);var h=c<f;if(h?a[c][1]===i:s)return this;if(_(u),!s&&h||_(o),!s||1!==a.length){if(!h&&!s&&ir<=a.length)return function(t,e,r,n){t=t||new m;for(var i=new Je(t,yt(r),[r,n]),o=0;o<e.length;o++){var u=e[o];i=i.update(t,0,void 0,u[0],u[1])}return i}(t,a,n,i);u=t&&t===this.ownerID,o=u?a:te(a);return h?s?c===f-1?o.pop():o[c]=o.pop():o[c]=[n,i]:o.push([n,i]),u?(this.entries=o,this):new Pe(t,o)}};var We=function(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r};We.prototype.get=function(t,e,r,n){void 0===e&&(e=yt(r));var i=1<<((0===t?e:e>>>t)&g),o=this.bitmap;return 0==(o&i)?n:this.nodes[rr(o&i-1)].get(t+d,e,r,n)},We.prototype.update=function(t,e,r,n,i,o,u){void 0===r&&(r=yt(n));var s=(0===e?r:r>>>e)&g,a=1<<s,c=this.bitmap,f=0!=(c&a);if(!f&&i===v)return this;var h=rr(c&a-1),_=this.nodes,p=f?_[h]:void 0,u=$e(p,t,e+d,r,n,i,o,u);if(u===p)return this;if(!f&&u&&or<=_.length)return function(t,e,r,n,i){for(var o=0,u=Array(l),s=0;0!==r;s++,r>>>=1)u[s]=1&r?e[o++]:void 0;return u[n]=i,new Ne(t,o+1,u)}(t,_,c,s,u);if(f&&!u&&2===_.length&&tr(_[1^h]))return _[1^h];if(f&&u&&1===_.length&&tr(u))return u;s=t&&t===this.ownerID,a=f?u?c:c^a:c|a,u=f?u?nr(_,h,u,s):function(t,e,r){var n=t.length-1;if(r&&e===n)return t.pop()
|
|
37
|
+
,t;for(var i=Array(n),o=0,u=0;u<n;u++)u===e&&(o=1),i[u]=t[u+o];return i}(_,h,s):function(t,e,r,n){var i=t.length+1;if(n&&e+1===i)return t[e]=r,t;for(var o=Array(i),u=0,s=0;s<i;s++)s===e?(o[s]=r,u=-1):o[s]=t[s+u];return o}(_,h,u,s);return s?(this.bitmap=a,this.nodes=u,this):new We(t,a,u)};var Ne=function(t,e,r){this.ownerID=t,this.count=e,this.nodes=r};Ne.prototype.get=function(t,e,r,n){void 0===e&&(e=yt(r));var i=this.nodes[(0===t?e:e>>>t)&g];return i?i.get(t+d,e,r,n):n},Ne.prototype.update=function(t,e,r,n,i,o,u){void 0===r&&(r=yt(n));var s=(0===e?r:r>>>e)&g,a=this.nodes,c=a[s];if(i===v&&!c)return this;o=$e(c,t,e+d,r,n,i,o,u);if(o===c)return this;u=this.count;if(c){if(!o&&--u<ur)return function(t,e,r,n){for(var i=0,o=0,u=Array(r),s=0,a=1,c=e.length;s<c;s++,a<<=1){var f=e[s];void 0!==f&&s!==n&&(i|=a,u[o++]=f)}return new We(t,i,u)}(t,a,u,s)}else u++;c=t&&t===this.ownerID,o=nr(a,s,o,c);return c?(this.count=u,this.nodes=o,this):new Ne(t,u,o)};var He=function(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r,this._index=void 0};He.prototype._positionOf=function(t,e){var r=this.entries,n=this._index;if(void 0===n&&e&&sr<=r.length&&(n=this._buildIndex()),void 0!==n){var i=n[wt(t)];if(void 0!==i)for(var o=0;o<i.length;o++){var u=i[o];if(_t(t,r[u][0]))return u}return-1}for(var s=0,a=r.length;s<a;s++)if(_t(t,r[s][0]))return s;return-1},He.prototype._buildIndex=function(){for(var t=Object.create(null),e=this.entries,r=0,n=e.length;r<n;r++){var i=wt(e[r][0]),o=t[i];void 0!==o?o.push(r):t[i]=[r]}return this._index=t},He.prototype.get=function(t,e,r,n){r=this._positionOf(r,!0);return-1===r?n:this.entries[r][1]},He.prototype.update=function(t,e,r,n,i,o,u){void 0===r&&(r=yt(n));var s=i===v;if(r!==this.keyHash)return s?this:(_(u),_(o),er(this,t,e,r,[n,i]));var a=this.entries,c=a.length,f=t&&t===this.ownerID,e=this._positionOf(n,f),r=-1===e?c:e,e=-1!==e;if(e?a[r][1]===i:s)return this;if(_(u),!s&&e||_(o),s&&2===c)return new Je(t,this.keyHash,a[1^r]);a=f?a:te(a);return e?s?(r===c-1?a.pop():a[r]=a.pop(),f&&(this._index=void 0)
|
|
38
|
+
):a[r]=[n,i]:(a.push([n,i]),f&&void 0!==this._index&&(i=wt(n),void 0!==(n=this._index[i])?n.push(c):this._index[i]=[c])),f?(this.entries=a,this):new He(t,this.keyHash,a)};var Je=function(t,e,r){this.ownerID=t,this.keyHash=e,this.entry=r};Je.prototype.get=function(t,e,r,n){return _t(r,this.entry[0])?this.entry[1]:n},Je.prototype.update=function(t,e,r,n,i,o,u){var s=i===v,a=_t(n,this.entry[0]);return(a?i===this.entry[1]:s)?this:(_(u),s?void _(o):a?t&&t===this.ownerID?(this.entry[1]=i,this):new Je(t,this.keyHash,[n,i]):(_(o),er(this,t,e,yt(n),[n,i])))},Pe.prototype.iterate=He.prototype.iterate=function(t,e){for(var r=this.entries,n=0,i=r.length-1;n<=i;n++)if(!1===t(r[e?i-n:n]))return!1},We.prototype.iterate=Ne.prototype.iterate=function(t,e){for(var r=this.nodes,n=0,i=r.length-1;n<=i;n++){var o=r[e?i-n:n];if(o&&!1===o.iterate(t,e))return!1}},Je.prototype.iterate=function(t,e){return t(this.entry)};var Ve,Fe=function(t){function e(t,e,r){this._type=e,this._reverse=r,this._stack=t._root&&Qe(t._root)}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.next=function(){for(var t=this._type,e=this._stack;e;){var r=e.node,n=e.index++,i=void 0;if(r.entry){if(0==n)return Ye(t,r.entry)}else if(r.entries){if(n<=(i=r.entries.length-1))return Ye(t,r.entries[this._reverse?i-n:n])}else if(n<=(i=r.nodes.length-1)){n=r.nodes[this._reverse?i-n:n];if(n){if(n.entry)return Ye(t,n.entry);e=this._stack=Qe(n,e)}continue}e=this._stack=this._stack.__prev}return N()},e}(P);function Ye(t,e){return W(t,e[0],e[1])}function Qe(t,e){return{node:t,index:0,__prev:e}}function Xe(t,e,r,n){var i=Object.create(Be);return i.size=t,i._root=e,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function Ge(){return Ve=Ve||Xe(0)}function Ze(t,e,r){if(t._root){var n=u(),i=u(),o=$e(t._root,t.__ownerID,0,void 0,e,r,n,i);if(!i.value)return t;n=t.size+(n.value?r===v?-1:1:0)}else{if(r===v)return t;n=1,o=new Pe(t.__ownerID,[[e,r]])}return t.__ownerID?(t.size=n,t._root=o,t.__hash=void 0,t.__altered=!0,t):o?Xe(n,o):Ge()}function $e(t
|
|
39
|
+
,e,r,n,i,o,u,s){return t?t.update(e,r,n,i,o,u,s):o===v?t:(_(s),_(u),new Je(e,n,[i,o]))}function tr(t){return t.constructor===Je||t.constructor===He}function er(t,e,r,n,i){if(t.keyHash===n)return new He(e,n,[t.entry,i]);var o=(0===r?t.keyHash:t.keyHash>>>r)&g,u=(0===r?n:n>>>r)&g,t=o==u?[er(t,e,r+d,n,i)]:(i=new Je(e,n,i),o<u?[t,i]:[i,t]);return new We(e,1<<o|1<<u,t)}function rr(t){return t=(t=(858993459&(t-=t>>1&1431655765))+(t>>2&858993459))+(t>>4)&252645135,t+=t>>8,127&(t+=t>>16)}function nr(t,e,r,n){t=n?t:te(t);return t[e]=r,t}var ir=l/4,or=l/2,ur=l/4,sr=16,ar="@@__IMMUTABLE_LIST__@@";function cr(t){return!(!t||!t[ar])}var fr=function(o){function t(t){var e=dr();if(null==t)return e;if(cr(t))return t;var n=o(t),i=n.size;return 0===i?e:(re(i),0<i&&i<l?yr(0,i,d,null,new _r(n.toArray())):e.withMutations(function(r){r.setSize(i),n.forEach(function(t,e){return r.set(e,t)})}))}return o&&(t.__proto__=o),((t.prototype=Object.create(o&&o.prototype)).constructor=t).of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("List [","]")},t.prototype.get=function(t,e){if(0<=(t=h(this,t))&&t<this.size){var r=wr(this,t+=this._origin);return r&&r.array[t&g]}return e},t.prototype.set=function(t,e){return function(t,e,r){if((e=h(t,e))!==e)return t;if(t.size<=e||e<0)return t.withMutations(function(t){e<0?Sr(t,e).set(0,r):Sr(t,0,e+1).set(e,r)});var n=t._tail,i=t._root,o=u();(e+=t._origin)>=br(t._capacity)?n=gr(n,t.__ownerID,0,e,r,o):i=gr(i,t.__ownerID,t._level,e,r,o);if(!o.value)return t;if(t.__ownerID)return t._root=i,t._tail=n,t.__hash=void 0,t.__altered=!0,t;return yr(t._origin,t._capacity,t._level,i,n)}(this,t,e)},t.prototype.remove=function(t){return this.has(t)?0===t?this.shift():t===this.size-1?this.pop():this.splice(t,1):this},t.prototype.insert=function(t,e){return this.splice(t,0,e)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=d,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this):dr()},
|
|
40
|
+
t.prototype.push=function(){var r=arguments,n=this.size;return this.withMutations(function(t){Sr(t,0,n+r.length);for(var e=0;e<r.length;e++)t.set(n+e,r[e])})},t.prototype.pop=function(){return Sr(this,0,-1)},t.prototype.unshift=function(){var r=arguments;return this.withMutations(function(t){Sr(t,-r.length);for(var e=0;e<r.length;e++)t.set(e,r[e])})},t.prototype.shift=function(){return Sr(this,1)},t.prototype.concat=function(){for(var t=arguments,r=[],e=0;e<arguments.length;e++){var n=t[e],n=o("string"!=typeof n&&H(n)?n:[n]);0!==n.size&&r.push(n)}return 0===r.length?this:0!==this.size||this.__ownerID||1!==r.length?this.withMutations(function(e){r.forEach(function(t){return t.forEach(function(t){return e.push(t)})})}):this.constructor(r[0])},t.prototype.setSize=function(t){return Sr(this,0,t)},t.prototype.map=function(r,n){var i=this;return this.withMutations(function(t){for(var e=0;e<i.size;e++)t.set(e,r.call(n,t.get(e),e,i))})},t.prototype.slice=function(t,e){var r=this.size;return p(t,e,r)?this:Sr(this,y(t,r),w(e,r))},t.prototype.__iterator=function(e,r){var n=r?this.size:0,i=vr(this,r);return new P(function(){var t=i();return t===lr?N():W(e,r?--n:n++,t)})},t.prototype.__iterate=function(t,e){for(var r,n=e?this.size:0,i=vr(this,e);(r=i())!==lr&&!1!==t(r,e?--n:n++,this););return n},t.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?yr(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash):0===this.size?dr():(this.__ownerID=t,this.__altered=!1,this)},t}(E);fr.isList=cr;var hr=fr.prototype;hr[ar]=!0,hr[e]=hr.remove,hr.merge=hr.concat,hr.setIn=ye,hr.deleteIn=hr.removeIn=ge,hr.update=we,hr.updateIn=Se,hr.mergeIn=ke,hr.mergeDeepIn=Re,hr.withMutations=Ue,hr.wasAltered=Le,hr.asImmutable=Ke,hr["@@transducer/init"]=hr.asMutable=Te,hr["@@transducer/step"]=function(t,e){return t.push(e)},hr["@@transducer/result"]=function(t){return t.asImmutable()};var _r=function(t,e){this.array=t,this.ownerID=e};_r.prototype.removeBefore=function(t,e,r){if(r===e?1<<e:0===this.array.length
|
|
41
|
+
)return this;var n=r>>>e&g;if(this.array.length<=n)return new _r([],t);var i=0==n;if(0<e){var o,u=this.array[n];if((o=u&&u.removeBefore(t,e-d,r))===u&&i)return this}if(i&&!o)return this;var s=mr(this,t);if(!i)for(var a=0;a<n;a++)s.array[a]=void 0;return o&&(s.array[n]=o),s},_r.prototype.removeAfter=function(t,e,r){if(r===(e?1<<e:0)||0===this.array.length)return this;var n=r-1>>>e&g;if(this.array.length<=n)return this;if(0<e){var i,o=this.array[n];if((i=o&&o.removeAfter(t,e-d,r))===o&&n==this.array.length-1)return this}t=mr(this,t);return t.array.splice(1+n),i&&(t.array[n]=i),t};var pr,lr={};function vr(t,s){var a=t._origin,c=t._capacity,o=br(c),u=t._tail;return f(t._root,t._level,0);function f(t,e,r){return 0===e?function(t,e){var r=e===o?u&&u.array:t&&t.array,n=a<e?0:a-e,i=c-e;l<i&&(i=l);return function(){if(n===i)return lr;var t=s?--i:n++;return r&&r[t]}}(t,r):function(t,e,r){var n,i=t&&t.array,o=a<r?0:a-r>>e,u=1+(c-r>>e);l<u&&(u=l);return function(){for(;;){if(n){var t=n();if(t!==lr)return t;n=null}if(o===u)return lr;t=s?--u:o++;n=f(i&&i[t],e-d,r+(t<<e))}}}(t,e,r)}}function yr(t,e,r,n,i,o,u){var s=Object.create(hr);return s.size=e-t,s._origin=t,s._capacity=e,s._level=r,s._root=n,s._tail=i,s.__ownerID=o,s.__hash=u,s.__altered=!1,s}function dr(){return pr=pr||yr(0,0,d)}function gr(t,e,r,n,i,o){var u,s=n>>>r&g,a=t&&s<t.array.length;if(!a&&void 0===i)return t;if(0<r){var c=t&&t.array[s],n=gr(c,e,r-d,n,i,o);return n===c?t:((u=mr(t,e)).array[s]=n,u)}return a&&t.array[s]===i?t:(o&&_(o),u=mr(t,e),void 0===i&&s==u.array.length-1?u.array.pop():u.array[s]=i,u)}function mr(t,e){return e&&t&&e===t.ownerID?t:new _r(t?t.array.slice():[],e)}function wr(t,e){if(e>=br(t._capacity))return t._tail;if(e<1<<t._level+d){for(var r=t._root,n=t._level;r&&0<n;)r=r.array[e>>>n&g],n-=d;return r}}function Sr(t,e,r){!function(t,e,r){if(e=t._origin+(void 0===e?0:e),Number.isFinite(r=void 0===r?t._capacity:r<0?t._capacity+r:t._origin+r)&&zr<r||Number.isFinite(e)&&e<-zr||Number.isFinite(r)&&Number.isFinite(e)&&zr<r-e)throw new RangeError(
|
|
42
|
+
"Invalid List size: a List cannot hold more than "+zr+" (2 ** 30) values.")}(t,e,r),void 0!==e&&(e|=0),void 0!==r&&(r|=0);var n=t.__ownerID||new m,i=t._origin,o=t._capacity,u=i+e,s=void 0===r?o:r<0?o+r:i+r;if(u===i&&s===o)return t;if(s<=u)return t.clear();for(var a=t._level,c=t._root,f=0;u+f<0;)c=new _r(c&&c.array.length?[void 0,c]:[],n),f+=Ir(a+=d);f&&(u+=f,i+=f,s+=f,o+=f);for(var h=br(o),_=br(s);_>=Ir(a+d);)c=new _r(c&&c.array.length?[c]:[],n),a+=d;e=t._tail,r=_<h?wr(t,s-1):h<_?new _r([],n):e;if(e&&h<_&&u<o&&e.array.length){for(var p=c=mr(c,n),l=a;d<l;l-=d)var v=h>>>l&g,p=p.array[v]=mr(p.array[v],n);p.array[h>>>d&g]=e}if(s<o&&(r=r&&r.removeAfter(n,0,s)),_<=u)u-=_,s-=_,a=d,c=null,r=r&&r.removeBefore(n,0,u);else if(i<u||_<h){for(f=0;c;){var y=u>>>a&g;if(y!=_>>>a&g)break;y&&(f+=(1<<a)*y),a-=d,c=c.array[y]}c&&i<u&&(c=c.removeBefore(n,a,u-f)),c&&_<h&&(c=c.removeAfter(n,a,_-f)),f&&(u-=f,s-=f)}return t.__ownerID?(t.size=s-u,t._origin=u,t._capacity=s,t._level=a,t._root=c,t._tail=r,t.__hash=void 0,t.__altered=!0,t):yr(u,s,a,c,r)}function br(t){return t<l?0:t-1>>>d<<d}var zr=1073741824;function Ir(t){return t<31?1<<t:Math.pow(2,t)}var Or,Er=function(t){function e(e){return null==e?Mr():ft(e)?e:Mr().withMutations(function(r){var t=O(e);re(t.size),t.forEach(function(t,e){return r.set(e,t)})})}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).of=function(){return this(arguments)},e.prototype.toString=function(){return this.__toString("OrderedMap {","}")},e.prototype.get=function(t,e){t=this._map.get(t);return void 0!==t?this._list.get(t)[1]:e},e.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this.__altered=!0,this):Mr()},e.prototype.set=function(t,e){return qr(this,t,e)},e.prototype.remove=function(t){return qr(this,t,v)},e.prototype.__iterate=function(e,t){var r=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],r)},t)},e.prototype.__iterator=function(t,e){return this._list.fromEntrySeq().__iterator(t,
|
|
43
|
+
e)},e.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map.__ensureOwner(t),r=this._list.__ensureOwner(t);return t?jr(e,r,t,this.__hash):0===this.size?Mr():(this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this)},e}(Ce);function jr(t,e,r,n){var i=Object.create(Er.prototype);return i.size=t?t.size:0,i._map=t,i._list=e,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function Mr(){return Or=Or||jr(Ge(),dr())}function qr(t,e,r){var n,i,o=t._map,u=t._list,s=o.get(e),a=void 0!==s;if(r===v){if(!a)return t;l<=u.size&&2*o.size<=u.size?(n=(i=u.filter(function(t,e){return void 0!==t&&s!==e})).toKeyedSeq().map(function(t){return t[0]}).flip().toMap(),t.__ownerID&&(n.__ownerID=i.__ownerID=t.__ownerID)):(n=o.remove(e),i=s===u.size-1?u.pop():u.set(s,void 0))}else if(a){if(r===u.get(s)[1])return t;n=o,i=u.set(s,[e,r])}else n=o.set(e,u.size),i=u.set(u.size,[e,r]);return t.__ownerID?(t.size=n.size,t._map=n,t._list=i,t.__hash=void 0,t.__altered=!0,t):jr(n,i)}Er.isOrderedMap=ft,Er.prototype[k]=!0,Er.prototype[e]=Er.prototype.remove;var xr="@@__IMMUTABLE_STACK__@@";function Dr(t){return!(!t||!t[xr])}var Ar=function(i){function t(t){return null==t?Tr():Dr(t)?t:Tr().pushAll(t)}return i&&(t.__proto__=i),((t.prototype=Object.create(i&&i.prototype)).constructor=t).of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("Stack [","]")},t.prototype.get=function(t,e){var r=this._head;for(t=h(this,t);r&&t--;)r=r.next;return r?r.value:e},t.prototype.peek=function(){return this._head&&this._head.value},t.prototype.push=function(){var t=arguments;if(0===arguments.length)return this;for(var e=this.size+arguments.length,r=this._head,n=arguments.length-1;0<=n;n--)r={value:t[n],next:r};return this.__ownerID?(this.size=e,this._head=r,this.__hash=void 0,this.__altered=!0,this):Ur(e,r)},t.prototype.pushAll=function(t){if(0===(t=i(t)).size)return this;if(0===this.size&&Dr(t))return t;re(t.size);var e=this.size,r=this._head;return t.__iterate(function(t){e++,r={value:t,next:r}},!0
|
|
44
|
+
),this.__ownerID?(this.size=e,this._head=r,this.__hash=void 0,this.__altered=!0,this):Ur(e,r)},t.prototype.pop=function(){return this.slice(1)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Tr()},t.prototype.slice=function(t,e){if(p(t,e,this.size))return this;var r=y(t,this.size);if(w(e,this.size)!==this.size)return i.prototype.slice.call(this,t,e);for(var e=this.size-r,n=this._head;r--;)n=n.next;return this.__ownerID?(this.size=e,this._head=n,this.__hash=void 0,this.__altered=!0,this):Ur(e,n)},t.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Ur(this.size,this._head,t,this.__hash):0===this.size?Tr():(this.__ownerID=t,this.__altered=!1,this)},t.prototype.__iterate=function(r,t){var n=this;if(t)return new tt(this.toArray()).__iterate(function(t,e){return r(t,e,n)},t);for(var e=0,i=this._head;i&&!1!==r(i.value,e++,this);)i=i.next;return e},t.prototype.__iterator=function(e,t){if(t)return new tt(this.toArray()).__iterator(e,t);var r=0,n=this._head;return new P(function(){if(n){var t=n.value;return n=n.next,W(e,r++,t)}return N()})},t}(E);Ar.isStack=Dr;var kr,Rr=Ar.prototype;function Ur(t,e,r,n){var i=Object.create(Rr);return i.size=t,i._head=e,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function Tr(){return kr=kr||Ur(0)}Rr[xr]=!0,Rr.shift=Rr.pop,Rr.unshift=Rr.push,Rr.unshiftAll=Rr.pushAll,Rr.withMutations=Ue,Rr.wasAltered=Le,Rr.asImmutable=Ke,Rr["@@transducer/init"]=Rr.asMutable=Te,Rr["@@transducer/step"]=function(t,e){return t.unshift(e)},Rr["@@transducer/result"]=function(t){return t.asImmutable()};var Kr="@@__IMMUTABLE_SET__@@";function Lr(t){return!(!t||!t[Kr])}function Cr(t){return Lr(t)&&R(t)}function Br(r,t){if(r===t)return!0;if(!f(t)||void 0!==r.size&&void 0!==t.size&&r.size!==t.size||void 0!==r.__hash&&void 0!==t.__hash&&r.__hash!==t.__hash||a(r)!==a(t)||b(r)!==b(t)||R(r)!==R(t))return!1;if(0===r.size&&0===t.size)return!0;var n=!z(r);if(R(r)){var i=r.entries();return t.every(function(t,e){
|
|
45
|
+
var r=i.next().value;return r&&_t(r[1],t)&&(n||_t(r[0],e))})&&i.next().done}var e,o=!1;void 0===r.size&&(void 0===t.size?"function"==typeof r.cacheResult&&r.cacheResult():(o=!0,e=r,r=t,t=e));var u=!0,t=t.__iterate(function(t,e){if(n?!r.has(t):o?!_t(t,r.get(e,v)):!_t(r.get(e,v),t))return u=!1});return u&&r.size===t}function Pr(e,r){function t(t){e.prototype[t]=r[t]}return Object.keys(r).forEach(t),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(r).forEach(t),e}function Wr(t){if(!t||"object"!=typeof t)return t;if(!f(t)){if(!ue(t))return t;t=X(t)}if(a(t)){var r={};return t.__iterate(function(t,e){fe(e)||(r[e]=Wr(t))}),r}var e=[];return t.__iterate(function(t){e.push(Wr(t))}),e}var Nr=function(n){function e(r){return null==r?Yr():Lr(r)&&!R(r)?r:Yr().withMutations(function(e){var t=n(r);re(t.size),t.forEach(function(t){return e.add(t)})})}return n&&(e.__proto__=n),((e.prototype=Object.create(n&&n.prototype)).constructor=e).of=function(){return this(arguments)},e.fromKeys=function(t){return this(O(t).keySeq())},e.intersect=function(t){return(t=I(t).toArray()).length?Jr.intersect.apply(e(t.pop()),t):Yr()},e.union=function(t){return(t=I(t).toArray()).length?Jr.union.apply(e(t.pop()),t):Yr()},e.prototype.toString=function(){return this.__toString("Set {","}")},e.prototype.has=function(t){return this._map.has(t)},e.prototype.add=function(t){return Vr(this,this._map.set(t,t))},e.prototype.remove=function(t){return Vr(this,this._map.remove(t))},e.prototype.clear=function(){return Vr(this,this._map.clear())},e.prototype.map=function(r,n){var i=this,o=!1,t=Vr(this,this._map.mapEntries(function(t){var e=t[1],t=r.call(n,e,e,i);return t!==e&&(o=!0),[t,t]},n));return o?t:this},e.prototype.union=function(){for(var r=[],t=arguments.length;t--;)r[t]=arguments[t];return 0===(r=r.filter(function(t){return 0!==t.size})).length?this:0!==this.size||this.__ownerID||1!==r.length?this.withMutations(function(e){for(var t=0;t<r.length;t++)"string"==typeof r[t]?e.add(r[t]):n(r[t]).forEach(function(t){return e.add(t)})}
|
|
46
|
+
):this.constructor(r[0])},e.prototype.intersect=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];if(0===t.length)return this;t=t.map(function(t){return n(t)});var r=[];return this.forEach(function(e){t.every(function(t){return t.includes(e)})||r.push(e)}),this.withMutations(function(e){r.forEach(function(t){e.remove(t)})})},e.prototype.subtract=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];if(0===t.length)return this;t=t.map(function(t){return n(t)});var r=[];return this.forEach(function(e){t.some(function(t){return t.includes(e)})&&r.push(e)}),this.withMutations(function(e){r.forEach(function(t){e.remove(t)})})},e.prototype.sort=function(t){return ln(Ht(this,t))},e.prototype.sortBy=function(t,e){return ln(Ht(this,e,t))},e.prototype.wasAltered=function(){return this._map.wasAltered()},e.prototype.__iterate=function(e,t){var r=this;return this._map.__iterate(function(t){return e(t,t,r)},t)},e.prototype.__iterator=function(t,e){return this._map.__iterator(t,e)},e.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map.__ensureOwner(t);return t?this.__make(e,t):0===this.size?this.__empty():(this.__ownerID=t,this._map=e,this)},e}(j);Nr.isSet=Lr;var Hr,Jr=Nr.prototype;function Vr(t,e){return t.__ownerID?(t.size=e.size,t._map=e,t):e===t._map?t:0===e.size?t.__empty():t.__make(e)}function Fr(t,e){var r=Object.create(Jr);return r.size=t?t.size:0,r._map=t,r.__ownerID=e,r}function Yr(){return Hr=Hr||Fr(Ge())}Jr[Kr]=!0,Jr[e]=Jr.remove,Jr.merge=Jr.concat=Jr.union,Jr.withMutations=Ue,Jr.asImmutable=Ke,Jr["@@transducer/init"]=Jr.asMutable=Te,Jr["@@transducer/step"]=function(t,e){return t.add(e)},Jr["@@transducer/result"]=function(t){return t.asImmutable()},Jr.__empty=Yr,Jr.__make=Fr;var Qr,Xr=function(t){function n(t,e,r){if(!(this instanceof n))return new n(t,e,r);if(ee(0!==r,"Cannot step a Range by 0"),t=t||0,void 0===e&&(e=1/0),r=void 0===r?1:Math.abs(r),e<t&&(r=-r),this._start=t,this._end=e,this._step=r,this.size=Math.max(0,1+Math.ceil((e-t)/r-1)),
|
|
47
|
+
0===this.size){if(Qr)return Qr;Qr=this}}return t&&(n.__proto__=t),((n.prototype=Object.create(t&&t.prototype)).constructor=n).prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(1!==this._step?" by "+this._step:"")+" ]"},n.prototype.get=function(t,e){return this.has(t)?this._start+h(this,t)*this._step:e},n.prototype.includes=function(t){t=(t-this._start)/this._step;return 0<=t&&t<this.size&&t==Math.floor(t)},n.prototype.slice=function(t,e){return p(t,e,this.size)?this:(t=y(t,this.size),(e=w(e,this.size))<=t?new n(0,0):new n(this.get(t,this._end),this.get(e,this._end),this._step))},n.prototype.indexOf=function(t){t-=this._start;if(t%this._step==0){t=t/this._step;if(0<=t&&t<this.size)return t}return-1},n.prototype.lastIndexOf=function(t){return this.indexOf(t)},n.prototype.__iterate=function(t,e){for(var r=this.size,n=this._step,i=e?this._start+(r-1)*n:this._start,o=0;o!==r&&!1!==t(i,e?r-++o:o++,this);)i+=e?-n:n;return o},n.prototype.__iterator=function(e,r){var n=this.size,i=this._step,o=r?this._start+(n-1)*i:this._start,u=0;return new P(function(){if(u===n)return N();var t=o;return o+=r?-i:i,W(e,r?n-++u:u++,t)})},n.prototype.equals=function(t){return t instanceof n?this._start===t._start&&this._end===t._end&&this._step===t._step:Br(this,t)},n}(Z);function Gr(t,e,r){for(var n=ne(e),i=0;i!==n.length;)if((t=ce(t,n[i++],v))===v)return r;return t}function Zr(t,e){return Gr(this,t,e)}function $r(t,e){return Gr(t,e,v)!==v}function tn(){re(this.size);var r={};return this.__iterate(function(t,e){fe(e)||(r[e]=t)}),r}I.isIterable=f,I.isKeyed=a,I.isIndexed=b,I.isAssociative=z,I.isOrdered=R,I.Iterator=P,Pr(I,{toArray:function(){re(this.size);var r=Array(this.size||0),n=a(this),i=0;return this.__iterate(function(t,e){r[i++]=n?[e,t]:t}),r},toIndexedSeq:function(){return new Rt(this)},toJS:function(){return Wr(this)},toKeyedSeq:function(){return new kt(this,!0)},toMap:function(){return Ce(this.toKeyedSeq())},toObject:tn,toOrderedMap:function(){return Er(this.toKeyedSeq())},
|
|
48
|
+
toOrderedSet:function(){return ln(a(this)?this.valueSeq():this)},toSet:function(){return Nr(a(this)?this.valueSeq():this)},toSetSeq:function(){return new Ut(this)},toSeq:function(){return b(this)?this.toIndexedSeq():a(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Ar(a(this)?this.valueSeq():this)},toList:function(){return fr(a(this)?this.valueSeq():this)},toString:function(){return"[Collection]"},__toString:function(t,e){return 0===this.size?t+e:t+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+e},concat:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return Yt(this,function(t,e){var r=a(t);if(0===(e=[t].concat(e).map(function(t){return f(t)?r&&(t=O(t)):t=r?ot(t):ut(Array.isArray(t)?t:[t]),t}).filter(function(t){return 0!==t.size})).length)return t;if(1===e.length){var n=e[0];if(n===t||r&&a(n)||b(t)&&b(n))return n}return n=new tt(e),r?n=n.toKeyedSeq():b(t)||(n=n.toSetSeq()),(n=n.flatten(!0)).size=e.reduce(function(t,e){if(void 0!==t){e=e.size;if(void 0!==e)return t+e}},0),n}(this,t))},includes:function(e){return this.some(function(t){return _t(t,e)})},entries:function(){return this.__iterator(K)},every:function(n,i){re(this.size);var o=!0;return this.__iterate(function(t,e,r){if(!n.call(i,t,e,r))return o=!1}),o},filter:function(t,e){return Yt(this,Bt(this,t,e,!0))},partition:function(t,e){return function(r,n,i){var o=a(r),u=[[],[]];r.__iterate(function(t,e){u[n.call(i,t,e,r)?1:0].push(o?[e,t]:t)});var e=Xt(r);return u.map(function(t){return Yt(r,e(t))})}(this,t,e)},find:function(t,e,r){e=this.findEntry(t,e);return e?e[1]:r},forEach:function(t,e){return re(this.size),this.__iterate(e?t.bind(e):t)},join:function(e){re(this.size),e=void 0!==e?""+e:",";var r="",n=!0;return this.__iterate(function(t){n?n=!1:r+=e,r+=null!=t?""+t:""}),r},keys:function(){return this.__iterator(U)},map:function(t,e){return Yt(this,Lt(this,t,e))},reduce:function(t,e,r){return un(this,t,e,r,arguments.length<2,!1)},reduceRight:function(t,e,r){return un(this,t,e,r,arguments.length<2,!0)},
|
|
49
|
+
reverse:function(){return Yt(this,Ct(this,!0))},slice:function(t,e){return Yt(this,Pt(this,t,e,!0))},some:function(n,i){re(this.size);var o=!1;return this.__iterate(function(t,e,r){if(n.call(i,t,e,r))return!(o=!0)}),o},sort:function(t){return Yt(this,Ht(this,t))},values:function(){return this.__iterator(T)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(t,e){return c(t?this.toSeq().filter(t,e):this)},countBy:function(t,e){return r=this,n=t,i=e,o=Ce().asMutable(),r.__iterate(function(t,e){o.update(n.call(i,t,e,r),0,function(t){return t+1})}),o.asImmutable();var r,n,i,o},equals:function(t){return Br(this,t)},entrySeq:function(){var t=this;if(t._cache)return new tt(t._cache);var e=t.toSeq().map(an).toIndexedSeq();return e.fromEntrySeq=function(){return t.toSeq()},e},filterNot:function(t,e){return this.filter(cn(t),e)},findEntry:function(n,i,t){var o=t;return this.__iterate(function(t,e,r){if(n.call(i,t,e,r))return!(o=[e,t])}),o},findKey:function(t,e){e=this.findEntry(t,e);return e&&e[0]},findLast:function(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)},findLastEntry:function(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)},findLastKey:function(t,e){return this.toKeyedSeq().reverse().findKey(t,e)},first:function(t){return this.find(r,null,t)},flatMap:function(t,e){return Yt(this,(n=t,i=e,o=Xt(r=this),r.toSeq().map(function(t,e){return o(n.call(i,t,e,r))}).flatten(!0)));var r,n,i,o},flatten:function(t){return Yt(this,Nt(this,t,!0))},fromEntrySeq:function(){return new Tt(this)},get:function(r,t){return this.find(function(t,e){return _t(e,r)},void 0,t)},getIn:Zr,groupBy:function(t,e){return function(n,t,i){var o=a(n),u=(R(n)?Er:Ce)().asMutable();n.__iterate(function(e,r){u.update(t.call(i,e,r,n),function(t){return(t=t||[]).push(o?[r,e]:e),t})});var e=Xt(n);return u.map(function(t){return Yt(n,e(t))}).asImmutable()}(this,t,e)},has:function(t){return this.get(t,v)!==v},hasIn:function(t){return $r(this
|
|
50
|
+
,t)},isSubset:function(e){return e="function"==typeof e.includes?e:I(e),this.every(function(t){return e.includes(t)})},isSuperset:function(t){return(t="function"==typeof t.isSubset?t:I(t)).isSubset(this)},keyOf:function(e){return this.findKey(function(t){return _t(t,e)})},keySeq:function(){return this.toSeq().map(sn).toIndexedSeq()},last:function(t){return this.toSeq().reverse().first(t)},lastKeyOf:function(t){return this.toKeyedSeq().reverse().keyOf(t)},max:function(t){return Jt(this,t)},maxBy:function(t,e){return Jt(this,e,t)},min:function(t){return Jt(this,t?fn(t):_n)},minBy:function(t,e){return Jt(this,e?fn(e):_n,t)},rest:function(){return this.slice(1)},skip:function(t){return 0===t?this:this.slice(Math.max(0,t))},skipLast:function(t){return 0===t?this:this.slice(0,-Math.max(0,t))},skipWhile:function(t,e){return Yt(this,Wt(this,t,e,!0))},skipUntil:function(t,e){return this.skipWhile(cn(t),e)},sortBy:function(t,e){return Yt(this,Ht(this,e,t))},take:function(t){return this.slice(0,Math.max(0,t))},takeLast:function(t){return this.slice(-Math.max(0,t))},takeWhile:function(t,e){return Yt(this,(s=t,a=e,(e=Gt(r=this)).__iterateUncached=function(n,t){var i=this;if(t)return this.cacheResult().__iterate(n,t);var o=0;return r.__iterate(function(t,e,r){return s.call(a,t,e,r)&&++o&&n(t,e,i)}),o},e.__iteratorUncached=function(n,t){var i=this;if(t)return this.cacheResult().__iterator(n,t);var o=r.__iterator(K,t),u=!0;return new P(function(){if(!u)return N();var t=o.next();if(t.done)return t;var e=t.value,r=e[0],e=e[1];return s.call(a,e,r,i)?n===K?t:W(n,r,e,t):(u=!1,N())})},e));var r,s,a},takeUntil:function(t,e){return this.takeWhile(cn(t),e)},update:function(t){return t(this)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(t){if(t.size===1/0)return 0;var e=R(t),r=a(t),n=e?1:0;return function(t,e){return e=pt(e,3432918353),e=pt(e<<15|e>>>-15,461845907),e=pt(e<<13|e>>>-13,5),e=pt((e=(e+3864292196|0)^t)^e>>>16,2246822507),e=lt((e=pt(e^e>>>13,3266489909))^e>>>16)}(
|
|
51
|
+
t.__iterate(r?e?function(t,e){n=31*n+pn(yt(t),yt(e))|0}:function(t,e){n=n+pn(yt(t),yt(e))|0}:e?function(t){n=31*n+yt(t)|0}:function(t){n=n+yt(t)|0}),n)}(this))}});var en=I.prototype;en[o]=!0,en[B]=en.values,en.toJSON=en.toArray,en.__toStringMapper=se,en.inspect=en.toSource=function(){return""+this},en.chain=en.flatMap,en.contains=en.includes,Pr(O,{flip:function(){return Yt(this,Kt(this))},mapEntries:function(r,n){var i=this,o=0;return Yt(this,this.toSeq().map(function(t,e){return r.call(n,[e,t],o++,i)}).fromEntrySeq())},mapKeys:function(r,n){var i=this;return Yt(this,this.toSeq().flip().map(function(t,e){return r.call(n,t,e,i)}).flip())}});var rn=O.prototype;rn[s]=!0,rn[B]=en.entries,rn.toJSON=tn,rn.__toStringMapper=function(t,e){return se(e)+": "+se(t)},Pr(E,{toKeyedSeq:function(){return new kt(this,!1)},filter:function(t,e){return Yt(this,Bt(this,t,e,!1))},findIndex:function(t,e){e=this.findEntry(t,e);return e?e[0]:-1},indexOf:function(t){t=this.keyOf(t);return void 0===t?-1:t},lastIndexOf:function(t){t=this.lastKeyOf(t);return void 0===t?-1:t},reverse:function(){return Yt(this,Ct(this,!1))},slice:function(t,e){return Yt(this,Pt(this,t,e,!1))},splice:function(t,e){var r=arguments.length;if(e=Math.max(e||0,0),0===r||2===r&&!e)return this;t=y(t,t<0?this.count():this.size);var n=this.slice(0,t);return Yt(this,1===r?n:n.concat(te(arguments,2),this.slice(t+e)))},findLastIndex:function(t,e){e=this.findLastEntry(t,e);return e?e[0]:-1},first:function(t){return this.get(0,t)},flatten:function(t){return Yt(this,Nt(this,t,!1))},get:function(r,t){return(r=h(this,r))<0||this.size===1/0||void 0!==this.size&&this.size<r?t:this.find(function(t,e){return e===r},void 0,t)},has:function(t){return 0<=(t=h(this,t))&&(void 0!==this.size?this.size===1/0||t<this.size:!!~this.indexOf(t))},interpose:function(t){return Yt(this,(u=t,(t=Gt(o=this)).size=o.size&&2*o.size-1,t.__iterateUncached=function(e,t){var r=this,n=0;return o.__iterate(function(t){return(!n||!1!==e(u,n++,r))&&!1!==e(t,n++,r)},t),n},t.__iteratorUncached=function(t,e){
|
|
52
|
+
var r,n=o.__iterator(T,e),i=0;return new P(function(){return(!r||i%2)&&(r=n.next()).done?r:i%2?W(t,i++,u):W(t,i++,r.value,r)})},t));var o,u},interleave:function(){var t=[this].concat(te(arguments)),e=Ft(this.toSeq(),Z.of,t),r=e.flatten(!0);return e.size&&(r.size=e.size*t.length),Yt(this,r)},keySeq:function(){return Xr(0,this.size)},last:function(t){return this.get(-1,t)},skipWhile:function(t,e){return Yt(this,Wt(this,t,e,!1))},zip:function(){var t=[this].concat(te(arguments));return Yt(this,Ft(this,hn,t))},zipAll:function(){var t=[this].concat(te(arguments));return Yt(this,Ft(this,hn,t,!0))},zipWith:function(t){var e=te(arguments);return Yt(e[0]=this,Ft(this,t,e))}});var nn=E.prototype;nn[S]=!0,nn[k]=!0,Pr(j,{get:function(t,e){return this.has(t)?t:e},includes:function(t){return this.has(t)},keySeq:function(){return this.valueSeq()}});var on=j.prototype;function un(t,n,i,o,u,e){return re(t.size),t.__iterate(function(t,e,r){i=u?(u=!1,t):n.call(o,i,t,e,r)},e),i}function sn(t,e){return e}function an(t,e){return[e,t]}function cn(t){return function(){return!t.apply(this,arguments)}}function fn(t){return function(){return-t.apply(this,arguments)}}function hn(){return te(arguments)}function _n(t,e){return t<e?1:e<t?-1:0}function pn(t,e){return t^e+2654435769+(t<<6)+(t>>2)|0}on.has=en.includes,on.contains=on.includes,on.keys=on.values,Pr(G,rn),Pr(Z,nn),Pr($,on);var ln=function(t){function e(r){return null==r?gn():Cr(r)?r:gn().withMutations(function(e){var t=j(r);re(t.size),t.forEach(function(t){return e.add(t)})})}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).of=function(){return this(arguments)},e.fromKeys=function(t){return this(O(t).keySeq())},e.prototype.toString=function(){return this.__toString("OrderedSet {","}")},e}(Nr);ln.isOrderedSet=Cr;var vn,yn=ln.prototype;function dn(t,e){var r=Object.create(yn);return r.size=t?t.size:0,r._map=t,r.__ownerID=e,r}function gn(){return vn=vn||dn(Mr())}yn[k]=!0,yn.zip=nn.zip,yn.zipWith=nn.zipWith,yn.zipAll=nn.zipAll,yn.__empty=gn,
|
|
53
|
+
yn.__make=dn;on={LeftThenRight:-1,RightThenLeft:1};nn=function(u,s){var a;!function(t){if(D(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(A(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(null===t||"object"!=typeof t)throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}(u);var c=function(t){var n=this;if(t instanceof c)return t;if(!(this instanceof c))return new c(t);if(!a){a=!0;var e=Object.keys(u),r=f._indices={};f._name=s,f._keys=e,f._defaultValues=u;for(var i=0;i<e.length;i++){var o=e[i];r[o]=i,f[o]?"object"==typeof console&&console.warn&&console.warn("Cannot define "+Sn(this)+' with property "'+o+'" since that property name is part of the Record API.'):function(t,e){try{Object.defineProperty(t,e,{get:function(){return this.get(e)},set:function(t){ee(this.__ownerID,"Cannot set on an immutable record."),this.set(e,t)}})}catch(t){}}(f,o)}}return this.__ownerID=void 0,this._values=fr().withMutations(function(r){r.setSize(n._keys.length),O(t).forEach(function(t,e){r.set(n._indices[e],t===n._defaultValues[e]?void 0:t)})}),this},f=c.prototype=Object.create(mn);return f.constructor=c,s&&(c.displayName=s),c};nn.prototype.toString=function(){for(var t,e=Sn(this)+" { ",r=this._keys,n=0,i=r.length;n!==i;n++)e+=(n?", ":"")+(t=r[n])+": "+se(this.get(t));return e+" }"},nn.prototype.equals=function(t){return this===t||D(t)&&bn(this).equals(bn(t))},nn.prototype.hashCode=function(){return bn(this).hashCode()},nn.prototype.has=function(t){return this._indices.hasOwnProperty(t)},nn.prototype.get=function(t,e){if(!this.has(t))return e;e=this._values.get(this._indices[t]);return void 0===e?this._defaultValues[t]:e},nn.prototype.set=function(t,e){if(this.has(t)){e=this._values.set(this._indices[t],e===this._defaultValues[t]?void 0:e);if(e!==this._values&&!this.__ownerID)return wn(this,e)}return this},
|
|
54
|
+
nn.prototype.remove=function(t){return this.set(t)},nn.prototype.clear=function(){var t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:wn(this,t)},nn.prototype.wasAltered=function(){return this._values.wasAltered()},nn.prototype.toSeq=function(){return bn(this)},nn.prototype.toJS=function(){return Wr(this)},nn.prototype.entries=function(){return this.__iterator(K)},nn.prototype.__iterator=function(t,e){return bn(this).__iterator(t,e)},nn.prototype.__iterate=function(t,e){return bn(this).__iterate(t,e)},nn.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._values.__ensureOwner(t);return t?wn(this,e,t):(this.__ownerID=t,this._values=e,this)},nn.isRecord=D,nn.getDescriptiveName=Sn;var mn=nn.prototype;function wn(t,e,r){t=Object.create(Object.getPrototypeOf(t));return t._values=e,t.__ownerID=r,t}function Sn(t){return t.constructor.displayName||t.constructor.name||"Record"}function bn(e){return ot(e._keys.map(function(t){return[t,e.get(t)]}))}mn[x]=!0,mn[e]=mn.remove,mn.deleteIn=mn.removeIn=ge,mn.getIn=Zr,mn.hasIn=en.hasIn,mn.merge=be,mn.mergeWith=ze,mn.mergeIn=ke,mn.mergeDeep=De,mn.mergeDeepWith=Ae,mn.mergeDeepIn=Re,mn.setIn=ye,mn.update=we,mn.updateIn=Se,mn.withMutations=Ue,mn.asMutable=Te,mn.asImmutable=Ke,mn[B]=mn.entries,mn.toJSON=mn.toObject=en.toObject,mn.inspect=mn.toSource=function(){return""+this};var zn,e=function(t){function n(t,e){if(!(this instanceof n))return new n(t,e);if(this._value=t,this.size=void 0===e?1/0:Math.max(0,e),0===this.size){if(zn)return zn;zn=this}}return t&&(n.__proto__=t),((n.prototype=Object.create(t&&t.prototype)).constructor=n).prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},n.prototype.get=function(t,e){return this.has(t)?this._value:e},n.prototype.includes=function(t){return _t(this._value,t)},n.prototype.slice=function(t,e){var r=this.size;return p(t,e,r)?this:new n(this._value,w(e,r)-y(t,r))},n.prototype.reverse=function(){return this},
|
|
55
|
+
n.prototype.indexOf=function(t){return _t(this._value,t)?0:-1},n.prototype.lastIndexOf=function(t){return _t(this._value,t)?this.size:-1},n.prototype.__iterate=function(t,e){for(var r=this.size,n=0;n!==r&&!1!==t(this._value,e?r-++n:n++,this););return n},n.prototype.__iterator=function(t,e){var r=this,n=this.size,i=0;return new P(function(){return i===n?N():W(t,e?n-++i:i++,r._value)})},n.prototype.equals=function(t){return t instanceof n?_t(this._value,t._value):Br(this,t)},n}(Z);function In(t,e){return function r(n,i,o,t,u,e){if("string"!=typeof o&&!A(o)&&(Q(o)||H(o)||oe(o))){if(~n.indexOf(o))throw new TypeError("Cannot convert circular structure to Immutable");n.push(o),u&&""!==t&&u.push(t);var t=i.call(e,t,X(o).map(function(t,e){return r(n,i,t,e,u,o)}),u&&u.slice());return n.pop(),u&&u.pop(),t}return o}([],e||On,t,"",e&&2<e.length?[]:void 0,{"":t})}function On(t,e){return b(e)?e.toList():a(e)?e.toMap():e.toSet()}B={version:"4.3.9",Collection:I,Iterable:I,Seq:X,Map:Ce,OrderedMap:Er,List:fr,Stack:Ar,Set:Nr,OrderedSet:ln,PairSorting:on,Record:nn,Range:Xr,Repeat:e,is:_t,fromJS:In,hash:yt,isImmutable:A,isCollection:f,isKeyed:a,isIndexed:b,isAssociative:z,isOrdered:R,isValueObject:ht,isPlainObject:oe,isSeq:q,isList:cr,isMap:ct,isOrderedMap:ft,isStack:Dr,isSet:Lr,isOrderedSet:Cr,isRecord:D,get:ce,getIn:Gr,has:ae,hasIn:$r,merge:Oe,mergeDeep:je,mergeWith:Ee,mergeDeepWith:Me,remove:_e,removeIn:de,set:pe,setIn:ve,update:me,updateIn:le},en=I;t.Collection=I,t.Iterable=en,t.List=fr,t.Map=Ce,t.OrderedMap=Er,t.OrderedSet=ln,t.PairSorting=on,t.Range=Xr,t.Record=nn,t.Repeat=e,t.Seq=X,t.Set=Nr,t.Stack=Ar,t.default=B,t.fromJS=In,t.get=ce,t.getIn=Gr,t.has=ae,t.hasIn=$r,t.hash=yt,t.is=_t,t.isAssociative=z,t.isCollection=f,t.isImmutable=A,t.isIndexed=b,t.isKeyed=a,t.isList=cr,t.isMap=ct,t.isOrdered=R,t.isOrderedMap=ft,t.isOrderedSet=Cr,t.isPlainObject=oe,t.isRecord=D,t.isSeq=q,t.isSet=Lr,t.isStack=Dr,t.isValueObject=ht,t.merge=Oe,t.mergeDeep=je,t.mergeDeepWith=Me,t.mergeWith=Ee,t.remove=_e,t.removeIn=de,t.set=pe,t.setIn=ve,
|
|
56
|
+
t.update=me,t.updateIn=le,t.version="4.3.9",Object.defineProperty(t,"__esModule",{value:!0})});
|