@auth0/auth0-spa-js 1.19.3 → 1.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -162,9 +162,15 @@
162
162
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
163
163
  });
164
164
 
165
+ var functionBindNative = !fails(function () {
166
+ var test = (function () { /* empty */ }).bind();
167
+ // eslint-disable-next-line no-prototype-builtins -- safe
168
+ return typeof test != 'function' || test.hasOwnProperty('prototype');
169
+ });
170
+
165
171
  var call$2 = Function.prototype.call;
166
172
 
167
- var functionCall = call$2.bind ? call$2.bind(call$2) : function () {
173
+ var functionCall = functionBindNative ? call$2.bind(call$2) : function () {
168
174
  return call$2.apply(call$2, arguments);
169
175
  };
170
176
 
@@ -177,13 +183,13 @@
177
183
 
178
184
  // `Object.prototype.propertyIsEnumerable` method implementation
179
185
  // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
180
- var f$6 = NASHORN_BUG ? function propertyIsEnumerable(V) {
186
+ var f$7 = NASHORN_BUG ? function propertyIsEnumerable(V) {
181
187
  var descriptor = getOwnPropertyDescriptor$2(this, V);
182
188
  return !!descriptor && descriptor.enumerable;
183
189
  } : $propertyIsEnumerable$1;
184
190
 
185
191
  var objectPropertyIsEnumerable = {
186
- f: f$6
192
+ f: f$7
187
193
  };
188
194
 
189
195
  var createPropertyDescriptor = function (bitmap, value) {
@@ -196,12 +202,12 @@
196
202
  };
197
203
 
198
204
  var FunctionPrototype$2 = Function.prototype;
199
- var bind$3 = FunctionPrototype$2.bind;
205
+ var bind$2 = FunctionPrototype$2.bind;
200
206
  var call$1 = FunctionPrototype$2.call;
201
- var callBind = bind$3 && bind$3.bind(call$1);
207
+ var uncurryThis = functionBindNative && bind$2.bind(call$1, call$1);
202
208
 
203
- var functionUncurryThis = bind$3 ? function (fn) {
204
- return fn && callBind(call$1, fn);
209
+ var functionUncurryThis = functionBindNative ? function (fn) {
210
+ return fn && uncurryThis(fn);
205
211
  } : function (fn) {
206
212
  return fn && function () {
207
213
  return call$1.apply(fn, arguments);
@@ -359,11 +365,11 @@
359
365
  };
360
366
 
361
367
  // eslint-disable-next-line es/no-object-defineproperty -- safe
362
- var defineProperty$5 = Object.defineProperty;
368
+ var defineProperty$6 = Object.defineProperty;
363
369
 
364
370
  var setGlobal = function (key, value) {
365
371
  try {
366
- defineProperty$5(global_1, key, { value: value, configurable: true, writable: true });
372
+ defineProperty$6(global_1, key, { value: value, configurable: true, writable: true });
367
373
  } catch (error) {
368
374
  global_1[key] = value;
369
375
  } return value;
@@ -378,9 +384,11 @@
378
384
  (module.exports = function (key, value) {
379
385
  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
380
386
  })('versions', []).push({
381
- version: '3.19.1',
387
+ version: '3.21.1',
382
388
  mode: 'global',
383
- copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
389
+ copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
390
+ license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',
391
+ source: 'https://github.com/zloirock/core-js'
384
392
  });
385
393
  });
386
394
 
@@ -460,32 +468,42 @@
460
468
  return EXISTS$1 ? document$1.createElement(it) : {};
461
469
  };
462
470
 
463
- // Thank's IE8 for his funny defineProperty
471
+ // Thanks to IE8 for its funny defineProperty
464
472
  var ie8DomDefine = !descriptors && !fails(function () {
465
- // eslint-disable-next-line es/no-object-defineproperty -- requied for testing
473
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
466
474
  return Object.defineProperty(documentCreateElement('div'), 'a', {
467
475
  get: function () { return 7; }
468
476
  }).a != 7;
469
477
  });
470
478
 
471
479
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
472
- var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
480
+ var $getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
473
481
 
474
482
  // `Object.getOwnPropertyDescriptor` method
475
483
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
476
- var f$5 = descriptors ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
484
+ var f$6 = descriptors ? $getOwnPropertyDescriptor$2 : function getOwnPropertyDescriptor(O, P) {
477
485
  O = toIndexedObject(O);
478
486
  P = toPropertyKey(P);
479
487
  if (ie8DomDefine) try {
480
- return $getOwnPropertyDescriptor$1(O, P);
488
+ return $getOwnPropertyDescriptor$2(O, P);
481
489
  } catch (error) { /* empty */ }
482
490
  if (hasOwnProperty_1(O, P)) return createPropertyDescriptor(!functionCall(objectPropertyIsEnumerable.f, O, P), O[P]);
483
491
  };
484
492
 
485
493
  var objectGetOwnPropertyDescriptor = {
486
- f: f$5
494
+ f: f$6
487
495
  };
488
496
 
497
+ // V8 ~ Chrome 36-
498
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
499
+ var v8PrototypeDefineBug = descriptors && fails(function () {
500
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
501
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
502
+ value: 42,
503
+ writable: false
504
+ }).prototype != 42;
505
+ });
506
+
489
507
  var String$3 = global_1.String;
490
508
  var TypeError$c = global_1.TypeError;
491
509
 
@@ -498,10 +516,30 @@
498
516
  var TypeError$b = global_1.TypeError;
499
517
  // eslint-disable-next-line es/no-object-defineproperty -- safe
500
518
  var $defineProperty$1 = Object.defineProperty;
519
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
520
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
521
+ var ENUMERABLE = 'enumerable';
522
+ var CONFIGURABLE$1 = 'configurable';
523
+ var WRITABLE = 'writable';
501
524
 
502
525
  // `Object.defineProperty` method
503
526
  // https://tc39.es/ecma262/#sec-object.defineproperty
504
- var f$4 = descriptors ? $defineProperty$1 : function defineProperty(O, P, Attributes) {
527
+ var f$5 = descriptors ? v8PrototypeDefineBug ? function defineProperty(O, P, Attributes) {
528
+ anObject(O);
529
+ P = toPropertyKey(P);
530
+ anObject(Attributes);
531
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
532
+ var current = $getOwnPropertyDescriptor$1(O, P);
533
+ if (current && current[WRITABLE]) {
534
+ O[P] = Attributes.value;
535
+ Attributes = {
536
+ configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
537
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
538
+ writable: false
539
+ };
540
+ }
541
+ } return $defineProperty$1(O, P, Attributes);
542
+ } : $defineProperty$1 : function defineProperty(O, P, Attributes) {
505
543
  anObject(O);
506
544
  P = toPropertyKey(P);
507
545
  anObject(Attributes);
@@ -514,7 +552,7 @@
514
552
  };
515
553
 
516
554
  var objectDefineProperty = {
517
- f: f$4
555
+ f: f$5
518
556
  };
519
557
 
520
558
  var createNonEnumerableProperty = descriptors ? function (object, key, value) {
@@ -675,7 +713,7 @@
675
713
  return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
676
714
  };
677
715
 
678
- var max = Math.max;
716
+ var max$1 = Math.max;
679
717
  var min$2 = Math.min;
680
718
 
681
719
  // Helper for a popular repeating case of the spec:
@@ -683,7 +721,7 @@
683
721
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
684
722
  var toAbsoluteIndex = function (index, length) {
685
723
  var integer = toIntegerOrInfinity(index);
686
- return integer < 0 ? max(integer + length, 0) : min$2(integer, length);
724
+ return integer < 0 ? max$1(integer + length, 0) : min$2(integer, length);
687
725
  };
688
726
 
689
727
  var min$1 = Math.min;
@@ -763,19 +801,19 @@
763
801
  // `Object.getOwnPropertyNames` method
764
802
  // https://tc39.es/ecma262/#sec-object.getownpropertynames
765
803
  // eslint-disable-next-line es/no-object-getownpropertynames -- safe
766
- var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
804
+ var f$4 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
767
805
  return objectKeysInternal(O, hiddenKeys);
768
806
  };
769
807
 
770
808
  var objectGetOwnPropertyNames = {
771
- f: f$3
809
+ f: f$4
772
810
  };
773
811
 
774
812
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
775
- var f$2 = Object.getOwnPropertySymbols;
813
+ var f$3 = Object.getOwnPropertySymbols;
776
814
 
777
815
  var objectGetOwnPropertySymbols = {
778
- f: f$2
816
+ f: f$3
779
817
  };
780
818
 
781
819
  var concat = functionUncurryThis([].concat);
@@ -787,13 +825,15 @@
787
825
  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
788
826
  };
789
827
 
790
- var copyConstructorProperties = function (target, source) {
828
+ var copyConstructorProperties = function (target, source, exceptions) {
791
829
  var keys = ownKeys(source);
792
830
  var defineProperty = objectDefineProperty.f;
793
831
  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
794
832
  for (var i = 0; i < keys.length; i++) {
795
833
  var key = keys[i];
796
- if (!hasOwnProperty_1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
834
+ if (!hasOwnProperty_1(target, key) && !(exceptions && hasOwnProperty_1(exceptions, key))) {
835
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
836
+ }
797
837
  }
798
838
  };
799
839
 
@@ -1002,7 +1042,7 @@
1002
1042
  var exec = functionUncurryThis(constructorRegExp.exec);
1003
1043
  var INCORRECT_TO_STRING = !constructorRegExp.exec(noop$1);
1004
1044
 
1005
- var isConstructorModern = function (argument) {
1045
+ var isConstructorModern = function isConstructor(argument) {
1006
1046
  if (!isCallable(argument)) return false;
1007
1047
  try {
1008
1048
  construct(noop$1, empty, argument);
@@ -1012,16 +1052,25 @@
1012
1052
  }
1013
1053
  };
1014
1054
 
1015
- var isConstructorLegacy = function (argument) {
1055
+ var isConstructorLegacy = function isConstructor(argument) {
1016
1056
  if (!isCallable(argument)) return false;
1017
1057
  switch (classof(argument)) {
1018
1058
  case 'AsyncFunction':
1019
1059
  case 'GeneratorFunction':
1020
1060
  case 'AsyncGeneratorFunction': return false;
1061
+ }
1062
+ try {
1021
1063
  // we can't check .prototype since constructors produced by .bind haven't it
1022
- } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
1064
+ // `Function#toString` throws on some built-it function in some legacy engines
1065
+ // (for example, `DOMQuad` and similar in FF41-)
1066
+ return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
1067
+ } catch (error) {
1068
+ return true;
1069
+ }
1023
1070
  };
1024
1071
 
1072
+ isConstructorLegacy.sham = true;
1073
+
1025
1074
  // `IsConstructor` abstract operation
1026
1075
  // https://tc39.es/ecma262/#sec-isconstructor
1027
1076
  var isConstructor = !construct || fails(function () {
@@ -1033,7 +1082,7 @@
1033
1082
  }) ? isConstructorLegacy : isConstructorModern;
1034
1083
 
1035
1084
  var SPECIES$3 = wellKnownSymbol('species');
1036
- var Array$2 = global_1.Array;
1085
+ var Array$3 = global_1.Array;
1037
1086
 
1038
1087
  // a part of `ArraySpeciesCreate` abstract operation
1039
1088
  // https://tc39.es/ecma262/#sec-arrayspeciescreate
@@ -1042,12 +1091,12 @@
1042
1091
  if (isArray$1(originalArray)) {
1043
1092
  C = originalArray.constructor;
1044
1093
  // cross-realm fallback
1045
- if (isConstructor(C) && (C === Array$2 || isArray$1(C.prototype))) C = undefined;
1094
+ if (isConstructor(C) && (C === Array$3 || isArray$1(C.prototype))) C = undefined;
1046
1095
  else if (isObject(C)) {
1047
1096
  C = C[SPECIES$3];
1048
1097
  if (C === null) C = undefined;
1049
1098
  }
1050
- } return C === undefined ? Array$2 : C;
1099
+ } return C === undefined ? Array$3 : C;
1051
1100
  };
1052
1101
 
1053
1102
  // `ArraySpeciesCreate` abstract operation
@@ -1136,11 +1185,10 @@
1136
1185
 
1137
1186
  var FunctionPrototype = Function.prototype;
1138
1187
  var apply = FunctionPrototype.apply;
1139
- var bind$2 = FunctionPrototype.bind;
1140
1188
  var call = FunctionPrototype.call;
1141
1189
 
1142
1190
  // eslint-disable-next-line es/no-reflect -- safe
1143
- var functionApply = typeof Reflect == 'object' && Reflect.apply || (bind$2 ? call.bind(apply) : function () {
1191
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (functionBindNative ? call.bind(apply) : function () {
1144
1192
  return call.apply(apply, arguments);
1145
1193
  });
1146
1194
 
@@ -1154,7 +1202,7 @@
1154
1202
  // `Object.defineProperties` method
1155
1203
  // https://tc39.es/ecma262/#sec-object.defineproperties
1156
1204
  // eslint-disable-next-line es/no-object-defineproperties -- safe
1157
- var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
1205
+ var f$2 = descriptors && !v8PrototypeDefineBug ? Object.defineProperties : function defineProperties(O, Properties) {
1158
1206
  anObject(O);
1159
1207
  var props = toIndexedObject(Properties);
1160
1208
  var keys = objectKeys(Properties);
@@ -1165,6 +1213,10 @@
1165
1213
  return O;
1166
1214
  };
1167
1215
 
1216
+ var objectDefineProperties = {
1217
+ f: f$2
1218
+ };
1219
+
1168
1220
  var html = getBuiltIn('document', 'documentElement');
1169
1221
 
1170
1222
  /* global ActiveXObject -- old IE, WSH */
@@ -1247,10 +1299,21 @@
1247
1299
  // add "__proto__" for Object.getPrototypeOf polyfill
1248
1300
  result[IE_PROTO$1] = O;
1249
1301
  } else result = NullProtoObject();
1250
- return Properties === undefined ? result : objectDefineProperties(result, Properties);
1302
+ return Properties === undefined ? result : objectDefineProperties.f(result, Properties);
1251
1303
  };
1252
1304
 
1253
- var arraySlice = functionUncurryThis([].slice);
1305
+ var Array$2 = global_1.Array;
1306
+ var max = Math.max;
1307
+
1308
+ var arraySliceSimple = function (O, start, end) {
1309
+ var length = lengthOfArrayLike(O);
1310
+ var k = toAbsoluteIndex(start, length);
1311
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
1312
+ var result = Array$2(max(fin - k, 0));
1313
+ for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
1314
+ result.length = n;
1315
+ return result;
1316
+ };
1254
1317
 
1255
1318
  /* eslint-disable es/no-object-getownpropertynames -- safe */
1256
1319
 
@@ -1265,7 +1328,7 @@
1265
1328
  try {
1266
1329
  return $getOwnPropertyNames$1(it);
1267
1330
  } catch (error) {
1268
- return arraySlice(windowNames);
1331
+ return arraySliceSimple(windowNames);
1269
1332
  }
1270
1333
  };
1271
1334
 
@@ -1280,6 +1343,8 @@
1280
1343
  f: f$1
1281
1344
  };
1282
1345
 
1346
+ var arraySlice = functionUncurryThis([].slice);
1347
+
1283
1348
  var f = wellKnownSymbol;
1284
1349
 
1285
1350
  var wellKnownSymbolWrapped = {
@@ -1288,24 +1353,25 @@
1288
1353
 
1289
1354
  var path = global_1;
1290
1355
 
1291
- var defineProperty$4 = objectDefineProperty.f;
1356
+ var defineProperty$5 = objectDefineProperty.f;
1292
1357
 
1293
1358
  var defineWellKnownSymbol = function (NAME) {
1294
1359
  var Symbol = path.Symbol || (path.Symbol = {});
1295
- if (!hasOwnProperty_1(Symbol, NAME)) defineProperty$4(Symbol, NAME, {
1360
+ if (!hasOwnProperty_1(Symbol, NAME)) defineProperty$5(Symbol, NAME, {
1296
1361
  value: wellKnownSymbolWrapped.f(NAME)
1297
1362
  });
1298
1363
  };
1299
1364
 
1300
- var defineProperty$3 = objectDefineProperty.f;
1365
+ var defineProperty$4 = objectDefineProperty.f;
1301
1366
 
1302
1367
 
1303
1368
 
1304
1369
  var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
1305
1370
 
1306
- var setToStringTag = function (it, TAG, STATIC) {
1307
- if (it && !hasOwnProperty_1(it = STATIC ? it : it.prototype, TO_STRING_TAG$1)) {
1308
- defineProperty$3(it, TO_STRING_TAG$1, { configurable: true, value: TAG });
1371
+ var setToStringTag = function (target, TAG, STATIC) {
1372
+ if (target && !STATIC) target = target.prototype;
1373
+ if (target && !hasOwnProperty_1(target, TO_STRING_TAG$1)) {
1374
+ defineProperty$4(target, TO_STRING_TAG$1, { configurable: true, value: TAG });
1309
1375
  }
1310
1376
  };
1311
1377
 
@@ -1314,7 +1380,7 @@
1314
1380
  // optional / simple context binding
1315
1381
  var functionBindContext = function (fn, that) {
1316
1382
  aCallable(fn);
1317
- return that === undefined ? fn : bind$1 ? bind$1(fn, that) : function (/* ...args */) {
1383
+ return that === undefined ? fn : functionBindNative ? bind$1(fn, that) : function (/* ...args */) {
1318
1384
  return fn.apply(that, arguments);
1319
1385
  };
1320
1386
  };
@@ -1540,6 +1606,7 @@
1540
1606
 
1541
1607
  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
1542
1608
  objectDefineProperty.f = $defineProperty;
1609
+ objectDefineProperties.f = $defineProperties;
1543
1610
  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
1544
1611
  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
1545
1612
  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
@@ -1672,7 +1739,7 @@
1672
1739
  // https://tc39.es/ecma262/#sec-symbol.asynciterator
1673
1740
  defineWellKnownSymbol('asyncIterator');
1674
1741
 
1675
- var defineProperty$2 = objectDefineProperty.f;
1742
+ var defineProperty$3 = objectDefineProperty.f;
1676
1743
 
1677
1744
 
1678
1745
  var NativeSymbol = global_1.Symbol;
@@ -1705,7 +1772,7 @@
1705
1772
  var replace = functionUncurryThis(''.replace);
1706
1773
  var stringSlice$1 = functionUncurryThis(''.slice);
1707
1774
 
1708
- defineProperty$2(SymbolPrototype, 'description', {
1775
+ defineProperty$3(SymbolPrototype, 'description', {
1709
1776
  configurable: true,
1710
1777
  get: function description() {
1711
1778
  var symbol = symbolValueOf(this);
@@ -1888,9 +1955,9 @@
1888
1955
 
1889
1956
  var returnThis$1 = function () { return this; };
1890
1957
 
1891
- var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
1958
+ var createIteratorConstructor = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
1892
1959
  var TO_STRING_TAG = NAME + ' Iterator';
1893
- IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
1960
+ IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
1894
1961
  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
1895
1962
  iterators[TO_STRING_TAG] = returnThis$1;
1896
1963
  return IteratorConstructor;
@@ -2186,7 +2253,7 @@
2186
2253
  // eslint-disable-next-line es/no-typed-arrays -- safe
2187
2254
  var arrayBufferNative = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';
2188
2255
 
2189
- var defineProperty$1 = objectDefineProperty.f;
2256
+ var defineProperty$2 = objectDefineProperty.f;
2190
2257
 
2191
2258
 
2192
2259
 
@@ -2207,7 +2274,7 @@
2207
2274
  var TYPED_ARRAY_CONSTRUCTOR$1 = uid('TYPED_ARRAY_CONSTRUCTOR');
2208
2275
  // Fixing native typed arrays in Opera Presto crashes the browser, see #595
2209
2276
  var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferNative && !!objectSetPrototypeOf && classof(global_1.opera) !== 'Opera';
2210
- var TYPED_ARRAY_TAG_REQIRED = false;
2277
+ var TYPED_ARRAY_TAG_REQUIRED = false;
2211
2278
  var NAME, Constructor, Prototype;
2212
2279
 
2213
2280
  var TypedArrayConstructorsList = {
@@ -2252,17 +2319,22 @@
2252
2319
  throw TypeError$4(tryToString(C) + ' is not a typed array constructor');
2253
2320
  };
2254
2321
 
2255
- var exportTypedArrayMethod$1 = function (KEY, property, forced) {
2322
+ var exportTypedArrayMethod$1 = function (KEY, property, forced, options) {
2256
2323
  if (!descriptors) return;
2257
2324
  if (forced) for (var ARRAY in TypedArrayConstructorsList) {
2258
2325
  var TypedArrayConstructor = global_1[ARRAY];
2259
2326
  if (TypedArrayConstructor && hasOwnProperty_1(TypedArrayConstructor.prototype, KEY)) try {
2260
2327
  delete TypedArrayConstructor.prototype[KEY];
2261
- } catch (error) { /* empty */ }
2328
+ } catch (error) {
2329
+ // old WebKit bug - some methods are non-configurable
2330
+ try {
2331
+ TypedArrayConstructor.prototype[KEY] = property;
2332
+ } catch (error2) { /* empty */ }
2333
+ }
2262
2334
  }
2263
2335
  if (!TypedArrayPrototype[KEY] || forced) {
2264
2336
  redefine(TypedArrayPrototype, KEY, forced ? property
2265
- : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);
2337
+ : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);
2266
2338
  }
2267
2339
  };
2268
2340
 
@@ -2328,8 +2400,8 @@
2328
2400
  }
2329
2401
 
2330
2402
  if (descriptors && !hasOwnProperty_1(TypedArrayPrototype, TO_STRING_TAG)) {
2331
- TYPED_ARRAY_TAG_REQIRED = true;
2332
- defineProperty$1(TypedArrayPrototype, TO_STRING_TAG, { get: function () {
2403
+ TYPED_ARRAY_TAG_REQUIRED = true;
2404
+ defineProperty$2(TypedArrayPrototype, TO_STRING_TAG, { get: function () {
2333
2405
  return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
2334
2406
  } });
2335
2407
  for (NAME in TypedArrayConstructorsList) if (global_1[NAME]) {
@@ -2340,7 +2412,7 @@
2340
2412
  var arrayBufferViewCore = {
2341
2413
  NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
2342
2414
  TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR$1,
2343
- TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
2415
+ TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,
2344
2416
  aTypedArray: aTypedArray$1,
2345
2417
  aTypedArrayConstructor: aTypedArrayConstructor$1,
2346
2418
  exportTypedArrayMethod: exportTypedArrayMethod$1,
@@ -2447,6 +2519,11 @@
2447
2519
 
2448
2520
  entryUnbind('String', 'includes');
2449
2521
 
2522
+ var defineProperty$1 = objectDefineProperty.f;
2523
+
2524
+
2525
+
2526
+
2450
2527
  var ARRAY_ITERATOR = 'Array Iterator';
2451
2528
  var setInternalState$1 = internalState.set;
2452
2529
  var getInternalState = internalState.getterFor(ARRAY_ITERATOR);
@@ -2487,13 +2564,18 @@
2487
2564
  // argumentsList[@@iterator] is %ArrayProto_values%
2488
2565
  // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
2489
2566
  // https://tc39.es/ecma262/#sec-createmappedargumentsobject
2490
- iterators.Arguments = iterators.Array;
2567
+ var values = iterators.Arguments = iterators.Array;
2491
2568
 
2492
2569
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2493
2570
  addToUnscopables('keys');
2494
2571
  addToUnscopables('values');
2495
2572
  addToUnscopables('entries');
2496
2573
 
2574
+ // V8 ~ Chrome 45- bug
2575
+ if (descriptors && values.name !== 'values') try {
2576
+ defineProperty$1(values, 'name', { value: 'values' });
2577
+ } catch (error) { /* empty */ }
2578
+
2497
2579
  // FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it
2498
2580
 
2499
2581
 
@@ -4143,7 +4225,7 @@
4143
4225
 
4144
4226
  var Lock = unwrapExports(browserTabsLock);
4145
4227
 
4146
- var version = '1.19.3';
4228
+ var version = '1.20.1';
4147
4229
 
4148
4230
  /**
4149
4231
  * @ignore
@@ -4369,7 +4451,7 @@
4369
4451
  var height = 600;
4370
4452
  var left = window.screenX + (window.innerWidth - width) / 2;
4371
4453
  var top = window.screenY + (window.innerHeight - height) / 2;
4372
- return window.open(url, 'auth0:authorize:popup', "left=" + left + ",top=" + top + ",width=" + width + ",height=" + height + ",resizable,scrollbars=yes,status=1");
4454
+ return window.open(url, 'auth0:authorize:popup', "left=".concat(left, ",top=").concat(top, ",width=").concat(width, ",height=").concat(height, ",resizable,scrollbars=yes,status=1"));
4373
4455
  };
4374
4456
  var runPopup = function (config) {
4375
4457
  return new Promise(function (resolve, reject) {
@@ -4613,7 +4695,7 @@
4613
4695
  }
4614
4696
  _a = response.json, error = _a.error, error_description = _a.error_description, data = __rest(_a, ["error", "error_description"]), ok = response.ok;
4615
4697
  if (!ok) {
4616
- errorMessage = error_description || "HTTP error. Unable to fetch " + url;
4698
+ errorMessage = error_description || "HTTP error. Unable to fetch ".concat(url);
4617
4699
  if (error === 'mfa_required') {
4618
4700
  throw new MfaRequiredError(error, errorMessage, data.mfa_token);
4619
4701
  }
@@ -4635,7 +4717,7 @@
4635
4717
  body = useFormData
4636
4718
  ? createQueryParams(options)
4637
4719
  : JSON.stringify(options);
4638
- return [4 /*yield*/, getJSON(baseUrl + "/oauth/token", timeout, audience || 'default', scope, {
4720
+ return [4 /*yield*/, getJSON("".concat(baseUrl, "/oauth/token"), timeout, audience || 'default', scope, {
4639
4721
  method: 'POST',
4640
4722
  body: body,
4641
4723
  headers: {
@@ -4680,7 +4762,7 @@
4680
4762
  * @returns A string representation of the key
4681
4763
  */
4682
4764
  CacheKey.prototype.toKey = function () {
4683
- return this.prefix + "::" + this.client_id + "::" + this.audience + "::" + this.scope;
4765
+ return "".concat(this.prefix, "::").concat(this.client_id, "::").concat(this.audience, "::").concat(this.scope);
4684
4766
  };
4685
4767
  /**
4686
4768
  * Converts a cache key string into a `CacheKey` instance.
@@ -4789,6 +4871,7 @@
4789
4871
  if (!keys)
4790
4872
  return [2 /*return*/];
4791
4873
  matchedKey = this.matchExistingCacheKey(cacheKey, keys);
4874
+ if (!matchedKey) return [3 /*break*/, 4];
4792
4875
  return [4 /*yield*/, this.cache.get(matchedKey)];
4793
4876
  case 3:
4794
4877
  wrappedEntry = _b.sent();
@@ -4974,7 +5057,7 @@
4974
5057
  function TransactionManager(storage, clientId) {
4975
5058
  this.storage = storage;
4976
5059
  this.clientId = clientId;
4977
- this.storageKey = TRANSACTION_STORAGE_KEY_PREFIX + "." + this.clientId;
5060
+ this.storageKey = "".concat(TRANSACTION_STORAGE_KEY_PREFIX, ".").concat(this.clientId);
4978
5061
  this.transaction = this.storage.get(this.storageKey);
4979
5062
  }
4980
5063
  TransactionManager.prototype.create = function (transaction) {
@@ -5057,13 +5140,13 @@
5057
5140
  throw new Error('Issuer (iss) claim must be a string present in the ID token');
5058
5141
  }
5059
5142
  if (decoded.claims.iss !== options.iss) {
5060
- throw new Error("Issuer (iss) claim mismatch in the ID token; expected \"" + options.iss + "\", found \"" + decoded.claims.iss + "\"");
5143
+ throw new Error("Issuer (iss) claim mismatch in the ID token; expected \"".concat(options.iss, "\", found \"").concat(decoded.claims.iss, "\""));
5061
5144
  }
5062
5145
  if (!decoded.user.sub) {
5063
5146
  throw new Error('Subject (sub) claim must be a string present in the ID token');
5064
5147
  }
5065
5148
  if (decoded.header.alg !== 'RS256') {
5066
- throw new Error("Signature algorithm of \"" + decoded.header.alg + "\" is not supported. Expected the ID token to be signed with \"RS256\".");
5149
+ throw new Error("Signature algorithm of \"".concat(decoded.header.alg, "\" is not supported. Expected the ID token to be signed with \"RS256\"."));
5067
5150
  }
5068
5151
  if (!decoded.claims.aud ||
5069
5152
  !(typeof decoded.claims.aud === 'string' ||
@@ -5072,26 +5155,26 @@
5072
5155
  }
5073
5156
  if (Array.isArray(decoded.claims.aud)) {
5074
5157
  if (!decoded.claims.aud.includes(options.aud)) {
5075
- throw new Error("Audience (aud) claim mismatch in the ID token; expected \"" + options.aud + "\" but was not one of \"" + decoded.claims.aud.join(', ') + "\"");
5158
+ throw new Error("Audience (aud) claim mismatch in the ID token; expected \"".concat(options.aud, "\" but was not one of \"").concat(decoded.claims.aud.join(', '), "\""));
5076
5159
  }
5077
5160
  if (decoded.claims.aud.length > 1) {
5078
5161
  if (!decoded.claims.azp) {
5079
5162
  throw new Error('Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values');
5080
5163
  }
5081
5164
  if (decoded.claims.azp !== options.aud) {
5082
- throw new Error("Authorized Party (azp) claim mismatch in the ID token; expected \"" + options.aud + "\", found \"" + decoded.claims.azp + "\"");
5165
+ throw new Error("Authorized Party (azp) claim mismatch in the ID token; expected \"".concat(options.aud, "\", found \"").concat(decoded.claims.azp, "\""));
5083
5166
  }
5084
5167
  }
5085
5168
  }
5086
5169
  else if (decoded.claims.aud !== options.aud) {
5087
- throw new Error("Audience (aud) claim mismatch in the ID token; expected \"" + options.aud + "\" but found \"" + decoded.claims.aud + "\"");
5170
+ throw new Error("Audience (aud) claim mismatch in the ID token; expected \"".concat(options.aud, "\" but found \"").concat(decoded.claims.aud, "\""));
5088
5171
  }
5089
5172
  if (options.nonce) {
5090
5173
  if (!decoded.claims.nonce) {
5091
5174
  throw new Error('Nonce (nonce) claim must be a string present in the ID token');
5092
5175
  }
5093
5176
  if (decoded.claims.nonce !== options.nonce) {
5094
- throw new Error("Nonce (nonce) claim mismatch in the ID token; expected \"" + options.nonce + "\", found \"" + decoded.claims.nonce + "\"");
5177
+ throw new Error("Nonce (nonce) claim mismatch in the ID token; expected \"".concat(options.nonce, "\", found \"").concat(decoded.claims.nonce, "\""));
5095
5178
  }
5096
5179
  }
5097
5180
  if (options.max_age && !isNumber(decoded.claims.auth_time)) {
@@ -5113,20 +5196,20 @@
5113
5196
  expDate.setUTCSeconds(decoded.claims.exp + leeway);
5114
5197
  nbfDate.setUTCSeconds(decoded.claims.nbf - leeway);
5115
5198
  if (now > expDate) {
5116
- throw new Error("Expiration Time (exp) claim error in the ID token; current time (" + now + ") is after expiration time (" + expDate + ")");
5199
+ throw new Error("Expiration Time (exp) claim error in the ID token; current time (".concat(now, ") is after expiration time (").concat(expDate, ")"));
5117
5200
  }
5118
5201
  if (isNumber(decoded.claims.nbf) && now < nbfDate) {
5119
- throw new Error("Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Currrent time (" + now + ") is before " + nbfDate);
5202
+ throw new Error("Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Currrent time (".concat(now, ") is before ").concat(nbfDate));
5120
5203
  }
5121
5204
  if (isNumber(decoded.claims.auth_time) && now > authTimeDate) {
5122
- throw new Error("Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Currrent time (" + now + ") is after last auth at " + authTimeDate);
5205
+ throw new Error("Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Currrent time (".concat(now, ") is after last auth at ").concat(authTimeDate));
5123
5206
  }
5124
5207
  if (options.organizationId) {
5125
5208
  if (!decoded.claims.org_id) {
5126
5209
  throw new Error('Organization ID (org_id) claim must be a string present in the ID token');
5127
5210
  }
5128
5211
  else if (options.organizationId !== decoded.claims.org_id) {
5129
- throw new Error("Organization ID (org_id) claim mismatch in the ID token; expected \"" + options.organizationId + "\", found \"" + decoded.claims.org_id + "\"");
5212
+ throw new Error("Organization ID (org_id) claim mismatch in the ID token; expected \"".concat(options.organizationId, "\", found \"").concat(decoded.claims.org_id, "\""));
5130
5213
  }
5131
5214
  }
5132
5215
  return decoded;
@@ -5266,7 +5349,7 @@
5266
5349
  if (value) {
5267
5350
  return value;
5268
5351
  }
5269
- return CookieStorage.get("" + LEGACY_PREFIX + key);
5352
+ return CookieStorage.get("".concat(LEGACY_PREFIX).concat(key));
5270
5353
  },
5271
5354
  save: function (key, value, options) {
5272
5355
  var cookieAttributes = {};
@@ -5276,12 +5359,12 @@
5276
5359
  if (options === null || options === void 0 ? void 0 : options.daysUntilExpire) {
5277
5360
  cookieAttributes.expires = options.daysUntilExpire;
5278
5361
  }
5279
- esCookie_5("" + LEGACY_PREFIX + key, JSON.stringify(value), cookieAttributes);
5362
+ esCookie_5("".concat(LEGACY_PREFIX).concat(key), JSON.stringify(value), cookieAttributes);
5280
5363
  CookieStorage.save(key, value, options);
5281
5364
  },
5282
5365
  remove: function (key) {
5283
5366
  CookieStorage.remove(key);
5284
- CookieStorage.remove("" + LEGACY_PREFIX + key);
5367
+ CookieStorage.remove("".concat(LEGACY_PREFIX).concat(key));
5285
5368
  }
5286
5369
  };
5287
5370
  /**
@@ -5337,7 +5420,7 @@
5337
5420
  };
5338
5421
  }
5339
5422
 
5340
- var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7DQogICAgICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7DQogICAgICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHsNCiAgICAgICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdDsNCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQogICAgfTsNCg0KICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHsNCiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9DQogICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfQ0KICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH0NCiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTsNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkgew0KICAgICAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnOw0KICAgICAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgInRocm93IjogdmVyYigxKSwgInJldHVybiI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZzsNCiAgICAgICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9DQogICAgICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHsNCiAgICAgICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7DQogICAgICAgICAgICB3aGlsZSAoXykgdHJ5IHsNCiAgICAgICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5WyJyZXR1cm4iXSA6IG9wWzBdID8geVsidGhyb3ciXSB8fCAoKHQgPSB5WyJyZXR1cm4iXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7DQogICAgICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdOw0KICAgICAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7DQogICAgICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH0NCiAgICAgICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9Ow0KICAgICAgICB9DQogICAgfQ0KDQogICAgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHsNCiAgICAgICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIG9bU3ltYm9sLml0ZXJhdG9yXTsNCiAgICAgICAgaWYgKCFtKSByZXR1cm4gbzsNCiAgICAgICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTsNCiAgICAgICAgfQ0KICAgICAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH0NCiAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpWyJyZXR1cm4iXSkpIG0uY2FsbChpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhcjsNCiAgICB9CgogICAgLyoqDQogICAgICogQGlnbm9yZQ0KICAgICAqLw0KICAgIHZhciBNSVNTSU5HX1JFRlJFU0hfVE9LRU5fRVJST1JfTUVTU0FHRSA9ICdUaGUgd2ViIHdvcmtlciBpcyBtaXNzaW5nIHRoZSByZWZyZXNoIHRva2VuJzsKCiAgICB2YXIgcmVmcmVzaFRva2VucyA9IHt9Ow0KICAgIHZhciBjYWNoZUtleSA9IGZ1bmN0aW9uIChhdWRpZW5jZSwgc2NvcGUpIHsgcmV0dXJuIGF1ZGllbmNlICsgInwiICsgc2NvcGU7IH07DQogICAgdmFyIGdldFJlZnJlc2hUb2tlbiA9IGZ1bmN0aW9uIChhdWRpZW5jZSwgc2NvcGUpIHsNCiAgICAgICAgcmV0dXJuIHJlZnJlc2hUb2tlbnNbY2FjaGVLZXkoYXVkaWVuY2UsIHNjb3BlKV07DQogICAgfTsNCiAgICB2YXIgc2V0UmVmcmVzaFRva2VuID0gZnVuY3Rpb24gKHJlZnJlc2hUb2tlbiwgYXVkaWVuY2UsIHNjb3BlKSB7IHJldHVybiAocmVmcmVzaFRva2Vuc1tjYWNoZUtleShhdWRpZW5jZSwgc2NvcGUpXSA9IHJlZnJlc2hUb2tlbik7IH07DQogICAgdmFyIGRlbGV0ZVJlZnJlc2hUb2tlbiA9IGZ1bmN0aW9uIChhdWRpZW5jZSwgc2NvcGUpIHsNCiAgICAgICAgcmV0dXJuIGRlbGV0ZSByZWZyZXNoVG9rZW5zW2NhY2hlS2V5KGF1ZGllbmNlLCBzY29wZSldOw0KICAgIH07DQogICAgdmFyIHdhaXQgPSBmdW5jdGlvbiAodGltZSkgew0KICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmV0dXJuIHNldFRpbWVvdXQocmVzb2x2ZSwgdGltZSk7IH0pOw0KICAgIH07DQogICAgdmFyIGZvcm1EYXRhVG9PYmplY3QgPSBmdW5jdGlvbiAoZm9ybURhdGEpIHsNCiAgICAgICAgdmFyIHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhmb3JtRGF0YSk7DQogICAgICAgIHZhciBwYXJzZWRRdWVyeSA9IHt9Ow0KICAgICAgICBxdWVyeVBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWwsIGtleSkgew0KICAgICAgICAgICAgcGFyc2VkUXVlcnlba2V5XSA9IHZhbDsNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBwYXJzZWRRdWVyeTsNCiAgICB9Ow0KICAgIHZhciBtZXNzYWdlSGFuZGxlciA9IGZ1bmN0aW9uIChfYSkgew0KICAgICAgICB2YXIgX2IgPSBfYS5kYXRhLCB0aW1lb3V0ID0gX2IudGltZW91dCwgYXV0aCA9IF9iLmF1dGgsIGZldGNoVXJsID0gX2IuZmV0Y2hVcmwsIGZldGNoT3B0aW9ucyA9IF9iLmZldGNoT3B0aW9ucywgdXNlRm9ybURhdGEgPSBfYi51c2VGb3JtRGF0YSwgX2MgPSBfX3JlYWQoX2EucG9ydHMsIDEpLCBwb3J0ID0gX2NbMF07DQogICAgICAgIHJldHVybiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGpzb24sIF9kLCBhdWRpZW5jZSwgc2NvcGUsIGJvZHksIHJlZnJlc2hUb2tlbiwgYWJvcnRDb250cm9sbGVyLCByZXNwb25zZSwgZXJyb3JfMSwgZXJyb3JfMjsNCiAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2UpIHsNCiAgICAgICAgICAgICAgICBzd2l0Y2ggKF9lLmxhYmVsKSB7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgMDoNCiAgICAgICAgICAgICAgICAgICAgICAgIF9kID0gYXV0aCB8fCB7fSwgYXVkaWVuY2UgPSBfZC5hdWRpZW5jZSwgc2NvcGUgPSBfZC5zY29wZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIF9lLmxhYmVsID0gMTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAxOg0KICAgICAgICAgICAgICAgICAgICAgICAgX2UudHJ5cy5wdXNoKFsxLCA3LCAsIDhdKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkgPSB1c2VGb3JtRGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZm9ybURhdGFUb09iamVjdChmZXRjaE9wdGlvbnMuYm9keSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEpTT04ucGFyc2UoZmV0Y2hPcHRpb25zLmJvZHkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFib2R5LnJlZnJlc2hfdG9rZW4gJiYgYm9keS5ncmFudF90eXBlID09PSAncmVmcmVzaF90b2tlbicpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoVG9rZW4gPSBnZXRSZWZyZXNoVG9rZW4oYXVkaWVuY2UsIHNjb3BlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlZnJlc2hUb2tlbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19SRUZSRVNIX1RPS0VOX0VSUk9SX01FU1NBR0UpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaE9wdGlvbnMuYm9keSA9IHVzZUZvcm1EYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbmV3IFVSTFNlYXJjaFBhcmFtcyhfX2Fzc2lnbihfX2Fzc2lnbih7fSwgYm9keSksIHsgcmVmcmVzaF90b2tlbjogcmVmcmVzaFRva2VuIH0pKS50b1N0cmluZygpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoX19hc3NpZ24oX19hc3NpZ24oe30sIGJvZHkpLCB7IHJlZnJlc2hfdG9rZW46IHJlZnJlc2hUb2tlbiB9KSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBhYm9ydENvbnRyb2xsZXIgPSB2b2lkIDA7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIEFib3J0Q29udHJvbGxlciA9PT0gJ2Z1bmN0aW9uJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaE9wdGlvbnMuc2lnbmFsID0gYWJvcnRDb250cm9sbGVyLnNpZ25hbDsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gdm9pZCAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgX2UubGFiZWwgPSAyOw0KICAgICAgICAgICAgICAgICAgICBjYXNlIDI6DQogICAgICAgICAgICAgICAgICAgICAgICBfZS50cnlzLnB1c2goWzIsIDQsICwgNV0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgUHJvbWlzZS5yYWNlKFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FpdCh0aW1lb3V0KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2goZmV0Y2hVcmwsIF9fYXNzaWduKHt9LCBmZXRjaE9wdGlvbnMpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAzOg0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBfZS5zZW50KCk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA1XTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA0Og0KICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfMSA9IF9lLnNlbnQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZldGNoIGVycm9yLCByZWplY3QgYHNlbmRNZXNzYWdlYCB1c2luZyBgZXJyb3JgIGtleSBzbyB0aGF0IHdlIHJldHJ5Lg0KICAgICAgICAgICAgICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yXzEubWVzc2FnZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qL107DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNToNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2UpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgcmVxdWVzdCB0aW1lcyBvdXQsIGFib3J0IGl0IGFuZCBsZXQgYHN3aXRjaEZldGNoYCByYWlzZSB0aGUgZXJyb3IuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFib3J0Q29udHJvbGxlcikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJvcnRDb250cm9sbGVyLmFib3J0KCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiAiVGltZW91dCB3aGVuIGV4ZWN1dGluZyAnZmV0Y2gnIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovXTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIHJlc3BvbnNlLmpzb24oKV07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNjoNCiAgICAgICAgICAgICAgICAgICAgICAgIGpzb24gPSBfZS5zZW50KCk7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5yZWZyZXNoX3Rva2VuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVmcmVzaFRva2VuKGpzb24ucmVmcmVzaF90b2tlbiwgYXVkaWVuY2UsIHNjb3BlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUganNvbi5yZWZyZXNoX3Rva2VuOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlUmVmcmVzaFRva2VuKGF1ZGllbmNlLCBzY29wZSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvazogcmVzcG9uc2Uub2ssDQogICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbjoganNvbg0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA4XTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA3Og0KICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfMiA9IF9lLnNlbnQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2Rlc2NyaXB0aW9uOiBlcnJvcl8yLm1lc3NhZ2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDhdOw0KICAgICAgICAgICAgICAgICAgICBjYXNlIDg6IHJldHVybiBbMiAvKnJldHVybiovXTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgfTsNCiAgICAvLyBEb24ndCBydW4gYGFkZEV2ZW50TGlzdGVuZXJgIGluIG91ciB0ZXN0cyAodGhpcyBpcyByZXBsYWNlZCBpbiByb2xsdXApDQogICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgICovDQogICAgew0KICAgICAgICAvLyBAdHMtaWdub3JlDQogICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBtZXNzYWdlSGFuZGxlcik7DQogICAgfQoKfSkoKTsKCg==', null, false);
5423
+ var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7DQogICAgICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7DQogICAgICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHsNCiAgICAgICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdDsNCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQogICAgfTsNCg0KICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHsNCiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9DQogICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfQ0KICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH0NCiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTsNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkgew0KICAgICAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnOw0KICAgICAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgInRocm93IjogdmVyYigxKSwgInJldHVybiI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZzsNCiAgICAgICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9DQogICAgICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHsNCiAgICAgICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7DQogICAgICAgICAgICB3aGlsZSAoXykgdHJ5IHsNCiAgICAgICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5WyJyZXR1cm4iXSA6IG9wWzBdID8geVsidGhyb3ciXSB8fCAoKHQgPSB5WyJyZXR1cm4iXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7DQogICAgICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdOw0KICAgICAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7DQogICAgICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH0NCiAgICAgICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9Ow0KICAgICAgICB9DQogICAgfQ0KDQogICAgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHsNCiAgICAgICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIG9bU3ltYm9sLml0ZXJhdG9yXTsNCiAgICAgICAgaWYgKCFtKSByZXR1cm4gbzsNCiAgICAgICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTsNCiAgICAgICAgfQ0KICAgICAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH0NCiAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpWyJyZXR1cm4iXSkpIG0uY2FsbChpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhcjsNCiAgICB9CgogICAgLyoqDQogICAgICogQGlnbm9yZQ0KICAgICAqLw0KICAgIHZhciBNSVNTSU5HX1JFRlJFU0hfVE9LRU5fRVJST1JfTUVTU0FHRSA9ICdUaGUgd2ViIHdvcmtlciBpcyBtaXNzaW5nIHRoZSByZWZyZXNoIHRva2VuJzsKCiAgICB2YXIgcmVmcmVzaFRva2VucyA9IHt9Ow0KICAgIHZhciBjYWNoZUtleSA9IGZ1bmN0aW9uIChhdWRpZW5jZSwgc2NvcGUpIHsgcmV0dXJuICIiLmNvbmNhdChhdWRpZW5jZSwgInwiKS5jb25jYXQoc2NvcGUpOyB9Ow0KICAgIHZhciBnZXRSZWZyZXNoVG9rZW4gPSBmdW5jdGlvbiAoYXVkaWVuY2UsIHNjb3BlKSB7DQogICAgICAgIHJldHVybiByZWZyZXNoVG9rZW5zW2NhY2hlS2V5KGF1ZGllbmNlLCBzY29wZSldOw0KICAgIH07DQogICAgdmFyIHNldFJlZnJlc2hUb2tlbiA9IGZ1bmN0aW9uIChyZWZyZXNoVG9rZW4sIGF1ZGllbmNlLCBzY29wZSkgeyByZXR1cm4gKHJlZnJlc2hUb2tlbnNbY2FjaGVLZXkoYXVkaWVuY2UsIHNjb3BlKV0gPSByZWZyZXNoVG9rZW4pOyB9Ow0KICAgIHZhciBkZWxldGVSZWZyZXNoVG9rZW4gPSBmdW5jdGlvbiAoYXVkaWVuY2UsIHNjb3BlKSB7DQogICAgICAgIHJldHVybiBkZWxldGUgcmVmcmVzaFRva2Vuc1tjYWNoZUtleShhdWRpZW5jZSwgc2NvcGUpXTsNCiAgICB9Ow0KICAgIHZhciB3YWl0ID0gZnVuY3Rpb24gKHRpbWUpIHsNCiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJldHVybiBzZXRUaW1lb3V0KHJlc29sdmUsIHRpbWUpOyB9KTsNCiAgICB9Ow0KICAgIHZhciBmb3JtRGF0YVRvT2JqZWN0ID0gZnVuY3Rpb24gKGZvcm1EYXRhKSB7DQogICAgICAgIHZhciBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoZm9ybURhdGEpOw0KICAgICAgICB2YXIgcGFyc2VkUXVlcnkgPSB7fTsNCiAgICAgICAgcXVlcnlQYXJhbXMuZm9yRWFjaChmdW5jdGlvbiAodmFsLCBrZXkpIHsNCiAgICAgICAgICAgIHBhcnNlZFF1ZXJ5W2tleV0gPSB2YWw7DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gcGFyc2VkUXVlcnk7DQogICAgfTsNCiAgICB2YXIgbWVzc2FnZUhhbmRsZXIgPSBmdW5jdGlvbiAoX2EpIHsNCiAgICAgICAgdmFyIF9iID0gX2EuZGF0YSwgdGltZW91dCA9IF9iLnRpbWVvdXQsIGF1dGggPSBfYi5hdXRoLCBmZXRjaFVybCA9IF9iLmZldGNoVXJsLCBmZXRjaE9wdGlvbnMgPSBfYi5mZXRjaE9wdGlvbnMsIHVzZUZvcm1EYXRhID0gX2IudXNlRm9ybURhdGEsIF9jID0gX19yZWFkKF9hLnBvcnRzLCAxKSwgcG9ydCA9IF9jWzBdOw0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBqc29uLCBfZCwgYXVkaWVuY2UsIHNjb3BlLCBib2R5LCByZWZyZXNoVG9rZW4sIGFib3J0Q29udHJvbGxlciwgcmVzcG9uc2UsIGVycm9yXzEsIGVycm9yXzI7DQogICAgICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9lKSB7DQogICAgICAgICAgICAgICAgc3dpdGNoIChfZS5sYWJlbCkgew0KICAgICAgICAgICAgICAgICAgICBjYXNlIDA6DQogICAgICAgICAgICAgICAgICAgICAgICBfZCA9IGF1dGggfHwge30sIGF1ZGllbmNlID0gX2QuYXVkaWVuY2UsIHNjb3BlID0gX2Quc2NvcGU7DQogICAgICAgICAgICAgICAgICAgICAgICBfZS5sYWJlbCA9IDE7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgMToNCiAgICAgICAgICAgICAgICAgICAgICAgIF9lLnRyeXMucHVzaChbMSwgNywgLCA4XSk7DQogICAgICAgICAgICAgICAgICAgICAgICBib2R5ID0gdXNlRm9ybURhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGZvcm1EYXRhVG9PYmplY3QoZmV0Y2hPcHRpb25zLmJvZHkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBKU09OLnBhcnNlKGZldGNoT3B0aW9ucy5ib2R5KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5yZWZyZXNoX3Rva2VuICYmIGJvZHkuZ3JhbnRfdHlwZSA9PT0gJ3JlZnJlc2hfdG9rZW4nKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFRva2VuID0gZ2V0UmVmcmVzaFRva2VuKGF1ZGllbmNlLCBzY29wZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWZyZXNoVG9rZW4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfUkVGUkVTSF9UT0tFTl9FUlJPUl9NRVNTQUdFKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hPcHRpb25zLmJvZHkgPSB1c2VGb3JtRGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5ldyBVUkxTZWFyY2hQYXJhbXMoX19hc3NpZ24oX19hc3NpZ24oe30sIGJvZHkpLCB7IHJlZnJlc2hfdG9rZW46IHJlZnJlc2hUb2tlbiB9KSkudG9TdHJpbmcoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KF9fYXNzaWduKF9fYXNzaWduKHt9LCBib2R5KSwgeyByZWZyZXNoX3Rva2VuOiByZWZyZXNoVG9rZW4gfSkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgYWJvcnRDb250cm9sbGVyID0gdm9pZCAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBBYm9ydENvbnRyb2xsZXIgPT09ICdmdW5jdGlvbicpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hPcHRpb25zLnNpZ25hbCA9IGFib3J0Q29udHJvbGxlci5zaWduYWw7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9IHZvaWQgMDsNCiAgICAgICAgICAgICAgICAgICAgICAgIF9lLmxhYmVsID0gMjsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOg0KICAgICAgICAgICAgICAgICAgICAgICAgX2UudHJ5cy5wdXNoKFsyLCA0LCAsIDVdKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIFByb21pc2UucmFjZShbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQodGltZW91dCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoKGZldGNoVXJsLCBfX2Fzc2lnbih7fSwgZmV0Y2hPcHRpb25zKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKV07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgMzoNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gX2Uuc2VudCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgNV07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNDoNCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yXzEgPSBfZS5zZW50KCk7DQogICAgICAgICAgICAgICAgICAgICAgICAvLyBmZXRjaCBlcnJvciwgcmVqZWN0IGBzZW5kTWVzc2FnZWAgdXNpbmcgYGVycm9yYCBrZXkgc28gdGhhdCB3ZSByZXRyeS4NCiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvcl8xLm1lc3NhZ2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dOw0KICAgICAgICAgICAgICAgICAgICBjYXNlIDU6DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHJlcXVlc3QgdGltZXMgb3V0LCBhYm9ydCBpdCBhbmQgbGV0IGBzd2l0Y2hGZXRjaGAgcmFpc2UgdGhlIGVycm9yLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhYm9ydENvbnRyb2xsZXIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFib3J0Q29udHJvbGxlci5hYm9ydCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogIlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qL107DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCByZXNwb25zZS5qc29uKCldOw0KICAgICAgICAgICAgICAgICAgICBjYXNlIDY6DQogICAgICAgICAgICAgICAgICAgICAgICBqc29uID0gX2Uuc2VudCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGpzb24ucmVmcmVzaF90b2tlbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFJlZnJlc2hUb2tlbihqc29uLnJlZnJlc2hfdG9rZW4sIGF1ZGllbmNlLCBzY29wZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGpzb24ucmVmcmVzaF90b2tlbjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZVJlZnJlc2hUb2tlbihhdWRpZW5jZSwgc2NvcGUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgb2s6IHJlc3BvbnNlLm9rLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb246IGpzb24NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgOF07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNzoNCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yXzIgPSBfZS5zZW50KCk7DQogICAgICAgICAgICAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvazogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbjogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9kZXNjcmlwdGlvbjogZXJyb3JfMi5tZXNzYWdlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA4XTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA4OiByZXR1cm4gWzIgLypyZXR1cm4qL107DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgIH07DQogICAgLy8gRG9uJ3QgcnVuIGBhZGRFdmVudExpc3RlbmVyYCBpbiBvdXIgdGVzdHMgKHRoaXMgaXMgcmVwbGFjZWQgaW4gcm9sbHVwKQ0KICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICAqLw0KICAgIHsNCiAgICAgICAgLy8gQHRzLWlnbm9yZQ0KICAgICAgICBhZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgbWVzc2FnZUhhbmRsZXIpOw0KICAgIH0KCn0pKCk7Cgo=', null, false);
5341
5424
  /* eslint-enable */
5342
5425
 
5343
5426
  var isIE11 = function () { return /Trident.*rv:11\.0/.test(navigator.userAgent); };
@@ -5436,7 +5519,7 @@
5436
5519
  return this.cache.remove(this.manifestKey);
5437
5520
  };
5438
5521
  CacheKeyManifest.prototype.createManifestKeyFrom = function (clientId) {
5439
- return CACHE_KEY_PREFIX + "::" + clientId;
5522
+ return "".concat(CACHE_KEY_PREFIX, "::").concat(clientId);
5440
5523
  };
5441
5524
  return CacheKeyManifest;
5442
5525
  }());
@@ -5453,7 +5536,7 @@
5453
5536
  * @ignore
5454
5537
  */
5455
5538
  var buildOrganizationHintCookieName = function (clientId) {
5456
- return "auth0." + clientId + ".organization_hint";
5539
+ return "auth0.".concat(clientId, ".organization_hint");
5457
5540
  };
5458
5541
  /**
5459
5542
  * @ignore
@@ -5463,7 +5546,7 @@
5463
5546
  * @ignore
5464
5547
  */
5465
5548
  var buildIsAuthenticatedCookieName = function (clientId) {
5466
- return "auth0." + clientId + ".is.authenticated";
5549
+ return "auth0.".concat(clientId, ".is.authenticated");
5467
5550
  };
5468
5551
  /**
5469
5552
  * @ignore
@@ -5487,16 +5570,16 @@
5487
5570
  */
5488
5571
  var getTokenIssuer = function (issuer, domainUrl) {
5489
5572
  if (issuer) {
5490
- return issuer.startsWith('https://') ? issuer : "https://" + issuer + "/";
5573
+ return issuer.startsWith('https://') ? issuer : "https://".concat(issuer, "/");
5491
5574
  }
5492
- return domainUrl + "/";
5575
+ return "".concat(domainUrl, "/");
5493
5576
  };
5494
5577
  /**
5495
5578
  * @ignore
5496
5579
  */
5497
5580
  var getDomain = function (domainUrl) {
5498
5581
  if (!/^https?:\/\//.test(domainUrl)) {
5499
- return "https://" + domainUrl;
5582
+ return "https://".concat(domainUrl);
5500
5583
  }
5501
5584
  return domainUrl;
5502
5585
  };
@@ -5525,10 +5608,13 @@
5525
5608
  else {
5526
5609
  this.cacheLocation = options.cacheLocation || CACHE_LOCATION_MEMORY;
5527
5610
  if (!cacheFactory(this.cacheLocation)) {
5528
- throw new Error("Invalid cache location \"" + this.cacheLocation + "\"");
5611
+ throw new Error("Invalid cache location \"".concat(this.cacheLocation, "\""));
5529
5612
  }
5530
5613
  cache = cacheFactory(this.cacheLocation)();
5531
5614
  }
5615
+ this.httpTimeoutMs = options.httpTimeoutInSeconds
5616
+ ? options.httpTimeoutInSeconds * 1000
5617
+ : DEFAULT_FETCH_TIMEOUT_MS;
5532
5618
  this.cookieStorage =
5533
5619
  options.legacySameSiteCookie === false
5534
5620
  ? CookieStorage
@@ -5569,17 +5655,17 @@
5569
5655
  }
5570
5656
  Auth0Client.prototype._url = function (path) {
5571
5657
  var auth0Client = encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client || DEFAULT_AUTH0_CLIENT)));
5572
- return "" + this.domainUrl + path + "&auth0Client=" + auth0Client;
5658
+ return "".concat(this.domainUrl).concat(path, "&auth0Client=").concat(auth0Client);
5573
5659
  };
5574
5660
  Auth0Client.prototype._getParams = function (authorizeOptions, state, nonce, code_challenge, redirect_uri) {
5575
5661
  // These options should be excluded from the authorize URL,
5576
5662
  // as they're options for the client and not for the IdP.
5577
5663
  // ** IMPORTANT ** If adding a new client option, include it in this destructure list.
5578
- var _a = this.options; _a.useRefreshTokens; _a.useCookiesForTransactions; _a.useFormData; _a.auth0Client; _a.cacheLocation; _a.advancedOptions; _a.detailedResponse; _a.nowProvider; _a.authorizeTimeoutInSeconds; _a.legacySameSiteCookie; _a.sessionCheckExpiryDays; _a.domain; _a.leeway; var loginOptions = __rest(_a, ["useRefreshTokens", "useCookiesForTransactions", "useFormData", "auth0Client", "cacheLocation", "advancedOptions", "detailedResponse", "nowProvider", "authorizeTimeoutInSeconds", "legacySameSiteCookie", "sessionCheckExpiryDays", "domain", "leeway"]);
5664
+ var _a = this.options; _a.useRefreshTokens; _a.useCookiesForTransactions; _a.useFormData; _a.auth0Client; _a.cacheLocation; _a.advancedOptions; _a.detailedResponse; _a.nowProvider; _a.authorizeTimeoutInSeconds; _a.legacySameSiteCookie; _a.sessionCheckExpiryDays; _a.domain; _a.leeway; _a.httpTimeoutInSeconds; var loginOptions = __rest(_a, ["useRefreshTokens", "useCookiesForTransactions", "useFormData", "auth0Client", "cacheLocation", "advancedOptions", "detailedResponse", "nowProvider", "authorizeTimeoutInSeconds", "legacySameSiteCookie", "sessionCheckExpiryDays", "domain", "leeway", "httpTimeoutInSeconds"]);
5579
5665
  return __assign(__assign(__assign({}, loginOptions), authorizeOptions), { scope: getUniqueScopes(this.defaultScope, this.scope, authorizeOptions.scope), response_type: 'code', response_mode: 'query', state: state, nonce: nonce, redirect_uri: redirect_uri || this.options.redirect_uri, code_challenge: code_challenge, code_challenge_method: 'S256' });
5580
5666
  };
5581
5667
  Auth0Client.prototype._authorizeUrl = function (authorizeOptions) {
5582
- return this._url("/authorize?" + createQueryParams(authorizeOptions));
5668
+ return this._url("/authorize?".concat(createQueryParams(authorizeOptions)));
5583
5669
  };
5584
5670
  Auth0Client.prototype._verifyIdToken = function (id_token, nonce, organizationId) {
5585
5671
  return __awaiter(this, void 0, void 0, function () {
@@ -5611,7 +5697,9 @@
5611
5697
  };
5612
5698
  Auth0Client.prototype._processOrgIdHint = function (organizationId) {
5613
5699
  if (organizationId) {
5614
- this.cookieStorage.save(this.orgHintCookieName, organizationId);
5700
+ this.cookieStorage.save(this.orgHintCookieName, organizationId, {
5701
+ daysUntilExpire: this.sessionCheckExpiryDays
5702
+ });
5615
5703
  }
5616
5704
  else {
5617
5705
  this.cookieStorage.remove(this.orgHintCookieName);
@@ -5643,7 +5731,7 @@
5643
5731
  case 1:
5644
5732
  code_challengeBuffer = _a.sent();
5645
5733
  code_challenge = bufferToBase64UrlEncoded(code_challengeBuffer);
5646
- fragment = options.fragment ? "#" + options.fragment : '';
5734
+ fragment = options.fragment ? "#".concat(options.fragment) : '';
5647
5735
  params = this._getParams(authorizeOptions, stateIn, nonceIn, code_challenge, redirect_uri);
5648
5736
  url = this._authorizeUrl(params);
5649
5737
  organizationId = options.organization || this.options.organization;
@@ -5716,7 +5804,8 @@
5716
5804
  grant_type: 'authorization_code',
5717
5805
  redirect_uri: params.redirect_uri,
5718
5806
  auth0Client: this.options.auth0Client,
5719
- useFormData: this.options.useFormData
5807
+ useFormData: this.options.useFormData,
5808
+ timeout: this.httpTimeoutMs
5720
5809
  }, this.worker)];
5721
5810
  case 3:
5722
5811
  authResult = _a.sent();
@@ -5875,7 +5964,8 @@
5875
5964
  grant_type: 'authorization_code',
5876
5965
  code: code,
5877
5966
  auth0Client: this.options.auth0Client,
5878
- useFormData: this.options.useFormData
5967
+ useFormData: this.options.useFormData,
5968
+ timeout: this.httpTimeoutMs
5879
5969
  };
5880
5970
  // some old versions of the SDK might not have added redirect_uri to the
5881
5971
  // transaction, we dont want the key to be set to undefined.
@@ -5970,11 +6060,17 @@
5970
6060
  * const token = await auth0.getTokenSilently(options);
5971
6061
  * ```
5972
6062
  *
5973
- * If there's a valid token stored, return it. Otherwise, opens an
5974
- * iframe with the `/authorize` URL using the parameters provided
5975
- * as arguments. Random and secure `state` and `nonce` parameters
5976
- * will be auto-generated. If the response is successful, results
5977
- * will be valid according to their expiration times.
6063
+ * If there's a valid token stored and it has more than 60 seconds
6064
+ * remaining before expiration, return the token. Otherwise, attempt
6065
+ * to obtain a new token.
6066
+ *
6067
+ * A new token will be obtained either by opening an iframe or a
6068
+ * refresh token (if `useRefreshTokens` is `true`)
6069
+
6070
+ * If iframes are used, opens an iframe with the `/authorize` URL
6071
+ * using the parameters provided as arguments. Random and secure `state`
6072
+ * and `nonce` parameters will be auto-generated. If the response is successful,
6073
+ * results will be validated according to their expiration times.
5978
6074
  *
5979
6075
  * If refresh tokens are used, the token endpoint is called directly with the
5980
6076
  * 'refresh_token' grant. If no refresh token is available to make this call,
@@ -6000,7 +6096,7 @@
6000
6096
  _a = __assign(__assign({ audience: this.options.audience, ignoreCache: false }, options), { scope: getUniqueScopes(this.defaultScope, this.scope, options.scope) }), ignoreCache = _a.ignoreCache, getTokenOptions = __rest(_a, ["ignoreCache"]);
6001
6097
  return [2 /*return*/, singlePromise(function () {
6002
6098
  return _this._getTokenSilently(__assign({ ignoreCache: ignoreCache }, getTokenOptions));
6003
- }, this.options.client_id + "::" + getTokenOptions.audience + "::" + getTokenOptions.scope)];
6099
+ }, "".concat(this.options.client_id, "::").concat(getTokenOptions.audience, "::").concat(getTokenOptions.scope))];
6004
6100
  });
6005
6101
  });
6006
6102
  };
@@ -6156,7 +6252,7 @@
6156
6252
  }
6157
6253
  var federated = options.federated, logoutOptions = __rest(options, ["federated"]);
6158
6254
  var federatedQuery = federated ? "&federated" : '';
6159
- var url = this._url("/v2/logout?" + createQueryParams(logoutOptions));
6255
+ var url = this._url("/v2/logout?".concat(createQueryParams(logoutOptions)));
6160
6256
  return url + federatedQuery;
6161
6257
  };
6162
6258
  /**
@@ -6203,7 +6299,7 @@
6203
6299
  };
6204
6300
  Auth0Client.prototype._getTokenFromIFrame = function (options) {
6205
6301
  return __awaiter(this, void 0, void 0, function () {
6206
- var stateIn, nonceIn, code_verifier, code_challengeBuffer, code_challenge, withoutClientOptions, params, orgIdHint, url, timeout, codeResult, scope, audience, customOptions, tokenResult, decodedToken, e_1;
6302
+ var stateIn, nonceIn, code_verifier, code_challengeBuffer, code_challenge, withoutClientOptions, params, orgIdHint, url, authorizeTimeout, codeResult, scope, audience, customOptions, tokenResult, decodedToken, e_1;
6207
6303
  return __generator(this, function (_a) {
6208
6304
  switch (_a.label) {
6209
6305
  case 0:
@@ -6223,7 +6319,6 @@
6223
6319
  params.organization = orgIdHint;
6224
6320
  }
6225
6321
  url = this._authorizeUrl(__assign(__assign({}, params), { prompt: 'none', response_mode: 'web_message' }));
6226
- timeout = options.timeoutInSeconds || this.options.authorizeTimeoutInSeconds;
6227
6322
  _a.label = 2;
6228
6323
  case 2:
6229
6324
  _a.trys.push([2, 6, , 7]);
@@ -6233,14 +6328,15 @@
6233
6328
  if (window.crossOriginIsolated) {
6234
6329
  throw new GenericError('login_required', 'The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.');
6235
6330
  }
6236
- return [4 /*yield*/, runIframe(url, this.domainUrl, timeout)];
6331
+ authorizeTimeout = options.timeoutInSeconds || this.options.authorizeTimeoutInSeconds;
6332
+ return [4 /*yield*/, runIframe(url, this.domainUrl, authorizeTimeout)];
6237
6333
  case 3:
6238
6334
  codeResult = _a.sent();
6239
6335
  if (stateIn !== codeResult.state) {
6240
6336
  throw new Error('Invalid state');
6241
6337
  }
6242
6338
  scope = options.scope, audience = options.audience, customOptions = __rest(options, ["scope", "audience", "redirect_uri", "ignoreCache", "timeoutInSeconds", "detailedResponse"]);
6243
- return [4 /*yield*/, oauthToken(__assign(__assign(__assign({}, this.customOptions), customOptions), { scope: scope, audience: audience, baseUrl: this.domainUrl, client_id: this.options.client_id, code_verifier: code_verifier, code: codeResult.code, grant_type: 'authorization_code', redirect_uri: params.redirect_uri, auth0Client: this.options.auth0Client, useFormData: this.options.useFormData }), this.worker)];
6339
+ return [4 /*yield*/, oauthToken(__assign(__assign(__assign({}, this.customOptions), customOptions), { scope: scope, audience: audience, baseUrl: this.domainUrl, client_id: this.options.client_id, code_verifier: code_verifier, code: codeResult.code, grant_type: 'authorization_code', redirect_uri: params.redirect_uri, auth0Client: this.options.auth0Client, useFormData: this.options.useFormData, timeout: customOptions.timeout || this.httpTimeoutMs }), this.worker)];
6244
6340
  case 4:
6245
6341
  tokenResult = _a.sent();
6246
6342
  return [4 /*yield*/, this._verifyIdToken(tokenResult.id_token, nonceIn)];
@@ -6289,7 +6385,7 @@
6289
6385
  _a.label = 4;
6290
6386
  case 4:
6291
6387
  _a.trys.push([4, 6, , 9]);
6292
- return [4 /*yield*/, oauthToken(__assign(__assign(__assign(__assign(__assign({}, this.customOptions), customOptions), { audience: audience, scope: scope, baseUrl: this.domainUrl, client_id: this.options.client_id, grant_type: 'refresh_token', refresh_token: cache && cache.refresh_token, redirect_uri: redirect_uri }), (timeout && { timeout: timeout })), { auth0Client: this.options.auth0Client, useFormData: this.options.useFormData }), this.worker)];
6388
+ return [4 /*yield*/, oauthToken(__assign(__assign(__assign(__assign(__assign({}, this.customOptions), customOptions), { audience: audience, scope: scope, baseUrl: this.domainUrl, client_id: this.options.client_id, grant_type: 'refresh_token', refresh_token: cache && cache.refresh_token, redirect_uri: redirect_uri }), (timeout && { timeout: timeout })), { auth0Client: this.options.auth0Client, useFormData: this.options.useFormData, timeout: this.httpTimeoutMs }), this.worker)];
6293
6389
  case 5:
6294
6390
  tokenResult = _a.sent();
6295
6391
  return [3 /*break*/, 9];