UNPKG

137 kBJavaScriptView Raw
1/*!
2{
3 "copywrite": "Copyright (c) 2015-2017",
4 "date": "2019-07-22T13:35:36.736Z",
5 "describe": "",
6 "description": "node's deepEqual and deepStrictEqual algorithm.",
7 "file": "deep-equal-x.js",
8 "hash": "6658b371397451fe69f9",
9 "license": "MIT",
10 "version": "2.0.4"
11}
12*/
13(function webpackUniversalModuleDefinition(root, factory) {
14 if(typeof exports === 'object' && typeof module === 'object')
15 module.exports = factory();
16 else if(typeof define === 'function' && define.amd)
17 define([], factory);
18 else if(typeof exports === 'object')
19 exports["deepEqualX"] = factory();
20 else
21 root["deepEqualX"] = factory();
22})((function () {
23 'use strict';
24
25 if (typeof self !== 'undefined') {
26 return self;
27 }
28
29 if (typeof window !== 'undefined') {
30 return window;
31 }
32
33 if (typeof global !== 'undefined') {
34 return global;
35 }
36
37 return Function('return this')();
38}()), function() {
39return /******/ (function(modules) { // webpackBootstrap
40/******/ // The module cache
41/******/ var installedModules = {};
42/******/
43/******/ // The require function
44/******/ function __webpack_require__(moduleId) {
45/******/
46/******/ // Check if module is in cache
47/******/ if(installedModules[moduleId]) {
48/******/ return installedModules[moduleId].exports;
49/******/ }
50/******/ // Create a new module (and put it into the cache)
51/******/ var module = installedModules[moduleId] = {
52/******/ i: moduleId,
53/******/ l: false,
54/******/ exports: {}
55/******/ };
56/******/
57/******/ // Execute the module function
58/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
59/******/
60/******/ // Flag the module as loaded
61/******/ module.l = true;
62/******/
63/******/ // Return the exports of the module
64/******/ return module.exports;
65/******/ }
66/******/
67/******/
68/******/ // expose the modules object (__webpack_modules__)
69/******/ __webpack_require__.m = modules;
70/******/
71/******/ // expose the module cache
72/******/ __webpack_require__.c = installedModules;
73/******/
74/******/ // define getter function for harmony exports
75/******/ __webpack_require__.d = function(exports, name, getter) {
76/******/ if(!__webpack_require__.o(exports, name)) {
77/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
78/******/ }
79/******/ };
80/******/
81/******/ // define __esModule on exports
82/******/ __webpack_require__.r = function(exports) {
83/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
84/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
85/******/ }
86/******/ Object.defineProperty(exports, '__esModule', { value: true });
87/******/ };
88/******/
89/******/ // create a fake namespace object
90/******/ // mode & 1: value is a module id, require it
91/******/ // mode & 2: merge all properties of value into the ns
92/******/ // mode & 4: return value when already ns object
93/******/ // mode & 8|1: behave like require
94/******/ __webpack_require__.t = function(value, mode) {
95/******/ if(mode & 1) value = __webpack_require__(value);
96/******/ if(mode & 8) return value;
97/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
98/******/ var ns = Object.create(null);
99/******/ __webpack_require__.r(ns);
100/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
101/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
102/******/ return ns;
103/******/ };
104/******/
105/******/ // getDefaultExport function for compatibility with non-harmony modules
106/******/ __webpack_require__.n = function(module) {
107/******/ var getter = module && module.__esModule ?
108/******/ function getDefault() { return module['default']; } :
109/******/ function getModuleExports() { return module; };
110/******/ __webpack_require__.d(getter, 'a', getter);
111/******/ return getter;
112/******/ };
113/******/
114/******/ // Object.prototype.hasOwnProperty.call
115/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
116/******/
117/******/ // __webpack_public_path__
118/******/ __webpack_require__.p = "";
119/******/
120/******/
121/******/ // Load entry module and return exports
122/******/ return __webpack_require__(__webpack_require__.s = 14);
123/******/ })
124/************************************************************************/
125/******/ ([
126/* 0 */
127/***/ (function(module, exports, __webpack_require__) {
128
129"use strict";
130/*!
131 * is-primitive <https://github.com/jonschlinkert/is-primitive>
132 *
133 * Copyright (c) 2014-present, Jon Schlinkert.
134 * Released under the MIT License.
135 */
136
137
138
139module.exports = function isPrimitive(val) {
140 if (typeof val === 'object') {
141 return val === null;
142 }
143 return typeof val !== 'function';
144};
145
146
147/***/ }),
148/* 1 */
149/***/ (function(module, exports, __webpack_require__) {
150
151"use strict";
152
153
154var toStr = Object.prototype.toString;
155var hasSymbols = __webpack_require__(10)();
156
157if (hasSymbols) {
158 var symToStr = Symbol.prototype.toString;
159 var symStringRegex = /^Symbol\(.*\)$/;
160 var isSymbolObject = function isRealSymbolObject(value) {
161 if (typeof value.valueOf() !== 'symbol') {
162 return false;
163 }
164 return symStringRegex.test(symToStr.call(value));
165 };
166
167 module.exports = function isSymbol(value) {
168 if (typeof value === 'symbol') {
169 return true;
170 }
171 if (toStr.call(value) !== '[object Symbol]') {
172 return false;
173 }
174 try {
175 return isSymbolObject(value);
176 } catch (e) {
177 return false;
178 }
179 };
180} else {
181
182 module.exports = function isSymbol(value) {
183 // this environment does not support Symbols.
184 return false && false;
185 };
186}
187
188
189/***/ }),
190/* 2 */
191/***/ (function(module, exports, __webpack_require__) {
192
193"use strict";
194
195
196var strValue = String.prototype.valueOf;
197var tryStringObject = function tryStringObject(value) {
198 try {
199 strValue.call(value);
200 return true;
201 } catch (e) {
202 return false;
203 }
204};
205var toStr = Object.prototype.toString;
206var strClass = '[object String]';
207var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
208
209module.exports = function isString(value) {
210 if (typeof value === 'string') { return true; }
211 if (typeof value !== 'object') { return false; }
212 return hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;
213};
214
215
216/***/ }),
217/* 3 */
218/***/ (function(module, exports, __webpack_require__) {
219
220"use strict";
221
222
223var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
224var toStr = Object.prototype.toString;
225
226var isStandardArguments = function isArguments(value) {
227 if (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {
228 return false;
229 }
230 return toStr.call(value) === '[object Arguments]';
231};
232
233var isLegacyArguments = function isArguments(value) {
234 if (isStandardArguments(value)) {
235 return true;
236 }
237 return value !== null &&
238 typeof value === 'object' &&
239 typeof value.length === 'number' &&
240 value.length >= 0 &&
241 toStr.call(value) !== '[object Array]' &&
242 toStr.call(value.callee) === '[object Function]';
243};
244
245var supportsStandardArguments = (function () {
246 return isStandardArguments(arguments);
247}());
248
249isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
250
251module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
252
253
254/***/ }),
255/* 4 */
256/***/ (function(module, exports, __webpack_require__) {
257
258"use strict";
259
260
261var getDay = Date.prototype.getDay;
262var tryDateObject = function tryDateObject(value) {
263 try {
264 getDay.call(value);
265 return true;
266 } catch (e) {
267 return false;
268 }
269};
270
271var toStr = Object.prototype.toString;
272var dateClass = '[object Date]';
273var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
274
275module.exports = function isDateObject(value) {
276 if (typeof value !== 'object' || value === null) { return false; }
277 return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;
278};
279
280
281/***/ }),
282/* 5 */
283/***/ (function(module, exports, __webpack_require__) {
284
285"use strict";
286
287
288module.exports = function isObject(x) {
289 return typeof x === "object" && x !== null;
290};
291
292
293/***/ }),
294/* 6 */
295/***/ (function(module, exports) {
296
297/*!
298 * Determine if an object is a Buffer
299 *
300 * @author Feross Aboukhadijeh <https://feross.org>
301 * @license MIT
302 */
303
304module.exports = function isBuffer (obj) {
305 return obj != null && obj.constructor != null &&
306 typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
307}
308
309
310/***/ }),
311/* 7 */
312/***/ (function(module, exports, __webpack_require__) {
313
314//! stable.js 0.1.8, https://github.com/Two-Screen/stable
315//! © 2018 Angry Bytes and contributors. MIT licensed.
316
317(function (global, factory) {
318 true ? module.exports = factory() :
319 undefined;
320}(this, (function () { 'use strict';
321
322 // A stable array sort, because `Array#sort()` is not guaranteed stable.
323 // This is an implementation of merge sort, without recursion.
324
325 var stable = function (arr, comp) {
326 return exec(arr.slice(), comp)
327 };
328
329 stable.inplace = function (arr, comp) {
330 var result = exec(arr, comp);
331
332 // This simply copies back if the result isn't in the original array,
333 // which happens on an odd number of passes.
334 if (result !== arr) {
335 pass(result, null, arr.length, arr);
336 }
337
338 return arr
339 };
340
341 // Execute the sort using the input array and a second buffer as work space.
342 // Returns one of those two, containing the final result.
343 function exec(arr, comp) {
344 if (typeof(comp) !== 'function') {
345 comp = function (a, b) {
346 return String(a).localeCompare(b)
347 };
348 }
349
350 // Short-circuit when there's nothing to sort.
351 var len = arr.length;
352 if (len <= 1) {
353 return arr
354 }
355
356 // Rather than dividing input, simply iterate chunks of 1, 2, 4, 8, etc.
357 // Chunks are the size of the left or right hand in merge sort.
358 // Stop when the left-hand covers all of the array.
359 var buffer = new Array(len);
360 for (var chk = 1; chk < len; chk *= 2) {
361 pass(arr, comp, chk, buffer);
362
363 var tmp = arr;
364 arr = buffer;
365 buffer = tmp;
366 }
367
368 return arr
369 }
370
371 // Run a single pass with the given chunk size.
372 var pass = function (arr, comp, chk, result) {
373 var len = arr.length;
374 var i = 0;
375 // Step size / double chunk size.
376 var dbl = chk * 2;
377 // Bounds of the left and right chunks.
378 var l, r, e;
379 // Iterators over the left and right chunk.
380 var li, ri;
381
382 // Iterate over pairs of chunks.
383 for (l = 0; l < len; l += dbl) {
384 r = l + chk;
385 e = r + chk;
386 if (r > len) r = len;
387 if (e > len) e = len;
388
389 // Iterate both chunks in parallel.
390 li = l;
391 ri = r;
392 while (true) {
393 // Compare the chunks.
394 if (li < r && ri < e) {
395 // This works for a regular `sort()` compatible comparator,
396 // but also for a simple comparator like: `a > b`
397 if (comp(arr[li], arr[ri]) <= 0) {
398 result[i++] = arr[li++];
399 }
400 else {
401 result[i++] = arr[ri++];
402 }
403 }
404 // Nothing to compare, just flush what's left.
405 else if (li < r) {
406 result[i++] = arr[li++];
407 }
408 else if (ri < e) {
409 result[i++] = arr[ri++];
410 }
411 // Both iterators are at the chunk ends.
412 else {
413 break
414 }
415 }
416 }
417 };
418
419 return stable;
420
421})));
422
423
424/***/ }),
425/* 8 */
426/***/ (function(module, exports, __webpack_require__) {
427
428"use strict";
429
430
431var toStr = Object.prototype.toString;
432
433module.exports = function isArguments(value) {
434 var str = toStr.call(value);
435 var isArgs = str === '[object Arguments]';
436 if (!isArgs) {
437 isArgs = str !== '[object Array]' &&
438 value !== null &&
439 typeof value === 'object' &&
440 typeof value.length === 'number' &&
441 value.length >= 0 &&
442 toStr.call(value.callee) === '[object Function]';
443 }
444 return isArgs;
445};
446
447
448/***/ }),
449/* 9 */
450/***/ (function(module, exports, __webpack_require__) {
451
452"use strict";
453
454
455var slice = Array.prototype.slice;
456var isArgs = __webpack_require__(8);
457
458var origKeys = Object.keys;
459var keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(13);
460
461var originalKeys = Object.keys;
462
463keysShim.shim = function shimObjectKeys() {
464 if (Object.keys) {
465 var keysWorksWithArguments = (function () {
466 // Safari 5.0 bug
467 var args = Object.keys(arguments);
468 return args && args.length === arguments.length;
469 }(1, 2));
470 if (!keysWorksWithArguments) {
471 Object.keys = function keys(object) { // eslint-disable-line func-name-matching
472 if (isArgs(object)) {
473 return originalKeys(slice.call(object));
474 }
475 return originalKeys(object);
476 };
477 }
478 } else {
479 Object.keys = keysShim;
480 }
481 return Object.keys || keysShim;
482};
483
484module.exports = keysShim;
485
486
487/***/ }),
488/* 10 */
489/***/ (function(module, exports, __webpack_require__) {
490
491"use strict";
492/* WEBPACK VAR INJECTION */(function(global) {
493
494var origSymbol = global.Symbol;
495var hasSymbolSham = __webpack_require__(12);
496
497module.exports = function hasNativeSymbols() {
498 if (typeof origSymbol !== 'function') { return false; }
499 if (typeof Symbol !== 'function') { return false; }
500 if (typeof origSymbol('foo') !== 'symbol') { return false; }
501 if (typeof Symbol('bar') !== 'symbol') { return false; }
502
503 return hasSymbolSham();
504};
505
506/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(11)))
507
508/***/ }),
509/* 11 */
510/***/ (function(module, exports) {
511
512var g;
513
514// This works in non-strict mode
515g = (function() {
516 return this;
517})();
518
519try {
520 // This works if eval is allowed (see CSP)
521 g = g || new Function("return this")();
522} catch (e) {
523 // This works if the window reference is available
524 if (typeof window === "object") g = window;
525}
526
527// g can still be undefined, but nothing to do about it...
528// We return undefined, instead of nothing here, so it's
529// easier to handle this case. if(!global) { ...}
530
531module.exports = g;
532
533
534/***/ }),
535/* 12 */
536/***/ (function(module, exports, __webpack_require__) {
537
538"use strict";
539
540
541/* eslint complexity: [2, 17], max-statements: [2, 33] */
542module.exports = function hasSymbols() {
543 if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
544 if (typeof Symbol.iterator === 'symbol') { return true; }
545
546 var obj = {};
547 var sym = Symbol('test');
548 var symObj = Object(sym);
549 if (typeof sym === 'string') { return false; }
550
551 if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
552 if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
553
554 // temp disabled per https://github.com/ljharb/object.assign/issues/17
555 // if (sym instanceof Symbol) { return false; }
556 // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
557 // if (!(symObj instanceof Symbol)) { return false; }
558
559 // if (typeof Symbol.prototype.toString !== 'function') { return false; }
560 // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
561
562 var symVal = 42;
563 obj[sym] = symVal;
564 for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax
565 if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
566
567 if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
568
569 var syms = Object.getOwnPropertySymbols(obj);
570 if (syms.length !== 1 || syms[0] !== sym) { return false; }
571
572 if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
573
574 if (typeof Object.getOwnPropertyDescriptor === 'function') {
575 var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
576 if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
577 }
578
579 return true;
580};
581
582
583/***/ }),
584/* 13 */
585/***/ (function(module, exports, __webpack_require__) {
586
587"use strict";
588
589
590var keysShim;
591if (!Object.keys) {
592 // modified from https://github.com/es-shims/es5-shim
593 var has = Object.prototype.hasOwnProperty;
594 var toStr = Object.prototype.toString;
595 var isArgs = __webpack_require__(8); // eslint-disable-line global-require
596 var isEnumerable = Object.prototype.propertyIsEnumerable;
597 var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');
598 var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');
599 var dontEnums = [
600 'toString',
601 'toLocaleString',
602 'valueOf',
603 'hasOwnProperty',
604 'isPrototypeOf',
605 'propertyIsEnumerable',
606 'constructor'
607 ];
608 var equalsConstructorPrototype = function (o) {
609 var ctor = o.constructor;
610 return ctor && ctor.prototype === o;
611 };
612 var excludedKeys = {
613 $applicationCache: true,
614 $console: true,
615 $external: true,
616 $frame: true,
617 $frameElement: true,
618 $frames: true,
619 $innerHeight: true,
620 $innerWidth: true,
621 $onmozfullscreenchange: true,
622 $onmozfullscreenerror: true,
623 $outerHeight: true,
624 $outerWidth: true,
625 $pageXOffset: true,
626 $pageYOffset: true,
627 $parent: true,
628 $scrollLeft: true,
629 $scrollTop: true,
630 $scrollX: true,
631 $scrollY: true,
632 $self: true,
633 $webkitIndexedDB: true,
634 $webkitStorageInfo: true,
635 $window: true
636 };
637 var hasAutomationEqualityBug = (function () {
638 /* global window */
639 if (typeof window === 'undefined') { return false; }
640 for (var k in window) {
641 try {
642 if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
643 try {
644 equalsConstructorPrototype(window[k]);
645 } catch (e) {
646 return true;
647 }
648 }
649 } catch (e) {
650 return true;
651 }
652 }
653 return false;
654 }());
655 var equalsConstructorPrototypeIfNotBuggy = function (o) {
656 /* global window */
657 if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
658 return equalsConstructorPrototype(o);
659 }
660 try {
661 return equalsConstructorPrototype(o);
662 } catch (e) {
663 return false;
664 }
665 };
666
667 keysShim = function keys(object) {
668 var isObject = object !== null && typeof object === 'object';
669 var isFunction = toStr.call(object) === '[object Function]';
670 var isArguments = isArgs(object);
671 var isString = isObject && toStr.call(object) === '[object String]';
672 var theKeys = [];
673
674 if (!isObject && !isFunction && !isArguments) {
675 throw new TypeError('Object.keys called on a non-object');
676 }
677
678 var skipProto = hasProtoEnumBug && isFunction;
679 if (isString && object.length > 0 && !has.call(object, 0)) {
680 for (var i = 0; i < object.length; ++i) {
681 theKeys.push(String(i));
682 }
683 }
684
685 if (isArguments && object.length > 0) {
686 for (var j = 0; j < object.length; ++j) {
687 theKeys.push(String(j));
688 }
689 } else {
690 for (var name in object) {
691 if (!(skipProto && name === 'prototype') && has.call(object, name)) {
692 theKeys.push(String(name));
693 }
694 }
695 }
696
697 if (hasDontEnumBug) {
698 var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
699
700 for (var k = 0; k < dontEnums.length; ++k) {
701 if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
702 theKeys.push(dontEnums[k]);
703 }
704 }
705 }
706 return theKeys;
707 };
708}
709module.exports = keysShim;
710
711
712/***/ }),
713/* 14 */
714/***/ (function(module, __webpack_exports__, __webpack_require__) {
715
716"use strict";
717__webpack_require__.r(__webpack_exports__);
718
719// EXTERNAL MODULE: ./node_modules/is-date-object/index.js
720var is_date_object = __webpack_require__(4);
721var is_date_object_default = /*#__PURE__*/__webpack_require__.n(is_date_object);
722
723// EXTERNAL MODULE: ./node_modules/is-arguments/index.js
724var is_arguments = __webpack_require__(3);
725var is_arguments_default = /*#__PURE__*/__webpack_require__.n(is_arguments);
726
727// EXTERNAL MODULE: ./node_modules/is-primitive/index.js
728var is_primitive = __webpack_require__(0);
729var is_primitive_default = /*#__PURE__*/__webpack_require__.n(is_primitive);
730
731// EXTERNAL MODULE: ./node_modules/is-object/index.js
732var is_object = __webpack_require__(5);
733var is_object_default = /*#__PURE__*/__webpack_require__.n(is_object);
734
735// EXTERNAL MODULE: ./node_modules/is-buffer/index.js
736var is_buffer = __webpack_require__(6);
737var is_buffer_default = /*#__PURE__*/__webpack_require__.n(is_buffer);
738
739// EXTERNAL MODULE: ./node_modules/is-string/index.js
740var is_string = __webpack_require__(2);
741var is_string_default = /*#__PURE__*/__webpack_require__.n(is_string);
742
743// CONCATENATED MODULE: ./node_modules/to-string-tag-x/dist/to-string-tag-x.esm.js
744var nativeObjectToString = {}.toString;
745/**
746 * The `toStringTag` method returns "[object type]", where type is the
747 * object type.
748 *
749 * @param {*} [value] - The object of which to get the object type string.
750 * @returns {string} The object type string.
751 */
752
753var toStringTag = function toStringTag(value) {
754 if (value === null) {
755 return '[object Null]';
756 }
757
758 if (typeof value === 'undefined') {
759 return '[object Undefined]';
760 }
761
762 return nativeObjectToString.call(value);
763};
764
765/* harmony default export */ var to_string_tag_x_esm = (toStringTag);
766
767
768// CONCATENATED MODULE: ./node_modules/attempt-x/dist/attempt-x.esm.js
769/**
770 * This method attempts to invoke the function, returning either the result or
771 * the caught error object. Any additional arguments are provided to the
772 * function when it's invoked.
773 *
774 * @param {Function} [fn] - The function to attempt.
775 * @param {...*} [args] - The arguments to invoke the function with.
776 * @returns {object} Returns an object of the result.
777 */
778var attempt = function attempt(fn) {
779 try {
780 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
781 args[_key - 1] = arguments[_key];
782 }
783
784 return {
785 threw: false,
786
787 /* eslint-disable-next-line babel/no-invalid-this */
788 value: fn.apply(this, args)
789 };
790 } catch (e) {
791 return {
792 threw: true,
793 value: e
794 };
795 }
796};
797
798/* harmony default export */ var attempt_x_esm = (attempt);
799
800
801// CONCATENATED MODULE: ./node_modules/to-boolean-x/dist/to-boolean-x.esm.js
802/**
803 * The abstract operation ToBoolean converts argument to a value of type Boolean.
804 *
805 * @param {*} [value] - The value to be converted.
806 * @returns {boolean} 'true' if value is truthy; otherwise 'false'.
807 */
808var toBoolean = function toBoolean(value) {
809 return !!value;
810};
811
812/* harmony default export */ var to_boolean_x_esm = (toBoolean);
813
814
815// EXTERNAL MODULE: ./node_modules/is-symbol/index.js
816var is_symbol = __webpack_require__(1);
817var is_symbol_default = /*#__PURE__*/__webpack_require__.n(is_symbol);
818
819// CONCATENATED MODULE: ./node_modules/has-symbol-support-x/dist/has-symbol-support-x.esm.js
820var has_symbol_support_x_esm_this = undefined;
821
822function _newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }
823
824
825
826var hasSymbolSupport = attempt_x_esm(function () {
827 _newArrowCheck(this, has_symbol_support_x_esm_this);
828
829 /* eslint-disable-next-line compat/compat */
830 return typeof Symbol === 'function' && is_symbol_default()(Symbol(''));
831}.bind(undefined));
832/**
833 * Indicates if `Symbol`exists and creates the correct type.
834 * `true`, if it exists and creates the correct type, otherwise `false`.
835 *
836 * @type boolean
837 */
838
839/* harmony default export */ var has_symbol_support_x_esm = (hasSymbolSupport.threw === false && hasSymbolSupport.value === true);
840
841
842// CONCATENATED MODULE: ./node_modules/has-to-string-tag-x/dist/has-to-string-tag-x.esm.js
843
844
845/**
846 * Indicates if `Symbol.toStringTag`exists and is the correct type.
847 * `true`, if it exists and is the correct type, otherwise `false`.
848 *
849 * @type boolean
850 */
851
852/* harmony default export */ var has_to_string_tag_x_esm = (has_symbol_support_x_esm &&
853/* eslint-disable-next-line compat/compat */
854is_symbol_default()(Symbol.toStringTag));
855
856
857// CONCATENATED MODULE: ./node_modules/is-nil-x/dist/is-nil-x.esm.js
858/**
859 * Checks if `value` is `null` or `undefined`.
860 *
861 * @param {*} [value] - The value to check.
862 * @returns {boolean} Returns `true` if `value` is nullish, else `false`.
863 */
864var isNil = function isNil(value) {
865 /* eslint-disable-next-line lodash/prefer-is-nil */
866 return value === null || typeof value === 'undefined';
867};
868
869/* harmony default export */ var is_nil_x_esm = (isNil);
870
871
872// CONCATENATED MODULE: ./node_modules/require-object-coercible-x/dist/require-object-coercible-x.esm.js
873
874/**
875 * The abstract operation RequireObjectCoercible throws an error if argument
876 * is a value that cannot be converted to an Object using ToObject.
877 *
878 * @param {*} [value] - The `value` to check.
879 * @throws {TypeError} If `value` is a `null` or `undefined`.
880 * @returns {string} The `value`.
881 */
882
883var require_object_coercible_x_esm_requireObjectCoercible = function requireObjectCoercible(value) {
884 if (is_nil_x_esm(value)) {
885 throw new TypeError("Cannot call method on ".concat(value));
886 }
887
888 return value;
889};
890
891/* harmony default export */ var require_object_coercible_x_esm = (require_object_coercible_x_esm_requireObjectCoercible);
892
893
894// CONCATENATED MODULE: ./node_modules/to-string-x/dist/to-string-x.esm.js
895
896var ERROR_MESSAGE = 'Cannot convert a Symbol value to a string';
897var castString = ERROR_MESSAGE.constructor;
898/**
899 * The abstract operation ToString converts argument to a value of type String.
900 *
901 * @param {*} [value] - The value to convert to a string.
902 * @throws {TypeError} If `value` is a Symbol.
903 * @returns {string} The converted value.
904 */
905
906var to_string_x_esm_ToString = function ToString(value) {
907 if (is_symbol_default()(value)) {
908 throw new TypeError(ERROR_MESSAGE);
909 }
910
911 return castString(value);
912};
913
914/* harmony default export */ var to_string_x_esm = (to_string_x_esm_ToString);
915
916
917// CONCATENATED MODULE: ./node_modules/require-coercible-to-string-x/dist/require-coercible-to-string-x.esm.js
918
919
920/**
921 * This method requires an argument is corecible then converts using ToString.
922 *
923 * @param {*} [value] - The value to converted to a string.
924 * @throws {TypeError} If value is null or undefined.
925 * @returns {string} The value as a string.
926 */
927
928var require_coercible_to_string_x_esm_requireCoercibleToString = function requireCoercibleToString(value) {
929 return to_string_x_esm(require_object_coercible_x_esm(value));
930};
931
932/* harmony default export */ var require_coercible_to_string_x_esm = (require_coercible_to_string_x_esm_requireCoercibleToString);
933
934
935// CONCATENATED MODULE: ./node_modules/white-space-x/dist/white-space-x.esm.js
936/**
937 * A record of a white space character.
938 *
939 * @typedef {object} CharRecord
940 * @property {number} code - The character code.
941 * @property {string} description - A description of the character.
942 * @property {boolean} es5 - Whether the spec lists this as a white space.
943 * @property {boolean} es2015 - Whether the spec lists this as a white space.
944 * @property {boolean} es2016 - Whether the spec lists this as a white space.
945 * @property {boolean} es2017 - Whether the spec lists this as a white space.
946 * @property {boolean} es2018 - Whether the spec lists this as a white space.
947 * @property {string} string - The character string.
948 */
949
950/**
951 * An array of the whitespace char codes, string, descriptions and language
952 * presence in the specifications.
953 *
954 * @type Array.<CharRecord>
955 */
956var list = [{
957 code: 0x0009,
958 description: 'Tab',
959 es5: true,
960 es2015: true,
961 es2016: true,
962 es2017: true,
963 es2018: true,
964 string: "\t"
965}, {
966 code: 0x000a,
967 description: 'Line Feed',
968 es5: true,
969 es2015: true,
970 es2016: true,
971 es2017: true,
972 es2018: true,
973 string: "\n"
974}, {
975 code: 0x000b,
976 description: 'Vertical Tab',
977 es5: true,
978 es2015: true,
979 es2016: true,
980 es2017: true,
981 es2018: true,
982 string: "\x0B"
983}, {
984 code: 0x000c,
985 description: 'Form Feed',
986 es5: true,
987 es2015: true,
988 es2016: true,
989 es2017: true,
990 es2018: true,
991 string: "\f"
992}, {
993 code: 0x000d,
994 description: 'Carriage Return',
995 es5: true,
996 es2015: true,
997 es2016: true,
998 es2017: true,
999 es2018: true,
1000 string: "\r"
1001}, {
1002 code: 0x0020,
1003 description: 'Space',
1004 es5: true,
1005 es2015: true,
1006 es2016: true,
1007 es2017: true,
1008 es2018: true,
1009 string: " "
1010},
1011/*
1012{
1013 code: 0x0085,
1014 description: 'Next line',
1015 es5: false,
1016 es2015: false,
1017 es2016: false,
1018 es2017: false,
1019 es2018: false,
1020 string: '\u0085'
1021}
1022*/
1023{
1024 code: 0x00a0,
1025 description: 'No-break space',
1026 es5: true,
1027 es2015: true,
1028 es2016: true,
1029 es2017: true,
1030 es2018: true,
1031 string: "\xA0"
1032}, {
1033 code: 0x1680,
1034 description: 'Ogham space mark',
1035 es5: true,
1036 es2015: true,
1037 es2016: true,
1038 es2017: true,
1039 es2018: true,
1040 string: "\u1680"
1041}, {
1042 code: 0x180e,
1043 description: 'Mongolian vowel separator',
1044 es5: true,
1045 es2015: true,
1046 es2016: true,
1047 es2017: false,
1048 es2018: false,
1049 string: "\u180E"
1050}, {
1051 code: 0x2000,
1052 description: 'En quad',
1053 es5: true,
1054 es2015: true,
1055 es2016: true,
1056 es2017: true,
1057 es2018: true,
1058 string: "\u2000"
1059}, {
1060 code: 0x2001,
1061 description: 'Em quad',
1062 es5: true,
1063 es2015: true,
1064 es2016: true,
1065 es2017: true,
1066 es2018: true,
1067 string: "\u2001"
1068}, {
1069 code: 0x2002,
1070 description: 'En space',
1071 es5: true,
1072 es2015: true,
1073 es2016: true,
1074 es2017: true,
1075 es2018: true,
1076 string: "\u2002"
1077}, {
1078 code: 0x2003,
1079 description: 'Em space',
1080 es5: true,
1081 es2015: true,
1082 es2016: true,
1083 es2017: true,
1084 es2018: true,
1085 string: "\u2003"
1086}, {
1087 code: 0x2004,
1088 description: 'Three-per-em space',
1089 es5: true,
1090 es2015: true,
1091 es2016: true,
1092 es2017: true,
1093 es2018: true,
1094 string: "\u2004"
1095}, {
1096 code: 0x2005,
1097 description: 'Four-per-em space',
1098 es5: true,
1099 es2015: true,
1100 es2016: true,
1101 es2017: true,
1102 es2018: true,
1103 string: "\u2005"
1104}, {
1105 code: 0x2006,
1106 description: 'Six-per-em space',
1107 es5: true,
1108 es2015: true,
1109 es2016: true,
1110 es2017: true,
1111 es2018: true,
1112 string: "\u2006"
1113}, {
1114 code: 0x2007,
1115 description: 'Figure space',
1116 es5: true,
1117 es2015: true,
1118 es2016: true,
1119 es2017: true,
1120 es2018: true,
1121 string: "\u2007"
1122}, {
1123 code: 0x2008,
1124 description: 'Punctuation space',
1125 es5: true,
1126 es2015: true,
1127 es2016: true,
1128 es2017: true,
1129 es2018: true,
1130 string: "\u2008"
1131}, {
1132 code: 0x2009,
1133 description: 'Thin space',
1134 es5: true,
1135 es2015: true,
1136 es2016: true,
1137 es2017: true,
1138 es2018: true,
1139 string: "\u2009"
1140}, {
1141 code: 0x200a,
1142 description: 'Hair space',
1143 es5: true,
1144 es2015: true,
1145 es2016: true,
1146 es2017: true,
1147 es2018: true,
1148 string: "\u200A"
1149},
1150/*
1151{
1152 code: 0x200b,
1153 description: 'Zero width space',
1154 es5: false,
1155 es2015: false,
1156 es2016: false,
1157 es2017: false,
1158 es2018: false,
1159 string: '\u200b'
1160},
1161*/
1162{
1163 code: 0x2028,
1164 description: 'Line separator',
1165 es5: true,
1166 es2015: true,
1167 es2016: true,
1168 es2017: true,
1169 es2018: true,
1170 string: "\u2028"
1171}, {
1172 code: 0x2029,
1173 description: 'Paragraph separator',
1174 es5: true,
1175 es2015: true,
1176 es2016: true,
1177 es2017: true,
1178 es2018: true,
1179 string: "\u2029"
1180}, {
1181 code: 0x202f,
1182 description: 'Narrow no-break space',
1183 es5: true,
1184 es2015: true,
1185 es2016: true,
1186 es2017: true,
1187 es2018: true,
1188 string: "\u202F"
1189}, {
1190 code: 0x205f,
1191 description: 'Medium mathematical space',
1192 es5: true,
1193 es2015: true,
1194 es2016: true,
1195 es2017: true,
1196 es2018: true,
1197 string: "\u205F"
1198}, {
1199 code: 0x3000,
1200 description: 'Ideographic space',
1201 es5: true,
1202 es2015: true,
1203 es2016: true,
1204 es2017: true,
1205 es2018: true,
1206 string: "\u3000"
1207}, {
1208 code: 0xfeff,
1209 description: 'Byte Order Mark',
1210 es5: true,
1211 es2015: true,
1212 es2016: true,
1213 es2017: true,
1214 es2018: true,
1215 string: "\uFEFF"
1216}];
1217/**
1218 * A string of the ES5 to ES2016 whitespace characters.
1219 *
1220 * @type string
1221 */
1222
1223var stringES2016 = '';
1224/**
1225 * A string of the ES2017 to ES2018 whitespace characters.
1226 *
1227 * @type string
1228 */
1229
1230var stringES2018 = '';
1231var white_space_x_esm_length = list.length;
1232
1233for (var white_space_x_esm_i = 0; white_space_x_esm_i < white_space_x_esm_length; white_space_x_esm_i += 1) {
1234 if (list[white_space_x_esm_i].es2016) {
1235 stringES2016 += list[white_space_x_esm_i].string;
1236 }
1237
1238 if (list[white_space_x_esm_i].es2018) {
1239 stringES2018 += list[white_space_x_esm_i].string;
1240 }
1241}
1242
1243var string2018 = stringES2018;
1244/* harmony default export */ var white_space_x_esm = (string2018);
1245var string2016 = stringES2016;
1246
1247
1248// CONCATENATED MODULE: ./node_modules/trim-left-x/dist/trim-left-x.esm.js
1249
1250
1251var EMPTY_STRING = '';
1252var RegExpCtr = /none/.constructor;
1253var reLeft2016 = new RegExpCtr("^[".concat(string2016, "]+"));
1254var reLeft = new RegExpCtr("^[".concat(white_space_x_esm, "]+"));
1255var replace = EMPTY_STRING.replace;
1256/**
1257 * This method removes whitespace from the left end of a string. (ES2016).
1258 *
1259 * @param {string} [string] - The string to trim the left end whitespace from.
1260 * @throws {TypeError} If string is null or undefined or not coercible.
1261 * @returns {string} The left trimmed string.
1262 */
1263
1264function trimLeft2016(string) {
1265 return replace.call(require_coercible_to_string_x_esm(string), reLeft2016, EMPTY_STRING);
1266}
1267/**
1268 * This method removes whitespace from the left end of a string. (ES2018).
1269 *
1270 * @param {string} [string] - The string to trim the left end whitespace from.
1271 * @throws {TypeError} If string is null or undefined or not coercible.
1272 * @returns {string} The left trimmed string.
1273 */
1274
1275var trim_left_x_esm_trimLeft2018 = function trimLeft2018(string) {
1276 return replace.call(require_coercible_to_string_x_esm(string), reLeft, EMPTY_STRING);
1277};
1278
1279/* harmony default export */ var trim_left_x_esm = (trim_left_x_esm_trimLeft2018);
1280
1281
1282// CONCATENATED MODULE: ./node_modules/trim-right-x/dist/trim-right-x.esm.js
1283
1284
1285var trim_right_x_esm_EMPTY_STRING = '';
1286var trim_right_x_esm_RegExpCtr = /none/.constructor;
1287var reRight2016 = new trim_right_x_esm_RegExpCtr("[".concat(string2016, "]+$"));
1288var reRight2018 = new trim_right_x_esm_RegExpCtr("[".concat(white_space_x_esm, "]+$"));
1289var trim_right_x_esm_replace = trim_right_x_esm_EMPTY_STRING.replace;
1290/**
1291 * This method removes whitespace from the right end of a string. (ES2016).
1292 *
1293 * @param {string} [string] - The string to trim the right end whitespace from.
1294 * @throws {TypeError} If string is null or undefined or not coercible.
1295 * @returns {string} The right trimmed string.
1296 */
1297
1298function trimRight2016(string) {
1299 return trim_right_x_esm_replace.call(require_coercible_to_string_x_esm(string), reRight2016, trim_right_x_esm_EMPTY_STRING);
1300}
1301/**
1302 * This method removes whitespace from the right end of a string. (ES2018).
1303 *
1304 * @param {string} [string] - The string to trim the right end whitespace from.
1305 * @throws {TypeError} If string is null or undefined or not coercible.
1306 * @returns {string} The right trimmed string.
1307 */
1308
1309var trim_right_x_esm_trimRight2018 = function trimRight2018(string) {
1310 return trim_right_x_esm_replace.call(require_coercible_to_string_x_esm(string), reRight2018, trim_right_x_esm_EMPTY_STRING);
1311};
1312
1313/* harmony default export */ var trim_right_x_esm = (trim_right_x_esm_trimRight2018);
1314
1315
1316// CONCATENATED MODULE: ./node_modules/trim-x/dist/trim-x.esm.js
1317
1318
1319/**
1320 * This method removes whitespace from the left and right end of a string.
1321 * (ES2016).
1322 *
1323 * @param {string} [string] - The string to trim the whitespace from.
1324 * @throws {TypeError} If string is null or undefined or not coercible.
1325 * @returns {string} The trimmed string.
1326 */
1327
1328function trim2016(string) {
1329 return trimLeft2016(trimRight2016(string));
1330}
1331/**
1332 * This method removes whitespace from the left and right end of a string.
1333 * (ES2018).
1334 *
1335 * @param {string} [string] - The string to trim the whitespace from.
1336 * @throws {TypeError} If string is null or undefined or not coercible.
1337 * @returns {string} The trimmed string.
1338 */
1339
1340var trim_x_esm_trim2018 = function trim2018(string) {
1341 return trim_left_x_esm(trim_right_x_esm(string));
1342};
1343
1344/* harmony default export */ var trim_x_esm = (trim_x_esm_trim2018);
1345
1346
1347// CONCATENATED MODULE: ./node_modules/normalize-space-x/dist/normalize-space-x.esm.js
1348
1349
1350var SPACE = ' ';
1351var normalize_space_x_esm_RegExpCtr = /none/.constructor;
1352var reNormalize2016 = new normalize_space_x_esm_RegExpCtr("[".concat(string2016, "]+"), 'g');
1353var reNormalize2018 = new normalize_space_x_esm_RegExpCtr("[".concat(white_space_x_esm, "]+"), 'g');
1354var normalize_space_x_esm_replace = SPACE.replace;
1355/**
1356 * This method strips leading and trailing white-space from a string,
1357 * replaces sequences of whitespace characters by a single space,
1358 * and returns the resulting string. (ES2016).
1359 *
1360 * @param {string} [string] - The string to be normalized.
1361 * @throws {TypeError} If string is null or undefined or not coercible.
1362 * @returns {string} The normalized string.
1363 */
1364
1365function normalizeSpace2016(string) {
1366 return normalize_space_x_esm_replace.call(trim2016(string), reNormalize2016, SPACE);
1367}
1368/**
1369 * This method strips leading and trailing white-space from a string,
1370 * replaces sequences of whitespace characters by a single space,
1371 * and returns the resulting string. (ES2018).
1372 *
1373 * @param {string} [string] - The string to be normalized.
1374 * @throws {TypeError} If string is null or undefined or not coercible.
1375 */
1376
1377var normalize_space_x_esm_normalizeSpace2018 = function normalizeSpace2018(string) {
1378 return normalize_space_x_esm_replace.call(trim_x_esm(string), reNormalize2018, SPACE);
1379};
1380
1381/* harmony default export */ var normalize_space_x_esm = (normalize_space_x_esm_normalizeSpace2018);
1382
1383
1384// CONCATENATED MODULE: ./node_modules/replace-comments-x/dist/replace-comments-x.esm.js
1385
1386
1387var replace_comments_x_esm_EMPTY_STRING = '';
1388var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;
1389var replace_comments_x_esm_replace = replace_comments_x_esm_EMPTY_STRING.replace;
1390/**
1391 * This method replaces comments in a string.
1392 *
1393 * @param {string} [string] - The string to be stripped.
1394 * @param {string} [replacement=''] - The string to be used as a replacement.
1395 * @throws {TypeError} If string is null or undefined or not coercible.
1396 * @throws {TypeError} If replacement is not coercible.
1397 * @returns {string} The new string with the comments replaced.
1398 */
1399
1400var replace_comments_x_esm_replaceComments = function replaceComments(string, replacement) {
1401 return replace_comments_x_esm_replace.call(require_coercible_to_string_x_esm(string), STRIP_COMMENTS, arguments.length > 1 ? to_string_x_esm(replacement) : replace_comments_x_esm_EMPTY_STRING);
1402};
1403
1404/* harmony default export */ var replace_comments_x_esm = (replace_comments_x_esm_replaceComments);
1405
1406
1407// CONCATENATED MODULE: ./node_modules/is-function-x/dist/is-function-x.esm.js
1408var is_function_x_esm_this = undefined;
1409
1410function is_function_x_esm_newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }
1411
1412
1413
1414
1415
1416
1417
1418
1419var FunctionCtr = attempt_x_esm.constructor;
1420var castBoolean = true.constructor;
1421var is_function_x_esm_SPACE = ' ';
1422var fToString = attempt_x_esm.toString;
1423var funcTag = '[object Function]';
1424var genTag = '[object GeneratorFunction]';
1425var asyncTag = '[object AsyncFunction]';
1426var ctrRx = /^class /;
1427var test = ctrRx.test;
1428var hasNativeClass = attempt_x_esm(function () {
1429 is_function_x_esm_newArrowCheck(this, is_function_x_esm_this);
1430
1431 /* eslint-disable-next-line babel/new-cap */
1432 return FunctionCtr('"use strict"; return class My {};')();
1433}.bind(undefined)).threw === false;
1434
1435var testClassstring = function _testClassstring(value) {
1436 return test.call(ctrRx, normalize_space_x_esm(replace_comments_x_esm(fToString.call(value), is_function_x_esm_SPACE)));
1437};
1438
1439var isES6ClassFn = function isES6ClassFunc(value) {
1440 var result = attempt_x_esm(testClassstring, value);
1441 return result.threw === false && result.value;
1442};
1443/**
1444 * Checks if `value` is classified as a `Function` object.
1445 *
1446 * @private
1447 * @param {*} value - The value to check.
1448 * @param {boolean} allowClass - Whether to filter ES6 classes.
1449 * @returns {boolean} Returns `true` if `value` is correctly classified,
1450 * else `false`.
1451 */
1452
1453
1454var tryFuncToString = function funcToString(value, allowClass) {
1455 if (hasNativeClass && allowClass === false && isES6ClassFn(value)) {
1456 return false;
1457 }
1458
1459 return attempt_x_esm.call(value, fToString).threw === false;
1460};
1461/**
1462 * Checks if `value` is classified as a `Function` object.
1463 *
1464 * @param {*} value - The value to check.
1465 * @param {boolean} [allowClass=false] - Whether to filter ES6 classes.
1466 * @returns {boolean} Returns `true` if `value` is correctly classified,
1467 * else `false`.
1468 */
1469
1470
1471var is_function_x_esm_isFunction = function isFunction(value, allowClass) {
1472 if (is_primitive_default()(value)) {
1473 return false;
1474 }
1475
1476 if (has_to_string_tag_x_esm) {
1477 return tryFuncToString(value, to_boolean_x_esm(allowClass));
1478 }
1479
1480 if (hasNativeClass && castBoolean(allowClass) === false && isES6ClassFn(value)) {
1481 return false;
1482 }
1483
1484 var strTag = to_string_tag_x_esm(value);
1485 return strTag === funcTag || strTag === genTag || strTag === asyncTag;
1486};
1487
1488/* harmony default export */ var is_function_x_esm = (is_function_x_esm_isFunction);
1489
1490
1491// CONCATENATED MODULE: ./node_modules/is-object-like-x/dist/is-object-like-x.esm.js
1492
1493
1494/**
1495 * Checks if `value` is object-like. A value is object-like if it's not a
1496 * primitive and not a function.
1497 *
1498 * @param {*} [value] - The value to check.
1499 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
1500 */
1501
1502var is_object_like_x_esm_isObjectLike = function isObjectLike(value) {
1503 return is_primitive_default()(value) === false && is_function_x_esm(value, true) === false;
1504};
1505
1506/* harmony default export */ var is_object_like_x_esm = (is_object_like_x_esm_isObjectLike);
1507
1508
1509// CONCATENATED MODULE: ./node_modules/to-object-x/dist/to-object-x.esm.js
1510
1511var castObject = {}.constructor;
1512/**
1513 * The abstract operation ToObject converts argument to a value of
1514 * type Object.
1515 *
1516 * @param {*} value - The `value` to convert.
1517 * @throws {TypeError} If `value` is a `null` or `undefined`.
1518 * @returns {!object} The `value` converted to an object.
1519 */
1520
1521var to_object_x_esm_toObject = function toObject(value) {
1522 return castObject(require_object_coercible_x_esm(value));
1523};
1524
1525/* harmony default export */ var to_object_x_esm = (to_object_x_esm_toObject);
1526
1527
1528// CONCATENATED MODULE: ./node_modules/get-prototype-of-x/dist/get-prototype-of-x.esm.js
1529
1530
1531/**
1532 * This method returns the prototype (i.e. The value of the internal [[Prototype]] property)
1533 * of the specified object.
1534 *
1535 * @function getPrototypeOf
1536 * @param {*} obj - The object whose prototype is to be returned.
1537 * @returns {object} The prototype of the given object. If there are no inherited properties, null is returned.
1538 */
1539
1540var gpo;
1541gpo = {}.getPrototypeOf;
1542
1543if (gpo) {
1544 try {
1545 gpo = gpo(Object) === {}.prototype && gpo;
1546 } catch (ignore) {
1547 gpo = null;
1548 }
1549}
1550
1551if (gpo) {
1552 try {
1553 gpo(1);
1554 } catch (ignore) {
1555 /** @type {Function} */
1556 var $getPrototypeOf = gpo;
1557
1558 gpo = function getPrototypeOf(obj) {
1559 return $getPrototypeOf(to_object_x_esm(obj));
1560 };
1561 }
1562} else {
1563 gpo = function getPrototypeOf(obj) {
1564 var object = to_object_x_esm(obj);
1565 /* eslint-disable-next-line no-proto */
1566
1567 var proto = object.__proto__;
1568
1569 if (proto || proto === null) {
1570 return proto;
1571 }
1572
1573 if (is_function_x_esm(object.constructor)) {
1574 return object.constructor.prototype;
1575 }
1576
1577 if (object instanceof Object) {
1578 return Object.prototype;
1579 }
1580
1581 return null;
1582 };
1583}
1584
1585var getPO = gpo;
1586/* harmony default export */ var get_prototype_of_x_esm = (getPO);
1587
1588
1589// CONCATENATED MODULE: ./node_modules/is-error-x/dist/is-error-x.esm.js
1590
1591
1592
1593
1594var errorCheck = function checkIfError(value) {
1595 return to_string_tag_x_esm(value) === '[object Error]';
1596};
1597
1598if (errorCheck(Error.prototype) === false) {
1599 var errorProto = Error.prototype;
1600 var testStringTag = errorCheck;
1601
1602 errorCheck = function checkIfError(value) {
1603 return value === errorProto || testStringTag(value);
1604 };
1605}
1606/**
1607 * Determine whether or not a given `value` is an `Error` type.
1608 *
1609 * @param {*} value - The object to be tested.
1610 * @returns {boolean} Returns `true` if `value` is an `Error` type,
1611 * else `false`.
1612 */
1613
1614
1615var is_error_x_esm_isError = function isError(value) {
1616 if (is_object_like_x_esm(value) === false) {
1617 return false;
1618 }
1619
1620 var object = value;
1621 var maxLoop = 100;
1622
1623 while (object && maxLoop > -1) {
1624 if (errorCheck(object)) {
1625 return true;
1626 }
1627
1628 object = get_prototype_of_x_esm(object);
1629 maxLoop -= 1;
1630 }
1631
1632 return false;
1633};
1634
1635/* harmony default export */ var is_error_x_esm = (is_error_x_esm_isError);
1636
1637
1638// CONCATENATED MODULE: ./node_modules/to-primitive-x/dist/to-primitive-x.esm.js
1639
1640
1641
1642
1643
1644
1645
1646var ZERO = 0;
1647var ONE = 1;
1648/* eslint-disable-next-line no-void */
1649
1650var UNDEFINED = void ZERO;
1651var NUMBER = 'number';
1652var STRING = 'string';
1653var DEFAULT = 'default';
1654/** @type {StringConstructor} */
1655
1656var StringCtr = STRING.constructor;
1657/** @type {NumberConstructor} */
1658
1659var NumberCtr = ZERO.constructor;
1660/* eslint-disable-next-line compat/compat */
1661
1662var symToPrimitive = has_symbol_support_x_esm && Symbol.toPrimitive;
1663/* eslint-disable-next-line compat/compat */
1664
1665var symValueOf = has_symbol_support_x_esm && Symbol.prototype.valueOf;
1666var toStringOrder = ['toString', 'valueOf'];
1667var toNumberOrder = ['valueOf', 'toString'];
1668var orderLength = 2;
1669/**
1670 * @param {*} ordinary - The ordinary to convert.
1671 * @param {*} hint - The hint.
1672 * @returns {*} - The primitive.
1673 */
1674
1675var ordinaryToPrimitive = function _ordinaryToPrimitive(ordinary, hint) {
1676 require_object_coercible_x_esm(ordinary);
1677
1678 if (typeof hint !== 'string' || hint !== NUMBER && hint !== STRING) {
1679 throw new TypeError('hint must be "string" or "number"');
1680 }
1681
1682 var methodNames = hint === STRING ? toStringOrder : toNumberOrder;
1683 var method;
1684 var result;
1685
1686 for (var i = ZERO; i < orderLength; i += ONE) {
1687 method = ordinary[methodNames[i]];
1688
1689 if (is_function_x_esm(method)) {
1690 result = method.call(ordinary);
1691
1692 if (is_primitive_default()(result)) {
1693 return result;
1694 }
1695 }
1696 }
1697
1698 throw new TypeError('No default value');
1699};
1700/**
1701 * @param {*} object - The object.
1702 * @param {*} property - The property.
1703 * @returns {undefined|Function} - The method.
1704 */
1705
1706
1707var getMethod = function _getMethod(object, property) {
1708 var func = object[property];
1709
1710 if (is_nil_x_esm(func) === false) {
1711 if (is_function_x_esm(func) === false) {
1712 throw new TypeError("".concat(func, " returned for property ").concat(property, " of object ").concat(object, " is not a function"));
1713 }
1714
1715 return func;
1716 }
1717
1718 return UNDEFINED;
1719};
1720/**
1721 * Get the hint.
1722 *
1723 * @param {*} value - The value to compare.
1724 * @param {boolean} supplied - Was a value supplied.
1725 * @returns {string} - The hint string.
1726 */
1727
1728
1729var getHint = function getHint(value, supplied) {
1730 if (supplied) {
1731 if (value === StringCtr) {
1732 return STRING;
1733 }
1734
1735 if (value === NumberCtr) {
1736 return NUMBER;
1737 }
1738 }
1739
1740 return DEFAULT;
1741};
1742/**
1743 * Get the primitive from the exotic.
1744 *
1745 * @param {*} value - The exotic.
1746 * @returns {*} - The primitive.
1747 */
1748
1749
1750var to_primitive_x_esm_getExoticToPrim = function getExoticToPrim(value) {
1751 if (has_symbol_support_x_esm) {
1752 if (symToPrimitive) {
1753 return getMethod(value, symToPrimitive);
1754 }
1755
1756 if (is_symbol_default()(value)) {
1757 return symValueOf;
1758 }
1759 }
1760
1761 return UNDEFINED;
1762};
1763/**
1764 * This method converts a JavaScript object to a primitive value.
1765 * Note: When toPrimitive is called with no hint, then it generally behaves as
1766 * if the hint were Number. However, objects may over-ride this behaviour by
1767 * defining a @@toPrimitive method. Of the objects defined in this specification
1768 * only Date objects (see 20.3.4.45) and Symbol objects (see 19.4.3.4) over-ride
1769 * the default ToPrimitive behaviour. Date objects treat no hint as if the hint
1770 * were String.
1771 *
1772 * @param {*} input - The input to convert.
1773 * @param {NumberConstructor|StringConstructor} [preferredType] - The preferred type (String or Number).
1774 * @throws {TypeError} If unable to convert input to a primitive.
1775 * @returns {string|number} The converted input as a primitive.
1776 * @see {http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive}
1777 */
1778
1779
1780var to_primitive_x_esm_toPrimitive = function toPrimitive(input, preferredType) {
1781 if (is_primitive_default()(input)) {
1782 return input;
1783 }
1784
1785 var hint = getHint(preferredType, arguments.length > ONE);
1786 var exoticToPrim = to_primitive_x_esm_getExoticToPrim(input);
1787
1788 if (typeof exoticToPrim !== 'undefined') {
1789 var result = exoticToPrim.call(input, hint);
1790
1791 if (is_primitive_default()(result)) {
1792 return result;
1793 }
1794
1795 throw new TypeError('unable to convert exotic object to primitive');
1796 }
1797
1798 var newHint = hint === DEFAULT && (is_date_object_default()(input) || is_symbol_default()(input)) ? STRING : hint;
1799 return ordinaryToPrimitive(input, newHint === DEFAULT ? NUMBER : newHint);
1800};
1801
1802/* harmony default export */ var to_primitive_x_esm = (to_primitive_x_esm_toPrimitive);
1803
1804
1805// CONCATENATED MODULE: ./node_modules/to-property-key-x/dist/to-property-key-x.esm.js
1806function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
1807
1808
1809
1810
1811/**
1812 * This method Converts argument to a value that can be used as a property key.
1813 *
1814 * @param {*} argument - The argument to convert to a property key.
1815 * @throws {TypeError} If argument is not a symbol and is not coercible to a string.
1816 * @returns {string|Symbol} The converted argument.
1817 */
1818
1819var to_property_key_x_esm_toPropertyKey = function toPropertyKey(argument) {
1820 var key = to_primitive_x_esm(argument, String);
1821 return has_symbol_support_x_esm && _typeof(key) === 'symbol' ? key : to_string_x_esm(key);
1822};
1823
1824/* harmony default export */ var to_property_key_x_esm = (to_property_key_x_esm_toPropertyKey);
1825
1826
1827// CONCATENATED MODULE: ./node_modules/has-own-property-x/dist/has-own-property-x.esm.js
1828
1829
1830var hop = {}.hasOwnProperty;
1831/**
1832 * The `hasOwnProperty` method returns a boolean indicating whether
1833 * the `object` has the specified `property`. Does not attempt to fix known
1834 * issues in older browsers, but does ES6ify the method.
1835 *
1836 * @param {!object} object - The object to test.
1837 * @throws {TypeError} If object is null or undefined.
1838 * @param {string|number|Symbol} property - The name or Symbol of the property to test.
1839 * @returns {boolean} `true` if the property is set on `object`, else `false`.
1840 */
1841
1842var has_own_property_x_esm_hasOwnProperty = function hasOwnProperty(object, property) {
1843 return hop.call(to_object_x_esm(object), to_property_key_x_esm(property));
1844};
1845
1846/* harmony default export */ var has_own_property_x_esm = (has_own_property_x_esm_hasOwnProperty);
1847
1848
1849// CONCATENATED MODULE: ./node_modules/to-string-symbols-supported-x/dist/to-string-symbols-supported-x.esm.js
1850
1851
1852/* eslint-disable-next-line compat/compat */
1853
1854var pToString = has_symbol_support_x_esm && Symbol.prototype.toString;
1855var isSymbolFn = typeof pToString === 'function' && is_symbol_default.a;
1856/** @type {Function} */
1857
1858var to_string_symbols_supported_x_esm_castString = ''.constructor;
1859/**
1860 * The abstract operation ToString converts argument to a value of type String,
1861 * however the specification states that if the argument is a Symbol then a
1862 * 'TypeError' is thrown. This version also allows Symbols be converted to
1863 * a string. Other uncoercible exotics will still throw though.
1864 *
1865 * @param {*} [value] - The value to convert to a string.
1866 * @returns {string} The converted value.
1867 */
1868
1869var toStringSymbolsSupported = function toStringSymbolsSupported(value) {
1870 return isSymbolFn && isSymbolFn(value) ? pToString.call(value) : to_string_symbols_supported_x_esm_castString(value);
1871};
1872
1873/* harmony default export */ var to_string_symbols_supported_x_esm = (toStringSymbolsSupported);
1874
1875
1876// CONCATENATED MODULE: ./node_modules/nan-x/dist/nan-x.esm.js
1877/**
1878 * The constant NaN derived mathematically by 0 / 0.
1879 *
1880 * @type number
1881 */
1882/* harmony default export */ var nan_x_esm = (0 / 0);
1883
1884
1885// CONCATENATED MODULE: ./node_modules/parse-int-x/dist/parse-int-x.esm.js
1886
1887
1888
1889var nativeParseInt = parseInt;
1890/** @type {Function} */
1891
1892var castNumber = 0 .constructor; // noinspection JSPotentiallyInvalidConstructorUsage
1893
1894var _ref = '',
1895 charAt = _ref.charAt;
1896var hexRegex = /^[-+]?0[xX]/;
1897var parse_int_x_esm_test = hexRegex.test;
1898/**
1899 * This method parses a string argument and returns an integer of the specified
1900 * radix (the base in mathematical numeral systems). (ES2016).
1901 *
1902 * @param {string} [string] - The value to parse. If the string argument is not a
1903 * string, then it is converted to a string (using the ToString abstract
1904 * operation). Leading whitespace in the string argument is ignored.
1905 * @param {number} [radix] - An integer between 2 and 36 that represents the radix
1906 * (the base in mathematical numeral systems) of the above mentioned string.
1907 * Specify 10 for the decimal numeral system commonly used by humans. Always
1908 * specify this parameter to eliminate reader confusion and to guarantee
1909 * predictable behavior. Different implementations produce different results
1910 * when a radix is not specified, usually defaulting the value to 10.
1911 * @throws {TypeError} If target is a Symbol or is not coercible.
1912 * @returns {number} An integer number parsed from the given string. If the first
1913 * character cannot be converted to a number, NaN is returned.
1914 */
1915
1916function parseInt2016(string, radix) {
1917 var str = trimLeft2016(to_string_x_esm(string));
1918 return nativeParseInt(str, castNumber(radix) || (parse_int_x_esm_test.call(hexRegex, str) ? 16 : 10));
1919}
1920/**
1921 * This method parses a string argument and returns an integer of the specified
1922 * radix (the base in mathematical numeral systems). (ES2018).
1923 *
1924 * @param {string} [string] - The value to parse. If the string argument is not a
1925 * string, then it is converted to a string (using the ToString abstract
1926 * operation). Leading whitespace in the string argument is ignored.
1927 * @param {number} [radix] - An integer between 2 and 36 that represents the radix
1928 * (the base in mathematical numeral systems) of the above mentioned string.
1929 * Specify 10 for the decimal numeral system commonly used by humans. Always
1930 * specify this parameter to eliminate reader confusion and to guarantee
1931 * predictable behavior. Different implementations produce different results
1932 * when a radix is not specified, usually defaulting the value to 10.
1933 * @throws {TypeError} If target is a Symbol or is not coercible.
1934 * @returns {number} An integer number parsed from the given string. If the first
1935 * character cannot be converted to a number, NaN is returned.
1936 */
1937
1938var parse_int_x_esm_parseInt2018 = function parseInt2018(string, radix) {
1939 var str = trim_left_x_esm(to_string_x_esm(string));
1940
1941 if (charAt.call(str, 0) === "\u180E") {
1942 return nan_x_esm;
1943 }
1944
1945 return nativeParseInt(str, castNumber(radix) || (parse_int_x_esm_test.call(hexRegex, str) ? 16 : 10));
1946};
1947
1948/* harmony default export */ var parse_int_x_esm = (parse_int_x_esm_parseInt2018);
1949
1950
1951// CONCATENATED MODULE: ./node_modules/to-number-x/dist/to-number-x.esm.js
1952
1953
1954
1955
1956
1957var binaryRadix = 2;
1958var octalRadix = 8;
1959var testCharsCount = 2;
1960var to_number_x_esm_ERROR_MESSAGE = 'Cannot convert a Symbol value to a number';
1961/** @type {NumberConstructor} */
1962
1963var to_number_x_esm_castNumber = testCharsCount.constructor;
1964var pStrSlice = to_number_x_esm_ERROR_MESSAGE.slice;
1965var binaryRegex = /^0b[01]+$/i;
1966var RegExpConstructor = binaryRegex.constructor; // Note that in IE 8, RegExp.prototype.test doesn't seem to exist: ie, "test" is
1967// an own property of regexes. wtf.
1968
1969var to_number_x_esm_test = binaryRegex.test;
1970
1971var isBinary = function _isBinary(value) {
1972 return to_number_x_esm_test.call(binaryRegex, value);
1973};
1974
1975var octalRegex = /^0o[0-7]+$/i;
1976
1977var isOctal = function _isOctal(value) {
1978 return to_number_x_esm_test.call(octalRegex, value);
1979};
1980
1981var nonWSregex2016 = new RegExpConstructor("[\x85\u200B\uFFFE]", 'g');
1982
1983var hasNonWS2016 = function _hasNonWS(value) {
1984 return to_number_x_esm_test.call(nonWSregex2016, value);
1985};
1986
1987var nonWSregex2018 = new RegExpConstructor("[\x85\u180E\u200B\uFFFE]", 'g');
1988
1989var hasNonWS2018 = function _hasNonWS(value) {
1990 return to_number_x_esm_test.call(nonWSregex2018, value);
1991};
1992
1993var invalidHexLiteral = /^[-+]0x[0-9a-f]+$/i;
1994
1995var isInvalidHexLiteral = function _isInvalidHexLiteral(value) {
1996 return to_number_x_esm_test.call(invalidHexLiteral, value);
1997};
1998/**
1999 * This method converts argument to a value of type Number. (ES2016).
2000 *
2001 * @param {*} [argument] - The argument to convert to a number.
2002 * @throws {TypeError} - If argument is a Symbol or not coercible.
2003 * @returns {*} The argument converted to a number.
2004 */
2005
2006
2007function toNumber2016(argument) {
2008 var value = to_primitive_x_esm(argument, Number);
2009
2010 if (is_symbol_default()(value)) {
2011 throw new TypeError(to_number_x_esm_ERROR_MESSAGE);
2012 }
2013
2014 if (typeof value === 'string') {
2015 if (isBinary(value)) {
2016 return toNumber2016(parseInt2016(pStrSlice.call(value, testCharsCount), binaryRadix));
2017 }
2018
2019 if (isOctal(value)) {
2020 return toNumber2016(parseInt2016(pStrSlice.call(value, testCharsCount), octalRadix));
2021 }
2022
2023 if (hasNonWS2016(value) || isInvalidHexLiteral(value)) {
2024 return nan_x_esm;
2025 }
2026
2027 var trimmed = trim2016(value);
2028
2029 if (trimmed !== value) {
2030 return toNumber2016(trimmed);
2031 }
2032 }
2033
2034 return to_number_x_esm_castNumber(value);
2035}
2036/**
2037 * This method converts argument to a value of type Number. (ES2018).
2038 *
2039 * @param {*} [argument] - The argument to convert to a number.
2040 * @throws {TypeError} - If argument is a Symbol or not coercible.
2041 * @returns {*} The argument converted to a number.
2042 */
2043
2044var to_number_x_esm_toNumber2018 = function toNumber2018(argument) {
2045 var value = to_primitive_x_esm(argument, to_number_x_esm_castNumber);
2046
2047 if (is_symbol_default()(value)) {
2048 throw new TypeError(to_number_x_esm_ERROR_MESSAGE);
2049 }
2050
2051 if (typeof value === 'string') {
2052 if (isBinary(value)) {
2053 return toNumber2018(parse_int_x_esm(pStrSlice.call(value, testCharsCount), binaryRadix));
2054 }
2055
2056 if (isOctal(value)) {
2057 return toNumber2018(parse_int_x_esm(pStrSlice.call(value, testCharsCount), octalRadix));
2058 }
2059
2060 if (hasNonWS2018(value) || isInvalidHexLiteral(value)) {
2061 return nan_x_esm;
2062 }
2063
2064 var trimmed = trim_x_esm(value);
2065
2066 if (trimmed !== value) {
2067 return toNumber2018(trimmed);
2068 }
2069 }
2070
2071 return to_number_x_esm_castNumber(value);
2072};
2073
2074/* harmony default export */ var to_number_x_esm = (to_number_x_esm_toNumber2018);
2075
2076
2077// CONCATENATED MODULE: ./node_modules/is-nan-x/dist/is-nan-x.esm.js
2078/**
2079 * This method determines whether the passed value is NaN and its type is
2080 * `Number`. It is a more robust version of the original, global isNaN().
2081 *
2082 * @param {*} [value] - The value to be tested for NaN.
2083 * @returns {boolean} `true` if the given value is NaN and its type is Number;
2084 * otherwise, `false`.
2085 */
2086var is_nan_x_esm_isNaN = function isNaN(value) {
2087 /* eslint-disable-next-line no-self-compare */
2088 return value !== value;
2089};
2090
2091/* harmony default export */ var is_nan_x_esm = (is_nan_x_esm_isNaN);
2092
2093
2094// CONCATENATED MODULE: ./node_modules/infinity-x/dist/infinity-x.esm.js
2095/**
2096 * The constant value Infinity derived mathematically by 1 / 0.
2097 *
2098 * @type number
2099 */
2100/* harmony default export */ var infinity_x_esm = (1 / 0);
2101
2102
2103// CONCATENATED MODULE: ./node_modules/is-finite-x/dist/is-finite-x.esm.js
2104
2105
2106/**
2107 * This method determines whether the passed value is a finite number.
2108 *
2109 * @param {*} [number] - The value to be tested for finiteness.
2110 * @returns {boolean} A Boolean indicating whether or not the given value is a finite number.
2111 */
2112
2113var is_finite_x_esm_isFinite = function isFinite(number) {
2114 return typeof number === 'number' && is_nan_x_esm(number) === false && number !== infinity_x_esm && number !== -infinity_x_esm;
2115};
2116
2117/* harmony default export */ var is_finite_x_esm = (is_finite_x_esm_isFinite);
2118
2119
2120// CONCATENATED MODULE: ./node_modules/math-sign-x/dist/math-sign-x.esm.js
2121
2122
2123/**
2124 * This method returns the sign of a number, indicating whether the number is positive,
2125 * negative or zero. (ES2016).
2126 *
2127 * @param {*} x - A number.
2128 * @returns {number} A number representing the sign of the given argument. If the argument
2129 * is a positive number, negative number, positive zero or negative zero, the function will
2130 * return 1, -1, 0 or -0 respectively. Otherwise, NaN is returned.
2131 */
2132
2133function sign2016(x) {
2134 var n = toNumber2016(x);
2135
2136 if (n === 0 || is_nan_x_esm(n)) {
2137 return n;
2138 }
2139
2140 return n > 0 ? 1 : -1;
2141}
2142/**
2143 * This method returns the sign of a number, indicating whether the number is positive,
2144 * negative or zero. (ES2018).
2145 *
2146 * @param {*} x - A number.
2147 * @returns {number} A number representing the sign of the given argument. If the argument
2148 * is a positive number, negative number, positive zero or negative zero, the function will
2149 * return 1, -1, 0 or -0 respectively. Otherwise, NaN is returned.
2150 */
2151
2152var math_sign_x_esm_sign2018 = function sign2018(x) {
2153 var n = to_number_x_esm(x);
2154
2155 if (n === 0 || is_nan_x_esm(n)) {
2156 return n;
2157 }
2158
2159 return n > 0 ? 1 : -1;
2160};
2161
2162/* harmony default export */ var math_sign_x_esm = (math_sign_x_esm_sign2018);
2163
2164
2165// CONCATENATED MODULE: ./node_modules/to-integer-x/dist/to-integer-x.esm.js
2166
2167
2168
2169
2170var abs = Math.abs,
2171 floor = Math.floor;
2172/**
2173 * Converts `value` to an integer. (ES2016).
2174 *
2175 * @param {*} value - The value to convert.
2176 * @returns {number} Returns the converted integer.
2177 */
2178
2179function toInteger2016(value) {
2180 var number = toNumber2016(value);
2181
2182 if (is_nan_x_esm(number)) {
2183 return 0;
2184 }
2185
2186 if (number === 0 || is_finite_x_esm(number) === false) {
2187 return number;
2188 }
2189
2190 return sign2016(number) * floor(abs(number));
2191}
2192/**
2193 * Converts `value` to an integer. (ES2018).
2194 *
2195 * @param {*} value - The value to convert.
2196 * @returns {number} Returns the converted integer.
2197 */
2198
2199var to_integer_x_esm_toInteger2018 = function toInteger2018(value) {
2200 var number = to_number_x_esm(value);
2201
2202 if (is_nan_x_esm(number)) {
2203 return 0;
2204 }
2205
2206 if (number === 0 || is_finite_x_esm(number) === false) {
2207 return number;
2208 }
2209
2210 return math_sign_x_esm(number) * floor(abs(number));
2211};
2212
2213/* harmony default export */ var to_integer_x_esm = (to_integer_x_esm_toInteger2018);
2214
2215
2216// CONCATENATED MODULE: ./node_modules/math-clamp-x/dist/math-clamp-x.esm.js
2217 // eslint-disable jsdoc/check-param-names
2218// noinspection JSCommentMatchesSignature
2219
2220/**
2221 * This method clamp a number to min and max limits inclusive.
2222 *
2223 * @param {number} value - The number to be clamped.
2224 * @param {number} [min=0] - The minimum number.
2225 * @param {number} max - The maximum number.
2226 * @throws {RangeError} If min > max.
2227 * @returns {number} The clamped number.
2228 */
2229// eslint-enable jsdoc/check-param-names
2230
2231var math_clamp_x_esm_clamp = function clamp(value) {
2232 var number = to_number_x_esm(value);
2233 var argsLength = arguments.length;
2234
2235 if (argsLength < 2) {
2236 return number;
2237 }
2238 /* eslint-disable-next-line prefer-rest-params */
2239
2240
2241 var min = to_number_x_esm(arguments[1]);
2242 var max;
2243
2244 if (argsLength < 3) {
2245 max = min;
2246 min = 0;
2247 } else {
2248 /* eslint-disable-next-line prefer-rest-params */
2249 max = to_number_x_esm(arguments[2]);
2250 }
2251
2252 if (min > max) {
2253 throw new RangeError('"min" must be less than "max"');
2254 }
2255
2256 if (number < min) {
2257 return min;
2258 }
2259
2260 if (number > max) {
2261 return max;
2262 }
2263
2264 return number;
2265};
2266
2267/* harmony default export */ var math_clamp_x_esm = (math_clamp_x_esm_clamp);
2268
2269
2270// CONCATENATED MODULE: ./node_modules/is-index-x/dist/is-index-x.esm.js
2271
2272
2273
2274
2275var MAX_SAFE_INTEGER = 9007199254740991;
2276var reIsUint = /^(?:0|[1-9]\d*)$/;
2277var rxTest = reIsUint.test;
2278/**
2279 * This method determines whether the passed value is a zero based index.
2280 * JavaScript arrays are zero-indexed: the first element of an array is at
2281 * index 0, and the last element is at the index equal to the value of the
2282 * array's length property minus 1.
2283 *
2284 * @param {number|string} value - The value to be tested for being a zero based index.
2285 * @param {number} [length=MAX_SAFE_INTEGER] - The length that sets the upper bound.
2286 * @returns {boolean} A Boolean indicating whether or not the given value is a
2287 * zero based index within bounds.
2288 */
2289
2290var is_index_x_esm_isIndex = function isIndex(value, length) {
2291 var string = to_string_symbols_supported_x_esm(value);
2292
2293 if (rxTest.call(reIsUint, string) === false) {
2294 return false;
2295 }
2296
2297 var number = to_number_x_esm(string);
2298
2299 if (arguments.length > 1) {
2300 return number < math_clamp_x_esm(to_integer_x_esm(length), MAX_SAFE_INTEGER);
2301 }
2302
2303 return number < MAX_SAFE_INTEGER;
2304};
2305
2306/* harmony default export */ var is_index_x_esm = (is_index_x_esm_isIndex);
2307
2308
2309// CONCATENATED MODULE: ./node_modules/property-is-enumerable-x/dist/property-is-enumerable-x.esm.js
2310
2311
2312var propIsEnumerable = {}.propertyIsEnumerable;
2313/**
2314 * This method returns a Boolean indicating whether the specified property is
2315 * enumerable. Does not attempt to fix bugs in IE<9 or old Opera, otherwise it
2316 * does ES6ify the method.
2317 *
2318 * @param {!object} object - The object on which to test the property.
2319 * @param {string|Symbol} property - The name of the property to test.
2320 * @throws {TypeError} If target is null or undefined.
2321 * @returns {boolean} A Boolean indicating whether the specified property is
2322 * enumerable.
2323 */
2324
2325var property_is_enumerable_x_esm_propertyIsEnumerable = function propertyIsEnumerable(object, property) {
2326 return propIsEnumerable.call(to_object_x_esm(object), to_property_key_x_esm(property));
2327};
2328
2329/* harmony default export */ var property_is_enumerable_x_esm = (property_is_enumerable_x_esm_propertyIsEnumerable);
2330
2331
2332// CONCATENATED MODULE: ./node_modules/object-get-own-property-descriptor-x/dist/object-get-own-property-descriptor-x.esm.js
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342/** @type {ObjectConstructor} */
2343
2344var object_get_own_property_descriptor_x_esm_castObject = {}.constructor;
2345/** @type {BooleanConstructor} */
2346
2347var object_get_own_property_descriptor_x_esm_castBoolean = true.constructor;
2348var nativeGOPD = typeof object_get_own_property_descriptor_x_esm_castObject.getOwnPropertyDescriptor === 'function' && object_get_own_property_descriptor_x_esm_castObject.getOwnPropertyDescriptor;
2349var getOPDFallback1;
2350var getOPDFallback2; // ES5 15.2.3.3
2351// http://es5.github.com/#x15.2.3.3
2352
2353var object_get_own_property_descriptor_x_esm_doesGOPDWork = function doesGOPDWork(object, prop) {
2354 object[to_property_key_x_esm(prop)] = 0;
2355 var testResult = attempt_x_esm(nativeGOPD, object, prop);
2356 return testResult.threw === false && testResult.value.value === 0;
2357}; // check whether getOwnPropertyDescriptor works if it's given. Otherwise, shim partially.
2358
2359/**
2360 * This method returns a property descriptor for an own property (that is,
2361 * one directly present on an object and not in the object's prototype chain)
2362 * of a given object.
2363 *
2364 * @param {*} object - The object in which to look for the property.
2365 * @param {*} property - The name of the property whose description is to be retrieved.
2366 * @returns {object} A property descriptor of the given property if it exists on the object, undefined otherwise.
2367 */
2368
2369
2370var $getOwnPropertyDescriptor;
2371
2372if (nativeGOPD) {
2373 var doc = typeof document !== 'undefined' && document;
2374 var getOPDWorksOnDom = doc ? object_get_own_property_descriptor_x_esm_doesGOPDWork(doc.createElement('div'), 'sentinel') : true;
2375
2376 if (getOPDWorksOnDom) {
2377 var res = attempt_x_esm(nativeGOPD, object_get_own_property_descriptor_x_esm_castObject('abc'), 1);
2378 var worksWithStr = res.threw === false && res.value && res.value.value === 'b';
2379
2380 if (worksWithStr) {
2381 var getOPDWorksOnObject = object_get_own_property_descriptor_x_esm_doesGOPDWork({}, 'sentinel');
2382
2383 if (getOPDWorksOnObject) {
2384 var worksWithPrim = attempt_x_esm(nativeGOPD, 42, 'name').threw === false;
2385 /* eslint-disable-next-line compat/compat */
2386
2387 var worksWithObjSym = has_symbol_support_x_esm && object_get_own_property_descriptor_x_esm_doesGOPDWork({}, object_get_own_property_descriptor_x_esm_castObject(Symbol('')));
2388
2389 if (worksWithObjSym) {
2390 if (worksWithPrim) {
2391 $getOwnPropertyDescriptor = nativeGOPD;
2392 } else {
2393 $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
2394 return nativeGOPD(to_object_x_esm(object), property);
2395 };
2396 }
2397 } else if (worksWithPrim) {
2398 $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
2399 return nativeGOPD(object, to_property_key_x_esm(property));
2400 };
2401 } else {
2402 $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
2403 return nativeGOPD(to_object_x_esm(object), to_property_key_x_esm(property));
2404 };
2405 }
2406 } else {
2407 getOPDFallback1 = nativeGOPD;
2408 }
2409 } else {
2410 getOPDFallback2 = nativeGOPD;
2411 }
2412 }
2413}
2414
2415if (object_get_own_property_descriptor_x_esm_castBoolean($getOwnPropertyDescriptor) === false || getOPDFallback1 || getOPDFallback2) {
2416 var prototypeOfObject = object_get_own_property_descriptor_x_esm_castObject.prototype; // If JS engine supports accessors creating shortcuts.
2417
2418 var lookupGetter;
2419 var lookupSetter;
2420 var supportsAccessors = has_own_property_x_esm(prototypeOfObject, '__defineGetter__');
2421
2422 if (supportsAccessors) {
2423 /* eslint-disable-next-line no-underscore-dangle */
2424 var lg = prototypeOfObject.__lookupGetter__;
2425 /* eslint-disable-next-line no-underscore-dangle */
2426
2427 var ls = prototypeOfObject.__lookupSetter__;
2428
2429 lookupGetter = function $lookupGetter(object, property) {
2430 return lg.call(object, property);
2431 };
2432
2433 lookupSetter = function $lookupSetter(object, property) {
2434 return ls.call(object, property);
2435 };
2436 }
2437
2438 $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
2439 var obj = to_object_x_esm(object);
2440 var propKey = to_property_key_x_esm(property);
2441 var result; // make a valiant attempt to use the real getOwnPropertyDescriptor for I8's DOM elements.
2442
2443 if (getOPDFallback1) {
2444 result = attempt_x_esm.call(object_get_own_property_descriptor_x_esm_castObject, getOPDFallback1, obj, propKey);
2445
2446 if (result.threw === false) {
2447 return result.value;
2448 } // try the shim if the real one doesn't work
2449
2450 }
2451
2452 var isStringIndex = is_string_default()(obj) && is_index_x_esm(propKey, obj.length);
2453
2454 if (getOPDFallback2 && isStringIndex === false) {
2455 result = attempt_x_esm.call(object_get_own_property_descriptor_x_esm_castObject, getOPDFallback2, obj, propKey);
2456
2457 if (result.threw === false) {
2458 return result.value;
2459 } // try the shim if the real one doesn't work
2460
2461 }
2462 /* eslint-disable-next-line no-void */
2463
2464
2465 var descriptor = void 0; // If object does not owns property return undefined immediately.
2466
2467 if (isStringIndex === false && has_own_property_x_esm(obj, propKey) === false) {
2468 return descriptor;
2469 } // If object has a property then it's for sure `configurable`, and
2470 // probably `enumerable`. Detect enumerability though.
2471
2472
2473 descriptor = {
2474 configurable: is_primitive_default()(object) === false && isStringIndex === false,
2475 enumerable: property_is_enumerable_x_esm(obj, propKey)
2476 }; // If JS engine supports accessor properties then property may be a
2477 // getter or setter.
2478
2479 if (supportsAccessors) {
2480 // Unfortunately `__lookupGetter__` will return a getter even
2481 // if object has own non getter property along with a same named
2482 // inherited getter. To avoid misbehavior we temporary remove
2483 // `__proto__` so that `__lookupGetter__` will return getter only
2484 // if it's owned by an object.
2485
2486 /* eslint-disable-next-line no-proto */
2487 var prototype = obj.__proto__;
2488 var notPrototypeOfObject = obj !== prototypeOfObject; // avoid recursion problem, breaking in Opera Mini when
2489 // Object.getOwnPropertyDescriptor(Object.prototype, 'toString')
2490 // or any other Object.prototype accessor
2491
2492 if (notPrototypeOfObject) {
2493 /* eslint-disable-next-line no-proto */
2494 obj.__proto__ = prototypeOfObject;
2495 }
2496
2497 var getter = lookupGetter(obj, propKey);
2498 var setter = lookupSetter(obj, propKey);
2499
2500 if (notPrototypeOfObject) {
2501 // Once we have getter and setter we can put values back.
2502
2503 /* eslint-disable-next-line no-proto */
2504 obj.__proto__ = prototype;
2505 }
2506
2507 if (getter || setter) {
2508 if (getter) {
2509 descriptor.get = getter;
2510 }
2511
2512 if (setter) {
2513 descriptor.set = setter;
2514 } // If it was accessor property we're done and return here
2515 // in order to avoid adding `value` to the descriptor.
2516
2517
2518 return descriptor;
2519 }
2520 } // If we got this far we know that object has an own property that is
2521 // not an accessor so we set it as a value and return descriptor.
2522
2523
2524 if (isStringIndex) {
2525 descriptor.value = obj.charAt(propKey);
2526 descriptor.writable = false;
2527 } else {
2528 descriptor.value = obj[propKey];
2529 descriptor.writable = true;
2530 }
2531
2532 return descriptor;
2533 };
2534}
2535
2536var gOPS = $getOwnPropertyDescriptor;
2537/* harmony default export */ var object_get_own_property_descriptor_x_esm = (gOPS);
2538
2539
2540// CONCATENATED MODULE: ./node_modules/is-integer-x/dist/is-integer-x.esm.js
2541
2542
2543/**
2544 * This method determines whether the passed value is an integer.
2545 *
2546 * @param {*} value - The value to be tested for being an integer.
2547 * @returns {boolean} A Boolean indicating whether or not the given value is an integer.
2548 */
2549
2550var is_integer_x_esm_isInteger = function isInteger(value) {
2551 return is_finite_x_esm(value) && to_integer_x_esm(value) === value;
2552};
2553
2554/* harmony default export */ var is_integer_x_esm = (is_integer_x_esm_isInteger);
2555
2556
2557// CONCATENATED MODULE: ./node_modules/is-safe-integer-x/dist/is-safe-integer-x.esm.js
2558
2559var is_safe_integer_x_esm_MAX_SAFE_INTEGER = 9007199254740991;
2560var MIN_SAFE_INTEGER = -is_safe_integer_x_esm_MAX_SAFE_INTEGER;
2561/**
2562 * This method determines whether the passed value is a safe integer.
2563 *
2564 * Can be exactly represented as an IEEE-754 double precision number, and
2565 * whose IEEE-754 representation cannot be the result of rounding any other
2566 * integer to fit the IEEE-754 representation.
2567 *
2568 * @param {*} value - The value to be tested for being a safe integer.
2569 * @returns {boolean} A Boolean indicating whether or not the given value is a
2570 * safe integer.
2571 */
2572
2573var is_safe_integer_x_esm_isSafeInteger = function isSafeInteger(value) {
2574 return is_integer_x_esm(value) && value >= MIN_SAFE_INTEGER && value <= is_safe_integer_x_esm_MAX_SAFE_INTEGER;
2575};
2576
2577/* harmony default export */ var is_safe_integer_x_esm = (is_safe_integer_x_esm_isSafeInteger);
2578
2579
2580// CONCATENATED MODULE: ./node_modules/is-length-x/dist/is-length-x.esm.js
2581
2582/**
2583 * This method checks if `value` is a valid array-like length.
2584 *
2585 * @param {*} value - The value to check.
2586 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
2587 */
2588
2589var is_length_x_esm_isLength = function isLength(value) {
2590 return is_safe_integer_x_esm(value) && value >= 0;
2591};
2592
2593/* harmony default export */ var is_length_x_esm = (is_length_x_esm_isLength);
2594
2595
2596// CONCATENATED MODULE: ./node_modules/is-map-x/dist/is-map-x.esm.js
2597var is_map_x_esm_this = undefined;
2598
2599function is_map_x_esm_newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }
2600
2601
2602
2603
2604
2605/** @type {BooleanConstructor} */
2606
2607var is_map_x_esm_castBoolean = true.constructor;
2608var getSize;
2609
2610if (typeof Map === 'function') {
2611 /* eslint-disable-next-line compat/compat */
2612 var is_map_x_esm_descriptor = object_get_own_property_descriptor_x_esm(Map.prototype, 'size');
2613
2614 if (is_map_x_esm_descriptor && typeof is_map_x_esm_descriptor.get === 'function') {
2615 var is_map_x_esm_res = attempt_x_esm(function () {
2616 is_map_x_esm_newArrowCheck(this, is_map_x_esm_this);
2617
2618 /* eslint-disable-next-line compat/compat */
2619 return new Map();
2620 }.bind(undefined));
2621
2622 if (is_map_x_esm_res.threw === false && is_object_like_x_esm(is_map_x_esm_res.value)) {
2623 is_map_x_esm_res = attempt_x_esm.call(is_map_x_esm_res.value, is_map_x_esm_descriptor.get);
2624
2625 if (is_map_x_esm_res.threw === false && is_length_x_esm(is_map_x_esm_res.value)) {
2626 getSize = is_map_x_esm_descriptor.get;
2627 }
2628 }
2629 }
2630}
2631/**
2632 * Determine if an `object` is a `Map`.
2633 *
2634 * @param {*} object - The object to test.
2635 * @returns {boolean} `true` if the `object` is a `Map`,
2636 * else `false`.
2637 */
2638
2639
2640var is_map_x_esm_isMap = function isMap(object) {
2641 if (is_map_x_esm_castBoolean(getSize) === false || is_object_like_x_esm(object) === false) {
2642 return false;
2643 }
2644
2645 var result = attempt_x_esm.call(object, getSize);
2646 return result.threw === false && is_length_x_esm(result.value);
2647};
2648
2649/* harmony default export */ var is_map_x_esm = (is_map_x_esm_isMap);
2650
2651
2652// CONCATENATED MODULE: ./node_modules/is-set-x/dist/is-set-x.esm.js
2653var is_set_x_esm_this = undefined;
2654
2655function is_set_x_esm_newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }
2656
2657
2658
2659
2660
2661/** @type {BooleanConstructor} */
2662
2663var is_set_x_esm_castBoolean = true.constructor;
2664var is_set_x_esm_getSize;
2665
2666if (typeof Set === 'function') {
2667 /* eslint-disable-next-line compat/compat */
2668 var is_set_x_esm_descriptor = object_get_own_property_descriptor_x_esm(Set.prototype, 'size');
2669
2670 if (is_set_x_esm_descriptor && typeof is_set_x_esm_descriptor.get === 'function') {
2671 var is_set_x_esm_res = attempt_x_esm(function () {
2672 is_set_x_esm_newArrowCheck(this, is_set_x_esm_this);
2673
2674 /* eslint-disable-next-line compat/compat */
2675 return new Set();
2676 }.bind(undefined));
2677
2678 if (is_set_x_esm_res.threw === false && is_object_like_x_esm(is_set_x_esm_res.value)) {
2679 is_set_x_esm_res = attempt_x_esm.call(is_set_x_esm_res.value, is_set_x_esm_descriptor.get);
2680
2681 if (is_set_x_esm_res.threw === false && is_length_x_esm(is_set_x_esm_res.value)) {
2682 is_set_x_esm_getSize = is_set_x_esm_descriptor.get;
2683 }
2684 }
2685 }
2686}
2687/**
2688 * Determine if an `object` is a `Set`.
2689 *
2690 * @param {*} object - The object to test.
2691 * @returns {boolean} `true` if the `object` is a `Set`,
2692 * else `false`.
2693 */
2694
2695
2696var is_set_x_esm_isSet = function isSet(object) {
2697 if (is_set_x_esm_castBoolean(is_set_x_esm_getSize) === false || is_object_like_x_esm(object) === false) {
2698 return false;
2699 }
2700
2701 var result = attempt_x_esm.call(object, is_set_x_esm_getSize);
2702 return result.threw === false && is_length_x_esm(result.value);
2703};
2704
2705/* harmony default export */ var is_set_x_esm = (is_set_x_esm_isSet);
2706
2707
2708// CONCATENATED MODULE: ./node_modules/assert-is-object-x/dist/assert-is-object-x.esm.js
2709
2710
2711/**
2712 * Tests `value` to see if it is an object, throws a `TypeError` if it is
2713 * not. Otherwise returns the `value`.
2714 *
2715 * @param {*} value - The argument to be tested.
2716 * @throws {TypeError} Throws if `value` is not an object.
2717 * @returns {*} Returns `value` if it is an object.
2718 */
2719
2720var assert_is_object_x_esm_assertIsObject = function assertIsObject(value) {
2721 if (is_primitive_default()(value)) {
2722 throw new TypeError("".concat(to_string_symbols_supported_x_esm(value), " is not an object"));
2723 }
2724
2725 return value;
2726};
2727
2728/* harmony default export */ var assert_is_object_x_esm = (assert_is_object_x_esm_assertIsObject);
2729
2730
2731// CONCATENATED MODULE: ./node_modules/object-define-property-x/dist/object-define-property-x.esm.js
2732
2733
2734
2735
2736
2737
2738/** @type {BooleanConstructor} */
2739
2740var object_define_property_x_esm_castBoolean = true.constructor;
2741var nativeDefProp = typeof Object.defineProperty === 'function' && Object.defineProperty;
2742var definePropertyFallback;
2743
2744var toPropertyDescriptor = function _toPropertyDescriptor(desc) {
2745 var object = to_object_x_esm(desc);
2746 var descriptor = {};
2747
2748 if (has_own_property_x_esm(object, 'enumerable')) {
2749 descriptor.enumerable = object_define_property_x_esm_castBoolean(object.enumerable);
2750 }
2751
2752 if (has_own_property_x_esm(object, 'configurable')) {
2753 descriptor.configurable = object_define_property_x_esm_castBoolean(object.configurable);
2754 }
2755
2756 if (has_own_property_x_esm(object, 'value')) {
2757 descriptor.value = object.value;
2758 }
2759
2760 if (has_own_property_x_esm(object, 'writable')) {
2761 descriptor.writable = object_define_property_x_esm_castBoolean(object.writable);
2762 }
2763
2764 if (has_own_property_x_esm(object, 'get')) {
2765 var getter = object.get;
2766
2767 if (typeof getter !== 'undefined' && is_function_x_esm(getter) === false) {
2768 throw new TypeError('getter must be a function');
2769 }
2770
2771 descriptor.get = getter;
2772 }
2773
2774 if (has_own_property_x_esm(object, 'set')) {
2775 var setter = object.set;
2776
2777 if (typeof setter !== 'undefined' && is_function_x_esm(setter) === false) {
2778 throw new TypeError('setter must be a function');
2779 }
2780
2781 descriptor.set = setter;
2782 }
2783
2784 if ((has_own_property_x_esm(descriptor, 'get') || has_own_property_x_esm(descriptor, 'set')) && (has_own_property_x_esm(descriptor, 'value') || has_own_property_x_esm(descriptor, 'writable'))) {
2785 throw new TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');
2786 }
2787
2788 return descriptor;
2789}; // ES5 15.2.3.6
2790// http://es5.github.com/#x15.2.3.6
2791// Patch for WebKit and IE8 standard mode
2792// Designed by hax <hax.github.com>
2793// related issue: https://github.com/es-shims/es5-shim/issues#issue/5
2794// IE8 Reference:
2795// http://msdn.microsoft.com/en-us/library/dd282900.aspx
2796// http://msdn.microsoft.com/en-us/library/dd229916.aspx
2797// WebKit Bugs:
2798// https://bugs.webkit.org/show_bug.cgi?id=36423
2799
2800/**
2801 * This method defines a new property directly on an object, or modifies an
2802 * existing property on an object, and returns the object.
2803 *
2804 * @param {object} object - The object on which to define the property.
2805 * @param {string} property - The name of the property to be defined or modified.
2806 * @param {object} descriptor - The descriptor for the property being defined or modified.
2807 * @returns {object} The object that was passed to the function.
2808 * });.
2809 */
2810
2811
2812var $defineProperty; // check whether defineProperty works if it's given. Otherwise, shim partially.
2813
2814if (nativeDefProp) {
2815 var testWorksWith = function _testWorksWith(object) {
2816 var testResult = attempt_x_esm(nativeDefProp, object, 'sentinel', {});
2817 return testResult.threw === false && testResult.value === object && 'sentinel' in object;
2818 };
2819
2820 var object_define_property_x_esm_doc = typeof document !== 'undefined' && document;
2821
2822 if (testWorksWith({}) && (object_define_property_x_esm_castBoolean(object_define_property_x_esm_doc) === false || testWorksWith(object_define_property_x_esm_doc.createElement('div')))) {
2823 $defineProperty = function defineProperty(object, property, descriptor) {
2824 return nativeDefProp(assert_is_object_x_esm(object), to_property_key_x_esm(property), toPropertyDescriptor(descriptor));
2825 };
2826 } else {
2827 definePropertyFallback = nativeDefProp;
2828 }
2829}
2830
2831if (object_define_property_x_esm_castBoolean(nativeDefProp) === false || definePropertyFallback) {
2832 var object_define_property_x_esm_prototypeOfObject = Object.prototype; // If JS engine supports accessors creating shortcuts.
2833
2834 var defineGetter;
2835 var defineSetter;
2836 var object_define_property_x_esm_lookupGetter;
2837 var object_define_property_x_esm_lookupSetter;
2838 var object_define_property_x_esm_supportsAccessors = has_own_property_x_esm(object_define_property_x_esm_prototypeOfObject, '__defineGetter__');
2839
2840 if (object_define_property_x_esm_supportsAccessors) {
2841 /* eslint-disable-next-line no-underscore-dangle,no-restricted-properties */
2842 defineGetter = object_define_property_x_esm_prototypeOfObject.__defineGetter__;
2843 /* eslint-disable-next-line no-underscore-dangle,no-restricted-properties */
2844
2845 defineSetter = object_define_property_x_esm_prototypeOfObject.__defineSetter__;
2846 /* eslint-disable-next-line no-underscore-dangle */
2847
2848 object_define_property_x_esm_lookupGetter = object_define_property_x_esm_prototypeOfObject.__lookupGetter__;
2849 /* eslint-disable-next-line no-underscore-dangle */
2850
2851 object_define_property_x_esm_lookupSetter = object_define_property_x_esm_prototypeOfObject.__lookupSetter__;
2852 }
2853
2854 $defineProperty = function defineProperty(object, property, descriptor) {
2855 assert_is_object_x_esm(object);
2856 var propKey = to_property_key_x_esm(property);
2857 var propDesc = toPropertyDescriptor(descriptor); // make a valiant attempt to use the real defineProperty for IE8's DOM elements.
2858
2859 if (definePropertyFallback) {
2860 var result = attempt_x_esm.call(Object, definePropertyFallback, object, propKey, propDesc);
2861
2862 if (result.threw === false) {
2863 return result.value;
2864 } // try the shim if the real one doesn't work
2865
2866 } // If it's a data property.
2867
2868
2869 if (has_own_property_x_esm(propDesc, 'value')) {
2870 // fail silently if 'writable', 'enumerable', or 'configurable' are requested but not supported
2871 if (object_define_property_x_esm_supportsAccessors && (object_define_property_x_esm_lookupGetter.call(object, propKey) || object_define_property_x_esm_lookupSetter.call(object, propKey))) {
2872 // As accessors are supported only on engines implementing
2873 // `__proto__` we can safely override `__proto__` while defining
2874 // a property to make sure that we don't hit an inherited accessor.
2875
2876 /* eslint-disable-next-line no-proto */
2877 var prototype = object.__proto__;
2878 /* eslint-disable-next-line no-proto */
2879
2880 object.__proto__ = object_define_property_x_esm_prototypeOfObject; // Deleting a property anyway since getter / setter may be defined on object itself.
2881
2882 delete object[propKey];
2883 object[propKey] = propDesc.value; // Setting original `__proto__` back now.
2884
2885 /* eslint-disable-next-line no-proto */
2886
2887 object.__proto__ = prototype;
2888 } else {
2889 object[propKey] = propDesc.value;
2890 }
2891 } else {
2892 if (object_define_property_x_esm_supportsAccessors === false && (propDesc.get || propDesc.set)) {
2893 throw new TypeError('getters & setters can not be defined on this javascript engine');
2894 } // If we got that far then getters and setters can be defined !!
2895
2896
2897 if (propDesc.get) {
2898 defineGetter.call(object, propKey, propDesc.get);
2899 }
2900
2901 if (propDesc.set) {
2902 defineSetter.call(object, propKey, propDesc.set);
2903 }
2904 }
2905
2906 return object;
2907 };
2908}
2909
2910var defProp = $defineProperty;
2911/* harmony default export */ var object_define_property_x_esm = (defProp);
2912
2913
2914// CONCATENATED MODULE: ./node_modules/is-regexp-x/dist/is-regexp-x.esm.js
2915
2916
2917
2918
2919
2920
2921var regexExec = /none/.exec;
2922var regexClass = '[object RegExp]';
2923
2924var tryRegexExecCall = function tryRegexExec(value, descriptor) {
2925 try {
2926 value.lastIndex = 0;
2927 regexExec.call(value);
2928 return true;
2929 } catch (e) {
2930 return false;
2931 } finally {
2932 object_define_property_x_esm(value, 'lastIndex', descriptor);
2933 }
2934};
2935/**
2936 * This method tests if a value is a regex.
2937 *
2938 * @param {*} value - The value to test.
2939 * @returns {boolean} `true` if value is a regex; otherwise `false`.
2940 */
2941
2942
2943var is_regexp_x_esm_isRegex = function isRegex(value) {
2944 if (is_object_like_x_esm(value) === false) {
2945 return false;
2946 }
2947
2948 if (has_to_string_tag_x_esm === false) {
2949 return to_string_tag_x_esm(value) === regexClass;
2950 }
2951
2952 var descriptor = object_get_own_property_descriptor_x_esm(value, 'lastIndex');
2953 var hasLastIndexDataProperty = descriptor && has_own_property_x_esm(descriptor, 'value');
2954
2955 if (hasLastIndexDataProperty !== true) {
2956 return false;
2957 }
2958
2959 return tryRegexExecCall(value, descriptor);
2960};
2961
2962/* harmony default export */ var is_regexp_x_esm = (is_regexp_x_esm_isRegex);
2963
2964
2965// CONCATENATED MODULE: ./node_modules/to-length-x/dist/to-length-x.esm.js
2966
2967var to_length_x_esm_MAX_SAFE_INTEGER = 9007199254740991;
2968/**
2969 * Converts `value` to an integer suitable for use as the length of an
2970 * array-like object. (ES2016).
2971 *
2972 * @param {*} value - The value to convert.
2973 * @returns {number} Returns the converted integer.
2974 */
2975
2976function toLength2016(value) {
2977 var len = toInteger2016(value); // includes converting -0 to +0
2978
2979 if (len <= 0) {
2980 return 0;
2981 }
2982
2983 if (len > to_length_x_esm_MAX_SAFE_INTEGER) {
2984 return to_length_x_esm_MAX_SAFE_INTEGER;
2985 }
2986
2987 return len;
2988}
2989/**
2990 * Converts `value` to an integer suitable for use as the length of an
2991 * array-like object. (ES2018).
2992 *
2993 * @param {*} value - The value to convert.
2994 * @returns {number} Returns the converted integer.
2995 */
2996
2997var to_length_x_esm_toLength2018 = function toLength2018(value) {
2998 var len = to_integer_x_esm(value); // includes converting -0 to +0
2999
3000 if (len <= 0) {
3001 return 0;
3002 }
3003
3004 if (len > to_length_x_esm_MAX_SAFE_INTEGER) {
3005 return to_length_x_esm_MAX_SAFE_INTEGER;
3006 }
3007
3008 return len;
3009};
3010
3011/* harmony default export */ var to_length_x_esm = (to_length_x_esm_toLength2018);
3012
3013
3014// CONCATENATED MODULE: ./node_modules/same-value-x/dist/same-value-x.esm.js
3015
3016/**
3017 * This method is the comparison abstract operation SameValue(x, y), where x
3018 * and y are ECMAScript language values, produces true or false.
3019 *
3020 * @param {*} [value1] - The first value to compare.
3021 * @param {*} [value2] - The second value to compare.
3022 * @returns {boolean} A Boolean indicating whether or not the two arguments are
3023 * the same value.
3024 */
3025
3026var same_value_x_esm_sameValue = function sameValue(value1, value2) {
3027 if (value1 === 0 && value2 === 0) {
3028 return 1 / value1 === 1 / value2;
3029 }
3030
3031 if (value1 === value2) {
3032 return true;
3033 }
3034
3035 return is_nan_x_esm(value1) && is_nan_x_esm(value2);
3036};
3037
3038/* harmony default export */ var same_value_x_esm = (same_value_x_esm_sameValue);
3039
3040
3041// CONCATENATED MODULE: ./node_modules/same-value-zero-x/dist/same-value-zero-x.esm.js
3042
3043/**
3044 * This method determines whether two values are the same value.
3045 * SameValueZero differs from SameValue (`Object.is`) only in its treatment
3046 * of +0 and -0.
3047 *
3048 * @param {*} [x] - The first value to compare.
3049 * @param {*} [y] - The second value to compare.
3050 * @returns {boolean} A Boolean indicating whether or not the two arguments
3051 * are the same value.
3052 */
3053
3054var same_value_zero_x_esm_sameValueZero = function sameValueZero(x, y) {
3055 return x === y || same_value_x_esm(x, y);
3056};
3057
3058/* harmony default export */ var same_value_zero_x_esm = (same_value_zero_x_esm_sameValueZero);
3059
3060
3061// CONCATENATED MODULE: ./node_modules/assert-is-function-x/dist/assert-is-function-x.esm.js
3062
3063
3064
3065/**
3066 * Tests `callback` to see if it is a function, throws a `TypeError` if it is
3067 * not. Otherwise returns the `callback`.
3068 *
3069 * @param {*} callback - The argument to be tested.
3070 * @throws {TypeError} Throws if `callback` is not a function.
3071 * @returns {*} Returns `callback` if it is function.
3072 */
3073
3074var assert_is_function_x_esm_assertIsFunction = function assertIsFunction(callback) {
3075 if (is_function_x_esm(callback) === false) {
3076 var msg = is_primitive_default()(callback) ? to_string_symbols_supported_x_esm(callback) : '#<Object>';
3077 throw new TypeError("".concat(msg, " is not a function"));
3078 }
3079
3080 return callback;
3081};
3082
3083/* harmony default export */ var assert_is_function_x_esm = (assert_is_function_x_esm_assertIsFunction);
3084
3085
3086// CONCATENATED MODULE: ./node_modules/has-boxed-string-x/dist/has-boxed-string-x.esm.js
3087var has_boxed_string_x_esm_string = 'a';
3088var boxedString = {}.constructor(has_boxed_string_x_esm_string);
3089/**
3090 * Check failure of by-index access of string characters (IE < 9)
3091 * and failure of `0 in boxedString` (Rhino).
3092 *
3093 * `true` if no failure; otherwise `false`.
3094 *
3095 * @type boolean
3096 */
3097
3098var hasBoxed = boxedString[0] === has_boxed_string_x_esm_string && 0 in boxedString;
3099/* harmony default export */ var has_boxed_string_x_esm = (hasBoxed);
3100
3101
3102// CONCATENATED MODULE: ./node_modules/split-if-boxed-bug-x/dist/split-if-boxed-bug-x.esm.js
3103
3104
3105var split_if_boxed_bug_x_esm_EMPTY_STRING = '';
3106var strSplit = split_if_boxed_bug_x_esm_EMPTY_STRING.split;
3107var isStringFn = has_boxed_string_x_esm === false && typeof strSplit === 'function' && is_string_default.a;
3108/**
3109 * This method tests if a value is a string with the boxed bug; splits to an
3110 * array for iteration; otherwise returns the original value.
3111 *
3112 * @param {*} [value] - The value to be tested.
3113 * @returns {*} An array or characters if value was a string with the boxed bug;
3114 * otherwise the value.
3115 */
3116
3117var splitIfBoxedBug = function splitIfBoxedBug(value) {
3118 return isStringFn && isStringFn(value) ? strSplit.call(value, split_if_boxed_bug_x_esm_EMPTY_STRING) : value;
3119};
3120
3121/* harmony default export */ var split_if_boxed_bug_x_esm = (splitIfBoxedBug);
3122
3123
3124// CONCATENATED MODULE: ./node_modules/find-index-x/dist/find-index-x.esm.js
3125var find_index_x_esm_this = undefined;
3126
3127function find_index_x_esm_newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }
3128
3129
3130
3131
3132
3133
3134var pFindIndex = typeof Array.prototype.findIndex === 'function' && Array.prototype.findIndex;
3135var isWorking;
3136
3137if (pFindIndex) {
3138 var testArr = [];
3139 testArr.length = 2;
3140 testArr[1] = 1;
3141 var find_index_x_esm_res = attempt_x_esm.call(testArr, pFindIndex, function (item, idx) {
3142 find_index_x_esm_newArrowCheck(this, find_index_x_esm_this);
3143
3144 return idx === 0;
3145 }.bind(undefined));
3146 isWorking = find_index_x_esm_res.threw === false && find_index_x_esm_res.value === 0;
3147
3148 if (isWorking) {
3149 find_index_x_esm_res = attempt_x_esm.call(1, pFindIndex, function (item, idx) {
3150 find_index_x_esm_newArrowCheck(this, find_index_x_esm_this);
3151
3152 return idx === 0;
3153 }.bind(undefined));
3154 isWorking = find_index_x_esm_res.threw === false && find_index_x_esm_res.value === -1;
3155 }
3156
3157 if (isWorking) {
3158 isWorking = attempt_x_esm.call([], pFindIndex).threw;
3159 }
3160
3161 if (isWorking) {
3162 find_index_x_esm_res = attempt_x_esm.call('abc', pFindIndex, function (item) {
3163 find_index_x_esm_newArrowCheck(this, find_index_x_esm_this);
3164
3165 return item === 'c';
3166 }.bind(undefined));
3167 isWorking = find_index_x_esm_res.threw === false && find_index_x_esm_res.value === 2;
3168 }
3169
3170 if (isWorking) {
3171 find_index_x_esm_res = attempt_x_esm.call(function getArgs() {
3172 /* eslint-disable-next-line prefer-rest-params */
3173 return arguments;
3174 }('a', 'b', 'c'), pFindIndex, function (item) {
3175 find_index_x_esm_newArrowCheck(this, find_index_x_esm_this);
3176
3177 return item === 'c';
3178 }.bind(undefined));
3179 isWorking = find_index_x_esm_res.threw === false && find_index_x_esm_res.value === 2;
3180 }
3181}
3182/**
3183 * Like `findIndex`, this method returns an index in the array, if an element
3184 * in the array satisfies the provided testing function. Otherwise -1 is returned.
3185 *
3186 * @param {Array} array - The array to search.
3187 * @throws {TypeError} If array is `null` or `undefined`-.
3188 * @param {Function} callback - Function to execute on each value in the array,
3189 * taking three arguments: `element`, `index` and `array`.
3190 * @throws {TypeError} If `callback` is not a function.
3191 * @param {*} [thisArg] - Object to use as `this` when executing `callback`.
3192 * @returns {number} Returns index of positively tested element, otherwise -1.
3193 */
3194
3195
3196var findIdx;
3197
3198if (isWorking) {
3199 findIdx = function findIndex(array, callback) {
3200 var args = [callback];
3201
3202 if (arguments.length > 2) {
3203 /* eslint-disable-next-line prefer-rest-params,prefer-destructuring */
3204 args[1] = arguments[2];
3205 }
3206
3207 return pFindIndex.apply(array, args);
3208 };
3209} else {
3210 findIdx = function findIndex(array, callback) {
3211 var object = to_object_x_esm(array);
3212 assert_is_function_x_esm(callback);
3213 var iterable = split_if_boxed_bug_x_esm(object);
3214 var length = to_length_x_esm(iterable.length);
3215
3216 if (length < 1) {
3217 return -1;
3218 }
3219
3220 var thisArg;
3221
3222 if (arguments.length > 2) {
3223 /* eslint-disable-next-line prefer-rest-params,prefer-destructuring */
3224 thisArg = arguments[2];
3225 }
3226
3227 var index = 0;
3228
3229 while (index < length) {
3230 if (callback.call(thisArg, iterable[index], index, object)) {
3231 return index;
3232 }
3233
3234 index += 1;
3235 }
3236
3237 return -1;
3238 };
3239}
3240
3241var fi = findIdx;
3242/* harmony default export */ var find_index_x_esm = (fi);
3243
3244
3245// CONCATENATED MODULE: ./node_modules/is-array-like-x/dist/is-array-like-x.esm.js
3246
3247
3248
3249/**
3250 * Checks if value is array-like. A value is considered array-like if it's
3251 * not a function and has a `length` that's an integer greater than or
3252 * equal to 0 and less than or equal to `Number.MAX_SAFE_INTEGER`.
3253 *
3254 * @param {*} value - The object to be tested.
3255 */
3256
3257var is_array_like_x_esm_isArrayLike = function isArrayLike(value) {
3258 return is_nil_x_esm(value) === false && is_function_x_esm(value, true) === false && is_length_x_esm(value.length);
3259};
3260
3261/* harmony default export */ var is_array_like_x_esm = (is_array_like_x_esm_isArrayLike);
3262
3263
3264// CONCATENATED MODULE: ./node_modules/calculate-from-index-x/dist/calculate-from-index-x.esm.js
3265
3266
3267
3268
3269
3270var getMax = function getMax(a, b) {
3271 return a >= b ? a : b;
3272};
3273/**
3274 * This method calculates a fromIndex of a given value for an array.
3275 *
3276 * @param {Array} array - * The array on which to calculate the starting index.
3277 * @throws {TypeError} If array is null or undefined.
3278 * @param {number} fromIndex - * The position in this array at which to begin. A
3279 * negative value gives the index of array.length + fromIndex by asc.
3280 * @returns {number} The calculated fromIndex. Default is 0.
3281 */
3282
3283
3284var calculate_from_index_x_esm_calcFromIndex = function calcFromIndex(array, fromIndex) {
3285 var object = to_object_x_esm(array);
3286
3287 if (is_array_like_x_esm(object) === false) {
3288 return 0;
3289 }
3290
3291 var index = to_integer_x_esm(fromIndex);
3292 return index >= 0 ? index : getMax(0, to_length_x_esm(object.length) + index);
3293};
3294
3295/* harmony default export */ var calculate_from_index_x_esm = (calculate_from_index_x_esm_calcFromIndex);
3296
3297
3298// CONCATENATED MODULE: ./node_modules/index-of-x/dist/index-of-x.esm.js
3299function index_of_x_esm_newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311/** @type {BooleanConstructor} */
3312
3313var index_of_x_esm_castBoolean = true.constructor;
3314var pIndexOf = typeof Array.prototype.indexOf === 'function' && Array.prototype.indexOf;
3315var index_of_x_esm_isWorking;
3316
3317if (pIndexOf) {
3318 var index_of_x_esm_res = attempt_x_esm.call([0, 1], pIndexOf, 1, 2);
3319 index_of_x_esm_isWorking = index_of_x_esm_res.threw === false && index_of_x_esm_res.value === -1;
3320
3321 if (index_of_x_esm_isWorking) {
3322 index_of_x_esm_res = attempt_x_esm.call([0, 1], pIndexOf, 1);
3323 index_of_x_esm_isWorking = index_of_x_esm_res.threw === false && index_of_x_esm_res.value === 1;
3324 }
3325
3326 if (index_of_x_esm_isWorking) {
3327 index_of_x_esm_res = attempt_x_esm.call([0, -0], pIndexOf, -0);
3328 index_of_x_esm_isWorking = index_of_x_esm_res.threw === false && index_of_x_esm_res.value === 0;
3329 }
3330
3331 if (index_of_x_esm_isWorking) {
3332 var index_of_x_esm_testArr = [];
3333 index_of_x_esm_testArr.length = 2;
3334 /* eslint-disable-next-line no-void */
3335
3336 index_of_x_esm_testArr[1] = void 0;
3337 /* eslint-disable-next-line no-void */
3338
3339 index_of_x_esm_res = attempt_x_esm.call(index_of_x_esm_testArr, pIndexOf, void 0);
3340 index_of_x_esm_isWorking = index_of_x_esm_res.threw === false && index_of_x_esm_res.value === 1;
3341 }
3342
3343 if (index_of_x_esm_isWorking) {
3344 index_of_x_esm_res = attempt_x_esm.call('abc', pIndexOf, 'c');
3345 index_of_x_esm_isWorking = index_of_x_esm_res.threw === false && index_of_x_esm_res.value === 2;
3346 }
3347
3348 if (index_of_x_esm_isWorking) {
3349 index_of_x_esm_res = attempt_x_esm.call(function getArgs() {
3350 /* eslint-disable-next-line prefer-rest-params */
3351 return arguments;
3352 }('a', 'b', 'c'), pIndexOf, 'c');
3353 index_of_x_esm_isWorking = index_of_x_esm_res.threw === false && index_of_x_esm_res.value === 2;
3354 }
3355}
3356
3357if (index_of_x_esm_isWorking !== true) {
3358 pIndexOf = function $pIndexOf(searchElement) {
3359 /* eslint-disable-next-line babel/no-invalid-this */
3360 var length = to_length_x_esm(this.length);
3361
3362 if (length < 1) {
3363 return -1;
3364 }
3365 /* eslint-disable-next-line prefer-rest-params */
3366
3367
3368 var i = arguments[1];
3369
3370 while (i < length) {
3371 /* eslint-disable-next-line babel/no-invalid-this */
3372 if (i in this && this[i] === searchElement) {
3373 return i;
3374 }
3375
3376 i += 1;
3377 }
3378
3379 return -1;
3380 };
3381}
3382/**
3383 * This method returns an index in the array, if an element in the array
3384 * satisfies the provided testing function. Otherwise -1 is returned.
3385 *
3386 * @private
3387 * @param {Array} array - The array to search.
3388 * @param {*} searchElement - Element to locate in the array.
3389 * @param {number} fromIndex - The index to start the search at.
3390 * @param {Function} extendFn - The comparison function to use.
3391 * @returns {number} Returns index of found element, otherwise -1.
3392 */
3393
3394
3395var findIdxFrom = function findIndexFrom(array, searchElement, fromIndex, extendFn) {
3396 var fIdx = fromIndex;
3397 var length = to_length_x_esm(array.length);
3398
3399 while (fIdx < length) {
3400 if (fIdx in array && extendFn(array[fIdx], searchElement)) {
3401 return fIdx;
3402 }
3403
3404 fIdx += 1;
3405 }
3406
3407 return -1;
3408}; // eslint-disable jsdoc/check-param-names
3409// noinspection JSCommentMatchesSignature
3410
3411/**
3412 * This method returns the first index at which a given element can be found
3413 * in the array, or -1 if it is not present.
3414 *
3415 * @param {Array} array - The array to search.
3416 * @throws {TypeError} If `array` is `null` or `undefined`.
3417 * @param {*} searchElement - Element to locate in the `array`.
3418 * @param {number} [fromIndex] - The index to start the search at. If the
3419 * index is greater than or equal to the array's length, -1 is returned,
3420 * which means the array will not be searched. If the provided index value is
3421 * a negative number, it is taken as the offset from the end of the array.
3422 * Note: if the provided index is negative, the array is still searched from
3423 * front to back. If the calculated index is less than 0, then the whole
3424 * array will be searched. Default: 0 (entire array is searched).
3425 * @param {string} [extend] - Extension type: `SameValue` or `SameValueZero`.
3426 * @returns {number} Returns index of found element, otherwise -1.
3427 */
3428// eslint-enable jsdoc/check-param-names
3429
3430
3431var index_of_x_esm_indexOf = function indexOf(array, searchElement) {
3432 var _this = this;
3433
3434 var object = to_object_x_esm(array);
3435 var iterable = split_if_boxed_bug_x_esm(object);
3436 var length = to_length_x_esm(iterable.length);
3437
3438 if (length < 1) {
3439 return -1;
3440 }
3441
3442 var argLength = arguments.length;
3443 /* eslint-disable-next-line prefer-rest-params */
3444
3445 var extend = argLength > 2 && argLength > 3 ? arguments[3] : arguments[2];
3446 var extendFn;
3447
3448 if (is_string_default()(extend)) {
3449 extend = extend.toLowerCase();
3450
3451 if (extend === 'samevalue') {
3452 extendFn = same_value_x_esm;
3453 } else if (extend === 'samevaluezero') {
3454 extendFn = same_value_zero_x_esm;
3455 }
3456 }
3457
3458 var fromIndex = 0;
3459
3460 if (extendFn && (searchElement === 0 || is_nan_x_esm(searchElement))) {
3461 if (argLength > 3) {
3462 /* eslint-disable-next-line prefer-rest-params */
3463 fromIndex = calculate_from_index_x_esm(iterable, arguments[2]);
3464
3465 if (fromIndex >= length) {
3466 return -1;
3467 }
3468
3469 if (fromIndex < 0) {
3470 fromIndex = 0;
3471 }
3472 }
3473
3474 if (fromIndex > 0) {
3475 return findIdxFrom(iterable, searchElement, fromIndex, extendFn);
3476 }
3477
3478 return find_index_x_esm(iterable, function (element, index) {
3479 index_of_x_esm_newArrowCheck(this, _this);
3480
3481 return index in iterable && extendFn(searchElement, element);
3482 }.bind(this));
3483 }
3484
3485 if (argLength > 3 || argLength > 2 && index_of_x_esm_castBoolean(extendFn) === false) {
3486 /* eslint-disable-next-line prefer-rest-params */
3487 fromIndex = calculate_from_index_x_esm(iterable, arguments[2]);
3488
3489 if (fromIndex >= length) {
3490 return -1;
3491 }
3492
3493 if (fromIndex < 0) {
3494 fromIndex = 0;
3495 }
3496 }
3497
3498 return pIndexOf.call(iterable, searchElement, fromIndex);
3499};
3500
3501/* harmony default export */ var index_of_x_esm = (index_of_x_esm_indexOf);
3502
3503
3504// CONCATENATED MODULE: ./node_modules/is-array-x/dist/is-array-x.esm.js
3505var is_array_x_esm_this = undefined;
3506
3507function is_array_x_esm_newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }
3508
3509
3510
3511var nativeIsArray = [].isArray;
3512var isArrayNative = typeof nativeIsArray === 'function' && nativeIsArray;
3513var testRes = isArrayNative && attempt_x_esm(function () {
3514 is_array_x_esm_newArrowCheck(this, is_array_x_esm_this);
3515
3516 return isArrayNative([]) === true && isArrayNative({
3517 length: 0
3518 }) === false;
3519}.bind(undefined));
3520
3521var isArrayFn = function iife() {
3522 if (testRes && testRes.threw === false && testRes.value === true) {
3523 return isArrayNative;
3524 }
3525 /**
3526 * The isArray() function determines whether the passed value is an Array.
3527 *
3528 * @function isArray
3529 * @param {*} [value] - The object to be checked..
3530 * @returns {boolean} `true` if the object is an Array; otherwise, `false`.
3531 */
3532
3533
3534 return function isArray(value) {
3535 return to_string_tag_x_esm(value) === '[object Array]';
3536 };
3537}();
3538
3539/* harmony default export */ var is_array_x_esm = (isArrayFn);
3540
3541
3542// CONCATENATED MODULE: ./node_modules/array-like-slice-x/dist/array-like-slice-x.esm.js
3543
3544
3545
3546
3547
3548var array_like_slice_x_esm_getMax = function _getMax(a, b) {
3549 return a >= b ? a : b;
3550};
3551
3552var getMin = function _getMin(a, b) {
3553 return a <= b ? a : b;
3554};
3555
3556var setRelative = function _setRelative(value, length) {
3557 return value < 0 ? array_like_slice_x_esm_getMax(length + value, 0) : getMin(value, length);
3558};
3559/**
3560 * The slice() method returns a shallow copy of a portion of an array into a new
3561 * array object selected from begin to end (end not included). The original
3562 * array will not be modified.
3563 *
3564 * @param {!object} arrayLike - The array like object to slice.
3565 * @param {number} [start] - Zero-based index at which to begin extraction.
3566 * A negative index can be used, indicating an offset from the end of the
3567 * sequence. Running slice(-2) extracts the last two elements in the sequence.
3568 * If begin is undefined, slice begins from index 0.
3569 * @param {number} [end] - Zero-based index before which to end extraction.
3570 * Slice extracts up to but not including end. For example, slice([0,1,2,3,4],1,4)
3571 * extracts the second element through the fourth element (elements indexed
3572 * 1, 2, and 3).
3573 * A negative index can be used, indicating an offset from the end of the
3574 * sequence. Running slice(2,-1) extracts the third element through the second-to-last
3575 * element in the sequence.
3576 * If end is omitted, slice extracts through the end of the sequence (arr.length).
3577 * If end is greater than the length of the sequence, slice extracts through
3578 * the end of the sequence (arr.length).
3579 * @returns {Array} A new array containing the extracted elements.
3580 */
3581
3582
3583var array_like_slice_x_esm_slice = function slice(arrayLike, start, end) {
3584 var iterable = split_if_boxed_bug_x_esm(to_object_x_esm(arrayLike));
3585 var length = to_length_x_esm(iterable.length);
3586 var k = setRelative(to_integer_x_esm(start), length);
3587 var relativeEnd = typeof end === 'undefined' ? length : to_integer_x_esm(end);
3588 var finalEnd = setRelative(relativeEnd, length);
3589 var val = [];
3590 val.length = array_like_slice_x_esm_getMax(finalEnd - k, 0);
3591 var next = 0;
3592
3593 while (k < finalEnd) {
3594 if (k in iterable) {
3595 val[next] = iterable[k];
3596 }
3597
3598 next += 1;
3599 k += 1;
3600 }
3601
3602 return val;
3603};
3604
3605/* harmony default export */ var array_like_slice_x_esm = (array_like_slice_x_esm_slice);
3606
3607
3608// CONCATENATED MODULE: ./node_modules/array-slice-x/dist/array-slice-x.esm.js
3609
3610
3611
3612
3613
3614
3615var nativeSlice = [].slice;
3616var resultArray = nativeSlice ? attempt_x_esm.call([1, 2, 3], nativeSlice, 1, 2) : null;
3617var failArray = resultArray ? resultArray.threw || is_array_x_esm(resultArray.value) === false || resultArray.value.length !== 1 || resultArray.value[0] !== 2 : false;
3618var resultString = nativeSlice ? attempt_x_esm.call('abc', nativeSlice, 1, 2) : null;
3619var failString = resultString ? resultString.threw || is_array_x_esm(resultString.value) === false || resultString.value.length !== 1 || resultString.value[0] !== 'b' : false;
3620var array_slice_x_esm_doc = typeof document !== 'undefined' && document;
3621var resultDocElement = nativeSlice && array_slice_x_esm_doc ? attempt_x_esm.call(array_slice_x_esm_doc.documentElement, nativeSlice).threw : null;
3622var failDOM = resultDocElement ? resultDocElement.threw : false;
3623/**
3624 * The slice() method returns a shallow copy of a portion of an array into a new
3625 * array object selected from begin to end (end not included). The original
3626 * array will not be modified.
3627 *
3628 * @param {Array|object} array - The array to slice.
3629 * @param {number} [start] - Zero-based index at which to begin extraction.
3630 * A negative index can be used, indicating an offset from the end of the
3631 * sequence. Running slice(-2) extracts the last two elements in the sequence.
3632 * If begin is undefined, slice begins from index 0.
3633 * @param {number} [end] - Zero-based index before which to end extraction.
3634 * Slice extracts up to but not including end. For example, slice(1,4)
3635 * extracts the second element through the fourth element (elements indexed
3636 * 1, 2, and 3).
3637 * A negative index can be used, indicating an offset from the end of the
3638 * sequence. Running slice(2,-1) extracts the third element through the second-to-last
3639 * element in the sequence.
3640 * If end is omitted, slice extracts through the end of the
3641 * sequence (arr.length).
3642 * If end is greater than the length of the sequence, slice extracts through
3643 * the end of the sequence (arr.length).
3644 * @returns {Array} A new array containing the extracted elements.
3645 */
3646
3647var array_slice_x_esm_slice = function slice(array, start, end) {
3648 var object = to_object_x_esm(array);
3649
3650 if (failArray || failDOM && is_array_x_esm(object) === false || failString && is_string_default()(object) || is_arguments_default()(object)) {
3651 return array_like_slice_x_esm(object, start, end);
3652 }
3653 /* eslint-disable-next-line prefer-rest-params */
3654
3655
3656 return nativeSlice.apply(object, array_like_slice_x_esm(arguments, 1));
3657};
3658
3659/* harmony default export */ var array_slice_x_esm = (array_slice_x_esm_slice);
3660
3661
3662// CONCATENATED MODULE: ./node_modules/array-some-x/dist/array-some-x.esm.js
3663var array_some_x_esm_this = undefined;
3664
3665function array_some_x_esm_newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }
3666
3667
3668
3669
3670
3671
3672/** @type {BooleanConstructor} */
3673
3674var array_some_x_esm_castBoolean = true.constructor;
3675/** @type {ObjectConstructor} */
3676
3677var array_some_x_esm_castObject = {}.constructor;
3678var ns = [].some;
3679var nativeSome = typeof ns === 'function' && ns;
3680var array_some_x_esm_isWorking;
3681
3682if (nativeSome) {
3683 var spy = 0;
3684 var array_some_x_esm_res = attempt_x_esm.call([1, 2], nativeSome, function (item) {
3685 array_some_x_esm_newArrowCheck(this, array_some_x_esm_this);
3686
3687 spy += item;
3688 return false;
3689 }.bind(undefined));
3690 array_some_x_esm_isWorking = array_some_x_esm_res.threw === false && array_some_x_esm_res.value === false && spy === 3;
3691
3692 if (array_some_x_esm_isWorking) {
3693 spy = '';
3694 array_some_x_esm_res = attempt_x_esm.call(array_some_x_esm_castObject('abc'), nativeSome, function (item, index) {
3695 array_some_x_esm_newArrowCheck(this, array_some_x_esm_this);
3696
3697 spy += item;
3698 return index === 1;
3699 }.bind(undefined));
3700 array_some_x_esm_isWorking = array_some_x_esm_res.threw === false && array_some_x_esm_res.value === true && spy === 'ab';
3701 }
3702
3703 if (array_some_x_esm_isWorking) {
3704 spy = 0;
3705 array_some_x_esm_res = attempt_x_esm.call(function getArgs() {
3706 /* eslint-disable-next-line prefer-rest-params */
3707 return arguments;
3708 }(1, 2, 3), nativeSome, function (item, index) {
3709 array_some_x_esm_newArrowCheck(this, array_some_x_esm_this);
3710
3711 spy += item;
3712 return index === 2;
3713 }.bind(undefined));
3714 array_some_x_esm_isWorking = array_some_x_esm_res.threw === false && array_some_x_esm_res.value === true && spy === 6;
3715 }
3716
3717 if (array_some_x_esm_isWorking) {
3718 spy = 0;
3719 array_some_x_esm_res = attempt_x_esm.call({
3720 0: 1,
3721 1: 2,
3722 3: 3,
3723 4: 4,
3724 length: 4
3725 }, nativeSome, function (item) {
3726 array_some_x_esm_newArrowCheck(this, array_some_x_esm_this);
3727
3728 spy += item;
3729 return false;
3730 }.bind(undefined));
3731 array_some_x_esm_isWorking = array_some_x_esm_res.threw === false && array_some_x_esm_res.value === false && spy === 6;
3732 }
3733
3734 if (array_some_x_esm_isWorking) {
3735 var array_some_x_esm_doc = typeof document !== 'undefined' && document;
3736
3737 if (array_some_x_esm_doc) {
3738 spy = null;
3739 var fragment = array_some_x_esm_doc.createDocumentFragment();
3740 var div = array_some_x_esm_doc.createElement('div');
3741 fragment.appendChild(div);
3742 array_some_x_esm_res = attempt_x_esm.call(fragment.childNodes, nativeSome, function (item) {
3743 array_some_x_esm_newArrowCheck(this, array_some_x_esm_this);
3744
3745 spy = item;
3746 return item;
3747 }.bind(undefined));
3748 array_some_x_esm_isWorking = array_some_x_esm_res.threw === false && array_some_x_esm_res.value === true && spy === div;
3749 }
3750 }
3751
3752 if (array_some_x_esm_isWorking) {
3753 var isStrict = function getIsStrict() {
3754 /* eslint-disable-next-line babel/no-invalid-this */
3755 return array_some_x_esm_castBoolean(this) === false;
3756 }();
3757
3758 if (isStrict) {
3759 spy = null;
3760 array_some_x_esm_res = attempt_x_esm.call([1], nativeSome, function () {
3761 array_some_x_esm_newArrowCheck(this, array_some_x_esm_this);
3762
3763 /* eslint-disable-next-line babel/no-invalid-this */
3764 spy = typeof this === 'string';
3765 }.bind(undefined), 'x');
3766 array_some_x_esm_isWorking = array_some_x_esm_res.threw === false && array_some_x_esm_res.value === false && spy === true;
3767 }
3768 }
3769
3770 if (array_some_x_esm_isWorking) {
3771 spy = {};
3772 var fn = ['return nativeSome.call("foo", function (_, __, context) {', 'if (Boolean(context) === false || typeof context !== "object") {', 'spy.value = true;}});'].join('');
3773 /* eslint-disable-next-line no-new-func */
3774
3775 array_some_x_esm_res = attempt_x_esm(Function('nativeSome', 'spy', fn), nativeSome, spy);
3776 array_some_x_esm_isWorking = array_some_x_esm_res.threw === false && array_some_x_esm_res.value === false && spy.value !== true;
3777 }
3778}
3779/**
3780 * This method tests whether some element in the array passes the test
3781 * implemented by the provided function.
3782 *
3783 * @param {Array} array - The array to iterate over.
3784 * @param {Function} callBack - Function to test for each element.
3785 * @param {*} [thisArg] - Value to use as this when executing callback.
3786 * @throws {TypeError} If array is null or undefined.
3787 * @throws {TypeError} If callBack is not a function.
3788 * @returns {boolean} `true` if the callback function returns a truthy value for
3789 * any array element; otherwise, `false`.
3790 */
3791
3792
3793var $some;
3794
3795if (nativeSome) {
3796 $some = function some(array, callBack
3797 /* , thisArg */
3798 ) {
3799 var args = [callBack];
3800
3801 if (arguments.length > 2) {
3802 /* eslint-disable-next-line prefer-rest-params,prefer-destructuring */
3803 args[1] = arguments[2];
3804 }
3805
3806 return nativeSome.apply(array, args);
3807 };
3808} else {
3809 // ES5 15.4.4.17
3810 // http://es5.github.com/#x15.4.4.17
3811 // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some
3812 $some = function some(array, callBack
3813 /* , thisArg */
3814 ) {
3815 var object = to_object_x_esm(array); // If no callback function or if callback is not a callable function
3816
3817 assert_is_function_x_esm(callBack);
3818 var iterable = split_if_boxed_bug_x_esm(object);
3819 var length = to_length_x_esm(iterable.length);
3820 var thisArg;
3821
3822 if (arguments.length > 2) {
3823 /* eslint-disable-next-line prefer-rest-params,prefer-destructuring */
3824 thisArg = arguments[2];
3825 }
3826
3827 var noThis = typeof thisArg === 'undefined';
3828
3829 for (var i = 0; i < length; i += 1) {
3830 if (i in iterable) {
3831 var item = iterable[i];
3832
3833 if (noThis ? callBack(item, i, object) : callBack.call(thisArg, item, i, object)) {
3834 return true;
3835 }
3836 }
3837 }
3838
3839 return false;
3840 };
3841}
3842
3843var s = $some;
3844/* harmony default export */ var array_some_x_esm = (s);
3845
3846
3847// CONCATENATED MODULE: ./node_modules/array-filter-x/dist/array-filter-x.esm.js
3848var array_filter_x_esm_this = undefined;
3849
3850function array_filter_x_esm_newArrowCheck(innerThis, boundThis) { if (innerThis !== boundThis) { throw new TypeError("Cannot instantiate an arrow function"); } }
3851
3852
3853
3854
3855
3856
3857/** @type {ArrayConstructor} */
3858
3859var ArrayCtr = [].constructor;
3860/** @type {ObjectConstructor} */
3861
3862var array_filter_x_esm_castObject = {}.constructor;
3863/** @type {BooleanConstructor} */
3864
3865var array_filter_x_esm_castBoolean = true.constructor;
3866var nativFilter = typeof ArrayCtr.prototype.filter === 'function' && ArrayCtr.prototype.filter;
3867var array_filter_x_esm_isWorking;
3868
3869if (nativFilter) {
3870 var array_filter_x_esm_spy = 0;
3871 var array_filter_x_esm_res = attempt_x_esm.call([1, 2], nativFilter, function (item) {
3872 array_filter_x_esm_newArrowCheck(this, array_filter_x_esm_this);
3873
3874 array_filter_x_esm_spy += item;
3875 return false;
3876 }.bind(undefined));
3877 array_filter_x_esm_isWorking = array_filter_x_esm_res.threw === false && array_filter_x_esm_res.value && array_filter_x_esm_res.value.length === 0 && array_filter_x_esm_spy === 3;
3878
3879 if (array_filter_x_esm_isWorking) {
3880 array_filter_x_esm_spy = '';
3881 array_filter_x_esm_res = attempt_x_esm.call(array_filter_x_esm_castObject('abc'), nativFilter, function (item, index) {
3882 array_filter_x_esm_newArrowCheck(this, array_filter_x_esm_this);
3883
3884 array_filter_x_esm_spy += item;
3885 return index === 1;
3886 }.bind(undefined));
3887 array_filter_x_esm_isWorking = array_filter_x_esm_res.threw === false && array_filter_x_esm_res.value && array_filter_x_esm_res.value.length === 1 && array_filter_x_esm_res.value[0] === 'b' && array_filter_x_esm_spy === 'abc';
3888 }
3889
3890 if (array_filter_x_esm_isWorking) {
3891 array_filter_x_esm_spy = 0;
3892 array_filter_x_esm_res = attempt_x_esm.call(function getArgs() {
3893 /* eslint-disable-next-line prefer-rest-params */
3894 return arguments;
3895 }(1, 2, 3), nativFilter, function (item, index) {
3896 array_filter_x_esm_newArrowCheck(this, array_filter_x_esm_this);
3897
3898 array_filter_x_esm_spy += item;
3899 return index === 2;
3900 }.bind(undefined));
3901 array_filter_x_esm_isWorking = array_filter_x_esm_res.threw === false && array_filter_x_esm_res.value && array_filter_x_esm_res.value.length === 1 && array_filter_x_esm_res.value[0] === 3 && array_filter_x_esm_spy === 6;
3902 }
3903
3904 if (array_filter_x_esm_isWorking) {
3905 array_filter_x_esm_spy = 0;
3906 array_filter_x_esm_res = attempt_x_esm.call({
3907 0: 1,
3908 1: 2,
3909 3: 3,
3910 4: 4,
3911 length: 4
3912 }, nativFilter, function (item) {
3913 array_filter_x_esm_newArrowCheck(this, array_filter_x_esm_this);
3914
3915 array_filter_x_esm_spy += item;
3916 return false;
3917 }.bind(undefined));
3918 array_filter_x_esm_isWorking = array_filter_x_esm_res.threw === false && array_filter_x_esm_res.value && array_filter_x_esm_res.value.length === 0 && array_filter_x_esm_spy === 6;
3919 }
3920
3921 if (array_filter_x_esm_isWorking) {
3922 var array_filter_x_esm_doc = typeof document !== 'undefined' && document;
3923
3924 if (array_filter_x_esm_doc) {
3925 array_filter_x_esm_spy = null;
3926 var array_filter_x_esm_fragment = array_filter_x_esm_doc.createDocumentFragment();
3927 var array_filter_x_esm_div = array_filter_x_esm_doc.createElement('div');
3928 array_filter_x_esm_fragment.appendChild(array_filter_x_esm_div);
3929 array_filter_x_esm_res = attempt_x_esm.call(array_filter_x_esm_fragment.childNodes, nativFilter, function (item) {
3930 array_filter_x_esm_newArrowCheck(this, array_filter_x_esm_this);
3931
3932 array_filter_x_esm_spy = item;
3933 return item;
3934 }.bind(undefined));
3935 array_filter_x_esm_isWorking = array_filter_x_esm_res.threw === false && array_filter_x_esm_res.value && array_filter_x_esm_res.value.length === 1 && array_filter_x_esm_res.value[0] === array_filter_x_esm_div && array_filter_x_esm_spy === array_filter_x_esm_div;
3936 }
3937 }
3938
3939 if (array_filter_x_esm_isWorking) {
3940 var array_filter_x_esm_isStrict = function returnIsStrict() {
3941 /* eslint-disable-next-line babel/no-invalid-this */
3942 return array_filter_x_esm_castBoolean(this) === false;
3943 }();
3944
3945 if (array_filter_x_esm_isStrict) {
3946 array_filter_x_esm_spy = null;
3947 array_filter_x_esm_res = attempt_x_esm.call([1], nativFilter, function () {
3948 array_filter_x_esm_newArrowCheck(this, array_filter_x_esm_this);
3949
3950 /* eslint-disable-next-line babel/no-invalid-this */
3951 array_filter_x_esm_spy = typeof this === 'string';
3952 }.bind(undefined), 'x');
3953 array_filter_x_esm_isWorking = array_filter_x_esm_res.threw === false && array_filter_x_esm_res.value && array_filter_x_esm_res.value.length === 0 && array_filter_x_esm_spy === true;
3954 }
3955 }
3956
3957 if (array_filter_x_esm_isWorking) {
3958 array_filter_x_esm_spy = {};
3959 var array_filter_x_esm_fn = ['return nativFilter.call("foo", function (_, __, context) {', 'if (castBoolean(context) === false || typeof context !== "object") {', 'spy.value = true;}});'].join('');
3960 /* eslint-disable-next-line no-new-func */
3961
3962 array_filter_x_esm_res = attempt_x_esm(Function('nativFilter', 'spy', 'castBoolean', array_filter_x_esm_fn), nativFilter, array_filter_x_esm_spy);
3963 array_filter_x_esm_isWorking = array_filter_x_esm_res.threw === false && array_filter_x_esm_res.value && array_filter_x_esm_res.value.length === 0 && array_filter_x_esm_spy.value !== true;
3964 }
3965}
3966/**
3967 * This method creates a new array with all elements that pass the test
3968 * implemented by the provided function.
3969 *
3970 * @param {Array} array - The array to iterate over.
3971 * @param {Function} callBack - Function is a predicate, to test each element.
3972 * @param {*} [thisArg] - Value to use as this when executing callback.
3973 * @throws {TypeError} If array is null or undefined.
3974 * @throws {TypeError} If callBack is not a function.
3975 * @returns {Array} A new array with the elements that pass the test.
3976 */
3977
3978
3979var $filter;
3980
3981if (nativFilter) {
3982 $filter = function filter(array, callBack
3983 /* , thisArg */
3984 ) {
3985 var args = [callBack];
3986
3987 if (arguments.length > 2) {
3988 /* eslint-disable-next-line prefer-rest-params,prefer-destructuring */
3989 args[1] = arguments[2];
3990 }
3991
3992 return nativFilter.apply(array, args);
3993 };
3994} else {
3995 $filter = function filter(array, callBack
3996 /* , thisArg */
3997 ) {
3998 var object = to_object_x_esm(array); // If no callback function or if callback is not a callable function
3999
4000 assert_is_function_x_esm(callBack);
4001 var iterable = split_if_boxed_bug_x_esm(object);
4002 var length = to_length_x_esm(iterable.length);
4003 var thisArg;
4004
4005 if (arguments.length > 2) {
4006 /* eslint-disable-next-line prefer-rest-params,prefer-destructuring */
4007 thisArg = arguments[2];
4008 }
4009
4010 var noThis = typeof thisArg === 'undefined';
4011 var result = [];
4012
4013 for (var i = 0; i < length; i += 1) {
4014 if (i in iterable) {
4015 var item = iterable[i];
4016
4017 if (noThis ? callBack(item, i, object) : callBack.call(thisArg, item, i, object)) {
4018 result[result.length] = item;
4019 }
4020 }
4021 }
4022
4023 return result;
4024 };
4025}
4026
4027var arrayFilter = $filter;
4028/* harmony default export */ var array_filter_x_esm = (arrayFilter);
4029
4030
4031// EXTERNAL MODULE: ./node_modules/stable/stable.js
4032var stable = __webpack_require__(7);
4033var stable_default = /*#__PURE__*/__webpack_require__.n(stable);
4034
4035// EXTERNAL MODULE: ./node_modules/object-keys/index.js
4036var object_keys = __webpack_require__(9);
4037var object_keys_default = /*#__PURE__*/__webpack_require__.n(object_keys);
4038
4039// CONCATENATED MODULE: ./node_modules/object-keys-x/dist/object-keys-x.esm.js
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050var ObjectCtr = {}.constructor;
4051var nativeKeys = typeof ObjectCtr.keys === 'function' && ObjectCtr.keys;
4052var object_keys_x_esm_isWorking;
4053var throwsWithNull;
4054var object_keys_x_esm_worksWithPrim;
4055var worksWithRegex;
4056var worksWithArgs;
4057var object_keys_x_esm_worksWithStr;
4058
4059if (nativeKeys) {
4060 var isCorrectRes = function _isCorrectRes(r, length) {
4061 return r.threw === false && is_array_x_esm(r.value) && r.value.length === length;
4062 };
4063
4064 var either = function _either(r, a, b) {
4065 var x = r.value[0];
4066 var y = r.value[1];
4067 return x === a && y === b || x === b && y === a;
4068 };
4069
4070 var testObj = {
4071 a: 1,
4072 b: 2
4073 };
4074 var object_keys_x_esm_res = attempt_x_esm(nativeKeys, testObj);
4075 object_keys_x_esm_isWorking = isCorrectRes(object_keys_x_esm_res, 2) && either(object_keys_x_esm_res, 'a', 'b');
4076
4077 if (object_keys_x_esm_isWorking) {
4078 testObj = Object('a');
4079 testObj.y = 1;
4080 object_keys_x_esm_res = attempt_x_esm(nativeKeys, testObj);
4081 object_keys_x_esm_isWorking = isCorrectRes(object_keys_x_esm_res, 2) && either(object_keys_x_esm_res, '0', 'y');
4082 }
4083
4084 if (object_keys_x_esm_isWorking) {
4085 throwsWithNull = attempt_x_esm(nativeKeys, null).threw;
4086 object_keys_x_esm_worksWithPrim = isCorrectRes(attempt_x_esm(nativeKeys, 42), 0);
4087 worksWithRegex = attempt_x_esm(nativeKeys, /a/g).threw === false;
4088 object_keys_x_esm_res = attempt_x_esm(nativeKeys, function getArgs() {
4089 /* eslint-disable-next-line prefer-rest-params */
4090 return arguments;
4091 }(1, 2));
4092 worksWithArgs = isCorrectRes(object_keys_x_esm_res, 2) && either(object_keys_x_esm_res, '0', '1');
4093 object_keys_x_esm_res = attempt_x_esm(nativeKeys, Object('ab'));
4094 object_keys_x_esm_worksWithStr = isCorrectRes(object_keys_x_esm_res, 2) && either(object_keys_x_esm_res, '0', '1');
4095 }
4096}
4097/**
4098 * This method returns an array of a given object's own enumerable properties,
4099 * in the same order as that provided by a for...in loop (the difference being
4100 * that a for-in loop enumerates properties in the prototype chain as well).
4101 *
4102 * @param {*} obj - The object of which the enumerable own properties are to be returned.
4103 * @returns {Array} An array of strings that represent all the enumerable properties of the given object.
4104 */
4105
4106
4107var objectKeys;
4108
4109if (object_keys_x_esm_isWorking) {
4110 if (throwsWithNull && object_keys_x_esm_worksWithPrim && worksWithRegex && worksWithArgs && object_keys_x_esm_worksWithStr) {
4111 objectKeys = nativeKeys;
4112 } else {
4113 objectKeys = function keys(object) {
4114 var obj = to_object_x_esm ? to_object_x_esm(object) : object;
4115
4116 if (worksWithArgs !== true && is_arguments_default()(obj)) {
4117 obj = array_like_slice_x_esm(obj);
4118 } else if (object_keys_x_esm_worksWithStr !== true && is_string_default()(obj)) {
4119 obj = split_if_boxed_bug_x_esm(obj);
4120 } else if (worksWithRegex !== true && is_regexp_x_esm(obj)) {
4121 var regexKeys = [];
4122 /* eslint-disable-next-line no-restricted-syntax */
4123
4124 for (var key in obj) {
4125 // noinspection JSUnfilteredForInLoop
4126 if (has_own_property_x_esm(obj, key)) {
4127 regexKeys[regexKeys.length] = key;
4128 }
4129 }
4130
4131 return regexKeys;
4132 }
4133
4134 return nativeKeys(obj);
4135 };
4136 }
4137} else {
4138 objectKeys = function keys(object) {
4139 return object_keys_default()(to_object_x_esm(object));
4140 };
4141}
4142
4143var ok = objectKeys;
4144/* harmony default export */ var object_keys_x_esm = (ok);
4145
4146
4147// CONCATENATED MODULE: ./dist/deep-equal-x.esm.js
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166 // Check failure of by-index access of string characters (IE < 9)
4167// and failure of `0 in boxedString` (Rhino)
4168
4169var hasBoxedStringBug = has_boxed_string_x_esm === false; // Used to detect unsigned integer values.
4170
4171var deep_equal_x_esm_reIsUint = /^(?:0|[1-9]\d*)$/;
4172/* eslint-disable-next-line compat/compat */
4173
4174var hasMapEnumerables = typeof Map === 'function' ? object_keys_x_esm(new Map()) : [];
4175/* eslint-disable-next-line compat/compat */
4176
4177var hasSetEnumerables = typeof Set === 'function' ? object_keys_x_esm(new Set()) : [];
4178var hasErrorEnumerables;
4179
4180try {
4181 // noinspection ExceptionCaughtLocallyJS
4182 throw new Error('a');
4183} catch (e) {
4184 hasErrorEnumerables = object_keys_x_esm(e);
4185}
4186
4187var indexNotFound = -1;
4188var maxSafeIndex = 4294967295; // (2^32)-1
4189
4190/**
4191 * Checks if `value` is a valid string index. Specifically for boxed string
4192 * bug fix and not general purpose.
4193 *
4194 * @private
4195 * @param {*} value - The value to check.
4196 * @returns {boolean} Returns `true` if `value` is valid index, else `false`.
4197 */
4198
4199var deep_equal_x_esm_isIndex = function _isIndex(value) {
4200 var num = indexNotFound;
4201
4202 if (deep_equal_x_esm_reIsUint.test(value)) {
4203 num = Number(value);
4204 }
4205
4206 return num > indexNotFound && num % 1 === 0 && num < maxSafeIndex;
4207};
4208/**
4209 * Get an object's key avoiding boxed string bug. Specifically for boxed
4210 * string bug fix and not general purpose.
4211 *
4212 * @private
4213 * @param {Array|string|object} object - The object to get the `value` from.
4214 * @param {string|number} key - The `key` reference to the `value`.
4215 * @param {boolean} isStr - Is the object a string.
4216 * @param {boolean} isIdx - Is the `key` a character index.
4217 * @returns {*} Returns the `value` referenced by the `key`.
4218 */
4219
4220
4221var getItem = function _getItem(object, key, isStr, isIdx) {
4222 return isStr && isIdx ? object.charAt(key) : object[key];
4223};
4224/**
4225 * Filter `keys` of unwanted Error enumerables. Specifically for Error has
4226 * unwanted enumerables fix and not general purpose.
4227 *
4228 * @private
4229 * @param {Array} keys - The Error object's keys.
4230 * @param {Array} unwanted - The unwanted keys.
4231 * @returns {Array} Returns the filtered keys.
4232 */
4233
4234
4235var filterUnwanted = function _filterUnwanted(keys, unwanted) {
4236 return unwanted.length ? array_filter_x_esm(keys, function _filter(key) {
4237 return index_of_x_esm(unwanted, key) === indexNotFound;
4238 }) : keys;
4239};
4240/**
4241 * Tests for deep equality. Primitive values are compared with the equal
4242 * comparison operator ( == ). This only considers enumerable properties.
4243 * It does not test object prototypes, attached symbols, or non-enumerable
4244 * properties. This can lead to some potentially surprising results. If
4245 * `strict` is `true` then Primitive values are compared with the strict
4246 * equal comparison operator ( === ).
4247 *
4248 * @private
4249 * @param {*} actual - First comparison object.
4250 * @param {*} expected - Second comparison object.
4251 * @param {boolean} [strict] - Comparison mode. If set to `true` use `===`.
4252 * @param {object} previousStack - The circular stack.
4253 * @returns {boolean} `true` if `actual` and `expected` are deemed equal,
4254 * otherwise `false`.
4255 */
4256
4257
4258var baseDeepEqual = function _baseDeepEqual(actual, expected, strict, previousStack) {
4259 // 7.1. All identical values are equivalent, as determined by ===.
4260 if (actual === expected) {
4261 return true;
4262 }
4263
4264 if (is_buffer_default()(actual) && is_buffer_default()(expected)) {
4265 return actual.length === expected.length && array_some_x_esm(actual, function _some1(item, index) {
4266 return item !== expected[index];
4267 }) === false;
4268 } // 7.2. If the expected value is a Date object, the actual value is
4269 // equivalent if it is also a Date object that refers to the same time.
4270
4271
4272 if (is_date_object_default()(actual) && is_date_object_default()(expected)) {
4273 return actual.getTime() === expected.getTime();
4274 } // 7.3 If the expected value is a RegExp object, the actual value is
4275 // equivalent if it is also a RegExp object with the same `source` and
4276 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase` & `sticky`).
4277
4278
4279 if (is_regexp_x_esm(actual) && is_regexp_x_esm(expected)) {
4280 return actual.toString() === expected.toString() && actual.lastIndex === expected.lastIndex;
4281 } // 7.4. Other pairs that do not both pass typeof value == 'object',
4282 // equivalence is determined by == or strict ===.
4283
4284
4285 if (is_object_default()(actual) === false && is_object_default()(expected) === false) {
4286 if (strict) {
4287 return actual === expected;
4288 } // noinspection EqualityComparisonWithCoercionJS
4289
4290
4291 return actual == expected;
4292 /* eslint-disable-line eqeqeq */
4293 } // 7.5 For all other Object pairs, including Array objects, equivalence is
4294 // determined by having the same number of owned properties (as verified
4295 // with Object.prototype.hasOwnProperty.call), the same set of keys
4296 // (although not necessarily the same order), equivalent values for every
4297 // corresponding key, and an identical 'prototype' property. Note: this
4298 // accounts for both named and indexed properties on Arrays.
4299
4300
4301 if (is_nil_x_esm(actual) || is_nil_x_esm(expected)) {
4302 return false;
4303 }
4304 /* jshint eqnull:false */
4305 // This only considers enumerable properties. It does not test object
4306 // prototypes, attached symbols, or non-enumerable properties. This can
4307 // lead to some potentially surprising results.
4308
4309
4310 if (strict && get_prototype_of_x_esm(actual) !== get_prototype_of_x_esm(expected)) {
4311 return false;
4312 } // if one is actual primitive, the other must be same
4313
4314
4315 if (is_primitive_default()(actual) || is_primitive_default()(expected)) {
4316 return actual === expected;
4317 }
4318
4319 var ka = is_arguments_default()(actual);
4320 var kb = is_arguments_default()(expected);
4321 var aNotB = ka && kb === false;
4322 var bNotA = ka === false && kb;
4323
4324 if (aNotB || bNotA) {
4325 return false;
4326 }
4327
4328 if (ka) {
4329 if (ka.length !== kb.length) {
4330 return false;
4331 }
4332
4333 return baseDeepEqual(array_slice_x_esm(actual), array_slice_x_esm(expected), strict, null);
4334 }
4335
4336 ka = object_keys_x_esm(actual);
4337 kb = object_keys_x_esm(expected); // having the same number of owned properties (keys incorporates hasOwnProperty)
4338
4339 if (ka.length !== kb.length) {
4340 return false;
4341 }
4342
4343 if (is_object_default()(actual)) {
4344 if (is_error_x_esm(actual)) {
4345 ka = filterUnwanted(ka, hasErrorEnumerables);
4346 } else if (is_map_x_esm(actual)) {
4347 ka = filterUnwanted(ka, hasMapEnumerables);
4348 } else if (is_set_x_esm(actual)) {
4349 ka = filterUnwanted(ka, hasSetEnumerables);
4350 }
4351 }
4352
4353 if (is_object_default()(expected)) {
4354 if (is_error_x_esm(expected)) {
4355 kb = filterUnwanted(kb, hasErrorEnumerables);
4356 } else if (is_map_x_esm(expected)) {
4357 kb = filterUnwanted(kb, hasMapEnumerables);
4358 } else if (is_set_x_esm(expected)) {
4359 kb = filterUnwanted(kb, hasSetEnumerables);
4360 }
4361 } // the same set of keys (although not necessarily the same order),
4362
4363
4364 stable_default.a.inplace(ka);
4365 stable_default.a.inplace(kb);
4366 var aIsString;
4367 var bIsString;
4368
4369 if (hasBoxedStringBug) {
4370 aIsString = is_string_default()(actual);
4371 bIsString = is_string_default()(expected);
4372 } // ~~~cheap key test
4373 // equivalent values for every corresponding key, and
4374 // ~~~possibly expensive deep test
4375
4376
4377 return array_some_x_esm(ka, function _some2(key, index) {
4378 if (key !== kb[index]) {
4379 return true;
4380 }
4381
4382 var isIdx = (aIsString || bIsString) && deep_equal_x_esm_isIndex(key);
4383 var stack = previousStack || [actual];
4384 var item = getItem(actual, key, aIsString, isIdx);
4385 var isPrim = is_primitive_default()(item);
4386
4387 if (isPrim === false) {
4388 if (index_of_x_esm(stack, item) !== indexNotFound) {
4389 throw new RangeError('Circular object');
4390 }
4391
4392 stack.push(item);
4393 }
4394
4395 var result = baseDeepEqual(item, getItem(expected, key, bIsString, isIdx), strict, stack) === false;
4396
4397 if (isPrim === false) {
4398 stack.pop();
4399 }
4400
4401 return result;
4402 }) === false;
4403};
4404/**
4405 * Tests for deep equality. Primitive values are compared with the equal
4406 * comparison operator ( == ). This only considers enumerable properties.
4407 * It does not test object prototypes, attached symbols, or non-enumerable
4408 * properties. This can lead to some potentially surprising results. If
4409 * `strict` is `true` then Primitive values are compared with the strict
4410 * equal comparison operator ( === ).
4411 *
4412 * @param {*} actual - First comparison object.
4413 * @param {*} expected - Second comparison object.
4414 * @param {boolean} [strict] - Comparison mode. If set to `true` use `===`.
4415 * @returns {boolean} `true` if `actual` and `expected` are deemed equal,
4416 * otherwise `false`.
4417 * @see https://nodejs.org/api/assert.html
4418 */
4419
4420
4421var deepEqual = function deepEqual(actual, expected, strict) {
4422 return baseDeepEqual(actual, expected, strict);
4423};
4424
4425/* harmony default export */ var deep_equal_x_esm = __webpack_exports__["default"] = (deepEqual);
4426
4427
4428
4429/***/ })
4430/******/ ]);
4431});
4432//# sourceMappingURL=deep-equal-x.js.map
\No newline at end of file