@ninetailed/experience.js 2.0.0-beta.9 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.umd.js CHANGED
@@ -1,13 +1,32 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash/get'), require('lodash/unionBy'), require('@ninetailed/experience.js-shared'), require('analytics'), require('lodash/flatten'), require('lodash/find'), require('lodash/includes'), require('lodash/pickBy'), require('murmurhash-js')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'lodash/get', 'lodash/unionBy', '@ninetailed/experience.js-shared', 'analytics', 'lodash/flatten', 'lodash/find', 'lodash/includes', 'lodash/pickBy', 'murmurhash-js'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Javascript = {}, global.get$2, global.unionBy, global.experience_jsShared, global.Analytics, global.flatten, global.find, global.includes, global.pickBy, global.murmurhashJs));
5
- })(this, (function (exports, get$2, unionBy, experience_jsShared, Analytics, flatten, find, includes, pickBy, murmurhashJs) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash/get'), require('lodash/unionBy'), require('@ninetailed/experience.js-shared'), require('loglevel'), require('analytics'), require('lodash/flatten'), require('lodash/find'), require('lodash/includes'), require('lodash/pickBy'), require('murmurhash-js')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'lodash/get', 'lodash/unionBy', '@ninetailed/experience.js-shared', 'loglevel', 'analytics', 'lodash/flatten', 'lodash/find', 'lodash/includes', 'lodash/pickBy', 'murmurhash-js'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Javascript = {}, global.get$2, global.unionBy, global.experience_jsShared, global.loglevel, global.Analytics, global.flatten, global.find, global.includes, global.pickBy, global.murmurhashJs));
5
+ })(this, (function (exports, get$2, unionBy, experience_jsShared, loglevel, Analytics, flatten, find, includes, pickBy, murmurhashJs) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n["default"] = e;
24
+ return Object.freeze(n);
25
+ }
26
+
9
27
  var get__default = /*#__PURE__*/_interopDefaultLegacy(get$2);
10
28
  var unionBy__default = /*#__PURE__*/_interopDefaultLegacy(unionBy);
29
+ var loglevel__namespace = /*#__PURE__*/_interopNamespace(loglevel);
11
30
  var Analytics__default = /*#__PURE__*/_interopDefaultLegacy(Analytics);
12
31
  var flatten__default = /*#__PURE__*/_interopDefaultLegacy(flatten);
13
32
  var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
@@ -21,7 +40,7 @@
21
40
  };
22
41
 
23
42
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
24
- var global$F =
43
+ var global$I =
25
44
  // eslint-disable-next-line es/no-global-this -- safe
26
45
  check(typeof globalThis == 'object' && globalThis) ||
27
46
  check(typeof window == 'object' && window) ||
@@ -33,7 +52,7 @@
33
52
 
34
53
  var objectGetOwnPropertyDescriptor = {};
35
54
 
36
- var fails$f = function (exec) {
55
+ var fails$i = function (exec) {
37
56
  try {
38
57
  return !!exec();
39
58
  } catch (error) {
@@ -41,17 +60,17 @@
41
60
  }
42
61
  };
43
62
 
44
- var fails$e = fails$f;
63
+ var fails$h = fails$i;
45
64
 
46
65
  // Detect IE8's incomplete defineProperty implementation
47
- var descriptors = !fails$e(function () {
66
+ var descriptors = !fails$h(function () {
48
67
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
49
68
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
50
69
  });
51
70
 
52
- var fails$d = fails$f;
71
+ var fails$g = fails$i;
53
72
 
54
- var functionBindNative = !fails$d(function () {
73
+ var functionBindNative = !fails$g(function () {
55
74
  var test = (function () { /* empty */ }).bind();
56
75
  // eslint-disable-next-line no-prototype-builtins -- safe
57
76
  return typeof test != 'function' || test.hasOwnProperty('prototype');
@@ -59,10 +78,10 @@
59
78
 
60
79
  var NATIVE_BIND$3 = functionBindNative;
61
80
 
62
- var call$d = Function.prototype.call;
81
+ var call$e = Function.prototype.call;
63
82
 
64
- var functionCall = NATIVE_BIND$3 ? call$d.bind(call$d) : function () {
65
- return call$d.apply(call$d, arguments);
83
+ var functionCall = NATIVE_BIND$3 ? call$e.bind(call$e) : function () {
84
+ return call$e.apply(call$e, arguments);
66
85
  };
67
86
 
68
87
  var objectPropertyIsEnumerable = {};
@@ -81,7 +100,7 @@
81
100
  return !!descriptor && descriptor.enumerable;
82
101
  } : $propertyIsEnumerable;
83
102
 
84
- var createPropertyDescriptor$2 = function (bitmap, value) {
103
+ var createPropertyDescriptor$3 = function (bitmap, value) {
85
104
  return {
86
105
  enumerable: !(bitmap & 1),
87
106
  configurable: !(bitmap & 2),
@@ -94,36 +113,36 @@
94
113
 
95
114
  var FunctionPrototype$2 = Function.prototype;
96
115
  var bind$5 = FunctionPrototype$2.bind;
97
- var call$c = FunctionPrototype$2.call;
98
- var uncurryThis$k = NATIVE_BIND$2 && bind$5.bind(call$c, call$c);
116
+ var call$d = FunctionPrototype$2.call;
117
+ var uncurryThis$n = NATIVE_BIND$2 && bind$5.bind(call$d, call$d);
99
118
 
100
119
  var functionUncurryThis = NATIVE_BIND$2 ? function (fn) {
101
- return fn && uncurryThis$k(fn);
120
+ return fn && uncurryThis$n(fn);
102
121
  } : function (fn) {
103
122
  return fn && function () {
104
- return call$c.apply(fn, arguments);
123
+ return call$d.apply(fn, arguments);
105
124
  };
106
125
  };
107
126
 
108
- var uncurryThis$j = functionUncurryThis;
127
+ var uncurryThis$m = functionUncurryThis;
109
128
 
110
- var toString$6 = uncurryThis$j({}.toString);
111
- var stringSlice$5 = uncurryThis$j(''.slice);
129
+ var toString$9 = uncurryThis$m({}.toString);
130
+ var stringSlice$6 = uncurryThis$m(''.slice);
112
131
 
113
132
  var classofRaw$1 = function (it) {
114
- return stringSlice$5(toString$6(it), 8, -1);
133
+ return stringSlice$6(toString$9(it), 8, -1);
115
134
  };
116
135
 
117
- var global$E = global$F;
118
- var uncurryThis$i = functionUncurryThis;
119
- var fails$c = fails$f;
136
+ var global$H = global$I;
137
+ var uncurryThis$l = functionUncurryThis;
138
+ var fails$f = fails$i;
120
139
  var classof$7 = classofRaw$1;
121
140
 
122
- var Object$4 = global$E.Object;
123
- var split = uncurryThis$i(''.split);
141
+ var Object$4 = global$H.Object;
142
+ var split = uncurryThis$l(''.split);
124
143
 
125
144
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
126
- var indexedObject = fails$c(function () {
145
+ var indexedObject = fails$f(function () {
127
146
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
128
147
  // eslint-disable-next-line no-prototype-builtins -- safe
129
148
  return !Object$4('z').propertyIsEnumerable(0);
@@ -131,23 +150,23 @@
131
150
  return classof$7(it) == 'String' ? split(it, '') : Object$4(it);
132
151
  } : Object$4;
133
152
 
134
- var global$D = global$F;
153
+ var global$G = global$I;
135
154
 
136
- var TypeError$g = global$D.TypeError;
155
+ var TypeError$h = global$G.TypeError;
137
156
 
138
157
  // `RequireObjectCoercible` abstract operation
139
158
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
140
- var requireObjectCoercible$5 = function (it) {
141
- if (it == undefined) throw TypeError$g("Can't call method on " + it);
159
+ var requireObjectCoercible$7 = function (it) {
160
+ if (it == undefined) throw TypeError$h("Can't call method on " + it);
142
161
  return it;
143
162
  };
144
163
 
145
164
  // toObject with fallback for non-array-like ES3 strings
146
- var IndexedObject$1 = indexedObject;
147
- var requireObjectCoercible$4 = requireObjectCoercible$5;
165
+ var IndexedObject$2 = indexedObject;
166
+ var requireObjectCoercible$6 = requireObjectCoercible$7;
148
167
 
149
168
  var toIndexedObject$4 = function (it) {
150
- return IndexedObject$1(requireObjectCoercible$4(it));
169
+ return IndexedObject$2(requireObjectCoercible$6(it));
151
170
  };
152
171
 
153
172
  // `IsCallable` abstract operation
@@ -162,7 +181,7 @@
162
181
  return typeof it == 'object' ? it !== null : isCallable$f(it);
163
182
  };
164
183
 
165
- var global$C = global$F;
184
+ var global$F = global$I;
166
185
  var isCallable$e = isCallable$g;
167
186
 
168
187
  var aFunction = function (argument) {
@@ -170,23 +189,23 @@
170
189
  };
171
190
 
172
191
  var getBuiltIn$7 = function (namespace, method) {
173
- return arguments.length < 2 ? aFunction(global$C[namespace]) : global$C[namespace] && global$C[namespace][method];
192
+ return arguments.length < 2 ? aFunction(global$F[namespace]) : global$F[namespace] && global$F[namespace][method];
174
193
  };
175
194
 
176
- var uncurryThis$h = functionUncurryThis;
195
+ var uncurryThis$k = functionUncurryThis;
177
196
 
178
- var objectIsPrototypeOf = uncurryThis$h({}.isPrototypeOf);
197
+ var objectIsPrototypeOf = uncurryThis$k({}.isPrototypeOf);
179
198
 
180
199
  var getBuiltIn$6 = getBuiltIn$7;
181
200
 
182
201
  var engineUserAgent = getBuiltIn$6('navigator', 'userAgent') || '';
183
202
 
184
- var global$B = global$F;
203
+ var global$E = global$I;
185
204
  var userAgent$3 = engineUserAgent;
186
205
 
187
- var process$4 = global$B.process;
188
- var Deno = global$B.Deno;
189
- var versions = process$4 && process$4.versions || Deno && Deno.version;
206
+ var process$3 = global$E.process;
207
+ var Deno = global$E.Deno;
208
+ var versions = process$3 && process$3.versions || Deno && Deno.version;
190
209
  var v8 = versions && versions.v8;
191
210
  var match, version;
192
211
 
@@ -212,10 +231,10 @@
212
231
  /* eslint-disable es/no-symbol -- required for testing */
213
232
 
214
233
  var V8_VERSION$1 = engineV8Version;
215
- var fails$b = fails$f;
234
+ var fails$e = fails$i;
216
235
 
217
236
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
218
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$b(function () {
237
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$e(function () {
219
238
  var symbol = Symbol();
220
239
  // Chrome 38 Symbol has incorrect toString conversion
221
240
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -232,13 +251,13 @@
232
251
  && !Symbol.sham
233
252
  && typeof Symbol.iterator == 'symbol';
234
253
 
235
- var global$A = global$F;
254
+ var global$D = global$I;
236
255
  var getBuiltIn$5 = getBuiltIn$7;
237
256
  var isCallable$d = isCallable$g;
238
257
  var isPrototypeOf$2 = objectIsPrototypeOf;
239
258
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
240
259
 
241
- var Object$3 = global$A.Object;
260
+ var Object$3 = global$D.Object;
242
261
 
243
262
  var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
244
263
  return typeof it == 'symbol';
@@ -247,9 +266,9 @@
247
266
  return isCallable$d($Symbol) && isPrototypeOf$2($Symbol.prototype, Object$3(it));
248
267
  };
249
268
 
250
- var global$z = global$F;
269
+ var global$C = global$I;
251
270
 
252
- var String$5 = global$z.String;
271
+ var String$5 = global$C.String;
253
272
 
254
273
  var tryToString$4 = function (argument) {
255
274
  try {
@@ -259,64 +278,64 @@
259
278
  }
260
279
  };
261
280
 
262
- var global$y = global$F;
281
+ var global$B = global$I;
263
282
  var isCallable$c = isCallable$g;
264
283
  var tryToString$3 = tryToString$4;
265
284
 
266
- var TypeError$f = global$y.TypeError;
285
+ var TypeError$g = global$B.TypeError;
267
286
 
268
287
  // `Assert: IsCallable(argument) is true`
269
- var aCallable$5 = function (argument) {
288
+ var aCallable$6 = function (argument) {
270
289
  if (isCallable$c(argument)) return argument;
271
- throw TypeError$f(tryToString$3(argument) + ' is not a function');
290
+ throw TypeError$g(tryToString$3(argument) + ' is not a function');
272
291
  };
273
292
 
274
- var aCallable$4 = aCallable$5;
293
+ var aCallable$5 = aCallable$6;
275
294
 
276
295
  // `GetMethod` abstract operation
277
296
  // https://tc39.es/ecma262/#sec-getmethod
278
- var getMethod$4 = function (V, P) {
297
+ var getMethod$5 = function (V, P) {
279
298
  var func = V[P];
280
- return func == null ? undefined : aCallable$4(func);
299
+ return func == null ? undefined : aCallable$5(func);
281
300
  };
282
301
 
283
- var global$x = global$F;
284
- var call$b = functionCall;
302
+ var global$A = global$I;
303
+ var call$c = functionCall;
285
304
  var isCallable$b = isCallable$g;
286
305
  var isObject$7 = isObject$8;
287
306
 
288
- var TypeError$e = global$x.TypeError;
307
+ var TypeError$f = global$A.TypeError;
289
308
 
290
309
  // `OrdinaryToPrimitive` abstract operation
291
310
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
292
311
  var ordinaryToPrimitive$1 = function (input, pref) {
293
312
  var fn, val;
294
- if (pref === 'string' && isCallable$b(fn = input.toString) && !isObject$7(val = call$b(fn, input))) return val;
295
- if (isCallable$b(fn = input.valueOf) && !isObject$7(val = call$b(fn, input))) return val;
296
- if (pref !== 'string' && isCallable$b(fn = input.toString) && !isObject$7(val = call$b(fn, input))) return val;
297
- throw TypeError$e("Can't convert object to primitive value");
313
+ if (pref === 'string' && isCallable$b(fn = input.toString) && !isObject$7(val = call$c(fn, input))) return val;
314
+ if (isCallable$b(fn = input.valueOf) && !isObject$7(val = call$c(fn, input))) return val;
315
+ if (pref !== 'string' && isCallable$b(fn = input.toString) && !isObject$7(val = call$c(fn, input))) return val;
316
+ throw TypeError$f("Can't convert object to primitive value");
298
317
  };
299
318
 
300
319
  var shared$4 = {exports: {}};
301
320
 
302
- var global$w = global$F;
321
+ var global$z = global$I;
303
322
 
304
323
  // eslint-disable-next-line es/no-object-defineproperty -- safe
305
324
  var defineProperty$2 = Object.defineProperty;
306
325
 
307
326
  var setGlobal$3 = function (key, value) {
308
327
  try {
309
- defineProperty$2(global$w, key, { value: value, configurable: true, writable: true });
328
+ defineProperty$2(global$z, key, { value: value, configurable: true, writable: true });
310
329
  } catch (error) {
311
- global$w[key] = value;
330
+ global$z[key] = value;
312
331
  } return value;
313
332
  };
314
333
 
315
- var global$v = global$F;
334
+ var global$y = global$I;
316
335
  var setGlobal$2 = setGlobal$3;
317
336
 
318
337
  var SHARED = '__core-js_shared__';
319
- var store$3 = global$v[SHARED] || setGlobal$2(SHARED, {});
338
+ var store$3 = global$y[SHARED] || setGlobal$2(SHARED, {});
320
339
 
321
340
  var sharedStore = store$3;
322
341
 
@@ -332,39 +351,39 @@
332
351
  source: 'https://github.com/zloirock/core-js'
333
352
  });
334
353
 
335
- var global$u = global$F;
336
- var requireObjectCoercible$3 = requireObjectCoercible$5;
354
+ var global$x = global$I;
355
+ var requireObjectCoercible$5 = requireObjectCoercible$7;
337
356
 
338
- var Object$2 = global$u.Object;
357
+ var Object$2 = global$x.Object;
339
358
 
340
359
  // `ToObject` abstract operation
341
360
  // https://tc39.es/ecma262/#sec-toobject
342
- var toObject$3 = function (argument) {
343
- return Object$2(requireObjectCoercible$3(argument));
361
+ var toObject$4 = function (argument) {
362
+ return Object$2(requireObjectCoercible$5(argument));
344
363
  };
345
364
 
346
- var uncurryThis$g = functionUncurryThis;
347
- var toObject$2 = toObject$3;
365
+ var uncurryThis$j = functionUncurryThis;
366
+ var toObject$3 = toObject$4;
348
367
 
349
- var hasOwnProperty = uncurryThis$g({}.hasOwnProperty);
368
+ var hasOwnProperty = uncurryThis$j({}.hasOwnProperty);
350
369
 
351
370
  // `HasOwnProperty` abstract operation
352
371
  // https://tc39.es/ecma262/#sec-hasownproperty
353
372
  var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
354
- return hasOwnProperty(toObject$2(it), key);
373
+ return hasOwnProperty(toObject$3(it), key);
355
374
  };
356
375
 
357
- var uncurryThis$f = functionUncurryThis;
376
+ var uncurryThis$i = functionUncurryThis;
358
377
 
359
378
  var id = 0;
360
379
  var postfix = Math.random();
361
- var toString$5 = uncurryThis$f(1.0.toString);
380
+ var toString$8 = uncurryThis$i(1.0.toString);
362
381
 
363
382
  var uid$2 = function (key) {
364
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$5(++id + postfix, 36);
383
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$8(++id + postfix, 36);
365
384
  };
366
385
 
367
- var global$t = global$F;
386
+ var global$w = global$I;
368
387
  var shared$3 = shared$4.exports;
369
388
  var hasOwn$8 = hasOwnProperty_1;
370
389
  var uid$1 = uid$2;
@@ -372,15 +391,15 @@
372
391
  var USE_SYMBOL_AS_UID = useSymbolAsUid;
373
392
 
374
393
  var WellKnownSymbolsStore = shared$3('wks');
375
- var Symbol$1 = global$t.Symbol;
376
- var symbolFor = Symbol$1 && Symbol$1['for'];
377
- var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
394
+ var Symbol$2 = global$w.Symbol;
395
+ var symbolFor = Symbol$2 && Symbol$2['for'];
396
+ var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$2 : Symbol$2 && Symbol$2.withoutSetter || uid$1;
378
397
 
379
398
  var wellKnownSymbol$e = function (name) {
380
399
  if (!hasOwn$8(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
381
400
  var description = 'Symbol.' + name;
382
- if (NATIVE_SYMBOL && hasOwn$8(Symbol$1, name)) {
383
- WellKnownSymbolsStore[name] = Symbol$1[name];
401
+ if (NATIVE_SYMBOL && hasOwn$8(Symbol$2, name)) {
402
+ WellKnownSymbolsStore[name] = Symbol$2[name];
384
403
  } else if (USE_SYMBOL_AS_UID && symbolFor) {
385
404
  WellKnownSymbolsStore[name] = symbolFor(description);
386
405
  } else {
@@ -389,28 +408,28 @@
389
408
  } return WellKnownSymbolsStore[name];
390
409
  };
391
410
 
392
- var global$s = global$F;
393
- var call$a = functionCall;
411
+ var global$v = global$I;
412
+ var call$b = functionCall;
394
413
  var isObject$6 = isObject$8;
395
414
  var isSymbol$1 = isSymbol$2;
396
- var getMethod$3 = getMethod$4;
415
+ var getMethod$4 = getMethod$5;
397
416
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
398
417
  var wellKnownSymbol$d = wellKnownSymbol$e;
399
418
 
400
- var TypeError$d = global$s.TypeError;
419
+ var TypeError$e = global$v.TypeError;
401
420
  var TO_PRIMITIVE = wellKnownSymbol$d('toPrimitive');
402
421
 
403
422
  // `ToPrimitive` abstract operation
404
423
  // https://tc39.es/ecma262/#sec-toprimitive
405
424
  var toPrimitive$1 = function (input, pref) {
406
425
  if (!isObject$6(input) || isSymbol$1(input)) return input;
407
- var exoticToPrim = getMethod$3(input, TO_PRIMITIVE);
426
+ var exoticToPrim = getMethod$4(input, TO_PRIMITIVE);
408
427
  var result;
409
428
  if (exoticToPrim) {
410
429
  if (pref === undefined) pref = 'default';
411
- result = call$a(exoticToPrim, input, pref);
430
+ result = call$b(exoticToPrim, input, pref);
412
431
  if (!isObject$6(result) || isSymbol$1(result)) return result;
413
- throw TypeError$d("Can't convert object to primitive value");
432
+ throw TypeError$e("Can't convert object to primitive value");
414
433
  }
415
434
  if (pref === undefined) pref = 'number';
416
435
  return ordinaryToPrimitive(input, pref);
@@ -421,15 +440,15 @@
421
440
 
422
441
  // `ToPropertyKey` abstract operation
423
442
  // https://tc39.es/ecma262/#sec-topropertykey
424
- var toPropertyKey$2 = function (argument) {
443
+ var toPropertyKey$3 = function (argument) {
425
444
  var key = toPrimitive(argument, 'string');
426
445
  return isSymbol(key) ? key : key + '';
427
446
  };
428
447
 
429
- var global$r = global$F;
448
+ var global$u = global$I;
430
449
  var isObject$5 = isObject$8;
431
450
 
432
- var document$3 = global$r.document;
451
+ var document$3 = global$u.document;
433
452
  // typeof document.createElement is 'object' in old IE
434
453
  var EXISTS$1 = isObject$5(document$3) && isObject$5(document$3.createElement);
435
454
 
@@ -438,11 +457,11 @@
438
457
  };
439
458
 
440
459
  var DESCRIPTORS$8 = descriptors;
441
- var fails$a = fails$f;
460
+ var fails$d = fails$i;
442
461
  var createElement$1 = documentCreateElement$1;
443
462
 
444
463
  // Thanks to IE8 for its funny defineProperty
445
- var ie8DomDefine = !DESCRIPTORS$8 && !fails$a(function () {
464
+ var ie8DomDefine = !DESCRIPTORS$8 && !fails$d(function () {
446
465
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
447
466
  return Object.defineProperty(createElement$1('div'), 'a', {
448
467
  get: function () { return 7; }
@@ -450,11 +469,11 @@
450
469
  });
451
470
 
452
471
  var DESCRIPTORS$7 = descriptors;
453
- var call$9 = functionCall;
472
+ var call$a = functionCall;
454
473
  var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
455
- var createPropertyDescriptor$1 = createPropertyDescriptor$2;
474
+ var createPropertyDescriptor$2 = createPropertyDescriptor$3;
456
475
  var toIndexedObject$3 = toIndexedObject$4;
457
- var toPropertyKey$1 = toPropertyKey$2;
476
+ var toPropertyKey$2 = toPropertyKey$3;
458
477
  var hasOwn$7 = hasOwnProperty_1;
459
478
  var IE8_DOM_DEFINE$1 = ie8DomDefine;
460
479
 
@@ -465,21 +484,21 @@
465
484
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
466
485
  objectGetOwnPropertyDescriptor.f = DESCRIPTORS$7 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
467
486
  O = toIndexedObject$3(O);
468
- P = toPropertyKey$1(P);
487
+ P = toPropertyKey$2(P);
469
488
  if (IE8_DOM_DEFINE$1) try {
470
489
  return $getOwnPropertyDescriptor$1(O, P);
471
490
  } catch (error) { /* empty */ }
472
- if (hasOwn$7(O, P)) return createPropertyDescriptor$1(!call$9(propertyIsEnumerableModule$1.f, O, P), O[P]);
491
+ if (hasOwn$7(O, P)) return createPropertyDescriptor$2(!call$a(propertyIsEnumerableModule$1.f, O, P), O[P]);
473
492
  };
474
493
 
475
494
  var objectDefineProperty = {};
476
495
 
477
496
  var DESCRIPTORS$6 = descriptors;
478
- var fails$9 = fails$f;
497
+ var fails$c = fails$i;
479
498
 
480
499
  // V8 ~ Chrome 36-
481
500
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
482
- var v8PrototypeDefineBug = DESCRIPTORS$6 && fails$9(function () {
501
+ var v8PrototypeDefineBug = DESCRIPTORS$6 && fails$c(function () {
483
502
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
484
503
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
485
504
  value: 42,
@@ -487,26 +506,26 @@
487
506
  }).prototype != 42;
488
507
  });
489
508
 
490
- var global$q = global$F;
509
+ var global$t = global$I;
491
510
  var isObject$4 = isObject$8;
492
511
 
493
- var String$4 = global$q.String;
494
- var TypeError$c = global$q.TypeError;
512
+ var String$4 = global$t.String;
513
+ var TypeError$d = global$t.TypeError;
495
514
 
496
515
  // `Assert: Type(argument) is Object`
497
- var anObject$d = function (argument) {
516
+ var anObject$e = function (argument) {
498
517
  if (isObject$4(argument)) return argument;
499
- throw TypeError$c(String$4(argument) + ' is not an object');
518
+ throw TypeError$d(String$4(argument) + ' is not an object');
500
519
  };
501
520
 
502
- var global$p = global$F;
521
+ var global$s = global$I;
503
522
  var DESCRIPTORS$5 = descriptors;
504
523
  var IE8_DOM_DEFINE = ie8DomDefine;
505
524
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
506
- var anObject$c = anObject$d;
507
- var toPropertyKey = toPropertyKey$2;
525
+ var anObject$d = anObject$e;
526
+ var toPropertyKey$1 = toPropertyKey$3;
508
527
 
509
- var TypeError$b = global$p.TypeError;
528
+ var TypeError$c = global$s.TypeError;
510
529
  // eslint-disable-next-line es/no-object-defineproperty -- safe
511
530
  var $defineProperty = Object.defineProperty;
512
531
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -518,9 +537,9 @@
518
537
  // `Object.defineProperty` method
519
538
  // https://tc39.es/ecma262/#sec-object.defineproperty
520
539
  objectDefineProperty.f = DESCRIPTORS$5 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
521
- anObject$c(O);
522
- P = toPropertyKey(P);
523
- anObject$c(Attributes);
540
+ anObject$d(O);
541
+ P = toPropertyKey$1(P);
542
+ anObject$d(Attributes);
524
543
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
525
544
  var current = $getOwnPropertyDescriptor(O, P);
526
545
  if (current && current[WRITABLE]) {
@@ -533,23 +552,23 @@
533
552
  }
534
553
  } return $defineProperty(O, P, Attributes);
535
554
  } : $defineProperty : function defineProperty(O, P, Attributes) {
536
- anObject$c(O);
537
- P = toPropertyKey(P);
538
- anObject$c(Attributes);
555
+ anObject$d(O);
556
+ P = toPropertyKey$1(P);
557
+ anObject$d(Attributes);
539
558
  if (IE8_DOM_DEFINE) try {
540
559
  return $defineProperty(O, P, Attributes);
541
560
  } catch (error) { /* empty */ }
542
- if ('get' in Attributes || 'set' in Attributes) throw TypeError$b('Accessors not supported');
561
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$c('Accessors not supported');
543
562
  if ('value' in Attributes) O[P] = Attributes.value;
544
563
  return O;
545
564
  };
546
565
 
547
566
  var DESCRIPTORS$4 = descriptors;
548
- var definePropertyModule$3 = objectDefineProperty;
549
- var createPropertyDescriptor = createPropertyDescriptor$2;
567
+ var definePropertyModule$4 = objectDefineProperty;
568
+ var createPropertyDescriptor$1 = createPropertyDescriptor$3;
550
569
 
551
570
  var createNonEnumerableProperty$4 = DESCRIPTORS$4 ? function (object, key, value) {
552
- return definePropertyModule$3.f(object, key, createPropertyDescriptor(1, value));
571
+ return definePropertyModule$4.f(object, key, createPropertyDescriptor$1(1, value));
553
572
  } : function (object, key, value) {
554
573
  object[key] = value;
555
574
  return object;
@@ -557,11 +576,11 @@
557
576
 
558
577
  var redefine$4 = {exports: {}};
559
578
 
560
- var uncurryThis$e = functionUncurryThis;
579
+ var uncurryThis$h = functionUncurryThis;
561
580
  var isCallable$a = isCallable$g;
562
581
  var store$1 = sharedStore;
563
582
 
564
- var functionToString = uncurryThis$e(Function.toString);
583
+ var functionToString = uncurryThis$h(Function.toString);
565
584
 
566
585
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
567
586
  if (!isCallable$a(store$1.inspectSource)) {
@@ -572,11 +591,11 @@
572
591
 
573
592
  var inspectSource$4 = store$1.inspectSource;
574
593
 
575
- var global$o = global$F;
594
+ var global$r = global$I;
576
595
  var isCallable$9 = isCallable$g;
577
596
  var inspectSource$3 = inspectSource$4;
578
597
 
579
- var WeakMap$1 = global$o.WeakMap;
598
+ var WeakMap$1 = global$r.WeakMap;
580
599
 
581
600
  var nativeWeakMap = isCallable$9(WeakMap$1) && /native code/.test(inspectSource$3(WeakMap$1));
582
601
 
@@ -592,8 +611,8 @@
592
611
  var hiddenKeys$4 = {};
593
612
 
594
613
  var NATIVE_WEAK_MAP = nativeWeakMap;
595
- var global$n = global$F;
596
- var uncurryThis$d = functionUncurryThis;
614
+ var global$q = global$I;
615
+ var uncurryThis$g = functionUncurryThis;
597
616
  var isObject$3 = isObject$8;
598
617
  var createNonEnumerableProperty$3 = createNonEnumerableProperty$4;
599
618
  var hasOwn$6 = hasOwnProperty_1;
@@ -602,8 +621,8 @@
602
621
  var hiddenKeys$3 = hiddenKeys$4;
603
622
 
604
623
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
605
- var TypeError$a = global$n.TypeError;
606
- var WeakMap = global$n.WeakMap;
624
+ var TypeError$b = global$q.TypeError;
625
+ var WeakMap = global$q.WeakMap;
607
626
  var set$2, get$1, has;
608
627
 
609
628
  var enforce = function (it) {
@@ -614,18 +633,18 @@
614
633
  return function (it) {
615
634
  var state;
616
635
  if (!isObject$3(it) || (state = get$1(it)).type !== TYPE) {
617
- throw TypeError$a('Incompatible receiver, ' + TYPE + ' required');
636
+ throw TypeError$b('Incompatible receiver, ' + TYPE + ' required');
618
637
  } return state;
619
638
  };
620
639
  };
621
640
 
622
641
  if (NATIVE_WEAK_MAP || shared$1.state) {
623
642
  var store = shared$1.state || (shared$1.state = new WeakMap());
624
- var wmget = uncurryThis$d(store.get);
625
- var wmhas = uncurryThis$d(store.has);
626
- var wmset = uncurryThis$d(store.set);
643
+ var wmget = uncurryThis$g(store.get);
644
+ var wmhas = uncurryThis$g(store.has);
645
+ var wmset = uncurryThis$g(store.set);
627
646
  set$2 = function (it, metadata) {
628
- if (wmhas(store, it)) throw new TypeError$a(OBJECT_ALREADY_INITIALIZED);
647
+ if (wmhas(store, it)) throw new TypeError$b(OBJECT_ALREADY_INITIALIZED);
629
648
  metadata.facade = it;
630
649
  wmset(store, it, metadata);
631
650
  return metadata;
@@ -640,7 +659,7 @@
640
659
  var STATE = sharedKey$1('state');
641
660
  hiddenKeys$3[STATE] = true;
642
661
  set$2 = function (it, metadata) {
643
- if (hasOwn$6(it, STATE)) throw new TypeError$a(OBJECT_ALREADY_INITIALIZED);
662
+ if (hasOwn$6(it, STATE)) throw new TypeError$b(OBJECT_ALREADY_INITIALIZED);
644
663
  metadata.facade = it;
645
664
  createNonEnumerableProperty$3(it, STATE, metadata);
646
665
  return metadata;
@@ -679,7 +698,7 @@
679
698
  CONFIGURABLE: CONFIGURABLE
680
699
  };
681
700
 
682
- var global$m = global$F;
701
+ var global$p = global$I;
683
702
  var isCallable$8 = isCallable$g;
684
703
  var hasOwn$4 = hasOwnProperty_1;
685
704
  var createNonEnumerableProperty$2 = createNonEnumerableProperty$4;
@@ -710,7 +729,7 @@
710
729
  state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
711
730
  }
712
731
  }
713
- if (O === global$m) {
732
+ if (O === global$p) {
714
733
  if (simple) O[key] = value;
715
734
  else setGlobal$1(key, value);
716
735
  return;
@@ -741,45 +760,45 @@
741
760
 
742
761
  var toIntegerOrInfinity$3 = toIntegerOrInfinity$4;
743
762
 
744
- var max$1 = Math.max;
745
- var min$3 = Math.min;
763
+ var max$2 = Math.max;
764
+ var min$4 = Math.min;
746
765
 
747
766
  // Helper for a popular repeating case of the spec:
748
767
  // Let integer be ? ToInteger(index).
749
768
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
750
- var toAbsoluteIndex$1 = function (index, length) {
769
+ var toAbsoluteIndex$2 = function (index, length) {
751
770
  var integer = toIntegerOrInfinity$3(index);
752
- return integer < 0 ? max$1(integer + length, 0) : min$3(integer, length);
771
+ return integer < 0 ? max$2(integer + length, 0) : min$4(integer, length);
753
772
  };
754
773
 
755
774
  var toIntegerOrInfinity$2 = toIntegerOrInfinity$4;
756
775
 
757
- var min$2 = Math.min;
776
+ var min$3 = Math.min;
758
777
 
759
778
  // `ToLength` abstract operation
760
779
  // https://tc39.es/ecma262/#sec-tolength
761
- var toLength$3 = function (argument) {
762
- return argument > 0 ? min$2(toIntegerOrInfinity$2(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
780
+ var toLength$4 = function (argument) {
781
+ return argument > 0 ? min$3(toIntegerOrInfinity$2(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
763
782
  };
764
783
 
765
- var toLength$2 = toLength$3;
784
+ var toLength$3 = toLength$4;
766
785
 
767
786
  // `LengthOfArrayLike` abstract operation
768
787
  // https://tc39.es/ecma262/#sec-lengthofarraylike
769
- var lengthOfArrayLike$2 = function (obj) {
770
- return toLength$2(obj.length);
788
+ var lengthOfArrayLike$4 = function (obj) {
789
+ return toLength$3(obj.length);
771
790
  };
772
791
 
773
792
  var toIndexedObject$2 = toIndexedObject$4;
774
- var toAbsoluteIndex = toAbsoluteIndex$1;
775
- var lengthOfArrayLike$1 = lengthOfArrayLike$2;
793
+ var toAbsoluteIndex$1 = toAbsoluteIndex$2;
794
+ var lengthOfArrayLike$3 = lengthOfArrayLike$4;
776
795
 
777
796
  // `Array.prototype.{ indexOf, includes }` methods implementation
778
- var createMethod$1 = function (IS_INCLUDES) {
797
+ var createMethod$3 = function (IS_INCLUDES) {
779
798
  return function ($this, el, fromIndex) {
780
799
  var O = toIndexedObject$2($this);
781
- var length = lengthOfArrayLike$1(O);
782
- var index = toAbsoluteIndex(fromIndex, length);
800
+ var length = lengthOfArrayLike$3(O);
801
+ var index = toAbsoluteIndex$1(fromIndex, length);
783
802
  var value;
784
803
  // Array#includes uses SameValueZero equality algorithm
785
804
  // eslint-disable-next-line no-self-compare -- NaN check
@@ -797,29 +816,29 @@
797
816
  var arrayIncludes = {
798
817
  // `Array.prototype.includes` method
799
818
  // https://tc39.es/ecma262/#sec-array.prototype.includes
800
- includes: createMethod$1(true),
819
+ includes: createMethod$3(true),
801
820
  // `Array.prototype.indexOf` method
802
821
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
803
- indexOf: createMethod$1(false)
822
+ indexOf: createMethod$3(false)
804
823
  };
805
824
 
806
- var uncurryThis$c = functionUncurryThis;
825
+ var uncurryThis$f = functionUncurryThis;
807
826
  var hasOwn$3 = hasOwnProperty_1;
808
827
  var toIndexedObject$1 = toIndexedObject$4;
809
828
  var indexOf$1 = arrayIncludes.indexOf;
810
829
  var hiddenKeys$2 = hiddenKeys$4;
811
830
 
812
- var push$1 = uncurryThis$c([].push);
831
+ var push$2 = uncurryThis$f([].push);
813
832
 
814
833
  var objectKeysInternal = function (object, names) {
815
834
  var O = toIndexedObject$1(object);
816
835
  var i = 0;
817
836
  var result = [];
818
837
  var key;
819
- for (key in O) !hasOwn$3(hiddenKeys$2, key) && hasOwn$3(O, key) && push$1(result, key);
838
+ for (key in O) !hasOwn$3(hiddenKeys$2, key) && hasOwn$3(O, key) && push$2(result, key);
820
839
  // Don't enum bug & hidden keys
821
840
  while (names.length > i) if (hasOwn$3(O, key = names[i++])) {
822
- ~indexOf$1(result, key) || push$1(result, key);
841
+ ~indexOf$1(result, key) || push$2(result, key);
823
842
  }
824
843
  return result;
825
844
  };
@@ -853,16 +872,16 @@
853
872
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
854
873
 
855
874
  var getBuiltIn$4 = getBuiltIn$7;
856
- var uncurryThis$b = functionUncurryThis;
875
+ var uncurryThis$e = functionUncurryThis;
857
876
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
858
877
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
859
- var anObject$b = anObject$d;
878
+ var anObject$c = anObject$e;
860
879
 
861
- var concat$2 = uncurryThis$b([].concat);
880
+ var concat$2 = uncurryThis$e([].concat);
862
881
 
863
882
  // all object keys, includes non-enumerable and symbols
864
883
  var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
865
- var keys = getOwnPropertyNamesModule.f(anObject$b(it));
884
+ var keys = getOwnPropertyNamesModule.f(anObject$c(it));
866
885
  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
867
886
  return getOwnPropertySymbols ? concat$2(keys, getOwnPropertySymbols(it)) : keys;
868
887
  };
@@ -870,11 +889,11 @@
870
889
  var hasOwn$2 = hasOwnProperty_1;
871
890
  var ownKeys = ownKeys$1;
872
891
  var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
873
- var definePropertyModule$2 = objectDefineProperty;
892
+ var definePropertyModule$3 = objectDefineProperty;
874
893
 
875
894
  var copyConstructorProperties$1 = function (target, source, exceptions) {
876
895
  var keys = ownKeys(source);
877
- var defineProperty = definePropertyModule$2.f;
896
+ var defineProperty = definePropertyModule$3.f;
878
897
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
879
898
  for (var i = 0; i < keys.length; i++) {
880
899
  var key = keys[i];
@@ -884,7 +903,7 @@
884
903
  }
885
904
  };
886
905
 
887
- var fails$8 = fails$f;
906
+ var fails$b = fails$i;
888
907
  var isCallable$7 = isCallable$g;
889
908
 
890
909
  var replacement = /#|\.prototype\./;
@@ -893,7 +912,7 @@
893
912
  var value = data[normalize$1(feature)];
894
913
  return value == POLYFILL ? true
895
914
  : value == NATIVE ? false
896
- : isCallable$7(detection) ? fails$8(detection)
915
+ : isCallable$7(detection) ? fails$b(detection)
897
916
  : !!detection;
898
917
  };
899
918
 
@@ -907,7 +926,7 @@
907
926
 
908
927
  var isForced_1 = isForced$2;
909
928
 
910
- var global$l = global$F;
929
+ var global$o = global$I;
911
930
  var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
912
931
  var createNonEnumerableProperty$1 = createNonEnumerableProperty$4;
913
932
  var redefine$3 = redefine$4.exports;
@@ -936,11 +955,11 @@
936
955
  var STATIC = options.stat;
937
956
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
938
957
  if (GLOBAL) {
939
- target = global$l;
958
+ target = global$o;
940
959
  } else if (STATIC) {
941
- target = global$l[TARGET] || setGlobal(TARGET, {});
960
+ target = global$o[TARGET] || setGlobal(TARGET, {});
942
961
  } else {
943
- target = (global$l[TARGET] || {}).prototype;
962
+ target = (global$o[TARGET] || {}).prototype;
944
963
  }
945
964
  if (target) for (key in source) {
946
965
  sourceProperty = source[key];
@@ -963,9 +982,9 @@
963
982
  }
964
983
  };
965
984
 
966
- var global$k = global$F;
985
+ var global$n = global$I;
967
986
 
968
- var nativePromiseConstructor = global$k.Promise;
987
+ var nativePromiseConstructor = global$n.Promise;
969
988
 
970
989
  var redefine$2 = redefine$4.exports;
971
990
 
@@ -974,21 +993,21 @@
974
993
  return target;
975
994
  };
976
995
 
977
- var global$j = global$F;
996
+ var global$m = global$I;
978
997
  var isCallable$6 = isCallable$g;
979
998
 
980
- var String$3 = global$j.String;
981
- var TypeError$9 = global$j.TypeError;
999
+ var String$3 = global$m.String;
1000
+ var TypeError$a = global$m.TypeError;
982
1001
 
983
1002
  var aPossiblePrototype$1 = function (argument) {
984
1003
  if (typeof argument == 'object' || isCallable$6(argument)) return argument;
985
- throw TypeError$9("Can't set " + String$3(argument) + ' as a prototype');
1004
+ throw TypeError$a("Can't set " + String$3(argument) + ' as a prototype');
986
1005
  };
987
1006
 
988
1007
  /* eslint-disable no-proto -- safe */
989
1008
 
990
- var uncurryThis$a = functionUncurryThis;
991
- var anObject$a = anObject$d;
1009
+ var uncurryThis$d = functionUncurryThis;
1010
+ var anObject$b = anObject$e;
992
1011
  var aPossiblePrototype = aPossiblePrototype$1;
993
1012
 
994
1013
  // `Object.setPrototypeOf` method
@@ -1001,12 +1020,12 @@
1001
1020
  var setter;
1002
1021
  try {
1003
1022
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1004
- setter = uncurryThis$a(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
1023
+ setter = uncurryThis$d(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
1005
1024
  setter(test, []);
1006
1025
  CORRECT_SETTER = test instanceof Array;
1007
1026
  } catch (error) { /* empty */ }
1008
1027
  return function setPrototypeOf(O, proto) {
1009
- anObject$a(O);
1028
+ anObject$b(O);
1010
1029
  aPossiblePrototype(proto);
1011
1030
  if (CORRECT_SETTER) setter(O, proto);
1012
1031
  else O.__proto__ = proto;
@@ -1028,7 +1047,7 @@
1028
1047
  };
1029
1048
 
1030
1049
  var getBuiltIn$3 = getBuiltIn$7;
1031
- var definePropertyModule$1 = objectDefineProperty;
1050
+ var definePropertyModule$2 = objectDefineProperty;
1032
1051
  var wellKnownSymbol$b = wellKnownSymbol$e;
1033
1052
  var DESCRIPTORS$2 = descriptors;
1034
1053
 
@@ -1036,7 +1055,7 @@
1036
1055
 
1037
1056
  var setSpecies$1 = function (CONSTRUCTOR_NAME) {
1038
1057
  var Constructor = getBuiltIn$3(CONSTRUCTOR_NAME);
1039
- var defineProperty = definePropertyModule$1.f;
1058
+ var defineProperty = definePropertyModule$2.f;
1040
1059
 
1041
1060
  if (DESCRIPTORS$2 && Constructor && !Constructor[SPECIES$3]) {
1042
1061
  defineProperty(Constructor, SPECIES$3, {
@@ -1046,25 +1065,25 @@
1046
1065
  }
1047
1066
  };
1048
1067
 
1049
- var global$i = global$F;
1068
+ var global$l = global$I;
1050
1069
  var isPrototypeOf$1 = objectIsPrototypeOf;
1051
1070
 
1052
- var TypeError$8 = global$i.TypeError;
1071
+ var TypeError$9 = global$l.TypeError;
1053
1072
 
1054
1073
  var anInstance$1 = function (it, Prototype) {
1055
1074
  if (isPrototypeOf$1(Prototype, it)) return it;
1056
- throw TypeError$8('Incorrect invocation');
1075
+ throw TypeError$9('Incorrect invocation');
1057
1076
  };
1058
1077
 
1059
- var uncurryThis$9 = functionUncurryThis;
1060
- var aCallable$3 = aCallable$5;
1078
+ var uncurryThis$c = functionUncurryThis;
1079
+ var aCallable$4 = aCallable$6;
1061
1080
  var NATIVE_BIND$1 = functionBindNative;
1062
1081
 
1063
- var bind$4 = uncurryThis$9(uncurryThis$9.bind);
1082
+ var bind$4 = uncurryThis$c(uncurryThis$c.bind);
1064
1083
 
1065
1084
  // optional / simple context binding
1066
1085
  var functionBindContext = function (fn, that) {
1067
- aCallable$3(fn);
1086
+ aCallable$4(fn);
1068
1087
  return that === undefined ? fn : NATIVE_BIND$1 ? bind$4(fn, that) : function (/* ...args */) {
1069
1088
  return fn.apply(that, arguments);
1070
1089
  };
@@ -1075,12 +1094,12 @@
1075
1094
  var wellKnownSymbol$a = wellKnownSymbol$e;
1076
1095
  var Iterators$1 = iterators;
1077
1096
 
1078
- var ITERATOR$2 = wellKnownSymbol$a('iterator');
1097
+ var ITERATOR$3 = wellKnownSymbol$a('iterator');
1079
1098
  var ArrayPrototype = Array.prototype;
1080
1099
 
1081
1100
  // check on default Array iterator
1082
1101
  var isArrayIteratorMethod$1 = function (it) {
1083
- return it !== undefined && (Iterators$1.Array === it || ArrayPrototype[ITERATOR$2] === it);
1102
+ return it !== undefined && (Iterators$1.Array === it || ArrayPrototype[ITERATOR$3] === it);
1084
1103
  };
1085
1104
 
1086
1105
  var wellKnownSymbol$9 = wellKnownSymbol$e;
@@ -1092,14 +1111,14 @@
1092
1111
 
1093
1112
  var toStringTagSupport = String(test) === '[object z]';
1094
1113
 
1095
- var global$h = global$F;
1114
+ var global$k = global$I;
1096
1115
  var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1097
1116
  var isCallable$5 = isCallable$g;
1098
1117
  var classofRaw = classofRaw$1;
1099
1118
  var wellKnownSymbol$8 = wellKnownSymbol$e;
1100
1119
 
1101
1120
  var TO_STRING_TAG = wellKnownSymbol$8('toStringTag');
1102
- var Object$1 = global$h.Object;
1121
+ var Object$1 = global$k.Object;
1103
1122
 
1104
1123
  // ES3 wrong here
1105
1124
  var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
@@ -1124,70 +1143,70 @@
1124
1143
  };
1125
1144
 
1126
1145
  var classof$5 = classof$6;
1127
- var getMethod$2 = getMethod$4;
1146
+ var getMethod$3 = getMethod$5;
1128
1147
  var Iterators = iterators;
1129
1148
  var wellKnownSymbol$7 = wellKnownSymbol$e;
1130
1149
 
1131
- var ITERATOR$1 = wellKnownSymbol$7('iterator');
1150
+ var ITERATOR$2 = wellKnownSymbol$7('iterator');
1132
1151
 
1133
1152
  var getIteratorMethod$2 = function (it) {
1134
- if (it != undefined) return getMethod$2(it, ITERATOR$1)
1135
- || getMethod$2(it, '@@iterator')
1153
+ if (it != undefined) return getMethod$3(it, ITERATOR$2)
1154
+ || getMethod$3(it, '@@iterator')
1136
1155
  || Iterators[classof$5(it)];
1137
1156
  };
1138
1157
 
1139
- var global$g = global$F;
1140
- var call$8 = functionCall;
1141
- var aCallable$2 = aCallable$5;
1142
- var anObject$9 = anObject$d;
1158
+ var global$j = global$I;
1159
+ var call$9 = functionCall;
1160
+ var aCallable$3 = aCallable$6;
1161
+ var anObject$a = anObject$e;
1143
1162
  var tryToString$2 = tryToString$4;
1144
1163
  var getIteratorMethod$1 = getIteratorMethod$2;
1145
1164
 
1146
- var TypeError$7 = global$g.TypeError;
1165
+ var TypeError$8 = global$j.TypeError;
1147
1166
 
1148
1167
  var getIterator$1 = function (argument, usingIterator) {
1149
1168
  var iteratorMethod = arguments.length < 2 ? getIteratorMethod$1(argument) : usingIterator;
1150
- if (aCallable$2(iteratorMethod)) return anObject$9(call$8(iteratorMethod, argument));
1151
- throw TypeError$7(tryToString$2(argument) + ' is not iterable');
1169
+ if (aCallable$3(iteratorMethod)) return anObject$a(call$9(iteratorMethod, argument));
1170
+ throw TypeError$8(tryToString$2(argument) + ' is not iterable');
1152
1171
  };
1153
1172
 
1154
- var call$7 = functionCall;
1155
- var anObject$8 = anObject$d;
1156
- var getMethod$1 = getMethod$4;
1173
+ var call$8 = functionCall;
1174
+ var anObject$9 = anObject$e;
1175
+ var getMethod$2 = getMethod$5;
1157
1176
 
1158
1177
  var iteratorClose$1 = function (iterator, kind, value) {
1159
1178
  var innerResult, innerError;
1160
- anObject$8(iterator);
1179
+ anObject$9(iterator);
1161
1180
  try {
1162
- innerResult = getMethod$1(iterator, 'return');
1181
+ innerResult = getMethod$2(iterator, 'return');
1163
1182
  if (!innerResult) {
1164
1183
  if (kind === 'throw') throw value;
1165
1184
  return value;
1166
1185
  }
1167
- innerResult = call$7(innerResult, iterator);
1186
+ innerResult = call$8(innerResult, iterator);
1168
1187
  } catch (error) {
1169
1188
  innerError = true;
1170
1189
  innerResult = error;
1171
1190
  }
1172
1191
  if (kind === 'throw') throw value;
1173
1192
  if (innerError) throw innerResult;
1174
- anObject$8(innerResult);
1193
+ anObject$9(innerResult);
1175
1194
  return value;
1176
1195
  };
1177
1196
 
1178
- var global$f = global$F;
1197
+ var global$i = global$I;
1179
1198
  var bind$3 = functionBindContext;
1180
- var call$6 = functionCall;
1181
- var anObject$7 = anObject$d;
1199
+ var call$7 = functionCall;
1200
+ var anObject$8 = anObject$e;
1182
1201
  var tryToString$1 = tryToString$4;
1183
1202
  var isArrayIteratorMethod = isArrayIteratorMethod$1;
1184
- var lengthOfArrayLike = lengthOfArrayLike$2;
1203
+ var lengthOfArrayLike$2 = lengthOfArrayLike$4;
1185
1204
  var isPrototypeOf = objectIsPrototypeOf;
1186
1205
  var getIterator = getIterator$1;
1187
1206
  var getIteratorMethod = getIteratorMethod$2;
1188
1207
  var iteratorClose = iteratorClose$1;
1189
1208
 
1190
- var TypeError$6 = global$f.TypeError;
1209
+ var TypeError$7 = global$i.TypeError;
1191
1210
 
1192
1211
  var Result = function (stopped, result) {
1193
1212
  this.stopped = stopped;
@@ -1211,7 +1230,7 @@
1211
1230
 
1212
1231
  var callFn = function (value) {
1213
1232
  if (AS_ENTRIES) {
1214
- anObject$7(value);
1233
+ anObject$8(value);
1215
1234
  return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
1216
1235
  } return INTERRUPTED ? fn(value, stop) : fn(value);
1217
1236
  };
@@ -1220,10 +1239,10 @@
1220
1239
  iterator = iterable;
1221
1240
  } else {
1222
1241
  iterFn = getIteratorMethod(iterable);
1223
- if (!iterFn) throw TypeError$6(tryToString$1(iterable) + ' is not iterable');
1242
+ if (!iterFn) throw TypeError$7(tryToString$1(iterable) + ' is not iterable');
1224
1243
  // optimisation for array iterators
1225
1244
  if (isArrayIteratorMethod(iterFn)) {
1226
- for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
1245
+ for (index = 0, length = lengthOfArrayLike$2(iterable); length > index; index++) {
1227
1246
  result = callFn(iterable[index]);
1228
1247
  if (result && isPrototypeOf(ResultPrototype, result)) return result;
1229
1248
  } return new Result(false);
@@ -1232,7 +1251,7 @@
1232
1251
  }
1233
1252
 
1234
1253
  next = iterator.next;
1235
- while (!(step = call$6(next, iterator)).done) {
1254
+ while (!(step = call$7(next, iterator)).done) {
1236
1255
  try {
1237
1256
  result = callFn(step.value);
1238
1257
  } catch (error) {
@@ -1244,7 +1263,7 @@
1244
1263
 
1245
1264
  var wellKnownSymbol$6 = wellKnownSymbol$e;
1246
1265
 
1247
- var ITERATOR = wellKnownSymbol$6('iterator');
1266
+ var ITERATOR$1 = wellKnownSymbol$6('iterator');
1248
1267
  var SAFE_CLOSING = false;
1249
1268
 
1250
1269
  try {
@@ -1257,7 +1276,7 @@
1257
1276
  SAFE_CLOSING = true;
1258
1277
  }
1259
1278
  };
1260
- iteratorWithReturn[ITERATOR] = function () {
1279
+ iteratorWithReturn[ITERATOR$1] = function () {
1261
1280
  return this;
1262
1281
  };
1263
1282
  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
@@ -1269,7 +1288,7 @@
1269
1288
  var ITERATION_SUPPORT = false;
1270
1289
  try {
1271
1290
  var object = {};
1272
- object[ITERATOR] = function () {
1291
+ object[ITERATOR$1] = function () {
1273
1292
  return {
1274
1293
  next: function () {
1275
1294
  return { done: ITERATION_SUPPORT = true };
@@ -1281,8 +1300,8 @@
1281
1300
  return ITERATION_SUPPORT;
1282
1301
  };
1283
1302
 
1284
- var uncurryThis$8 = functionUncurryThis;
1285
- var fails$7 = fails$f;
1303
+ var uncurryThis$b = functionUncurryThis;
1304
+ var fails$a = fails$i;
1286
1305
  var isCallable$4 = isCallable$g;
1287
1306
  var classof$4 = classof$6;
1288
1307
  var getBuiltIn$2 = getBuiltIn$7;
@@ -1292,7 +1311,7 @@
1292
1311
  var empty = [];
1293
1312
  var construct = getBuiltIn$2('Reflect', 'construct');
1294
1313
  var constructorRegExp = /^\s*(?:class|function)\b/;
1295
- var exec$1 = uncurryThis$8(constructorRegExp.exec);
1314
+ var exec$3 = uncurryThis$b(constructorRegExp.exec);
1296
1315
  var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
1297
1316
 
1298
1317
  var isConstructorModern = function isConstructor(argument) {
@@ -1316,7 +1335,7 @@
1316
1335
  // we can't check .prototype since constructors produced by .bind haven't it
1317
1336
  // `Function#toString` throws on some built-it function in some legacy engines
1318
1337
  // (for example, `DOMQuad` and similar in FF41-)
1319
- return INCORRECT_TO_STRING || !!exec$1(constructorRegExp, inspectSource$1(argument));
1338
+ return INCORRECT_TO_STRING || !!exec$3(constructorRegExp, inspectSource$1(argument));
1320
1339
  } catch (error) {
1321
1340
  return true;
1322
1341
  }
@@ -1326,7 +1345,7 @@
1326
1345
 
1327
1346
  // `IsConstructor` abstract operation
1328
1347
  // https://tc39.es/ecma262/#sec-isconstructor
1329
- var isConstructor$1 = !construct || fails$7(function () {
1348
+ var isConstructor$1 = !construct || fails$a(function () {
1330
1349
  var called;
1331
1350
  return isConstructorModern(isConstructorModern.call)
1332
1351
  || !isConstructorModern(Object)
@@ -1334,19 +1353,19 @@
1334
1353
  || called;
1335
1354
  }) ? isConstructorLegacy : isConstructorModern;
1336
1355
 
1337
- var global$e = global$F;
1356
+ var global$h = global$I;
1338
1357
  var isConstructor = isConstructor$1;
1339
1358
  var tryToString = tryToString$4;
1340
1359
 
1341
- var TypeError$5 = global$e.TypeError;
1360
+ var TypeError$6 = global$h.TypeError;
1342
1361
 
1343
1362
  // `Assert: IsConstructor(argument) is true`
1344
1363
  var aConstructor$1 = function (argument) {
1345
1364
  if (isConstructor(argument)) return argument;
1346
- throw TypeError$5(tryToString(argument) + ' is not a constructor');
1365
+ throw TypeError$6(tryToString(argument) + ' is not a constructor');
1347
1366
  };
1348
1367
 
1349
- var anObject$6 = anObject$d;
1368
+ var anObject$7 = anObject$e;
1350
1369
  var aConstructor = aConstructor$1;
1351
1370
  var wellKnownSymbol$5 = wellKnownSymbol$e;
1352
1371
 
@@ -1354,37 +1373,37 @@
1354
1373
 
1355
1374
  // `SpeciesConstructor` abstract operation
1356
1375
  // https://tc39.es/ecma262/#sec-speciesconstructor
1357
- var speciesConstructor$1 = function (O, defaultConstructor) {
1358
- var C = anObject$6(O).constructor;
1376
+ var speciesConstructor$2 = function (O, defaultConstructor) {
1377
+ var C = anObject$7(O).constructor;
1359
1378
  var S;
1360
- return C === undefined || (S = anObject$6(C)[SPECIES$2]) == undefined ? defaultConstructor : aConstructor(S);
1379
+ return C === undefined || (S = anObject$7(C)[SPECIES$2]) == undefined ? defaultConstructor : aConstructor(S);
1361
1380
  };
1362
1381
 
1363
1382
  var NATIVE_BIND = functionBindNative;
1364
1383
 
1365
1384
  var FunctionPrototype = Function.prototype;
1366
- var apply$2 = FunctionPrototype.apply;
1367
- var call$5 = FunctionPrototype.call;
1385
+ var apply$3 = FunctionPrototype.apply;
1386
+ var call$6 = FunctionPrototype.call;
1368
1387
 
1369
1388
  // eslint-disable-next-line es/no-reflect -- safe
1370
- var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$5.bind(apply$2) : function () {
1371
- return call$5.apply(apply$2, arguments);
1389
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$6.bind(apply$3) : function () {
1390
+ return call$6.apply(apply$3, arguments);
1372
1391
  });
1373
1392
 
1374
1393
  var getBuiltIn$1 = getBuiltIn$7;
1375
1394
 
1376
1395
  var html$2 = getBuiltIn$1('document', 'documentElement');
1377
1396
 
1378
- var uncurryThis$7 = functionUncurryThis;
1397
+ var uncurryThis$a = functionUncurryThis;
1379
1398
 
1380
- var arraySlice$1 = uncurryThis$7([].slice);
1399
+ var arraySlice$2 = uncurryThis$a([].slice);
1381
1400
 
1382
- var global$d = global$F;
1401
+ var global$g = global$I;
1383
1402
 
1384
- var TypeError$4 = global$d.TypeError;
1403
+ var TypeError$5 = global$g.TypeError;
1385
1404
 
1386
1405
  var validateArgumentsLength$1 = function (passed, required) {
1387
- if (passed < required) throw TypeError$4('Not enough arguments');
1406
+ if (passed < required) throw TypeError$5('Not enough arguments');
1388
1407
  return passed;
1389
1408
  };
1390
1409
 
@@ -1393,30 +1412,30 @@
1393
1412
  var engineIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$2);
1394
1413
 
1395
1414
  var classof$3 = classofRaw$1;
1396
- var global$c = global$F;
1415
+ var global$f = global$I;
1397
1416
 
1398
- var engineIsNode = classof$3(global$c.process) == 'process';
1417
+ var engineIsNode = classof$3(global$f.process) == 'process';
1399
1418
 
1400
- var global$b = global$F;
1401
- var apply$1 = functionApply;
1419
+ var global$e = global$I;
1420
+ var apply$2 = functionApply;
1402
1421
  var bind$2 = functionBindContext;
1403
1422
  var isCallable$3 = isCallable$g;
1404
1423
  var hasOwn = hasOwnProperty_1;
1405
- var fails$6 = fails$f;
1424
+ var fails$9 = fails$i;
1406
1425
  var html$1 = html$2;
1407
- var arraySlice = arraySlice$1;
1426
+ var arraySlice$1 = arraySlice$2;
1408
1427
  var createElement = documentCreateElement$1;
1409
1428
  var validateArgumentsLength = validateArgumentsLength$1;
1410
1429
  var IS_IOS$1 = engineIsIos;
1411
- var IS_NODE$2 = engineIsNode;
1412
-
1413
- var set$1 = global$b.setImmediate;
1414
- var clear = global$b.clearImmediate;
1415
- var process$3 = global$b.process;
1416
- var Dispatch = global$b.Dispatch;
1417
- var Function$1 = global$b.Function;
1418
- var MessageChannel = global$b.MessageChannel;
1419
- var String$2 = global$b.String;
1430
+ var IS_NODE$3 = engineIsNode;
1431
+
1432
+ var set$1 = global$e.setImmediate;
1433
+ var clear = global$e.clearImmediate;
1434
+ var process$2 = global$e.process;
1435
+ var Dispatch = global$e.Dispatch;
1436
+ var Function$1 = global$e.Function;
1437
+ var MessageChannel = global$e.MessageChannel;
1438
+ var String$2 = global$e.String;
1420
1439
  var counter = 0;
1421
1440
  var queue$1 = {};
1422
1441
  var ONREADYSTATECHANGE = 'onreadystatechange';
@@ -1424,7 +1443,7 @@
1424
1443
 
1425
1444
  try {
1426
1445
  // Deno throws a ReferenceError on `location` access without `--location` flag
1427
- location = global$b.location;
1446
+ location = global$e.location;
1428
1447
  } catch (error) { /* empty */ }
1429
1448
 
1430
1449
  var run = function (id) {
@@ -1447,7 +1466,7 @@
1447
1466
 
1448
1467
  var post = function (id) {
1449
1468
  // old engines have not location.origin
1450
- global$b.postMessage(String$2(id), location.protocol + '//' + location.host);
1469
+ global$e.postMessage(String$2(id), location.protocol + '//' + location.host);
1451
1470
  };
1452
1471
 
1453
1472
  // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
@@ -1455,9 +1474,9 @@
1455
1474
  set$1 = function setImmediate(handler) {
1456
1475
  validateArgumentsLength(arguments.length, 1);
1457
1476
  var fn = isCallable$3(handler) ? handler : Function$1(handler);
1458
- var args = arraySlice(arguments, 1);
1477
+ var args = arraySlice$1(arguments, 1);
1459
1478
  queue$1[++counter] = function () {
1460
- apply$1(fn, undefined, args);
1479
+ apply$2(fn, undefined, args);
1461
1480
  };
1462
1481
  defer(counter);
1463
1482
  return counter;
@@ -1466,9 +1485,9 @@
1466
1485
  delete queue$1[id];
1467
1486
  };
1468
1487
  // Node.js 0.8-
1469
- if (IS_NODE$2) {
1488
+ if (IS_NODE$3) {
1470
1489
  defer = function (id) {
1471
- process$3.nextTick(runner(id));
1490
+ process$2.nextTick(runner(id));
1472
1491
  };
1473
1492
  // Sphere (JS game engine) Dispatch API
1474
1493
  } else if (Dispatch && Dispatch.now) {
@@ -1485,14 +1504,14 @@
1485
1504
  // Browsers with postMessage, skip WebWorkers
1486
1505
  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
1487
1506
  } else if (
1488
- global$b.addEventListener &&
1489
- isCallable$3(global$b.postMessage) &&
1490
- !global$b.importScripts &&
1507
+ global$e.addEventListener &&
1508
+ isCallable$3(global$e.postMessage) &&
1509
+ !global$e.importScripts &&
1491
1510
  location && location.protocol !== 'file:' &&
1492
- !fails$6(post)
1511
+ !fails$9(post)
1493
1512
  ) {
1494
1513
  defer = post;
1495
- global$b.addEventListener('message', listener, false);
1514
+ global$e.addEventListener('message', listener, false);
1496
1515
  // IE8-
1497
1516
  } else if (ONREADYSTATECHANGE in createElement('script')) {
1498
1517
  defer = function (id) {
@@ -1515,29 +1534,29 @@
1515
1534
  };
1516
1535
 
1517
1536
  var userAgent$1 = engineUserAgent;
1518
- var global$a = global$F;
1537
+ var global$d = global$I;
1519
1538
 
1520
- var engineIsIosPebble = /ipad|iphone|ipod/i.test(userAgent$1) && global$a.Pebble !== undefined;
1539
+ var engineIsIosPebble = /ipad|iphone|ipod/i.test(userAgent$1) && global$d.Pebble !== undefined;
1521
1540
 
1522
1541
  var userAgent = engineUserAgent;
1523
1542
 
1524
1543
  var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(userAgent);
1525
1544
 
1526
- var global$9 = global$F;
1545
+ var global$c = global$I;
1527
1546
  var bind$1 = functionBindContext;
1528
1547
  var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
1529
1548
  var macrotask = task$1.set;
1530
1549
  var IS_IOS = engineIsIos;
1531
1550
  var IS_IOS_PEBBLE = engineIsIosPebble;
1532
1551
  var IS_WEBOS_WEBKIT = engineIsWebosWebkit;
1533
- var IS_NODE$1 = engineIsNode;
1552
+ var IS_NODE$2 = engineIsNode;
1534
1553
 
1535
- var MutationObserver = global$9.MutationObserver || global$9.WebKitMutationObserver;
1536
- var document$2 = global$9.document;
1537
- var process$2 = global$9.process;
1538
- var Promise$1 = global$9.Promise;
1554
+ var MutationObserver = global$c.MutationObserver || global$c.WebKitMutationObserver;
1555
+ var document$2 = global$c.document;
1556
+ var process$1 = global$c.process;
1557
+ var Promise$1 = global$c.Promise;
1539
1558
  // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
1540
- var queueMicrotaskDescriptor = getOwnPropertyDescriptor$1(global$9, 'queueMicrotask');
1559
+ var queueMicrotaskDescriptor = getOwnPropertyDescriptor$1(global$c, 'queueMicrotask');
1541
1560
  var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
1542
1561
 
1543
1562
  var flush, head, last, notify$1, toggle, node, promise, then;
@@ -1546,7 +1565,7 @@
1546
1565
  if (!queueMicrotask) {
1547
1566
  flush = function () {
1548
1567
  var parent, fn;
1549
- if (IS_NODE$1 && (parent = process$2.domain)) parent.exit();
1568
+ if (IS_NODE$2 && (parent = process$1.domain)) parent.exit();
1550
1569
  while (head) {
1551
1570
  fn = head.fn;
1552
1571
  head = head.next;
@@ -1563,7 +1582,7 @@
1563
1582
 
1564
1583
  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
1565
1584
  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
1566
- if (!IS_IOS && !IS_NODE$1 && !IS_WEBOS_WEBKIT && MutationObserver && document$2) {
1585
+ if (!IS_IOS && !IS_NODE$2 && !IS_WEBOS_WEBKIT && MutationObserver && document$2) {
1567
1586
  toggle = true;
1568
1587
  node = document$2.createTextNode('');
1569
1588
  new MutationObserver(flush).observe(node, { characterData: true });
@@ -1581,9 +1600,9 @@
1581
1600
  then(flush);
1582
1601
  };
1583
1602
  // Node.js without promises
1584
- } else if (IS_NODE$1) {
1603
+ } else if (IS_NODE$2) {
1585
1604
  notify$1 = function () {
1586
- process$2.nextTick(flush);
1605
+ process$1.nextTick(flush);
1587
1606
  };
1588
1607
  // for other environments - macrotask based on:
1589
1608
  // - setImmediate
@@ -1593,7 +1612,7 @@
1593
1612
  // - setTimeout
1594
1613
  } else {
1595
1614
  // strange IE + webpack dev server bug - use .bind(global)
1596
- macrotask = bind$1(macrotask, global$9);
1615
+ macrotask = bind$1(macrotask, global$c);
1597
1616
  notify$1 = function () {
1598
1617
  macrotask(flush);
1599
1618
  };
@@ -1611,7 +1630,7 @@
1611
1630
 
1612
1631
  var newPromiseCapability$2 = {};
1613
1632
 
1614
- var aCallable$1 = aCallable$5;
1633
+ var aCallable$2 = aCallable$6;
1615
1634
 
1616
1635
  var PromiseCapability = function (C) {
1617
1636
  var resolve, reject;
@@ -1620,8 +1639,8 @@
1620
1639
  resolve = $$resolve;
1621
1640
  reject = $$reject;
1622
1641
  });
1623
- this.resolve = aCallable$1(resolve);
1624
- this.reject = aCallable$1(reject);
1642
+ this.resolve = aCallable$2(resolve);
1643
+ this.reject = aCallable$2(reject);
1625
1644
  };
1626
1645
 
1627
1646
  // `NewPromiseCapability` abstract operation
@@ -1630,12 +1649,12 @@
1630
1649
  return new PromiseCapability(C);
1631
1650
  };
1632
1651
 
1633
- var anObject$5 = anObject$d;
1652
+ var anObject$6 = anObject$e;
1634
1653
  var isObject$2 = isObject$8;
1635
1654
  var newPromiseCapability$1 = newPromiseCapability$2;
1636
1655
 
1637
1656
  var promiseResolve$1 = function (C, x) {
1638
- anObject$5(C);
1657
+ anObject$6(C);
1639
1658
  if (isObject$2(x) && x.constructor === C) return x;
1640
1659
  var promiseCapability = newPromiseCapability$1.f(C);
1641
1660
  var resolve = promiseCapability.resolve;
@@ -1643,10 +1662,10 @@
1643
1662
  return promiseCapability.promise;
1644
1663
  };
1645
1664
 
1646
- var global$8 = global$F;
1665
+ var global$b = global$I;
1647
1666
 
1648
1667
  var hostReportErrors$1 = function (a, b) {
1649
- var console = global$8.console;
1668
+ var console = global$b.console;
1650
1669
  if (console && console.error) {
1651
1670
  arguments.length == 1 ? console.error(a) : console.error(a, b);
1652
1671
  }
@@ -1686,24 +1705,24 @@
1686
1705
 
1687
1706
  var engineIsBrowser = typeof window == 'object';
1688
1707
 
1689
- var $$3 = _export;
1690
- var global$7 = global$F;
1708
+ var $$5 = _export;
1709
+ var global$a = global$I;
1691
1710
  var getBuiltIn = getBuiltIn$7;
1692
- var call$4 = functionCall;
1711
+ var call$5 = functionCall;
1693
1712
  var NativePromise = nativePromiseConstructor;
1694
1713
  var redefine$1 = redefine$4.exports;
1695
1714
  var redefineAll = redefineAll$1;
1696
1715
  var setPrototypeOf = objectSetPrototypeOf;
1697
1716
  var setToStringTag = setToStringTag$1;
1698
1717
  var setSpecies = setSpecies$1;
1699
- var aCallable = aCallable$5;
1718
+ var aCallable$1 = aCallable$6;
1700
1719
  var isCallable$2 = isCallable$g;
1701
1720
  var isObject$1 = isObject$8;
1702
1721
  var anInstance = anInstance$1;
1703
1722
  var inspectSource = inspectSource$4;
1704
1723
  var iterate = iterate$1;
1705
1724
  var checkCorrectnessOfIteration = checkCorrectnessOfIteration$1;
1706
- var speciesConstructor = speciesConstructor$1;
1725
+ var speciesConstructor$1 = speciesConstructor$2;
1707
1726
  var task = task$1.set;
1708
1727
  var microtask = microtask$1;
1709
1728
  var promiseResolve = promiseResolve$1;
@@ -1715,7 +1734,7 @@
1715
1734
  var isForced = isForced_1;
1716
1735
  var wellKnownSymbol$4 = wellKnownSymbol$e;
1717
1736
  var IS_BROWSER = engineIsBrowser;
1718
- var IS_NODE = engineIsNode;
1737
+ var IS_NODE$1 = engineIsNode;
1719
1738
  var V8_VERSION = engineV8Version;
1720
1739
 
1721
1740
  var SPECIES$1 = wellKnownSymbol$4('species');
@@ -1727,14 +1746,14 @@
1727
1746
  var NativePromisePrototype = NativePromise && NativePromise.prototype;
1728
1747
  var PromiseConstructor = NativePromise;
1729
1748
  var PromisePrototype = NativePromisePrototype;
1730
- var TypeError$3 = global$7.TypeError;
1731
- var document$1 = global$7.document;
1732
- var process$1 = global$7.process;
1749
+ var TypeError$4 = global$a.TypeError;
1750
+ var document$1 = global$a.document;
1751
+ var process = global$a.process;
1733
1752
  var newPromiseCapability = newPromiseCapabilityModule.f;
1734
1753
  var newGenericPromiseCapability = newPromiseCapability;
1735
1754
 
1736
- var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$7.dispatchEvent);
1737
- var NATIVE_REJECTION_EVENT = isCallable$2(global$7.PromiseRejectionEvent);
1755
+ var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$a.dispatchEvent);
1756
+ var NATIVE_REJECTION_EVENT = isCallable$2(global$a.PromiseRejectionEvent);
1738
1757
  var UNHANDLED_REJECTION = 'unhandledrejection';
1739
1758
  var REJECTION_HANDLED = 'rejectionhandled';
1740
1759
  var PENDING = 0;
@@ -1746,7 +1765,7 @@
1746
1765
 
1747
1766
  var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
1748
1767
 
1749
- var FORCED = isForced(PROMISE, function () {
1768
+ var FORCED$1 = isForced(PROMISE, function () {
1750
1769
  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);
1751
1770
  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);
1752
1771
  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
@@ -1770,7 +1789,7 @@
1770
1789
  return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;
1771
1790
  });
1772
1791
 
1773
- var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
1792
+ var INCORRECT_ITERATION = FORCED$1 || !checkCorrectnessOfIteration(function (iterable) {
1774
1793
  PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
1775
1794
  });
1776
1795
 
@@ -1804,9 +1823,9 @@
1804
1823
  }
1805
1824
  }
1806
1825
  if (result === reaction.promise) {
1807
- reject(TypeError$3('Promise-chain cycle'));
1826
+ reject(TypeError$4('Promise-chain cycle'));
1808
1827
  } else if (then = isThenable(result)) {
1809
- call$4(then, result, resolve, reject);
1828
+ call$5(then, result, resolve, reject);
1810
1829
  } else resolve(result);
1811
1830
  } else reject(value);
1812
1831
  } catch (error) {
@@ -1836,26 +1855,26 @@
1836
1855
  event.promise = promise;
1837
1856
  event.reason = reason;
1838
1857
  event.initEvent(name, false, true);
1839
- global$7.dispatchEvent(event);
1858
+ global$a.dispatchEvent(event);
1840
1859
  } else event = { promise: promise, reason: reason };
1841
- if (!NATIVE_REJECTION_EVENT && (handler = global$7['on' + name])) handler(event);
1860
+ if (!NATIVE_REJECTION_EVENT && (handler = global$a['on' + name])) handler(event);
1842
1861
  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
1843
1862
  };
1844
1863
 
1845
1864
  var onUnhandled = function (state) {
1846
- call$4(task, global$7, function () {
1865
+ call$5(task, global$a, function () {
1847
1866
  var promise = state.facade;
1848
1867
  var value = state.value;
1849
1868
  var IS_UNHANDLED = isUnhandled(state);
1850
1869
  var result;
1851
1870
  if (IS_UNHANDLED) {
1852
1871
  result = perform(function () {
1853
- if (IS_NODE) {
1854
- process$1.emit('unhandledRejection', value, promise);
1872
+ if (IS_NODE$1) {
1873
+ process.emit('unhandledRejection', value, promise);
1855
1874
  } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
1856
1875
  });
1857
1876
  // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
1858
- state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
1877
+ state.rejection = IS_NODE$1 || isUnhandled(state) ? UNHANDLED : HANDLED;
1859
1878
  if (result.error) throw result.value;
1860
1879
  }
1861
1880
  });
@@ -1866,10 +1885,10 @@
1866
1885
  };
1867
1886
 
1868
1887
  var onHandleUnhandled = function (state) {
1869
- call$4(task, global$7, function () {
1888
+ call$5(task, global$a, function () {
1870
1889
  var promise = state.facade;
1871
- if (IS_NODE) {
1872
- process$1.emit('rejectionHandled', promise);
1890
+ if (IS_NODE$1) {
1891
+ process.emit('rejectionHandled', promise);
1873
1892
  } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
1874
1893
  });
1875
1894
  };
@@ -1894,13 +1913,13 @@
1894
1913
  state.done = true;
1895
1914
  if (unwrap) state = unwrap;
1896
1915
  try {
1897
- if (state.facade === value) throw TypeError$3("Promise can't be resolved itself");
1916
+ if (state.facade === value) throw TypeError$4("Promise can't be resolved itself");
1898
1917
  var then = isThenable(value);
1899
1918
  if (then) {
1900
1919
  microtask(function () {
1901
1920
  var wrapper = { done: false };
1902
1921
  try {
1903
- call$4(then, value,
1922
+ call$5(then, value,
1904
1923
  bind(internalResolve, wrapper, state),
1905
1924
  bind(internalReject, wrapper, state)
1906
1925
  );
@@ -1919,12 +1938,12 @@
1919
1938
  };
1920
1939
 
1921
1940
  // constructor polyfill
1922
- if (FORCED) {
1941
+ if (FORCED$1) {
1923
1942
  // 25.4.3.1 Promise(executor)
1924
1943
  PromiseConstructor = function Promise(executor) {
1925
1944
  anInstance(this, PromisePrototype);
1926
- aCallable(executor);
1927
- call$4(Internal, this);
1945
+ aCallable$1(executor);
1946
+ call$5(Internal, this);
1928
1947
  var state = getInternalState$1(this);
1929
1948
  try {
1930
1949
  executor(bind(internalResolve, state), bind(internalReject, state));
@@ -1952,11 +1971,11 @@
1952
1971
  // eslint-disable-next-line unicorn/no-thenable -- safe
1953
1972
  then: function then(onFulfilled, onRejected) {
1954
1973
  var state = getInternalPromiseState(this);
1955
- var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
1974
+ var reaction = newPromiseCapability(speciesConstructor$1(this, PromiseConstructor));
1956
1975
  state.parent = true;
1957
1976
  reaction.ok = isCallable$2(onFulfilled) ? onFulfilled : true;
1958
1977
  reaction.fail = isCallable$2(onRejected) && onRejected;
1959
- reaction.domain = IS_NODE ? process$1.domain : undefined;
1978
+ reaction.domain = IS_NODE$1 ? process.domain : undefined;
1960
1979
  if (state.state == PENDING) state.reactions.add(reaction);
1961
1980
  else microtask(function () {
1962
1981
  callReaction(reaction, state);
@@ -1990,7 +2009,7 @@
1990
2009
  redefine$1(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
1991
2010
  var that = this;
1992
2011
  return new PromiseConstructor(function (resolve, reject) {
1993
- call$4(nativeThen, that, resolve, reject);
2012
+ call$5(nativeThen, that, resolve, reject);
1994
2013
  }).then(onFulfilled, onRejected);
1995
2014
  // https://github.com/zloirock/core-js/issues/640
1996
2015
  }, { unsafe: true });
@@ -2011,7 +2030,7 @@
2011
2030
  }
2012
2031
  }
2013
2032
 
2014
- $$3({ global: true, wrap: true, forced: FORCED }, {
2033
+ $$5({ global: true, wrap: true, forced: FORCED$1 }, {
2015
2034
  Promise: PromiseConstructor
2016
2035
  });
2017
2036
 
@@ -2021,17 +2040,17 @@
2021
2040
  PromiseWrapper = getBuiltIn(PROMISE);
2022
2041
 
2023
2042
  // statics
2024
- $$3({ target: PROMISE, stat: true, forced: FORCED }, {
2043
+ $$5({ target: PROMISE, stat: true, forced: FORCED$1 }, {
2025
2044
  // `Promise.reject` method
2026
2045
  // https://tc39.es/ecma262/#sec-promise.reject
2027
2046
  reject: function reject(r) {
2028
2047
  var capability = newPromiseCapability(this);
2029
- call$4(capability.reject, undefined, r);
2048
+ call$5(capability.reject, undefined, r);
2030
2049
  return capability.promise;
2031
2050
  }
2032
2051
  });
2033
2052
 
2034
- $$3({ target: PROMISE, stat: true, forced: FORCED }, {
2053
+ $$5({ target: PROMISE, stat: true, forced: FORCED$1 }, {
2035
2054
  // `Promise.resolve` method
2036
2055
  // https://tc39.es/ecma262/#sec-promise.resolve
2037
2056
  resolve: function resolve(x) {
@@ -2039,7 +2058,7 @@
2039
2058
  }
2040
2059
  });
2041
2060
 
2042
- $$3({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2061
+ $$5({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2043
2062
  // `Promise.all` method
2044
2063
  // https://tc39.es/ecma262/#sec-promise.all
2045
2064
  all: function all(iterable) {
@@ -2048,7 +2067,7 @@
2048
2067
  var resolve = capability.resolve;
2049
2068
  var reject = capability.reject;
2050
2069
  var result = perform(function () {
2051
- var $promiseResolve = aCallable(C.resolve);
2070
+ var $promiseResolve = aCallable$1(C.resolve);
2052
2071
  var values = [];
2053
2072
  var counter = 0;
2054
2073
  var remaining = 1;
@@ -2056,7 +2075,7 @@
2056
2075
  var index = counter++;
2057
2076
  var alreadyCalled = false;
2058
2077
  remaining++;
2059
- call$4($promiseResolve, C, promise).then(function (value) {
2078
+ call$5($promiseResolve, C, promise).then(function (value) {
2060
2079
  if (alreadyCalled) return;
2061
2080
  alreadyCalled = true;
2062
2081
  values[index] = value;
@@ -2075,9 +2094,9 @@
2075
2094
  var capability = newPromiseCapability(C);
2076
2095
  var reject = capability.reject;
2077
2096
  var result = perform(function () {
2078
- var $promiseResolve = aCallable(C.resolve);
2097
+ var $promiseResolve = aCallable$1(C.resolve);
2079
2098
  iterate(iterable, function (promise) {
2080
- call$4($promiseResolve, C, promise).then(capability.resolve, reject);
2099
+ call$5($promiseResolve, C, promise).then(capability.resolve, reject);
2081
2100
  });
2082
2101
  });
2083
2102
  if (result.error) reject(result.value);
@@ -2096,24 +2115,24 @@
2096
2115
  };
2097
2116
 
2098
2117
  var DESCRIPTORS$1 = descriptors;
2099
- var uncurryThis$6 = functionUncurryThis;
2100
- var call$3 = functionCall;
2101
- var fails$5 = fails$f;
2118
+ var uncurryThis$9 = functionUncurryThis;
2119
+ var call$4 = functionCall;
2120
+ var fails$8 = fails$i;
2102
2121
  var objectKeys$1 = objectKeys$2;
2103
2122
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
2104
2123
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
2105
- var toObject$1 = toObject$3;
2106
- var IndexedObject = indexedObject;
2124
+ var toObject$2 = toObject$4;
2125
+ var IndexedObject$1 = indexedObject;
2107
2126
 
2108
2127
  // eslint-disable-next-line es/no-object-assign -- safe
2109
2128
  var $assign = Object.assign;
2110
2129
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
2111
2130
  var defineProperty = Object.defineProperty;
2112
- var concat$1 = uncurryThis$6([].concat);
2131
+ var concat$1 = uncurryThis$9([].concat);
2113
2132
 
2114
2133
  // `Object.assign` method
2115
2134
  // https://tc39.es/ecma262/#sec-object.assign
2116
- var objectAssign = !$assign || fails$5(function () {
2135
+ var objectAssign = !$assign || fails$8(function () {
2117
2136
  // should have correct order of operations (Edge bug)
2118
2137
  if (DESCRIPTORS$1 && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {
2119
2138
  enumerable: true,
@@ -2134,31 +2153,31 @@
2134
2153
  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
2135
2154
  return $assign({}, A)[symbol] != 7 || objectKeys$1($assign({}, B)).join('') != alphabet;
2136
2155
  }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
2137
- var T = toObject$1(target);
2156
+ var T = toObject$2(target);
2138
2157
  var argumentsLength = arguments.length;
2139
2158
  var index = 1;
2140
2159
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
2141
2160
  var propertyIsEnumerable = propertyIsEnumerableModule.f;
2142
2161
  while (argumentsLength > index) {
2143
- var S = IndexedObject(arguments[index++]);
2162
+ var S = IndexedObject$1(arguments[index++]);
2144
2163
  var keys = getOwnPropertySymbols ? concat$1(objectKeys$1(S), getOwnPropertySymbols(S)) : objectKeys$1(S);
2145
2164
  var length = keys.length;
2146
2165
  var j = 0;
2147
2166
  var key;
2148
2167
  while (length > j) {
2149
2168
  key = keys[j++];
2150
- if (!DESCRIPTORS$1 || call$3(propertyIsEnumerable, S, key)) T[key] = S[key];
2169
+ if (!DESCRIPTORS$1 || call$4(propertyIsEnumerable, S, key)) T[key] = S[key];
2151
2170
  }
2152
2171
  } return T;
2153
2172
  } : $assign;
2154
2173
 
2155
- var $$2 = _export;
2174
+ var $$4 = _export;
2156
2175
  var assign = objectAssign;
2157
2176
 
2158
2177
  // `Object.assign` method
2159
2178
  // https://tc39.es/ecma262/#sec-object.assign
2160
2179
  // eslint-disable-next-line es/no-object-assign -- required for testing
2161
- $$2({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
2180
+ $$4({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
2162
2181
  assign: assign
2163
2182
  });
2164
2183
 
@@ -2258,6 +2277,10 @@
2258
2277
  instance.storage.setItem(NINETAILED_CACHE_KEY, cache);
2259
2278
  return cache;
2260
2279
  };
2280
+ var remove = function remove(_a) {
2281
+ var instance = _a.instance;
2282
+ instance.storage.removeItem(NINETAILED_CACHE_KEY);
2283
+ };
2261
2284
  var reset = function reset(_a) {
2262
2285
  var instance = _a.instance;
2263
2286
  return initialize({
@@ -2265,6 +2288,15 @@
2265
2288
  });
2266
2289
  };
2267
2290
 
2291
+ var index = /*#__PURE__*/Object.freeze({
2292
+ __proto__: null,
2293
+ initialize: initialize,
2294
+ get: get,
2295
+ set: set,
2296
+ remove: remove,
2297
+ reset: reset
2298
+ });
2299
+
2268
2300
  var buildClientLocale = function buildClientLocale() {
2269
2301
  return navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;
2270
2302
  };
@@ -2281,726 +2313,14 @@
2281
2313
  };
2282
2314
  };
2283
2315
 
2284
- var browser = {exports: {}};
2285
-
2286
- /**
2287
- * Helpers.
2288
- */
2289
-
2290
- var s = 1000;
2291
- var m = s * 60;
2292
- var h = m * 60;
2293
- var d = h * 24;
2294
- var w = d * 7;
2295
- var y = d * 365.25;
2296
-
2297
- /**
2298
- * Parse or format the given `val`.
2299
- *
2300
- * Options:
2301
- *
2302
- * - `long` verbose formatting [false]
2303
- *
2304
- * @param {String|Number} val
2305
- * @param {Object} [options]
2306
- * @throws {Error} throw an error if val is not a non-empty string or a number
2307
- * @return {String|Number}
2308
- * @api public
2309
- */
2310
-
2311
- var ms = function(val, options) {
2312
- options = options || {};
2313
- var type = typeof val;
2314
- if (type === 'string' && val.length > 0) {
2315
- return parse(val);
2316
- } else if (type === 'number' && isFinite(val)) {
2317
- return options.long ? fmtLong(val) : fmtShort(val);
2318
- }
2319
- throw new Error(
2320
- 'val is not a non-empty string or a valid number. val=' +
2321
- JSON.stringify(val)
2322
- );
2323
- };
2324
-
2325
- /**
2326
- * Parse the given `str` and return milliseconds.
2327
- *
2328
- * @param {String} str
2329
- * @return {Number}
2330
- * @api private
2331
- */
2332
-
2333
- function parse(str) {
2334
- str = String(str);
2335
- if (str.length > 100) {
2336
- return;
2337
- }
2338
- var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
2339
- str
2340
- );
2341
- if (!match) {
2342
- return;
2343
- }
2344
- var n = parseFloat(match[1]);
2345
- var type = (match[2] || 'ms').toLowerCase();
2346
- switch (type) {
2347
- case 'years':
2348
- case 'year':
2349
- case 'yrs':
2350
- case 'yr':
2351
- case 'y':
2352
- return n * y;
2353
- case 'weeks':
2354
- case 'week':
2355
- case 'w':
2356
- return n * w;
2357
- case 'days':
2358
- case 'day':
2359
- case 'd':
2360
- return n * d;
2361
- case 'hours':
2362
- case 'hour':
2363
- case 'hrs':
2364
- case 'hr':
2365
- case 'h':
2366
- return n * h;
2367
- case 'minutes':
2368
- case 'minute':
2369
- case 'mins':
2370
- case 'min':
2371
- case 'm':
2372
- return n * m;
2373
- case 'seconds':
2374
- case 'second':
2375
- case 'secs':
2376
- case 'sec':
2377
- case 's':
2378
- return n * s;
2379
- case 'milliseconds':
2380
- case 'millisecond':
2381
- case 'msecs':
2382
- case 'msec':
2383
- case 'ms':
2384
- return n;
2385
- default:
2386
- return undefined;
2387
- }
2388
- }
2389
-
2390
- /**
2391
- * Short format for `ms`.
2392
- *
2393
- * @param {Number} ms
2394
- * @return {String}
2395
- * @api private
2396
- */
2397
-
2398
- function fmtShort(ms) {
2399
- var msAbs = Math.abs(ms);
2400
- if (msAbs >= d) {
2401
- return Math.round(ms / d) + 'd';
2402
- }
2403
- if (msAbs >= h) {
2404
- return Math.round(ms / h) + 'h';
2405
- }
2406
- if (msAbs >= m) {
2407
- return Math.round(ms / m) + 'm';
2408
- }
2409
- if (msAbs >= s) {
2410
- return Math.round(ms / s) + 's';
2411
- }
2412
- return ms + 'ms';
2413
- }
2414
-
2415
- /**
2416
- * Long format for `ms`.
2417
- *
2418
- * @param {Number} ms
2419
- * @return {String}
2420
- * @api private
2421
- */
2422
-
2423
- function fmtLong(ms) {
2424
- var msAbs = Math.abs(ms);
2425
- if (msAbs >= d) {
2426
- return plural(ms, msAbs, d, 'day');
2427
- }
2428
- if (msAbs >= h) {
2429
- return plural(ms, msAbs, h, 'hour');
2430
- }
2431
- if (msAbs >= m) {
2432
- return plural(ms, msAbs, m, 'minute');
2433
- }
2434
- if (msAbs >= s) {
2435
- return plural(ms, msAbs, s, 'second');
2436
- }
2437
- return ms + ' ms';
2438
- }
2439
-
2440
- /**
2441
- * Pluralization helper.
2442
- */
2443
-
2444
- function plural(ms, msAbs, n, name) {
2445
- var isPlural = msAbs >= n * 1.5;
2446
- return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
2447
- }
2448
-
2449
- /**
2450
- * This is the common logic for both the Node.js and web browser
2451
- * implementations of `debug()`.
2452
- */
2453
-
2454
- function setup(env) {
2455
- createDebug.debug = createDebug;
2456
- createDebug.default = createDebug;
2457
- createDebug.coerce = coerce;
2458
- createDebug.disable = disable;
2459
- createDebug.enable = enable;
2460
- createDebug.enabled = enabled;
2461
- createDebug.humanize = ms;
2462
- createDebug.destroy = destroy;
2463
-
2464
- Object.keys(env).forEach(key => {
2465
- createDebug[key] = env[key];
2466
- });
2467
-
2468
- /**
2469
- * The currently active debug mode names, and names to skip.
2470
- */
2471
-
2472
- createDebug.names = [];
2473
- createDebug.skips = [];
2474
-
2475
- /**
2476
- * Map of special "%n" handling functions, for the debug "format" argument.
2477
- *
2478
- * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
2479
- */
2480
- createDebug.formatters = {};
2481
-
2482
- /**
2483
- * Selects a color for a debug namespace
2484
- * @param {String} namespace The namespace string for the debug instance to be colored
2485
- * @return {Number|String} An ANSI color code for the given namespace
2486
- * @api private
2487
- */
2488
- function selectColor(namespace) {
2489
- let hash = 0;
2490
-
2491
- for (let i = 0; i < namespace.length; i++) {
2492
- hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
2493
- hash |= 0; // Convert to 32bit integer
2494
- }
2495
-
2496
- return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
2497
- }
2498
- createDebug.selectColor = selectColor;
2499
-
2500
- /**
2501
- * Create a debugger with the given `namespace`.
2502
- *
2503
- * @param {String} namespace
2504
- * @return {Function}
2505
- * @api public
2506
- */
2507
- function createDebug(namespace) {
2508
- let prevTime;
2509
- let enableOverride = null;
2510
- let namespacesCache;
2511
- let enabledCache;
2512
-
2513
- function debug(...args) {
2514
- // Disabled?
2515
- if (!debug.enabled) {
2516
- return;
2517
- }
2518
-
2519
- const self = debug;
2520
-
2521
- // Set `diff` timestamp
2522
- const curr = Number(new Date());
2523
- const ms = curr - (prevTime || curr);
2524
- self.diff = ms;
2525
- self.prev = prevTime;
2526
- self.curr = curr;
2527
- prevTime = curr;
2528
-
2529
- args[0] = createDebug.coerce(args[0]);
2530
-
2531
- if (typeof args[0] !== 'string') {
2532
- // Anything else let's inspect with %O
2533
- args.unshift('%O');
2534
- }
2535
-
2536
- // Apply any `formatters` transformations
2537
- let index = 0;
2538
- args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
2539
- // If we encounter an escaped % then don't increase the array index
2540
- if (match === '%%') {
2541
- return '%';
2542
- }
2543
- index++;
2544
- const formatter = createDebug.formatters[format];
2545
- if (typeof formatter === 'function') {
2546
- const val = args[index];
2547
- match = formatter.call(self, val);
2548
-
2549
- // Now we need to remove `args[index]` since it's inlined in the `format`
2550
- args.splice(index, 1);
2551
- index--;
2552
- }
2553
- return match;
2554
- });
2555
-
2556
- // Apply env-specific formatting (colors, etc.)
2557
- createDebug.formatArgs.call(self, args);
2558
-
2559
- const logFn = self.log || createDebug.log;
2560
- logFn.apply(self, args);
2561
- }
2562
-
2563
- debug.namespace = namespace;
2564
- debug.useColors = createDebug.useColors();
2565
- debug.color = createDebug.selectColor(namespace);
2566
- debug.extend = extend;
2567
- debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
2568
-
2569
- Object.defineProperty(debug, 'enabled', {
2570
- enumerable: true,
2571
- configurable: false,
2572
- get: () => {
2573
- if (enableOverride !== null) {
2574
- return enableOverride;
2575
- }
2576
- if (namespacesCache !== createDebug.namespaces) {
2577
- namespacesCache = createDebug.namespaces;
2578
- enabledCache = createDebug.enabled(namespace);
2579
- }
2580
-
2581
- return enabledCache;
2582
- },
2583
- set: v => {
2584
- enableOverride = v;
2585
- }
2586
- });
2587
-
2588
- // Env-specific initialization logic for debug instances
2589
- if (typeof createDebug.init === 'function') {
2590
- createDebug.init(debug);
2591
- }
2592
-
2593
- return debug;
2594
- }
2595
-
2596
- function extend(namespace, delimiter) {
2597
- const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
2598
- newDebug.log = this.log;
2599
- return newDebug;
2600
- }
2601
-
2602
- /**
2603
- * Enables a debug mode by namespaces. This can include modes
2604
- * separated by a colon and wildcards.
2605
- *
2606
- * @param {String} namespaces
2607
- * @api public
2608
- */
2609
- function enable(namespaces) {
2610
- createDebug.save(namespaces);
2611
- createDebug.namespaces = namespaces;
2612
-
2613
- createDebug.names = [];
2614
- createDebug.skips = [];
2615
-
2616
- let i;
2617
- const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
2618
- const len = split.length;
2619
-
2620
- for (i = 0; i < len; i++) {
2621
- if (!split[i]) {
2622
- // ignore empty strings
2623
- continue;
2624
- }
2625
-
2626
- namespaces = split[i].replace(/\*/g, '.*?');
2627
-
2628
- if (namespaces[0] === '-') {
2629
- createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
2630
- } else {
2631
- createDebug.names.push(new RegExp('^' + namespaces + '$'));
2632
- }
2633
- }
2634
- }
2635
-
2636
- /**
2637
- * Disable debug output.
2638
- *
2639
- * @return {String} namespaces
2640
- * @api public
2641
- */
2642
- function disable() {
2643
- const namespaces = [
2644
- ...createDebug.names.map(toNamespace),
2645
- ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
2646
- ].join(',');
2647
- createDebug.enable('');
2648
- return namespaces;
2649
- }
2650
-
2651
- /**
2652
- * Returns true if the given mode name is enabled, false otherwise.
2653
- *
2654
- * @param {String} name
2655
- * @return {Boolean}
2656
- * @api public
2657
- */
2658
- function enabled(name) {
2659
- if (name[name.length - 1] === '*') {
2660
- return true;
2661
- }
2662
-
2663
- let i;
2664
- let len;
2665
-
2666
- for (i = 0, len = createDebug.skips.length; i < len; i++) {
2667
- if (createDebug.skips[i].test(name)) {
2668
- return false;
2669
- }
2670
- }
2671
-
2672
- for (i = 0, len = createDebug.names.length; i < len; i++) {
2673
- if (createDebug.names[i].test(name)) {
2674
- return true;
2675
- }
2676
- }
2677
-
2678
- return false;
2679
- }
2680
-
2681
- /**
2682
- * Convert regexp to namespace
2683
- *
2684
- * @param {RegExp} regxep
2685
- * @return {String} namespace
2686
- * @api private
2687
- */
2688
- function toNamespace(regexp) {
2689
- return regexp.toString()
2690
- .substring(2, regexp.toString().length - 2)
2691
- .replace(/\.\*\?$/, '*');
2692
- }
2693
-
2694
- /**
2695
- * Coerce `val`.
2696
- *
2697
- * @param {Mixed} val
2698
- * @return {Mixed}
2699
- * @api private
2700
- */
2701
- function coerce(val) {
2702
- if (val instanceof Error) {
2703
- return val.stack || val.message;
2704
- }
2705
- return val;
2706
- }
2707
-
2708
- /**
2709
- * XXX DO NOT USE. This is a temporary stub function.
2710
- * XXX It WILL be removed in the next major release.
2711
- */
2712
- function destroy() {
2713
- console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
2714
- }
2715
-
2716
- createDebug.enable(createDebug.load());
2717
-
2718
- return createDebug;
2719
- }
2720
-
2721
- var common = setup;
2722
-
2723
- /* eslint-env browser */
2724
-
2725
- (function (module, exports) {
2726
- /**
2727
- * This is the web browser implementation of `debug()`.
2728
- */
2729
-
2730
- exports.formatArgs = formatArgs;
2731
- exports.save = save;
2732
- exports.load = load;
2733
- exports.useColors = useColors;
2734
- exports.storage = localstorage();
2735
- exports.destroy = (() => {
2736
- let warned = false;
2737
-
2738
- return () => {
2739
- if (!warned) {
2740
- warned = true;
2741
- console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
2742
- }
2743
- };
2744
- })();
2745
-
2746
- /**
2747
- * Colors.
2748
- */
2749
-
2750
- exports.colors = [
2751
- '#0000CC',
2752
- '#0000FF',
2753
- '#0033CC',
2754
- '#0033FF',
2755
- '#0066CC',
2756
- '#0066FF',
2757
- '#0099CC',
2758
- '#0099FF',
2759
- '#00CC00',
2760
- '#00CC33',
2761
- '#00CC66',
2762
- '#00CC99',
2763
- '#00CCCC',
2764
- '#00CCFF',
2765
- '#3300CC',
2766
- '#3300FF',
2767
- '#3333CC',
2768
- '#3333FF',
2769
- '#3366CC',
2770
- '#3366FF',
2771
- '#3399CC',
2772
- '#3399FF',
2773
- '#33CC00',
2774
- '#33CC33',
2775
- '#33CC66',
2776
- '#33CC99',
2777
- '#33CCCC',
2778
- '#33CCFF',
2779
- '#6600CC',
2780
- '#6600FF',
2781
- '#6633CC',
2782
- '#6633FF',
2783
- '#66CC00',
2784
- '#66CC33',
2785
- '#9900CC',
2786
- '#9900FF',
2787
- '#9933CC',
2788
- '#9933FF',
2789
- '#99CC00',
2790
- '#99CC33',
2791
- '#CC0000',
2792
- '#CC0033',
2793
- '#CC0066',
2794
- '#CC0099',
2795
- '#CC00CC',
2796
- '#CC00FF',
2797
- '#CC3300',
2798
- '#CC3333',
2799
- '#CC3366',
2800
- '#CC3399',
2801
- '#CC33CC',
2802
- '#CC33FF',
2803
- '#CC6600',
2804
- '#CC6633',
2805
- '#CC9900',
2806
- '#CC9933',
2807
- '#CCCC00',
2808
- '#CCCC33',
2809
- '#FF0000',
2810
- '#FF0033',
2811
- '#FF0066',
2812
- '#FF0099',
2813
- '#FF00CC',
2814
- '#FF00FF',
2815
- '#FF3300',
2816
- '#FF3333',
2817
- '#FF3366',
2818
- '#FF3399',
2819
- '#FF33CC',
2820
- '#FF33FF',
2821
- '#FF6600',
2822
- '#FF6633',
2823
- '#FF9900',
2824
- '#FF9933',
2825
- '#FFCC00',
2826
- '#FFCC33'
2827
- ];
2828
-
2829
- /**
2830
- * Currently only WebKit-based Web Inspectors, Firefox >= v31,
2831
- * and the Firebug extension (any Firefox version) are known
2832
- * to support "%c" CSS customizations.
2833
- *
2834
- * TODO: add a `localStorage` variable to explicitly enable/disable colors
2835
- */
2836
-
2837
- // eslint-disable-next-line complexity
2838
- function useColors() {
2839
- // NB: In an Electron preload script, document will be defined but not fully
2840
- // initialized. Since we know we're in Chrome, we'll just detect this case
2841
- // explicitly
2842
- if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
2843
- return true;
2844
- }
2845
-
2846
- // Internet Explorer and Edge do not support colors.
2847
- if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
2848
- return false;
2849
- }
2850
-
2851
- // Is webkit? http://stackoverflow.com/a/16459606/376773
2852
- // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
2853
- return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
2854
- // Is firebug? http://stackoverflow.com/a/398120/376773
2855
- (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
2856
- // Is firefox >= v31?
2857
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
2858
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
2859
- // Double check webkit in userAgent just in case we are in a worker
2860
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
2861
- }
2862
-
2863
- /**
2864
- * Colorize log arguments if enabled.
2865
- *
2866
- * @api public
2867
- */
2868
-
2869
- function formatArgs(args) {
2870
- args[0] = (this.useColors ? '%c' : '') +
2871
- this.namespace +
2872
- (this.useColors ? ' %c' : ' ') +
2873
- args[0] +
2874
- (this.useColors ? '%c ' : ' ') +
2875
- '+' + module.exports.humanize(this.diff);
2876
-
2877
- if (!this.useColors) {
2878
- return;
2879
- }
2880
-
2881
- const c = 'color: ' + this.color;
2882
- args.splice(1, 0, c, 'color: inherit');
2883
-
2884
- // The final "%c" is somewhat tricky, because there could be other
2885
- // arguments passed either before or after the %c, so we need to
2886
- // figure out the correct index to insert the CSS into
2887
- let index = 0;
2888
- let lastC = 0;
2889
- args[0].replace(/%[a-zA-Z%]/g, match => {
2890
- if (match === '%%') {
2891
- return;
2892
- }
2893
- index++;
2894
- if (match === '%c') {
2895
- // We only are interested in the *last* %c
2896
- // (the user may have provided their own)
2897
- lastC = index;
2898
- }
2899
- });
2900
-
2901
- args.splice(lastC, 0, c);
2902
- }
2903
-
2904
- /**
2905
- * Invokes `console.debug()` when available.
2906
- * No-op when `console.debug` is not a "function".
2907
- * If `console.debug` is not available, falls back
2908
- * to `console.log`.
2909
- *
2910
- * @api public
2911
- */
2912
- exports.log = console.debug || console.log || (() => {});
2913
-
2914
- /**
2915
- * Save `namespaces`.
2916
- *
2917
- * @param {String} namespaces
2918
- * @api private
2919
- */
2920
- function save(namespaces) {
2921
- try {
2922
- if (namespaces) {
2923
- exports.storage.setItem('debug', namespaces);
2924
- } else {
2925
- exports.storage.removeItem('debug');
2926
- }
2927
- } catch (error) {
2928
- // Swallow
2929
- // XXX (@Qix-) should we be logging these?
2930
- }
2931
- }
2932
-
2933
- /**
2934
- * Load `namespaces`.
2935
- *
2936
- * @return {String} returns the previously persisted debug modes
2937
- * @api private
2938
- */
2939
- function load() {
2940
- let r;
2941
- try {
2942
- r = exports.storage.getItem('debug');
2943
- } catch (error) {
2944
- // Swallow
2945
- // XXX (@Qix-) should we be logging these?
2946
- }
2947
-
2948
- // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
2949
- if (!r && typeof process !== 'undefined' && 'env' in process) {
2950
- r = process.env.DEBUG;
2951
- }
2952
-
2953
- return r;
2954
- }
2955
-
2956
- /**
2957
- * Localstorage attempts to return the localstorage.
2958
- *
2959
- * This is necessary because safari throws
2960
- * when a user disables cookies/localstorage
2961
- * and you attempt to access it.
2962
- *
2963
- * @return {LocalStorage}
2964
- * @api private
2965
- */
2966
-
2967
- function localstorage() {
2968
- try {
2969
- // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
2970
- // The Browser also has localStorage in the global context.
2971
- return localStorage;
2972
- } catch (error) {
2973
- // Swallow
2974
- // XXX (@Qix-) should we be logging these?
2975
- }
2976
- }
2977
-
2978
- module.exports = common(exports);
2979
-
2980
- const {formatters} = module.exports;
2981
-
2982
- /**
2983
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
2984
- */
2985
-
2986
- formatters.j = function (v) {
2987
- try {
2988
- return JSON.stringify(v);
2989
- } catch (error) {
2990
- return '[UnexpectedJSONParseError]: ' + error.message;
2991
- }
2992
- };
2993
- }(browser, browser.exports));
2994
-
2995
- var Debug = browser.exports;
2996
-
2997
- var log = Debug('ninetailed:experience-sdk');
2998
2316
  var enable = function enable() {
2999
- Debug.enable('ninetailed:experience-sdk');
2317
+ loglevel__namespace.enableAll();
3000
2318
  };
3001
2319
  var disable = function disable() {
3002
- return Debug.disable();
2320
+ loglevel__namespace.disableAll();
3003
2321
  };
2322
+ var Logger = loglevel__namespace.getLogger('ninetailed:experience.js');
2323
+ var log = Logger.log;
3004
2324
 
3005
2325
  var BASE_URL = 'https://api.ninetailed.co';
3006
2326
 
@@ -3497,7 +2817,8 @@
3497
2817
  var _this = this;
3498
2818
 
3499
2819
  var clientId = _a.clientId,
3500
- environment = _a.environment;
2820
+ environment = _a.environment,
2821
+ preview = _a.preview;
3501
2822
 
3502
2823
  var _c = _b === void 0 ? {} : _b,
3503
2824
  plugins = _c.plugins,
@@ -3523,6 +2844,15 @@
3523
2844
  });
3524
2845
  };
3525
2846
 
2847
+ this.trackExperience = function (payload) {
2848
+ return _this.track('nt_experience', payload, {
2849
+ plugins: {
2850
+ all: true,
2851
+ ninetailed: false
2852
+ }
2853
+ });
2854
+ };
2855
+
3526
2856
  this.identify = function (uid, traits, options) {
3527
2857
  return _this.instance.identify(uid, traits, _this.buildOptions(options));
3528
2858
  };
@@ -3573,7 +2903,8 @@
3573
2903
  url: url,
3574
2904
  profile: profile,
3575
2905
  locale: locale,
3576
- requestTimeout: requestTimeout
2906
+ requestTimeout: requestTimeout,
2907
+ preview: preview
3577
2908
  })], false)
3578
2909
  }); // put in private method
3579
2910
 
@@ -3715,6 +3046,8 @@
3715
3046
  };
3716
3047
  };
3717
3048
 
3049
+ var EXPERIENCE_TRAIT_PREFIX = 'nt_experiment_';
3050
+
3718
3051
  var selectBaselineWithVariants = function selectBaselineWithVariants(experience, baseline) {
3719
3052
  return experience.components.find(function (baselineWithVariants) {
3720
3053
  return baselineWithVariants.baseline.id === baseline.id;
@@ -3736,12 +3069,12 @@
3736
3069
  return variants.length > 0;
3737
3070
  };
3738
3071
 
3739
- var global$6 = global$F;
3072
+ var global$9 = global$I;
3740
3073
  var classof$2 = classof$6;
3741
3074
 
3742
- var String$1 = global$6.String;
3075
+ var String$1 = global$9.String;
3743
3076
 
3744
- var toString$4 = function (argument) {
3077
+ var toString$7 = function (argument) {
3745
3078
  if (classof$2(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
3746
3079
  return String$1(argument);
3747
3080
  };
@@ -3759,14 +3092,14 @@
3759
3092
  return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$1(it) == 'RegExp');
3760
3093
  };
3761
3094
 
3762
- var global$5 = global$F;
3763
- var isRegExp = isRegexp;
3095
+ var global$8 = global$I;
3096
+ var isRegExp$1 = isRegexp;
3764
3097
 
3765
- var TypeError$2 = global$5.TypeError;
3098
+ var TypeError$3 = global$8.TypeError;
3766
3099
 
3767
3100
  var notARegexp = function (it) {
3768
- if (isRegExp(it)) {
3769
- throw TypeError$2("The method doesn't accept regular expressions");
3101
+ if (isRegExp$1(it)) {
3102
+ throw TypeError$3("The method doesn't accept regular expressions");
3770
3103
  } return it;
3771
3104
  };
3772
3105
 
@@ -3786,19 +3119,19 @@
3786
3119
  } return false;
3787
3120
  };
3788
3121
 
3789
- var $$1 = _export;
3790
- var uncurryThis$5 = functionUncurryThis;
3122
+ var $$3 = _export;
3123
+ var uncurryThis$8 = functionUncurryThis;
3791
3124
  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
3792
- var toLength$1 = toLength$3;
3793
- var toString$3 = toString$4;
3125
+ var toLength$2 = toLength$4;
3126
+ var toString$6 = toString$7;
3794
3127
  var notARegExp = notARegexp;
3795
- var requireObjectCoercible$2 = requireObjectCoercible$5;
3128
+ var requireObjectCoercible$4 = requireObjectCoercible$7;
3796
3129
  var correctIsRegExpLogic = correctIsRegexpLogic;
3797
3130
 
3798
3131
  // eslint-disable-next-line es/no-string-prototype-startswith -- safe
3799
- var un$StartsWith = uncurryThis$5(''.startsWith);
3800
- var stringSlice$4 = uncurryThis$5(''.slice);
3801
- var min$1 = Math.min;
3132
+ var un$StartsWith = uncurryThis$8(''.startsWith);
3133
+ var stringSlice$5 = uncurryThis$8(''.slice);
3134
+ var min$2 = Math.min;
3802
3135
 
3803
3136
  var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
3804
3137
  // https://github.com/zloirock/core-js/pull/702
@@ -3809,24 +3142,24 @@
3809
3142
 
3810
3143
  // `String.prototype.startsWith` method
3811
3144
  // https://tc39.es/ecma262/#sec-string.prototype.startswith
3812
- $$1({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
3145
+ $$3({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
3813
3146
  startsWith: function startsWith(searchString /* , position = 0 */) {
3814
- var that = toString$3(requireObjectCoercible$2(this));
3147
+ var that = toString$6(requireObjectCoercible$4(this));
3815
3148
  notARegExp(searchString);
3816
- var index = toLength$1(min$1(arguments.length > 1 ? arguments[1] : undefined, that.length));
3817
- var search = toString$3(searchString);
3149
+ var index = toLength$2(min$2(arguments.length > 1 ? arguments[1] : undefined, that.length));
3150
+ var search = toString$6(searchString);
3818
3151
  return un$StartsWith
3819
3152
  ? un$StartsWith(that, search, index)
3820
- : stringSlice$4(that, index, index + search.length) === search;
3153
+ : stringSlice$5(that, index, index + search.length) === search;
3821
3154
  }
3822
3155
  });
3823
3156
 
3824
- var anObject$4 = anObject$d;
3157
+ var anObject$5 = anObject$e;
3825
3158
 
3826
3159
  // `RegExp.prototype.flags` getter implementation
3827
3160
  // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
3828
3161
  var regexpFlags$1 = function () {
3829
- var that = anObject$4(this);
3162
+ var that = anObject$5(this);
3830
3163
  var result = '';
3831
3164
  if (that.global) result += 'g';
3832
3165
  if (that.ignoreCase) result += 'i';
@@ -3837,13 +3170,13 @@
3837
3170
  return result;
3838
3171
  };
3839
3172
 
3840
- var fails$4 = fails$f;
3841
- var global$4 = global$F;
3173
+ var fails$7 = fails$i;
3174
+ var global$7 = global$I;
3842
3175
 
3843
3176
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
3844
- var $RegExp$2 = global$4.RegExp;
3177
+ var $RegExp$2 = global$7.RegExp;
3845
3178
 
3846
- var UNSUPPORTED_Y$1 = fails$4(function () {
3179
+ var UNSUPPORTED_Y$2 = fails$7(function () {
3847
3180
  var re = $RegExp$2('a', 'y');
3848
3181
  re.lastIndex = 2;
3849
3182
  return re.exec('abcd') != null;
@@ -3851,11 +3184,11 @@
3851
3184
 
3852
3185
  // UC Browser bug
3853
3186
  // https://github.com/zloirock/core-js/issues/1008
3854
- var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$4(function () {
3187
+ var MISSED_STICKY = UNSUPPORTED_Y$2 || fails$7(function () {
3855
3188
  return !$RegExp$2('a', 'y').sticky;
3856
3189
  });
3857
3190
 
3858
- var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$4(function () {
3191
+ var BROKEN_CARET = UNSUPPORTED_Y$2 || fails$7(function () {
3859
3192
  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
3860
3193
  var re = $RegExp$2('^r', 'gy');
3861
3194
  re.lastIndex = 2;
@@ -3865,15 +3198,15 @@
3865
3198
  var regexpStickyHelpers = {
3866
3199
  BROKEN_CARET: BROKEN_CARET,
3867
3200
  MISSED_STICKY: MISSED_STICKY,
3868
- UNSUPPORTED_Y: UNSUPPORTED_Y$1
3201
+ UNSUPPORTED_Y: UNSUPPORTED_Y$2
3869
3202
  };
3870
3203
 
3871
3204
  var objectDefineProperties = {};
3872
3205
 
3873
3206
  var DESCRIPTORS = descriptors;
3874
3207
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
3875
- var definePropertyModule = objectDefineProperty;
3876
- var anObject$3 = anObject$d;
3208
+ var definePropertyModule$1 = objectDefineProperty;
3209
+ var anObject$4 = anObject$e;
3877
3210
  var toIndexedObject = toIndexedObject$4;
3878
3211
  var objectKeys = objectKeys$2;
3879
3212
 
@@ -3881,19 +3214,19 @@
3881
3214
  // https://tc39.es/ecma262/#sec-object.defineproperties
3882
3215
  // eslint-disable-next-line es/no-object-defineproperties -- safe
3883
3216
  objectDefineProperties.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
3884
- anObject$3(O);
3217
+ anObject$4(O);
3885
3218
  var props = toIndexedObject(Properties);
3886
3219
  var keys = objectKeys(Properties);
3887
3220
  var length = keys.length;
3888
3221
  var index = 0;
3889
3222
  var key;
3890
- while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
3223
+ while (length > index) definePropertyModule$1.f(O, key = keys[index++], props[key]);
3891
3224
  return O;
3892
3225
  };
3893
3226
 
3894
3227
  /* global ActiveXObject -- old IE, WSH */
3895
3228
 
3896
- var anObject$2 = anObject$d;
3229
+ var anObject$3 = anObject$e;
3897
3230
  var definePropertiesModule = objectDefineProperties;
3898
3231
  var enumBugKeys = enumBugKeys$3;
3899
3232
  var hiddenKeys = hiddenKeys$4;
@@ -3966,7 +3299,7 @@
3966
3299
  var objectCreate = Object.create || function create(O, Properties) {
3967
3300
  var result;
3968
3301
  if (O !== null) {
3969
- EmptyConstructor[PROTOTYPE] = anObject$2(O);
3302
+ EmptyConstructor[PROTOTYPE] = anObject$3(O);
3970
3303
  result = new EmptyConstructor();
3971
3304
  EmptyConstructor[PROTOTYPE] = null;
3972
3305
  // add "__proto__" for Object.getPrototypeOf polyfill
@@ -3975,24 +3308,24 @@
3975
3308
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
3976
3309
  };
3977
3310
 
3978
- var fails$3 = fails$f;
3979
- var global$3 = global$F;
3311
+ var fails$6 = fails$i;
3312
+ var global$6 = global$I;
3980
3313
 
3981
3314
  // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
3982
- var $RegExp$1 = global$3.RegExp;
3315
+ var $RegExp$1 = global$6.RegExp;
3983
3316
 
3984
- var regexpUnsupportedDotAll = fails$3(function () {
3317
+ var regexpUnsupportedDotAll = fails$6(function () {
3985
3318
  var re = $RegExp$1('.', 's');
3986
3319
  return !(re.dotAll && re.exec('\n') && re.flags === 's');
3987
3320
  });
3988
3321
 
3989
- var fails$2 = fails$f;
3990
- var global$2 = global$F;
3322
+ var fails$5 = fails$i;
3323
+ var global$5 = global$I;
3991
3324
 
3992
3325
  // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
3993
- var $RegExp = global$2.RegExp;
3326
+ var $RegExp = global$5.RegExp;
3994
3327
 
3995
- var regexpUnsupportedNcg = fails$2(function () {
3328
+ var regexpUnsupportedNcg = fails$5(function () {
3996
3329
  var re = $RegExp('(?<a>b)', 'g');
3997
3330
  return re.exec('b').groups.a !== 'b' ||
3998
3331
  'b'.replace(re, '$<a>c') !== 'bc';
@@ -4000,11 +3333,11 @@
4000
3333
 
4001
3334
  /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
4002
3335
  /* eslint-disable regexp/no-useless-quantifier -- testing */
4003
- var call$2 = functionCall;
4004
- var uncurryThis$4 = functionUncurryThis;
4005
- var toString$2 = toString$4;
3336
+ var call$3 = functionCall;
3337
+ var uncurryThis$7 = functionUncurryThis;
3338
+ var toString$5 = toString$7;
4006
3339
  var regexpFlags = regexpFlags$1;
4007
- var stickyHelpers = regexpStickyHelpers;
3340
+ var stickyHelpers$1 = regexpStickyHelpers;
4008
3341
  var shared = shared$4.exports;
4009
3342
  var create = objectCreate;
4010
3343
  var getInternalState = internalState.get;
@@ -4014,55 +3347,55 @@
4014
3347
  var nativeReplace = shared('native-string-replace', String.prototype.replace);
4015
3348
  var nativeExec = RegExp.prototype.exec;
4016
3349
  var patchedExec = nativeExec;
4017
- var charAt$3 = uncurryThis$4(''.charAt);
4018
- var indexOf = uncurryThis$4(''.indexOf);
4019
- var replace$1 = uncurryThis$4(''.replace);
4020
- var stringSlice$3 = uncurryThis$4(''.slice);
3350
+ var charAt$3 = uncurryThis$7(''.charAt);
3351
+ var indexOf = uncurryThis$7(''.indexOf);
3352
+ var replace$2 = uncurryThis$7(''.replace);
3353
+ var stringSlice$4 = uncurryThis$7(''.slice);
4021
3354
 
4022
3355
  var UPDATES_LAST_INDEX_WRONG = (function () {
4023
3356
  var re1 = /a/;
4024
3357
  var re2 = /b*/g;
4025
- call$2(nativeExec, re1, 'a');
4026
- call$2(nativeExec, re2, 'a');
3358
+ call$3(nativeExec, re1, 'a');
3359
+ call$3(nativeExec, re2, 'a');
4027
3360
  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
4028
3361
  })();
4029
3362
 
4030
- var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
3363
+ var UNSUPPORTED_Y$1 = stickyHelpers$1.BROKEN_CARET;
4031
3364
 
4032
3365
  // nonparticipating capturing group, copied from es5-shim's String#split patch.
4033
3366
  var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
4034
3367
 
4035
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
3368
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1 || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
4036
3369
 
4037
3370
  if (PATCH) {
4038
3371
  patchedExec = function exec(string) {
4039
3372
  var re = this;
4040
3373
  var state = getInternalState(re);
4041
- var str = toString$2(string);
3374
+ var str = toString$5(string);
4042
3375
  var raw = state.raw;
4043
3376
  var result, reCopy, lastIndex, match, i, object, group;
4044
3377
 
4045
3378
  if (raw) {
4046
3379
  raw.lastIndex = re.lastIndex;
4047
- result = call$2(patchedExec, raw, str);
3380
+ result = call$3(patchedExec, raw, str);
4048
3381
  re.lastIndex = raw.lastIndex;
4049
3382
  return result;
4050
3383
  }
4051
3384
 
4052
3385
  var groups = state.groups;
4053
- var sticky = UNSUPPORTED_Y && re.sticky;
4054
- var flags = call$2(regexpFlags, re);
3386
+ var sticky = UNSUPPORTED_Y$1 && re.sticky;
3387
+ var flags = call$3(regexpFlags, re);
4055
3388
  var source = re.source;
4056
3389
  var charsAdded = 0;
4057
3390
  var strCopy = str;
4058
3391
 
4059
3392
  if (sticky) {
4060
- flags = replace$1(flags, 'y', '');
3393
+ flags = replace$2(flags, 'y', '');
4061
3394
  if (indexOf(flags, 'g') === -1) {
4062
3395
  flags += 'g';
4063
3396
  }
4064
3397
 
4065
- strCopy = stringSlice$3(str, re.lastIndex);
3398
+ strCopy = stringSlice$4(str, re.lastIndex);
4066
3399
  // Support anchored sticky behavior.
4067
3400
  if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$3(str, re.lastIndex - 1) !== '\n')) {
4068
3401
  source = '(?: ' + source + ')';
@@ -4079,12 +3412,12 @@
4079
3412
  }
4080
3413
  if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
4081
3414
 
4082
- match = call$2(nativeExec, sticky ? reCopy : re, strCopy);
3415
+ match = call$3(nativeExec, sticky ? reCopy : re, strCopy);
4083
3416
 
4084
3417
  if (sticky) {
4085
3418
  if (match) {
4086
- match.input = stringSlice$3(match.input, charsAdded);
4087
- match[0] = stringSlice$3(match[0], charsAdded);
3419
+ match.input = stringSlice$4(match.input, charsAdded);
3420
+ match[0] = stringSlice$4(match[0], charsAdded);
4088
3421
  match.index = re.lastIndex;
4089
3422
  re.lastIndex += match[0].length;
4090
3423
  } else re.lastIndex = 0;
@@ -4094,7 +3427,7 @@
4094
3427
  if (NPCG_INCLUDED && match && match.length > 1) {
4095
3428
  // Fix browsers whose `exec` methods don't consistently return `undefined`
4096
3429
  // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
4097
- call$2(nativeReplace, match[0], reCopy, function () {
3430
+ call$3(nativeReplace, match[0], reCopy, function () {
4098
3431
  for (i = 1; i < arguments.length - 2; i++) {
4099
3432
  if (arguments[i] === undefined) match[i] = undefined;
4100
3433
  }
@@ -4113,23 +3446,23 @@
4113
3446
  };
4114
3447
  }
4115
3448
 
4116
- var regexpExec$2 = patchedExec;
3449
+ var regexpExec$3 = patchedExec;
4117
3450
 
4118
- var $ = _export;
4119
- var exec = regexpExec$2;
3451
+ var $$2 = _export;
3452
+ var exec$2 = regexpExec$3;
4120
3453
 
4121
3454
  // `RegExp.prototype.exec` method
4122
3455
  // https://tc39.es/ecma262/#sec-regexp.prototype.exec
4123
- $({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
4124
- exec: exec
3456
+ $$2({ target: 'RegExp', proto: true, forced: /./.exec !== exec$2 }, {
3457
+ exec: exec$2
4125
3458
  });
4126
3459
 
4127
3460
  // TODO: Remove from `core-js@4` since it's moved to entry points
4128
3461
 
4129
- var uncurryThis$3 = functionUncurryThis;
3462
+ var uncurryThis$6 = functionUncurryThis;
4130
3463
  var redefine = redefine$4.exports;
4131
- var regexpExec$1 = regexpExec$2;
4132
- var fails$1 = fails$f;
3464
+ var regexpExec$2 = regexpExec$3;
3465
+ var fails$4 = fails$i;
4133
3466
  var wellKnownSymbol$1 = wellKnownSymbol$e;
4134
3467
  var createNonEnumerableProperty = createNonEnumerableProperty$4;
4135
3468
 
@@ -4139,14 +3472,14 @@
4139
3472
  var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
4140
3473
  var SYMBOL = wellKnownSymbol$1(KEY);
4141
3474
 
4142
- var DELEGATES_TO_SYMBOL = !fails$1(function () {
3475
+ var DELEGATES_TO_SYMBOL = !fails$4(function () {
4143
3476
  // String methods call symbol-named RegEp methods
4144
3477
  var O = {};
4145
3478
  O[SYMBOL] = function () { return 7; };
4146
3479
  return ''[KEY](O) != 7;
4147
3480
  });
4148
3481
 
4149
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$1(function () {
3482
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$4(function () {
4150
3483
  // Symbol-named RegExp methods call .exec
4151
3484
  var execCalled = false;
4152
3485
  var re = /a/;
@@ -4175,11 +3508,11 @@
4175
3508
  !DELEGATES_TO_EXEC ||
4176
3509
  FORCED
4177
3510
  ) {
4178
- var uncurriedNativeRegExpMethod = uncurryThis$3(/./[SYMBOL]);
3511
+ var uncurriedNativeRegExpMethod = uncurryThis$6(/./[SYMBOL]);
4179
3512
  var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
4180
- var uncurriedNativeMethod = uncurryThis$3(nativeMethod);
3513
+ var uncurriedNativeMethod = uncurryThis$6(nativeMethod);
4181
3514
  var $exec = regexp.exec;
4182
- if ($exec === regexpExec$1 || $exec === RegExpPrototype.exec) {
3515
+ if ($exec === regexpExec$2 || $exec === RegExpPrototype.exec) {
4183
3516
  if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
4184
3517
  // The native String method already delegates to @@method (this
4185
3518
  // polyfilled function), leasing to infinite recursion.
@@ -4198,18 +3531,18 @@
4198
3531
  if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);
4199
3532
  };
4200
3533
 
4201
- var uncurryThis$2 = functionUncurryThis;
3534
+ var uncurryThis$5 = functionUncurryThis;
4202
3535
  var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
4203
- var toString$1 = toString$4;
4204
- var requireObjectCoercible$1 = requireObjectCoercible$5;
3536
+ var toString$4 = toString$7;
3537
+ var requireObjectCoercible$3 = requireObjectCoercible$7;
4205
3538
 
4206
- var charAt$2 = uncurryThis$2(''.charAt);
4207
- var charCodeAt = uncurryThis$2(''.charCodeAt);
4208
- var stringSlice$2 = uncurryThis$2(''.slice);
3539
+ var charAt$2 = uncurryThis$5(''.charAt);
3540
+ var charCodeAt = uncurryThis$5(''.charCodeAt);
3541
+ var stringSlice$3 = uncurryThis$5(''.slice);
4209
3542
 
4210
- var createMethod = function (CONVERT_TO_STRING) {
3543
+ var createMethod$2 = function (CONVERT_TO_STRING) {
4211
3544
  return function ($this, pos) {
4212
- var S = toString$1(requireObjectCoercible$1($this));
3545
+ var S = toString$4(requireObjectCoercible$3($this));
4213
3546
  var position = toIntegerOrInfinity$1(pos);
4214
3547
  var size = S.length;
4215
3548
  var first, second;
@@ -4221,7 +3554,7 @@
4221
3554
  ? charAt$2(S, position)
4222
3555
  : first
4223
3556
  : CONVERT_TO_STRING
4224
- ? stringSlice$2(S, position, position + 2)
3557
+ ? stringSlice$3(S, position, position + 2)
4225
3558
  : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
4226
3559
  };
4227
3560
  };
@@ -4229,27 +3562,27 @@
4229
3562
  var stringMultibyte = {
4230
3563
  // `String.prototype.codePointAt` method
4231
3564
  // https://tc39.es/ecma262/#sec-string.prototype.codepointat
4232
- codeAt: createMethod(false),
3565
+ codeAt: createMethod$2(false),
4233
3566
  // `String.prototype.at` method
4234
3567
  // https://github.com/mathiasbynens/String.prototype.at
4235
- charAt: createMethod(true)
3568
+ charAt: createMethod$2(true)
4236
3569
  };
4237
3570
 
4238
3571
  var charAt$1 = stringMultibyte.charAt;
4239
3572
 
4240
3573
  // `AdvanceStringIndex` abstract operation
4241
3574
  // https://tc39.es/ecma262/#sec-advancestringindex
4242
- var advanceStringIndex$1 = function (S, index, unicode) {
3575
+ var advanceStringIndex$2 = function (S, index, unicode) {
4243
3576
  return index + (unicode ? charAt$1(S, index).length : 1);
4244
3577
  };
4245
3578
 
4246
- var uncurryThis$1 = functionUncurryThis;
4247
- var toObject = toObject$3;
3579
+ var uncurryThis$4 = functionUncurryThis;
3580
+ var toObject$1 = toObject$4;
4248
3581
 
4249
3582
  var floor = Math.floor;
4250
- var charAt = uncurryThis$1(''.charAt);
4251
- var replace = uncurryThis$1(''.replace);
4252
- var stringSlice$1 = uncurryThis$1(''.slice);
3583
+ var charAt = uncurryThis$4(''.charAt);
3584
+ var replace$1 = uncurryThis$4(''.replace);
3585
+ var stringSlice$2 = uncurryThis$4(''.slice);
4253
3586
  var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
4254
3587
  var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
4255
3588
 
@@ -4260,18 +3593,18 @@
4260
3593
  var m = captures.length;
4261
3594
  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
4262
3595
  if (namedCaptures !== undefined) {
4263
- namedCaptures = toObject(namedCaptures);
3596
+ namedCaptures = toObject$1(namedCaptures);
4264
3597
  symbols = SUBSTITUTION_SYMBOLS;
4265
3598
  }
4266
- return replace(replacement, symbols, function (match, ch) {
3599
+ return replace$1(replacement, symbols, function (match, ch) {
4267
3600
  var capture;
4268
3601
  switch (charAt(ch, 0)) {
4269
3602
  case '$': return '$';
4270
3603
  case '&': return matched;
4271
- case '`': return stringSlice$1(str, 0, position);
4272
- case "'": return stringSlice$1(str, tailPos);
3604
+ case '`': return stringSlice$2(str, 0, position);
3605
+ case "'": return stringSlice$2(str, tailPos);
4273
3606
  case '<':
4274
- capture = namedCaptures[stringSlice$1(ch, 1, -1)];
3607
+ capture = namedCaptures[stringSlice$2(ch, 1, -1)];
4275
3608
  break;
4276
3609
  default: // \d\d?
4277
3610
  var n = +ch;
@@ -4288,52 +3621,52 @@
4288
3621
  });
4289
3622
  };
4290
3623
 
4291
- var global$1 = global$F;
4292
- var call$1 = functionCall;
4293
- var anObject$1 = anObject$d;
3624
+ var global$4 = global$I;
3625
+ var call$2 = functionCall;
3626
+ var anObject$2 = anObject$e;
4294
3627
  var isCallable$1 = isCallable$g;
4295
3628
  var classof = classofRaw$1;
4296
- var regexpExec = regexpExec$2;
3629
+ var regexpExec$1 = regexpExec$3;
4297
3630
 
4298
- var TypeError$1 = global$1.TypeError;
3631
+ var TypeError$2 = global$4.TypeError;
4299
3632
 
4300
3633
  // `RegExpExec` abstract operation
4301
3634
  // https://tc39.es/ecma262/#sec-regexpexec
4302
3635
  var regexpExecAbstract = function (R, S) {
4303
3636
  var exec = R.exec;
4304
3637
  if (isCallable$1(exec)) {
4305
- var result = call$1(exec, R, S);
4306
- if (result !== null) anObject$1(result);
3638
+ var result = call$2(exec, R, S);
3639
+ if (result !== null) anObject$2(result);
4307
3640
  return result;
4308
3641
  }
4309
- if (classof(R) === 'RegExp') return call$1(regexpExec, R, S);
4310
- throw TypeError$1('RegExp#exec called on incompatible receiver');
3642
+ if (classof(R) === 'RegExp') return call$2(regexpExec$1, R, S);
3643
+ throw TypeError$2('RegExp#exec called on incompatible receiver');
4311
3644
  };
4312
3645
 
4313
- var apply = functionApply;
4314
- var call = functionCall;
4315
- var uncurryThis = functionUncurryThis;
4316
- var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
4317
- var fails = fails$f;
4318
- var anObject = anObject$d;
3646
+ var apply$1 = functionApply;
3647
+ var call$1 = functionCall;
3648
+ var uncurryThis$3 = functionUncurryThis;
3649
+ var fixRegExpWellKnownSymbolLogic$1 = fixRegexpWellKnownSymbolLogic;
3650
+ var fails$3 = fails$i;
3651
+ var anObject$1 = anObject$e;
4319
3652
  var isCallable = isCallable$g;
4320
3653
  var toIntegerOrInfinity = toIntegerOrInfinity$4;
4321
- var toLength = toLength$3;
4322
- var toString = toString$4;
4323
- var requireObjectCoercible = requireObjectCoercible$5;
4324
- var advanceStringIndex = advanceStringIndex$1;
4325
- var getMethod = getMethod$4;
3654
+ var toLength$1 = toLength$4;
3655
+ var toString$3 = toString$7;
3656
+ var requireObjectCoercible$2 = requireObjectCoercible$7;
3657
+ var advanceStringIndex$1 = advanceStringIndex$2;
3658
+ var getMethod$1 = getMethod$5;
4326
3659
  var getSubstitution = getSubstitution$1;
4327
3660
  var regExpExec = regexpExecAbstract;
4328
3661
  var wellKnownSymbol = wellKnownSymbol$e;
4329
3662
 
4330
3663
  var REPLACE = wellKnownSymbol('replace');
4331
- var max = Math.max;
4332
- var min = Math.min;
4333
- var concat = uncurryThis([].concat);
4334
- var push = uncurryThis([].push);
4335
- var stringIndexOf = uncurryThis(''.indexOf);
4336
- var stringSlice = uncurryThis(''.slice);
3664
+ var max$1 = Math.max;
3665
+ var min$1 = Math.min;
3666
+ var concat = uncurryThis$3([].concat);
3667
+ var push$1 = uncurryThis$3([].push);
3668
+ var stringIndexOf = uncurryThis$3(''.indexOf);
3669
+ var stringSlice$1 = uncurryThis$3(''.slice);
4337
3670
 
4338
3671
  var maybeToString = function (it) {
4339
3672
  return it === undefined ? it : String(it);
@@ -4354,7 +3687,7 @@
4354
3687
  return false;
4355
3688
  })();
4356
3689
 
4357
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
3690
+ var REPLACE_SUPPORTS_NAMED_GROUPS = !fails$3(function () {
4358
3691
  var re = /./;
4359
3692
  re.exec = function () {
4360
3693
  var result = [];
@@ -4366,24 +3699,24 @@
4366
3699
  });
4367
3700
 
4368
3701
  // @@replace logic
4369
- fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {
3702
+ fixRegExpWellKnownSymbolLogic$1('replace', function (_, nativeReplace, maybeCallNative) {
4370
3703
  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
4371
3704
 
4372
3705
  return [
4373
3706
  // `String.prototype.replace` method
4374
3707
  // https://tc39.es/ecma262/#sec-string.prototype.replace
4375
3708
  function replace(searchValue, replaceValue) {
4376
- var O = requireObjectCoercible(this);
4377
- var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);
3709
+ var O = requireObjectCoercible$2(this);
3710
+ var replacer = searchValue == undefined ? undefined : getMethod$1(searchValue, REPLACE);
4378
3711
  return replacer
4379
- ? call(replacer, searchValue, O, replaceValue)
4380
- : call(nativeReplace, toString(O), searchValue, replaceValue);
3712
+ ? call$1(replacer, searchValue, O, replaceValue)
3713
+ : call$1(nativeReplace, toString$3(O), searchValue, replaceValue);
4381
3714
  },
4382
3715
  // `RegExp.prototype[@@replace]` method
4383
3716
  // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
4384
3717
  function (string, replaceValue) {
4385
- var rx = anObject(this);
4386
- var S = toString(string);
3718
+ var rx = anObject$1(this);
3719
+ var S = toString$3(string);
4387
3720
 
4388
3721
  if (
4389
3722
  typeof replaceValue == 'string' &&
@@ -4395,7 +3728,7 @@
4395
3728
  }
4396
3729
 
4397
3730
  var functionalReplace = isCallable(replaceValue);
4398
- if (!functionalReplace) replaceValue = toString(replaceValue);
3731
+ if (!functionalReplace) replaceValue = toString$3(replaceValue);
4399
3732
 
4400
3733
  var global = rx.global;
4401
3734
  if (global) {
@@ -4407,11 +3740,11 @@
4407
3740
  var result = regExpExec(rx, S);
4408
3741
  if (result === null) break;
4409
3742
 
4410
- push(results, result);
3743
+ push$1(results, result);
4411
3744
  if (!global) break;
4412
3745
 
4413
- var matchStr = toString(result[0]);
4414
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
3746
+ var matchStr = toString$3(result[0]);
3747
+ if (matchStr === '') rx.lastIndex = advanceStringIndex$1(S, toLength$1(rx.lastIndex), fullUnicode);
4415
3748
  }
4416
3749
 
4417
3750
  var accumulatedResult = '';
@@ -4419,35 +3752,33 @@
4419
3752
  for (var i = 0; i < results.length; i++) {
4420
3753
  result = results[i];
4421
3754
 
4422
- var matched = toString(result[0]);
4423
- var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);
3755
+ var matched = toString$3(result[0]);
3756
+ var position = max$1(min$1(toIntegerOrInfinity(result.index), S.length), 0);
4424
3757
  var captures = [];
4425
3758
  // NOTE: This is equivalent to
4426
3759
  // captures = result.slice(1).map(maybeToString)
4427
3760
  // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
4428
3761
  // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
4429
3762
  // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
4430
- for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));
3763
+ for (var j = 1; j < result.length; j++) push$1(captures, maybeToString(result[j]));
4431
3764
  var namedCaptures = result.groups;
4432
3765
  if (functionalReplace) {
4433
3766
  var replacerArgs = concat([matched], captures, position, S);
4434
- if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);
4435
- var replacement = toString(apply(replaceValue, undefined, replacerArgs));
3767
+ if (namedCaptures !== undefined) push$1(replacerArgs, namedCaptures);
3768
+ var replacement = toString$3(apply$1(replaceValue, undefined, replacerArgs));
4436
3769
  } else {
4437
3770
  replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
4438
3771
  }
4439
3772
  if (position >= nextSourcePosition) {
4440
- accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;
3773
+ accumulatedResult += stringSlice$1(S, nextSourcePosition, position) + replacement;
4441
3774
  nextSourcePosition = position + matched.length;
4442
3775
  }
4443
3776
  }
4444
- return accumulatedResult + stringSlice(S, nextSourcePosition);
3777
+ return accumulatedResult + stringSlice$1(S, nextSourcePosition);
4445
3778
  }
4446
3779
  ];
4447
3780
  }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
4448
3781
 
4449
- var EXPERIENCE_TRAIT_PREFIX = 'nt_experiment_';
4450
-
4451
3782
  var selectActiveExperiments = function selectActiveExperiments(experiments, profile) {
4452
3783
  var experimentTraits = pickBy__default["default"](profile.traits, function (value, key) {
4453
3784
  return key.startsWith(EXPERIENCE_TRAIT_PREFIX) && value === true;
@@ -4463,12 +3794,12 @@
4463
3794
  };
4464
3795
 
4465
3796
  /**
4466
- * We can use any personalization as eglible experience
3797
+ * We can use any personalization as eligible experience
4467
3798
  * When going for an experiment we can only select a active experiment when 1 or more experiments are active
4468
3799
  * If the profile is not in any active experiments, we can select any expermiment
4469
3800
  */
4470
3801
 
4471
- var selectEglibleExperiences = function selectEglibleExperiences(_a) {
3802
+ var selectEligibleExperiences = function selectEligibleExperiences(_a) {
4472
3803
  var experiences = _a.experiences,
4473
3804
  activeExperiments = _a.activeExperiments;
4474
3805
  return experiences.filter(function (experience) {
@@ -4498,32 +3829,54 @@
4498
3829
  return getRandom("distribution-".concat(experience.id, "-").concat(profile.id));
4499
3830
  };
4500
3831
 
4501
- var getTrafficAllocation = function getTrafficAllocation(experience) {
4502
- if (experience.type === 'nt_personalization') {
4503
- return 1 - experience.trafficAllocation;
4504
- }
4505
-
4506
- return experience.trafficAllocation;
3832
+ var isExperienceMatch = function isExperienceMatch(_a) {
3833
+ var experience = _a.experience,
3834
+ activeExperiments = _a.activeExperiments,
3835
+ profile = _a.profile;
3836
+ var trafficRandom = getTrafficRandom(profile, experience);
3837
+ log("The traffic random factor for experience ".concat(experience.id, " is ").concat(trafficRandom, ". It's traffic allocation is set to ").concat(experience.trafficAllocation, "."));
3838
+ var isInTrafficRange = experience.trafficAllocation > trafficRandom;
3839
+ var matchesAudience = !experience.audience || includes__default["default"](profile.audiences, experience.audience.id);
3840
+ var hasActiveExperiment = !!find__default["default"](activeExperiments, {
3841
+ id: experience.id
3842
+ });
3843
+ log("Is the profile in traffic allocation range? ".concat(isInTrafficRange ? 'yes' : 'no', ".\n\n Does the profile match the audience of the experience? ").concat(matchesAudience ? 'yes' : 'no', ".\n\n Is there an active experiment for this profile? ").concat(hasActiveExperiment ? 'yes' : 'no', "."));
3844
+ return isInTrafficRange && (matchesAudience || // if the expriment is active already then it's selectible without further contraints to be fullfilled
3845
+ hasActiveExperiment);
4507
3846
  };
4508
3847
 
4509
3848
  var selectExperience = function selectExperience(_a) {
4510
3849
  var experiences = _a.experiences,
4511
3850
  activeExperiments = _a.activeExperiments,
4512
3851
  profile = _a.profile;
4513
- var eglibleExperiences = selectEglibleExperiences({
3852
+ var eligibleExperiences = selectEligibleExperiences({
4514
3853
  experiences: experiences,
4515
3854
  activeExperiments: activeExperiments
4516
3855
  });
4517
- var selectedExperience = eglibleExperiences.find(function (experience) {
4518
- var trafficRandom = getTrafficRandom(profile, experience);
4519
- return getTrafficAllocation(experience) > trafficRandom && (includes__default["default"](profile.audiences, experience.audience.id) || // if the expriment is active already then it's selectible without further contraints to be fullfilled
4520
- find__default["default"](activeExperiments, {
4521
- id: experience.id
4522
- }));
3856
+ var selectedExperience = eligibleExperiences.find(function (experience) {
3857
+ return isExperienceMatch({
3858
+ experience: experience,
3859
+ activeExperiments: activeExperiments,
3860
+ profile: profile
3861
+ });
4523
3862
  });
4524
3863
  return selectedExperience;
4525
3864
  };
4526
3865
 
3866
+ var selectDistribution = function selectDistribution(_a) {
3867
+ var experience = _a.experience,
3868
+ profile = _a.profile;
3869
+ var distributionRandom = getDistributionRandom(profile, experience);
3870
+ log("The distribution random factor for experience ".concat(experience.id, " is ").concat(distributionRandom, ". It's distribution is set to ").concat(JSON.stringify(experience.distribution, null, 2), "."));
3871
+ var distribution = find__default["default"](experience.distribution, function (_a) {
3872
+ var start = _a.start,
3873
+ end = _a.end;
3874
+ return distributionRandom >= start && distributionRandom <= end;
3875
+ } // this overlaps on one value for each boundary but we just find the first match
3876
+ );
3877
+ return distribution;
3878
+ };
3879
+
4527
3880
  var selectVariant = function selectVariant(_a) {
4528
3881
  var baseline = _a.baseline,
4529
3882
  experience = _a.experience,
@@ -4534,17 +3887,9 @@
4534
3887
  return null;
4535
3888
  }
4536
3889
 
4537
- if (experience.type === 'nt_personalization') {
4538
- // Personalization Expriences can have only one variant.
4539
- return variants[0];
4540
- }
4541
-
4542
- var distributionRandom = getDistributionRandom(profile, experience); // Experiment
4543
-
4544
- var distribution = find__default["default"](experience.distribution, function (_a) {
4545
- var start = _a.start,
4546
- end = _a.end;
4547
- return distributionRandom > start && distributionRandom < end;
3890
+ var distribution = selectDistribution({
3891
+ experience: experience,
3892
+ profile: profile
4548
3893
  });
4549
3894
 
4550
3895
  if (!distribution) {
@@ -4574,12 +3919,368 @@
4574
3919
  return variant;
4575
3920
  };
4576
3921
 
3922
+ var global$3 = global$I;
3923
+ var aCallable = aCallable$6;
3924
+ var toObject = toObject$4;
3925
+ var IndexedObject = indexedObject;
3926
+ var lengthOfArrayLike$1 = lengthOfArrayLike$4;
3927
+
3928
+ var TypeError$1 = global$3.TypeError;
3929
+
3930
+ // `Array.prototype.{ reduce, reduceRight }` methods implementation
3931
+ var createMethod$1 = function (IS_RIGHT) {
3932
+ return function (that, callbackfn, argumentsLength, memo) {
3933
+ aCallable(callbackfn);
3934
+ var O = toObject(that);
3935
+ var self = IndexedObject(O);
3936
+ var length = lengthOfArrayLike$1(O);
3937
+ var index = IS_RIGHT ? length - 1 : 0;
3938
+ var i = IS_RIGHT ? -1 : 1;
3939
+ if (argumentsLength < 2) while (true) {
3940
+ if (index in self) {
3941
+ memo = self[index];
3942
+ index += i;
3943
+ break;
3944
+ }
3945
+ index += i;
3946
+ if (IS_RIGHT ? index < 0 : length <= index) {
3947
+ throw TypeError$1('Reduce of empty array with no initial value');
3948
+ }
3949
+ }
3950
+ for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
3951
+ memo = callbackfn(memo, self[index], index, O);
3952
+ }
3953
+ return memo;
3954
+ };
3955
+ };
3956
+
3957
+ var arrayReduce = {
3958
+ // `Array.prototype.reduce` method
3959
+ // https://tc39.es/ecma262/#sec-array.prototype.reduce
3960
+ left: createMethod$1(false),
3961
+ // `Array.prototype.reduceRight` method
3962
+ // https://tc39.es/ecma262/#sec-array.prototype.reduceright
3963
+ right: createMethod$1(true)
3964
+ };
3965
+
3966
+ var fails$2 = fails$i;
3967
+
3968
+ var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
3969
+ var method = [][METHOD_NAME];
3970
+ return !!method && fails$2(function () {
3971
+ // eslint-disable-next-line no-useless-call -- required for testing
3972
+ method.call(null, argument || function () { return 1; }, 1);
3973
+ });
3974
+ };
3975
+
3976
+ var $$1 = _export;
3977
+ var $reduce = arrayReduce.left;
3978
+ var arrayMethodIsStrict = arrayMethodIsStrict$1;
3979
+ var CHROME_VERSION = engineV8Version;
3980
+ var IS_NODE = engineIsNode;
3981
+
3982
+ var STRICT_METHOD = arrayMethodIsStrict('reduce');
3983
+ // Chrome 80-82 has a critical bug
3984
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
3985
+ var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
3986
+
3987
+ // `Array.prototype.reduce` method
3988
+ // https://tc39.es/ecma262/#sec-array.prototype.reduce
3989
+ $$1({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
3990
+ reduce: function reduce(callbackfn /* , initialValue */) {
3991
+ var length = arguments.length;
3992
+ return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
3993
+ }
3994
+ });
3995
+
3996
+ var toPropertyKey = toPropertyKey$3;
3997
+ var definePropertyModule = objectDefineProperty;
3998
+ var createPropertyDescriptor = createPropertyDescriptor$3;
3999
+
4000
+ var createProperty$1 = function (object, key, value) {
4001
+ var propertyKey = toPropertyKey(key);
4002
+ if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
4003
+ else object[propertyKey] = value;
4004
+ };
4005
+
4006
+ var global$2 = global$I;
4007
+ var toAbsoluteIndex = toAbsoluteIndex$2;
4008
+ var lengthOfArrayLike = lengthOfArrayLike$4;
4009
+ var createProperty = createProperty$1;
4010
+
4011
+ var Array$1 = global$2.Array;
4012
+ var max = Math.max;
4013
+
4014
+ var arraySliceSimple = function (O, start, end) {
4015
+ var length = lengthOfArrayLike(O);
4016
+ var k = toAbsoluteIndex(start, length);
4017
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
4018
+ var result = Array$1(max(fin - k, 0));
4019
+ for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
4020
+ result.length = n;
4021
+ return result;
4022
+ };
4023
+
4024
+ var apply = functionApply;
4025
+ var call = functionCall;
4026
+ var uncurryThis$2 = functionUncurryThis;
4027
+ var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
4028
+ var isRegExp = isRegexp;
4029
+ var anObject = anObject$e;
4030
+ var requireObjectCoercible$1 = requireObjectCoercible$7;
4031
+ var speciesConstructor = speciesConstructor$2;
4032
+ var advanceStringIndex = advanceStringIndex$2;
4033
+ var toLength = toLength$4;
4034
+ var toString$2 = toString$7;
4035
+ var getMethod = getMethod$5;
4036
+ var arraySlice = arraySliceSimple;
4037
+ var callRegExpExec = regexpExecAbstract;
4038
+ var regexpExec = regexpExec$3;
4039
+ var stickyHelpers = regexpStickyHelpers;
4040
+ var fails$1 = fails$i;
4041
+
4042
+ var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
4043
+ var MAX_UINT32 = 0xFFFFFFFF;
4044
+ var min = Math.min;
4045
+ var $push = [].push;
4046
+ var exec$1 = uncurryThis$2(/./.exec);
4047
+ var push = uncurryThis$2($push);
4048
+ var stringSlice = uncurryThis$2(''.slice);
4049
+
4050
+ // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
4051
+ // Weex JS has frozen built-in prototypes, so use try / catch wrapper
4052
+ var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails$1(function () {
4053
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
4054
+ var re = /(?:)/;
4055
+ var originalExec = re.exec;
4056
+ re.exec = function () { return originalExec.apply(this, arguments); };
4057
+ var result = 'ab'.split(re);
4058
+ return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
4059
+ });
4060
+
4061
+ // @@split logic
4062
+ fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {
4063
+ var internalSplit;
4064
+ if (
4065
+ 'abbc'.split(/(b)*/)[1] == 'c' ||
4066
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
4067
+ 'test'.split(/(?:)/, -1).length != 4 ||
4068
+ 'ab'.split(/(?:ab)*/).length != 2 ||
4069
+ '.'.split(/(.?)(.?)/).length != 4 ||
4070
+ // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing
4071
+ '.'.split(/()()/).length > 1 ||
4072
+ ''.split(/.?/).length
4073
+ ) {
4074
+ // based on es5-shim implementation, need to rework it
4075
+ internalSplit = function (separator, limit) {
4076
+ var string = toString$2(requireObjectCoercible$1(this));
4077
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
4078
+ if (lim === 0) return [];
4079
+ if (separator === undefined) return [string];
4080
+ // If `separator` is not a regex, use native split
4081
+ if (!isRegExp(separator)) {
4082
+ return call(nativeSplit, string, separator, lim);
4083
+ }
4084
+ var output = [];
4085
+ var flags = (separator.ignoreCase ? 'i' : '') +
4086
+ (separator.multiline ? 'm' : '') +
4087
+ (separator.unicode ? 'u' : '') +
4088
+ (separator.sticky ? 'y' : '');
4089
+ var lastLastIndex = 0;
4090
+ // Make `global` and avoid `lastIndex` issues by working with a copy
4091
+ var separatorCopy = new RegExp(separator.source, flags + 'g');
4092
+ var match, lastIndex, lastLength;
4093
+ while (match = call(regexpExec, separatorCopy, string)) {
4094
+ lastIndex = separatorCopy.lastIndex;
4095
+ if (lastIndex > lastLastIndex) {
4096
+ push(output, stringSlice(string, lastLastIndex, match.index));
4097
+ if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));
4098
+ lastLength = match[0].length;
4099
+ lastLastIndex = lastIndex;
4100
+ if (output.length >= lim) break;
4101
+ }
4102
+ if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
4103
+ }
4104
+ if (lastLastIndex === string.length) {
4105
+ if (lastLength || !exec$1(separatorCopy, '')) push(output, '');
4106
+ } else push(output, stringSlice(string, lastLastIndex));
4107
+ return output.length > lim ? arraySlice(output, 0, lim) : output;
4108
+ };
4109
+ // Chakra, V8
4110
+ } else if ('0'.split(undefined, 0).length) {
4111
+ internalSplit = function (separator, limit) {
4112
+ return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);
4113
+ };
4114
+ } else internalSplit = nativeSplit;
4115
+
4116
+ return [
4117
+ // `String.prototype.split` method
4118
+ // https://tc39.es/ecma262/#sec-string.prototype.split
4119
+ function split(separator, limit) {
4120
+ var O = requireObjectCoercible$1(this);
4121
+ var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);
4122
+ return splitter
4123
+ ? call(splitter, separator, O, limit)
4124
+ : call(internalSplit, toString$2(O), separator, limit);
4125
+ },
4126
+ // `RegExp.prototype[@@split]` method
4127
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
4128
+ //
4129
+ // NOTE: This cannot be properly polyfilled in engines that don't support
4130
+ // the 'y' flag.
4131
+ function (string, limit) {
4132
+ var rx = anObject(this);
4133
+ var S = toString$2(string);
4134
+ var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);
4135
+
4136
+ if (res.done) return res.value;
4137
+
4138
+ var C = speciesConstructor(rx, RegExp);
4139
+
4140
+ var unicodeMatching = rx.unicode;
4141
+ var flags = (rx.ignoreCase ? 'i' : '') +
4142
+ (rx.multiline ? 'm' : '') +
4143
+ (rx.unicode ? 'u' : '') +
4144
+ (UNSUPPORTED_Y ? 'g' : 'y');
4145
+
4146
+ // ^(? + rx + ) is needed, in combination with some S slicing, to
4147
+ // simulate the 'y' flag.
4148
+ var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);
4149
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
4150
+ if (lim === 0) return [];
4151
+ if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
4152
+ var p = 0;
4153
+ var q = 0;
4154
+ var A = [];
4155
+ while (q < S.length) {
4156
+ splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;
4157
+ var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);
4158
+ var e;
4159
+ if (
4160
+ z === null ||
4161
+ (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p
4162
+ ) {
4163
+ q = advanceStringIndex(S, q, unicodeMatching);
4164
+ } else {
4165
+ push(A, stringSlice(S, p, q));
4166
+ if (A.length === lim) return A;
4167
+ for (var i = 1; i <= z.length - 1; i++) {
4168
+ push(A, z[i]);
4169
+ if (A.length === lim) return A;
4170
+ }
4171
+ q = p = e;
4172
+ }
4173
+ }
4174
+ push(A, stringSlice(S, p));
4175
+ return A;
4176
+ }
4177
+ ];
4178
+ }, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);
4179
+
4180
+ // a string of all valid unicode whitespaces
4181
+ var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
4182
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
4183
+
4184
+ var uncurryThis$1 = functionUncurryThis;
4185
+ var requireObjectCoercible = requireObjectCoercible$7;
4186
+ var toString$1 = toString$7;
4187
+ var whitespaces$1 = whitespaces$2;
4188
+
4189
+ var replace = uncurryThis$1(''.replace);
4190
+ var whitespace = '[' + whitespaces$1 + ']';
4191
+ var ltrim = RegExp('^' + whitespace + whitespace + '*');
4192
+ var rtrim = RegExp(whitespace + whitespace + '*$');
4193
+
4194
+ // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
4195
+ var createMethod = function (TYPE) {
4196
+ return function ($this) {
4197
+ var string = toString$1(requireObjectCoercible($this));
4198
+ if (TYPE & 1) string = replace(string, ltrim, '');
4199
+ if (TYPE & 2) string = replace(string, rtrim, '');
4200
+ return string;
4201
+ };
4202
+ };
4203
+
4204
+ var stringTrim = {
4205
+ // `String.prototype.{ trimLeft, trimStart }` methods
4206
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
4207
+ start: createMethod(1),
4208
+ // `String.prototype.{ trimRight, trimEnd }` methods
4209
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
4210
+ end: createMethod(2),
4211
+ // `String.prototype.trim` method
4212
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
4213
+ trim: createMethod(3)
4214
+ };
4215
+
4216
+ var global$1 = global$I;
4217
+ var fails = fails$i;
4218
+ var uncurryThis = functionUncurryThis;
4219
+ var toString = toString$7;
4220
+ var trim = stringTrim.trim;
4221
+ var whitespaces = whitespaces$2;
4222
+
4223
+ var $parseInt$1 = global$1.parseInt;
4224
+ var Symbol$1 = global$1.Symbol;
4225
+ var ITERATOR = Symbol$1 && Symbol$1.iterator;
4226
+ var hex = /^[+-]?0x/i;
4227
+ var exec = uncurryThis(hex.exec);
4228
+ var FORCED = $parseInt$1(whitespaces + '08') !== 8 || $parseInt$1(whitespaces + '0x16') !== 22
4229
+ // MS Edge 18- broken with boxed symbols
4230
+ || (ITERATOR && !fails(function () { $parseInt$1(Object(ITERATOR)); }));
4231
+
4232
+ // `parseInt` method
4233
+ // https://tc39.es/ecma262/#sec-parseint-string-radix
4234
+ var numberParseInt = FORCED ? function parseInt(string, radix) {
4235
+ var S = trim(toString(string));
4236
+ return $parseInt$1(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10));
4237
+ } : $parseInt$1;
4238
+
4239
+ var $ = _export;
4240
+ var $parseInt = numberParseInt;
4241
+
4242
+ // `parseInt` method
4243
+ // https://tc39.es/ecma262/#sec-parseint-string-radix
4244
+ $({ global: true, forced: parseInt != $parseInt }, {
4245
+ parseInt: $parseInt
4246
+ });
4247
+
4248
+ var decodeExperienceVariantsMap = function decodeExperienceVariantsMap(encodedExperienceVariantsMap) {
4249
+ return encodedExperienceVariantsMap.split(',').map(function (experienceIdWithVariant) {
4250
+ var _a = experienceIdWithVariant.split('='),
4251
+ experienceId = _a[0],
4252
+ _variantIndex = _a[1];
4253
+
4254
+ var variantIndex = parseInt(_variantIndex);
4255
+
4256
+ if (!experienceId || !variantIndex) {
4257
+ return null;
4258
+ }
4259
+
4260
+ return {
4261
+ experienceId: experienceId,
4262
+ variantIndex: variantIndex
4263
+ };
4264
+ }).filter(function (x) {
4265
+ return x;
4266
+ }).reduce(function (acc, curr) {
4267
+ var _a;
4268
+
4269
+ return __assign(__assign({}, acc), (_a = {}, _a[curr.experienceId] = curr.variantIndex, _a));
4270
+ }, {});
4271
+ };
4272
+
4273
+ exports.Cache = index;
4274
+ exports.EXPERIENCE_TRAIT_PREFIX = EXPERIENCE_TRAIT_PREFIX;
4577
4275
  exports.NINETAILED_TRACKER_EVENTS = NINETAILED_TRACKER_EVENTS;
4578
4276
  exports.Ninetailed = Ninetailed;
4579
4277
  exports.PLUGIN_NAME = PLUGIN_NAME;
4278
+ exports.decodeExperienceVariantsMap = decodeExperienceVariantsMap;
4279
+ exports.isExperienceMatch = isExperienceMatch;
4580
4280
  exports.ninetailedPlugin = ninetailedPlugin;
4581
4281
  exports.selectActiveExperiments = selectActiveExperiments;
4582
- exports.selectEglibleExperiences = selectEglibleExperiences;
4282
+ exports.selectDistribution = selectDistribution;
4283
+ exports.selectEligibleExperiences = selectEligibleExperiences;
4583
4284
  exports.selectExperience = selectExperience;
4584
4285
  exports.selectExperienceBaselineWithVariants = selectBaselineWithVariants;
4585
4286
  exports.selectExperienceVariant = selectVariant;