Index: imaps-frontend/node_modules/es-abstract/.eslintrc
===================================================================
--- imaps-frontend/node_modules/es-abstract/.eslintrc	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/.eslintrc	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -19,4 +19,9 @@
 		"max-statements-per-line": [2, { "max": 2 }],
 		"multiline-comment-style": 0,
+		"no-implicit-coercion": [2, {
+			"boolean": false,
+			"number": false,
+			"string": true,
+		}],
 		"no-magic-numbers": 0,
 		"new-cap": 0,
Index: imaps-frontend/node_modules/es-abstract/2015/AbstractEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/AbstractEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/AbstractEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,10 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
 
 module.exports = function AbstractEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return x === y; // ES6+ specified this shortcut anyways.
 	}
@@ -16,20 +16,20 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol') && isObject(y)) {
 		return AbstractEqualityComparison(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol')) {
 		return AbstractEqualityComparison(ToPrimitive(x), y);
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/AbstractRelationalComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/AbstractRelationalComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/AbstractRelationalComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,7 @@
 var $Number = GetIntrinsic('%Number%');
 var $TypeError = require('es-errors/type');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
 var isPrefixOf = require('../helpers/isPrefixOf');
 
Index: imaps-frontend/node_modules/es-abstract/2015/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,13 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
+
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
 
 var $TypeError = require('es-errors/type');
 
-var $charCodeAt = require('call-bind/callBound')('String.prototype.charCodeAt');
+var $charCodeAt = require('call-bound')('String.prototype.charCodeAt');
 
 // https://262.ecma-international.org/6.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2015/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var hasProto = require('has-proto')();
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/6.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2015/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,11 +6,11 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-arrayspeciescreate
@@ -30,5 +30,5 @@
 		// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 		// }
-		if ($species && Type(C) === 'Object') {
+		if ($species && isObject(C)) {
 			C = Get(C, $species);
 			if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2015/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2015/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2015/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2015/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2015/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/6.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2015/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2015/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,4 +13,6 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];
 
@@ -21,5 +23,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/CreateMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,17 +7,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2015/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2015/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2015/EnumerableOwnNames.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/EnumerableOwnNames.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/EnumerableOwnNames.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,10 @@
 var keys = require('object-keys');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-enumerableownnames
 
 module.exports = function EnumerableOwnNames(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2015/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,12 @@
 var GetMethod = require('./GetMethod');
 var IsArray = require('./IsArray');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
 
 // https://262.ecma-international.org/6.0/#sec-getiterator
@@ -15,15 +22,8 @@
 	var actualMethod = method;
 	if (arguments.length < 2) {
-		actualMethod = getIteratorMethod(
-			{
-				AdvanceStringIndex: AdvanceStringIndex,
-				GetMethod: GetMethod,
-				IsArray: IsArray
-			},
-			obj
-		);
+		actualMethod = getIteratorMethod(ES, obj);
 	}
 	var iterator = Call(actualMethod, obj);
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2015/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2015/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var inspect = require('object-inspect');
-
+var isInteger = require('math-intrinsics/isInteger');
 var regexTester = require('safe-regex-test');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var every = require('../helpers/every');
 
@@ -20,5 +20,4 @@
 var IsArray = require('./IsArray');
 
-var isInteger = require('../helpers/isInteger');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
 
Index: imaps-frontend/node_modules/es-abstract/2015/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2015/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var callBound = require('call-bind/callBound');
+var isInteger = require('math-intrinsics/isInteger');
+var callBound = require('call-bound');
 
 var $charAt = callBound('String.prototype.charAt');
@@ -16,5 +17,4 @@
 var bytesAsInteger = require('../helpers/bytesAsInteger');
 var defaultEndianness = require('../helpers/defaultEndianness');
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
@@ -76,9 +76,9 @@
 
 	if (type === 'Float32') { // step 3
-		return bytesAsFloat32(bytes, true);
+		return bytesAsFloat32(bytes);
 	}
 
 	if (type === 'Float64') { // step 4
-		return bytesAsFloat64(bytes, true);
+		return bytesAsFloat64(bytes);
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2015/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/IntegerIndexedElementGet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IntegerIndexedElementGet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IntegerIndexedElementGet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,10 +3,9 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var GetValueFromBuffer = require('./GetValueFromBuffer');
 var IsDetachedBuffer = require('./IsDetachedBuffer');
 var IsInteger = require('./IsInteger');
-
-var isNegativeZero = require('../helpers/isNegativeZero');
 
 var typedArrayLength = require('typed-array-length');
Index: imaps-frontend/node_modules/es-abstract/2015/IntegerIndexedElementSet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IntegerIndexedElementSet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IntegerIndexedElementSet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,4 +1,5 @@
 'use strict';
 
+var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
 
@@ -8,5 +9,5 @@
 var ToNumber = require('./ToNumber');
 
-var isNegativeZero = require('is-negative-zero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var typedArrayBuffer = require('typed-array-buffer');
 var typedArrayByteOffset = require('typed-array-byte-offset');
@@ -25,4 +26,7 @@
 	if (!arrayTypeName) {
 		throw new $TypeError('`O` must be a TypedArray'); // step 2
+	}
+	if (arrayTypeName === 'BigInt64Array' || arrayTypeName === 'BigUint64Array') {
+		throw new $SyntaxError('BigInt64Array and BigUint64Array do not exist until ES2020'); // step 2
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2015/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,7 +10,7 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-internalizejsonproperty
@@ -19,5 +19,5 @@
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -31,5 +31,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 3
+	if (isObject(val)) { // step 3
 		var isArray = IsArray(val); // step 3.a
 		if (isArray) { // step 3.c
Index: imaps-frontend/node_modules/es-abstract/2015/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/IsInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IsInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IsInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 // https://262.ecma-international.org/6.0/#sec-isinteger
Index: imaps-frontend/node_modules/es-abstract/2015/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2015/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorclose
 
 module.exports = function IteratorClose(iterator, completion) {
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('Assertion failed: Type(iterator) is not Object');
 	}
@@ -42,5 +43,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var Invoke = require('./Invoke');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratornext
@@ -10,5 +11,5 @@
 module.exports = function IteratorNext(iterator, value) {
 	var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2015/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2015/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2015/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2015/ObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function ObjectCreate(proto, internalSlotsList) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,12 +10,15 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
+
+/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
+	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2015/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 
@@ -28,5 +28,5 @@
 	var product = '"';
 	if (value) {
-		forEach($strSplit(value), function (C) {
+		forEach($strSplit(value, ''), function (C) {
 			if (C === '"' || C === '\\') {
 				product += '\u005C' + C;
Index: imaps-frontend/node_modules/es-abstract/2015/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2015/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2015/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2015/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
@@ -24,11 +24,11 @@
 var TypeToAO = {
 	__proto__: null,
-	Int8: ToInt8,
-	Uint8: ToUint8,
-	Uint8C: ToUint8Clamp,
-	Int16: ToInt16,
-	Uint16: ToUint16,
-	Int32: ToInt32,
-	Uint32: ToUint32
+	$Int8: ToInt8,
+	$Uint8: ToUint8,
+	$Uint8C: ToUint8Clamp,
+	$Int16: ToInt16,
+	$Uint16: ToUint16,
+	$Int32: ToInt32,
+	$Uint32: ToUint32
 };
 
@@ -94,5 +94,5 @@
 		var n = elementSize; // step 3.a
 
-		var convOp = TypeToAO[type]; // step 3.b
+		var convOp = TypeToAO['$' + type]; // step 3.b
 
 		var intValue = convOp(value); // step 3.c
Index: imaps-frontend/node_modules/es-abstract/2015/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/SplitMatch.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/SplitMatch.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/SplitMatch.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2015/StrictEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/StrictEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/StrictEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,8 @@
 
 module.exports = function StrictEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	if (xType === 'Undefined' || xType === 'Null') {
+	if (typeof x === 'undefined' || x === null) {
 		return true;
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2015/StringGetIndexProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/StringGetIndexProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/StringGetIndexProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -8,10 +8,10 @@
 
 var isString = require('is-string');
-var isNegativeZero = require('is-negative-zero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var unbox = require('unbox-primitive');
 
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsInteger = require('./IsInteger');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-stringgetindexproperty
@@ -21,5 +21,5 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed String Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2015/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2015/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2015/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToInteger = require('./ToInteger');
Index: imaps-frontend/node_modules/es-abstract/2015/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var isPrimitive = require('../helpers/isPrimitive');
@@ -45,4 +45,4 @@
 
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2015/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,12 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var modulo = require('./modulo');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.7
Index: imaps-frontend/node_modules/es-abstract/2015/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,11 +3,10 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
-
-var abs = require('./abs');
-var floor = require('./floor');
-var modulo = require('./modulo');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var modulo = require('math-intrinsics/mod');
 
 // https://262.ecma-international.org/6.0/#sec-touint8
Index: imaps-frontend/node_modules/es-abstract/2015/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2015/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,8 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor
@@ -21,6 +22,5 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	// this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic.
-	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
@@ -34,5 +34,5 @@
 		throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined');
 	}
-	if (oType !== 'Undefined' && !IsPropertyKey(P)) {
+	if (typeof O !== 'undefined' && !isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key');
 	}
@@ -42,5 +42,5 @@
 		}
 		if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -61,5 +61,5 @@
 				throw new $TypeError('Assertion failed: Desc is not an accessor descriptor');
 			}
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				return DefineOwnProperty(
 					IsDataDescriptor,
@@ -96,5 +96,5 @@
 		}
 		if (IsDataDescriptor(current)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -110,5 +110,5 @@
 				);
 			}
-		} else if (oType !== 'Undefined') {
+		} else if (typeof O !== 'undefined') {
 			DefineOwnProperty(
 				IsDataDescriptor,
@@ -147,5 +147,5 @@
 		throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.');
 	}
-	if (oType !== 'Undefined') {
+	if (typeof O !== 'undefined') {
 		return DefineOwnProperty(
 			IsDataDescriptor,
Index: imaps-frontend/node_modules/es-abstract/2015/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -12,5 +13,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2015/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2015/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2015/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2015/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2015/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2015/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/thisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2015/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/thisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2015/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/thisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2015/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2015/thisTimeValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2015/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,9 @@
 'use strict';
 
-var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
+var timeValue = require('../helpers/timeValue');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return $DateGetTime(value);
+	return timeValue(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2016/AbstractEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/AbstractEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/AbstractEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,10 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
 
 module.exports = function AbstractEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return x === y; // ES6+ specified this shortcut anyways.
 	}
@@ -16,20 +16,20 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol') && isObject(y)) {
 		return AbstractEqualityComparison(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol')) {
 		return AbstractEqualityComparison(ToPrimitive(x), y);
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/AbstractRelationalComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/AbstractRelationalComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/AbstractRelationalComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,7 @@
 var $Number = GetIntrinsic('%Number%');
 var $TypeError = require('es-errors/type');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
 var isPrefixOf = require('../helpers/isPrefixOf');
 
Index: imaps-frontend/node_modules/es-abstract/2016/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,13 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
+
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
 
 var $TypeError = require('es-errors/type');
 
-var $charCodeAt = require('call-bind/callBound')('String.prototype.charCodeAt');
+var $charCodeAt = require('call-bound')('String.prototype.charCodeAt');
 
 // https://262.ecma-international.org/6.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2016/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var hasProto = require('has-proto')();
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/6.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2016/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,11 +6,11 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-arrayspeciescreate
@@ -30,5 +30,5 @@
 		// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 		// }
-		if ($species && Type(C) === 'Object') {
+		if ($species && isObject(C)) {
 			C = Get(C, $species);
 			if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2016/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2016/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2016/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2016/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2016/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/6.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2016/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2016/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,4 +13,6 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];
 
@@ -21,5 +23,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/CreateMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,17 +7,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2016/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2016/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2016/EnumerableOwnNames.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/EnumerableOwnNames.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/EnumerableOwnNames.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,10 @@
 var keys = require('object-keys');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-enumerableownnames
 
 module.exports = function EnumerableOwnNames(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2016/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,12 @@
 var GetMethod = require('./GetMethod');
 var IsArray = require('./IsArray');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
 
 // https://262.ecma-international.org/6.0/#sec-getiterator
@@ -15,15 +22,8 @@
 	var actualMethod = method;
 	if (arguments.length < 2) {
-		actualMethod = getIteratorMethod(
-			{
-				AdvanceStringIndex: AdvanceStringIndex,
-				GetMethod: GetMethod,
-				IsArray: IsArray
-			},
-			obj
-		);
+		actualMethod = getIteratorMethod(ES, obj);
 	}
 	var iterator = Call(actualMethod, obj);
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2016/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2016/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var inspect = require('object-inspect');
-
+var isInteger = require('math-intrinsics/isInteger');
 var regexTester = require('safe-regex-test');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var every = require('../helpers/every');
 
@@ -20,5 +20,4 @@
 var IsArray = require('./IsArray');
 
-var isInteger = require('../helpers/isInteger');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
 
Index: imaps-frontend/node_modules/es-abstract/2016/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2016/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var callBound = require('call-bind/callBound');
+var isInteger = require('math-intrinsics/isInteger');
+var callBound = require('call-bound');
 
 var $charAt = callBound('String.prototype.charAt');
@@ -16,5 +17,4 @@
 var bytesAsInteger = require('../helpers/bytesAsInteger');
 var defaultEndianness = require('../helpers/defaultEndianness');
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
@@ -76,9 +76,9 @@
 
 	if (type === 'Float32') { // step 3
-		return bytesAsFloat32(bytes, true);
+		return bytesAsFloat32(bytes);
 	}
 
 	if (type === 'Float64') { // step 4
-		return bytesAsFloat64(bytes, true);
+		return bytesAsFloat64(bytes);
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2016/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/IntegerIndexedElementGet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IntegerIndexedElementGet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IntegerIndexedElementGet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,10 +3,9 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var GetValueFromBuffer = require('./GetValueFromBuffer');
 var IsDetachedBuffer = require('./IsDetachedBuffer');
 var IsInteger = require('./IsInteger');
-
-var isNegativeZero = require('../helpers/isNegativeZero');
 
 var typedArrayLength = require('typed-array-length');
Index: imaps-frontend/node_modules/es-abstract/2016/IntegerIndexedElementSet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IntegerIndexedElementSet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IntegerIndexedElementSet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,4 +1,5 @@
 'use strict';
 
+var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
 
@@ -8,5 +9,5 @@
 var ToNumber = require('./ToNumber');
 
-var isNegativeZero = require('is-negative-zero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var typedArrayBuffer = require('typed-array-buffer');
 var typedArrayByteOffset = require('typed-array-byte-offset');
@@ -25,4 +26,7 @@
 	if (!arrayTypeName) {
 		throw new $TypeError('`O` must be a TypedArray'); // step 2
+	}
+	if (arrayTypeName === 'BigInt64Array' || arrayTypeName === 'BigUint64Array') {
+		throw new $SyntaxError('BigInt64Array and BigUint64Array do not exist until ES2020'); // step 2
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2016/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,7 +10,7 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-internalizejsonproperty
@@ -19,5 +19,5 @@
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -31,5 +31,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 3
+	if (isObject(val)) { // step 3
 		var isArray = IsArray(val); // step 3.a
 		if (isArray) { // step 3.c
Index: imaps-frontend/node_modules/es-abstract/2016/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/IsInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IsInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IsInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 // https://262.ecma-international.org/6.0/#sec-isinteger
Index: imaps-frontend/node_modules/es-abstract/2016/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2016/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/IterableToArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IterableToArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IterableToArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $arrayPush = callBound('Array.prototype.push');
 
Index: imaps-frontend/node_modules/es-abstract/2016/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorclose
 
 module.exports = function IteratorClose(iterator, completion) {
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('Assertion failed: Type(iterator) is not Object');
 	}
@@ -42,5 +43,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var Invoke = require('./Invoke');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratornext
@@ -10,5 +11,5 @@
 module.exports = function IteratorNext(iterator, value) {
 	var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2016/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2016/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2016/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2016/ObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function ObjectCreate(proto, internalSlotsList) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,12 +10,15 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
+
+/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
+	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2016/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/OrdinaryGetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,12 +3,11 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('../helpers/getProto');
-
-var Type = require('./Type');
+var $getProto = require('get-proto');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/OrdinarySetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,13 +2,14 @@
 
 var $TypeError = require('es-errors/type');
-
-var $setProto = require('../helpers/setProto');
+var $setProto = require('set-proto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (typeof V !== 'object') {
+	if (V !== null && !isObject(V)) {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 
@@ -28,5 +28,5 @@
 	var product = '"';
 	if (value) {
-		forEach($strSplit(value), function (C) {
+		forEach($strSplit(value, ''), function (C) {
 			if (C === '"' || C === '\\') {
 				product += '\u005C' + C;
Index: imaps-frontend/node_modules/es-abstract/2016/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2016/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2016/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2016/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
@@ -24,11 +24,11 @@
 var TypeToAO = {
 	__proto__: null,
-	Int8: ToInt8,
-	Uint8: ToUint8,
-	Uint8C: ToUint8Clamp,
-	Int16: ToInt16,
-	Uint16: ToUint16,
-	Int32: ToInt32,
-	Uint32: ToUint32
+	$Int8: ToInt8,
+	$Uint8: ToUint8,
+	$Uint8C: ToUint8Clamp,
+	$Int16: ToInt16,
+	$Uint16: ToUint16,
+	$Int32: ToInt32,
+	$Uint32: ToUint32
 };
 
@@ -94,5 +94,5 @@
 		var n = elementSize; // step 3.a
 
-		var convOp = TypeToAO[type]; // step 3.b
+		var convOp = TypeToAO['$' + type]; // step 3.b
 
 		var intValue = convOp(value); // step 3.c
Index: imaps-frontend/node_modules/es-abstract/2016/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/SplitMatch.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/SplitMatch.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/SplitMatch.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2016/StrictEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/StrictEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/StrictEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,8 @@
 
 module.exports = function StrictEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	if (xType === 'Undefined' || xType === 'Null') {
+	if (typeof x === 'undefined' || x === null) {
 		return true;
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2016/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2016/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2016/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2016/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToInteger = require('./ToInteger');
Index: imaps-frontend/node_modules/es-abstract/2016/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var isPrimitive = require('../helpers/isPrimitive');
@@ -45,4 +45,4 @@
 
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2016/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,12 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var modulo = require('./modulo');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.7
Index: imaps-frontend/node_modules/es-abstract/2016/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,11 +3,10 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
-
-var abs = require('./abs');
-var floor = require('./floor');
-var modulo = require('./modulo');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var modulo = require('math-intrinsics/mod');
 
 // https://262.ecma-international.org/6.0/#sec-touint8
Index: imaps-frontend/node_modules/es-abstract/2016/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2016/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,8 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor
@@ -21,6 +22,5 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	// this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic.
-	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
@@ -34,5 +34,5 @@
 		throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined');
 	}
-	if (oType !== 'Undefined' && !IsPropertyKey(P)) {
+	if (typeof O !== 'undefined' && !isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key');
 	}
@@ -42,5 +42,5 @@
 		}
 		if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -61,5 +61,5 @@
 				throw new $TypeError('Assertion failed: Desc is not an accessor descriptor');
 			}
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				return DefineOwnProperty(
 					IsDataDescriptor,
@@ -96,5 +96,5 @@
 		}
 		if (IsDataDescriptor(current)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -110,5 +110,5 @@
 				);
 			}
-		} else if (oType !== 'Undefined') {
+		} else if (typeof O !== 'undefined') {
 			DefineOwnProperty(
 				IsDataDescriptor,
@@ -147,5 +147,5 @@
 		throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.');
 	}
-	if (oType !== 'Undefined') {
+	if (typeof O !== 'undefined') {
 		return DefineOwnProperty(
 			IsDataDescriptor,
Index: imaps-frontend/node_modules/es-abstract/2016/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -12,5 +13,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2016/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2016/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2016/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2016/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2016/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2016/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/thisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2016/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/thisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2016/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/thisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2016/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2016/thisTimeValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2016/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,9 @@
 'use strict';
 
-var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
+var timeValue = require('../helpers/timeValue');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return $DateGetTime(value);
+	return timeValue(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2017/AbstractEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/AbstractEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/AbstractEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,10 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
 
 module.exports = function AbstractEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return x === y; // ES6+ specified this shortcut anyways.
 	}
@@ -16,20 +16,20 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol') && isObject(y)) {
 		return AbstractEqualityComparison(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol')) {
 		return AbstractEqualityComparison(ToPrimitive(x), y);
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/AbstractRelationalComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/AbstractRelationalComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/AbstractRelationalComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,7 @@
 var $Number = GetIntrinsic('%Number%');
 var $TypeError = require('es-errors/type');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
 var isPrefixOf = require('../helpers/isPrefixOf');
 
Index: imaps-frontend/node_modules/es-abstract/2017/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,13 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
+
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
 
 var $TypeError = require('es-errors/type');
 
-var $charCodeAt = require('call-bind/callBound')('String.prototype.charCodeAt');
+var $charCodeAt = require('call-bound')('String.prototype.charCodeAt');
 
 // https://262.ecma-international.org/6.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2017/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var hasProto = require('has-proto')();
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/6.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2017/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,11 +6,11 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-arrayspeciescreate
@@ -30,5 +30,5 @@
 		// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 		// }
-		if ($species && Type(C) === 'Object') {
+		if ($species && isObject(C)) {
 			C = Get(C, $species);
 			if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2017/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2017/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2017/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2017/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2017/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/6.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2017/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2017/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,4 +13,6 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];
 
@@ -21,5 +23,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/CreateMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,17 +7,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2017/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2017/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2017/EnumerableOwnProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/EnumerableOwnProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/EnumerableOwnProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,25 +1,19 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 var $TypeError = require('es-errors/type');
 
 var objectKeys = require('object-keys');
-
-var callBound = require('call-bind/callBound');
-
-var callBind = require('call-bind');
+var callBound = require('call-bound');
+var safePushApply = require('safe-push-apply');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
-var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 
 var forEach = require('../helpers/forEach');
-
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/8.0/#sec-enumerableownproperties
 
 module.exports = function EnumerableOwnProperties(O, kind) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -33,5 +27,5 @@
 		forEach(keys, function (key) {
 			if ($isEnumerable(O, key)) {
-				$pushApply(results, [
+				safePushApply(results, [
 					kind === 'value' ? O[key] : [key, O[key]]
 				]);
Index: imaps-frontend/node_modules/es-abstract/2017/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2017/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,12 @@
 var GetMethod = require('./GetMethod');
 var IsArray = require('./IsArray');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
 
 // https://262.ecma-international.org/6.0/#sec-getiterator
@@ -15,15 +22,8 @@
 	var actualMethod = method;
 	if (arguments.length < 2) {
-		actualMethod = getIteratorMethod(
-			{
-				AdvanceStringIndex: AdvanceStringIndex,
-				GetMethod: GetMethod,
-				IsArray: IsArray
-			},
-			obj
-		);
+		actualMethod = getIteratorMethod(ES, obj);
 	}
 	var iterator = Call(actualMethod, obj);
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2017/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2017/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var inspect = require('object-inspect');
-
+var isInteger = require('math-intrinsics/isInteger');
 var regexTester = require('safe-regex-test');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var every = require('../helpers/every');
 
@@ -20,5 +20,4 @@
 var IsArray = require('./IsArray');
 
-var isInteger = require('../helpers/isInteger');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
 
Index: imaps-frontend/node_modules/es-abstract/2017/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2017/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,11 +5,10 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $slice = callBound('Array.prototype.slice');
-
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
Index: imaps-frontend/node_modules/es-abstract/2017/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/IntegerIndexedElementGet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IntegerIndexedElementGet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IntegerIndexedElementGet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var IsInteger = require('./IsInteger');
 
-var isNegativeZero = require('../helpers/isNegativeZero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var typedArrayLength = require('typed-array-length');
Index: imaps-frontend/node_modules/es-abstract/2017/IntegerIndexedElementSet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IntegerIndexedElementSet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IntegerIndexedElementSet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,4 +1,5 @@
 'use strict';
 
+var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
 
@@ -8,5 +9,5 @@
 var ToNumber = require('./ToNumber');
 
-var isNegativeZero = require('is-negative-zero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var typedArrayBuffer = require('typed-array-buffer');
 var typedArrayByteOffset = require('typed-array-byte-offset');
@@ -25,4 +26,7 @@
 	if (!arrayTypeName) {
 		throw new $TypeError('`O` must be a TypedArray'); // step 2
+	}
+	if (arrayTypeName === 'BigInt64Array' || arrayTypeName === 'BigUint64Array') {
+		throw new $SyntaxError('BigInt64Array and BigUint64Array do not exist until ES2020'); // step 2
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2017/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,7 +10,7 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/8.0/#sec-internalizejsonproperty
@@ -19,5 +19,5 @@
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -31,5 +31,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 2
+	if (isObject(val)) { // step 2
 		var isArray = IsArray(val); // step 2.a
 		if (isArray) { // step 2.b
Index: imaps-frontend/node_modules/es-abstract/2017/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/IsDetachedBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IsDetachedBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IsDetachedBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $byteLength = require('array-buffer-byte-length');
 var availableTypedArrays = require('available-typed-arrays')();
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2017/IsInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IsInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IsInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 // https://262.ecma-international.org/6.0/#sec-isinteger
Index: imaps-frontend/node_modules/es-abstract/2017/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2017/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/IsSharedArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IsSharedArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IsSharedArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 var isSharedArrayBuffer = require('is-shared-array-buffer');
@@ -10,5 +10,5 @@
 
 module.exports = function IsSharedArrayBuffer(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/IsWordChar.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IsWordChar.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IsWordChar.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2017/IterableToList.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IterableToList.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IterableToList.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $arrayPush = callBound('Array.prototype.push');
 
Index: imaps-frontend/node_modules/es-abstract/2017/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorclose
 
 module.exports = function IteratorClose(iterator, completion) {
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('Assertion failed: Type(iterator) is not Object');
 	}
@@ -42,5 +43,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var Invoke = require('./Invoke');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratornext
@@ -10,5 +11,5 @@
 module.exports = function IteratorNext(iterator, value) {
 	var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2017/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2017/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2017/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2017/ObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function ObjectCreate(proto, internalSlotsList) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,12 +10,15 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
+
+/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
+	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2017/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/OrdinaryGetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,12 +3,11 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('../helpers/getProto');
-
-var Type = require('./Type');
+var $getProto = require('get-proto');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/OrdinarySetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,13 +2,14 @@
 
 var $TypeError = require('es-errors/type');
-
-var $setProto = require('../helpers/setProto');
+var $setProto = require('set-proto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (typeof V !== 'object') {
+	if (V !== null && !isObject(V)) {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/OrdinaryToPrimitive.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/OrdinaryToPrimitive.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/OrdinaryToPrimitive.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var inspect = require('object-inspect');
@@ -13,5 +14,5 @@
 
 module.exports = function OrdinaryToPrimitive(O, hint) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -27,5 +28,5 @@
 		if (IsCallable(method)) {
 			var result = Call(method, O);
-			if (Type(result) !== 'Object') {
+			if (!isObject(result)) {
 				return result;
 			}
Index: imaps-frontend/node_modules/es-abstract/2017/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 
@@ -28,5 +28,5 @@
 	var product = '"';
 	if (value) {
-		forEach($strSplit(value), function (C) {
+		forEach($strSplit(value, ''), function (C) {
 			if (C === '"' || C === '\\') {
 				product += '\u005C' + C;
Index: imaps-frontend/node_modules/es-abstract/2017/RawBytesToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/RawBytesToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/RawBytesToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $RangeError = require('es-errors/range');
Index: imaps-frontend/node_modules/es-abstract/2017/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2017/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2017/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2017/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,45 +3,30 @@
 var GetIntrinsic = require('get-intrinsic');
 
+var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var ToInt16 = require('./ToInt16');
-var ToInt32 = require('./ToInt32');
-var ToInt8 = require('./ToInt8');
-var ToUint16 = require('./ToUint16');
-var ToUint32 = require('./ToUint32');
-var ToUint8 = require('./ToUint8');
-var ToUint8Clamp = require('./ToUint8Clamp');
+var NumberToRawBytes = require('./NumberToRawBytes');
 
 var isArrayBuffer = require('is-array-buffer');
+var isSharedArrayBuffer = require('is-shared-array-buffer');
 var hasOwn = require('hasown');
 
 var tableTAO = require('./tables/typed-array-objects');
 
-var TypeToAO = {
-	__proto__: null,
-	Int8: ToInt8,
-	Uint8: ToUint8,
-	Uint8C: ToUint8Clamp,
-	Int16: ToInt16,
-	Uint16: ToUint16,
-	Int32: ToInt32,
-	Uint32: ToUint32
-};
-
 var defaultEndianness = require('../helpers/defaultEndianness');
 var forEach = require('../helpers/forEach');
-var integerToNBytes = require('../helpers/integerToNBytes');
-var valueToFloat32Bytes = require('../helpers/valueToFloat32Bytes');
-var valueToFloat64Bytes = require('../helpers/valueToFloat64Bytes');
 
-// https://262.ecma-international.org/6.0/#sec-setvalueinbuffer
+// https://262.ecma-international.org/8.0/#sec-setvalueinbuffer
 
-module.exports = function SetValueInBuffer(arrayBuffer, byteIndex, type, value) {
-	if (!isArrayBuffer(arrayBuffer)) {
-		throw new $TypeError('Assertion failed: `arrayBuffer` must be an ArrayBuffer');
+/* eslint max-params: 0 */
+
+module.exports = function SetValueInBuffer(arrayBuffer, byteIndex, type, value, isTypedArray, order) {
+	var isSAB = isSharedArrayBuffer(arrayBuffer);
+	if (!isArrayBuffer(arrayBuffer) && !isSAB) {
+		throw new $TypeError('Assertion failed: `arrayBuffer` must be an ArrayBuffer or a SharedArrayBuffer');
 	}
 
@@ -58,5 +43,12 @@
 	}
 
-	if (arguments.length > 4 && typeof arguments[4] !== 'boolean') {
+	if (typeof isTypedArray !== 'boolean') {
+		throw new $TypeError('Assertion failed: `isTypedArray` must be a boolean');
+	}
+	if (order !== 'SeqCst' && order !== 'Unordered' && order !== 'Init') {
+		throw new $TypeError('Assertion failed: `order` must be `"SeqCst"`, `"Unordered"`, or `"Init"`');
+	}
+
+	if (arguments.length > 6 && typeof arguments[6] !== 'boolean') {
 		throw new $TypeError('Assertion failed: `isLittleEndian` must be a boolean, if present');
 	}
@@ -74,37 +66,29 @@
 	// 4. Assert: Type(value) is Number.
 
-	// 5. Let block be arrayBuffer’s [[ArrayBufferData]] internal slot.
+	// 5. Let block be arrayBuffer.[[ArrayBufferData]].
 
-	// 6. Assert: block is not undefined.
+	var elementSize = tableTAO.size['$' + type]; // step 6
 
-	var elementSize = tableTAO.size['$' + type]; // step 7
-	if (!elementSize) {
-		throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
+	// 7. If isLittleEndian is not present, set isLittleEndian to to the value of the [[LittleEndian]] field of the surrounding agent's Agent Record.
+	var isLittleEndian = arguments.length > 6 ? arguments[6] : defaultEndianness === 'little'; // step 8
+
+	var rawBytes = NumberToRawBytes(type, value, isLittleEndian); // step 8
+
+	if (isSAB) { // step 9
+		/*
+			Let execution be the [[CandidateExecution]] field of the surrounding agent's Agent Record.
+			Let eventList be the [[EventList]] field of the element in execution.[[EventsRecords]] whose [[AgentSignifier]] is AgentSignifier().
+			If isTypedArray is true and IsNoTearConfiguration(type, order) is true, let noTear be true; otherwise let noTear be false.
+			Append WriteSharedMemory { [[Order]]: order, [[NoTear]]: noTear, [[Block]]: block, [[ByteIndex]]: byteIndex, [[ElementSize]]: elementSize, [[Payload]]: rawBytes } to eventList.
+		*/
+		throw new $SyntaxError('SharedArrayBuffer is not supported by this implementation');
+	} else {
+		// 10. Store the individual bytes of rawBytes into block, in order, starting at block[byteIndex].
+		var arr = new $Uint8Array(arrayBuffer, byteIndex, elementSize);
+		forEach(rawBytes, function (rawByte, i) {
+			arr[i] = rawByte;
+		});
 	}
 
-	// 8. If isLittleEndian is not present, set isLittleEndian to either true or false. The choice is implementation dependent and should be the alternative that is most efficient for the implementation. An implementation must use the same value each time this step is executed and the same value must be used for the corresponding step in the GetValueFromBuffer abstract operation.
-	var isLittleEndian = arguments.length > 4 ? arguments[4] : defaultEndianness === 'little'; // step 8
-
-	var rawBytes;
-	if (type === 'Float32') { // step 1
-		rawBytes = valueToFloat32Bytes(value, isLittleEndian);
-	} else if (type === 'Float64') { // step 2
-		rawBytes = valueToFloat64Bytes(value, isLittleEndian);
-	} else {
-		var n = elementSize; // step 3.a
-
-		var convOp = TypeToAO[type]; // step 3.b
-
-		var intValue = convOp(value); // step 3.c
-
-		rawBytes = integerToNBytes(intValue, n, isLittleEndian); // step 3.d, 3.e, 4
-	}
-
-	// 12. Store the individual bytes of rawBytes into block, in order, starting at block[byteIndex].
-	var arr = new $Uint8Array(arrayBuffer, byteIndex, elementSize);
-	forEach(rawBytes, function (rawByte, i) {
-		arr[i] = rawByte;
-	});
-
-	// 13. Return NormalCompletion(undefined).
+	// 11. Return NormalCompletion(undefined).
 };
Index: imaps-frontend/node_modules/es-abstract/2017/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/SplitMatch.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/SplitMatch.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/SplitMatch.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2017/StrictEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/StrictEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/StrictEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,8 @@
 
 module.exports = function StrictEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	if (xType === 'Undefined' || xType === 'Null') {
+	if (typeof x === 'undefined' || x === null) {
 		return true;
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2017/StringGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/StringGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/StringGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $charAt = callBound('String.prototype.charAt');
 var $stringToString = callBound('String.prototype.toString');
@@ -9,8 +9,9 @@
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsInteger = require('./IsInteger');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
 
-var isNegativeZero = require('is-negative-zero');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
+
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 // https://262.ecma-international.org/8.0/#sec-stringgetownproperty
@@ -18,5 +19,5 @@
 module.exports = function StringGetOwnProperty(S, P) {
 	var str;
-	if (Type(S) === 'Object') {
+	if (isObject(S)) {
 		try {
 			str = $stringToString(S);
@@ -26,6 +27,6 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed string object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	if (typeof P !== 'string') {
Index: imaps-frontend/node_modules/es-abstract/2017/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2017/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2017/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2017/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToInteger = require('./ToInteger');
Index: imaps-frontend/node_modules/es-abstract/2017/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var isPrimitive = require('../helpers/isPrimitive');
@@ -45,4 +45,4 @@
 
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2017/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,12 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var modulo = require('./modulo');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.7
Index: imaps-frontend/node_modules/es-abstract/2017/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,11 +3,10 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
-
-var abs = require('./abs');
-var floor = require('./floor');
-var modulo = require('./modulo');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var modulo = require('math-intrinsics/mod');
 
 // https://262.ecma-international.org/6.0/#sec-touint8
Index: imaps-frontend/node_modules/es-abstract/2017/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2017/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,8 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor
@@ -21,6 +22,5 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	// this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic.
-	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
@@ -34,5 +34,5 @@
 		throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined');
 	}
-	if (oType !== 'Undefined' && !IsPropertyKey(P)) {
+	if (typeof O !== 'undefined' && !isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key');
 	}
@@ -42,5 +42,5 @@
 		}
 		if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -61,5 +61,5 @@
 				throw new $TypeError('Assertion failed: Desc is not an accessor descriptor');
 			}
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				return DefineOwnProperty(
 					IsDataDescriptor,
@@ -96,5 +96,5 @@
 		}
 		if (IsDataDescriptor(current)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -110,5 +110,5 @@
 				);
 			}
-		} else if (oType !== 'Undefined') {
+		} else if (typeof O !== 'undefined') {
 			DefineOwnProperty(
 				IsDataDescriptor,
@@ -147,5 +147,5 @@
 		throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.');
 	}
-	if (oType !== 'Undefined') {
+	if (typeof O !== 'undefined') {
 		return DefineOwnProperty(
 			IsDataDescriptor,
Index: imaps-frontend/node_modules/es-abstract/2017/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -12,5 +13,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2017/WordCharacters.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/WordCharacters.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/WordCharacters.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $indexOf = callBound('String.prototype.indexOf', true);
 
@@ -10,5 +10,5 @@
 var caseFolding = require('../helpers/caseFolding.json');
 var forEach = require('../helpers/forEach');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var A = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; // step 1
Index: imaps-frontend/node_modules/es-abstract/2017/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2017/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2017/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2017/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2017/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2017/tables/typed-array-objects.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/tables/typed-array-objects.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/tables/typed-array-objects.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-// https://262.ecma-international.org/8.0/#table-59
+// https://262.ecma-international.org/8.0/#table-49
 
 module.exports = {
Index: imaps-frontend/node_modules/es-abstract/2017/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/thisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2017/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/thisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2017/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/thisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2017/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2017/thisTimeValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2017/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,9 @@
 'use strict';
 
-var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
+var timeValue = require('../helpers/timeValue');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return $DateGetTime(value);
+	return timeValue(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2018/AbstractEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/AbstractEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/AbstractEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,10 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
 
 module.exports = function AbstractEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return x === y; // ES6+ specified this shortcut anyways.
 	}
@@ -16,20 +16,20 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol') && isObject(y)) {
 		return AbstractEqualityComparison(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol')) {
 		return AbstractEqualityComparison(ToPrimitive(x), y);
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/AbstractRelationalComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/AbstractRelationalComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/AbstractRelationalComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,6 @@
 var $Number = GetIntrinsic('%Number%');
 var $TypeError = require('es-errors/type');
-
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var IsStringPrefix = require('./IsStringPrefix');
Index: imaps-frontend/node_modules/es-abstract/2018/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,13 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
+
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
 
 var $TypeError = require('es-errors/type');
 
-var $charCodeAt = require('call-bind/callBound')('String.prototype.charCodeAt');
+var $charCodeAt = require('call-bound')('String.prototype.charCodeAt');
 
 // https://262.ecma-international.org/6.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2018/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var hasProto = require('has-proto')();
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/6.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2018/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,11 +6,11 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-arrayspeciescreate
@@ -30,5 +30,5 @@
 		// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 		// }
-		if ($species && Type(C) === 'Object') {
+		if ($species && isObject(C)) {
 			C = Get(C, $species);
 			if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2018/AsyncIteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/AsyncIteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/AsyncIteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,9 +10,9 @@
 var CompletionRecord = require('./CompletionRecord');
 var GetMethod = require('./GetMethod');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -47,5 +47,5 @@
 				}),
 				function (innerResult) {
-					if (Type(innerResult) !== 'Object') {
+					if (!isObject(innerResult)) {
 						throw new $TypeError('`innerResult` must be an Object'); // step 10
 					}
Index: imaps-frontend/node_modules/es-abstract/2018/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2018/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2018/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2018/CopyDataProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/CopyDataProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/CopyDataProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,7 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -13,14 +13,15 @@
 var IsArray = require('./IsArray');
 var IsInteger = require('./IsInteger');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToNumber = require('./ToNumber');
 var ToObject = require('./ToObject');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/9.0/#sec-copydataproperties
 
 module.exports = function CopyDataProperties(target, source, excludedItems) {
-	if (Type(target) !== 'Object') {
+	if (!isObject(target)) {
 		throw new $TypeError('Assertion failed: "target" must be an Object');
 	}
@@ -30,5 +31,5 @@
 	}
 	for (var i = 0; i < excludedItems.length; i += 1) {
-		if (!IsPropertyKey(excludedItems[i])) {
+		if (!isPropertyKey(excludedItems[i])) {
 			throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
 		}
Index: imaps-frontend/node_modules/es-abstract/2018/CreateAsyncFromSyncIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/CreateAsyncFromSyncIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/CreateAsyncFromSyncIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -16,16 +16,16 @@
 var ObjectCreate = require('./ObjectCreate');
 var PromiseResolve = require('./PromiseResolve');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
 var SLOT = require('internal-slot');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $then = callBound('Promise.prototype.then', true);
 
 var AsyncFromSyncIteratorContinuation = function AsyncFromSyncIteratorContinuation(result) {
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -102,5 +102,5 @@
 				result = Call(iteratorReturn, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `return` method returned a non-object value.')]); // step 11.a
 				return;
@@ -138,5 +138,5 @@
 				result = Call(throwMethod, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `throw` method returned a non-object value.')]); // step 11.a
 				return;
Index: imaps-frontend/node_modules/es-abstract/2018/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2018/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/6.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2018/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2018/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,4 +13,6 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];
 
@@ -21,5 +23,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/CreateMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,17 +7,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2018/DateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/DateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/DateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2018/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2018/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2018/EnumerableOwnPropertyNames.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/EnumerableOwnPropertyNames.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/EnumerableOwnPropertyNames.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,25 +1,19 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 var $TypeError = require('es-errors/type');
 
 var objectKeys = require('object-keys');
-
-var callBound = require('call-bind/callBound');
-
-var callBind = require('call-bind');
+var safePushApply = require('safe-push-apply');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
-var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 
 var forEach = require('../helpers/forEach');
-
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/8.0/#sec-enumerableownproperties
 
 module.exports = function EnumerableOwnPropertyNames(O, kind) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -33,5 +27,5 @@
 		forEach(keys, function (key) {
 			if ($isEnumerable(O, key)) {
-				$pushApply(results, [
+				safePushApply(results, [
 					kind === 'value' ? O[key] : [key, O[key]]
 				]);
Index: imaps-frontend/node_modules/es-abstract/2018/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2018/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,12 @@
 var GetMethod = require('./GetMethod');
 var IsArray = require('./IsArray');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
 
 // https://262.ecma-international.org/6.0/#sec-getiterator
@@ -15,15 +22,8 @@
 	var actualMethod = method;
 	if (arguments.length < 2) {
-		actualMethod = getIteratorMethod(
-			{
-				AdvanceStringIndex: AdvanceStringIndex,
-				GetMethod: GetMethod,
-				IsArray: IsArray
-			},
-			obj
-		);
+		actualMethod = getIteratorMethod(ES, obj);
 	}
 	var iterator = Call(actualMethod, obj);
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2018/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2018/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var every = require('../helpers/every');
@@ -15,4 +15,5 @@
 
 var inspect = require('object-inspect');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
@@ -21,5 +22,4 @@
 var ToString = require('./ToString');
 
-var isInteger = require('../helpers/isInteger');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
 
Index: imaps-frontend/node_modules/es-abstract/2018/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2018/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,11 +5,10 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $slice = callBound('Array.prototype.slice');
-
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
Index: imaps-frontend/node_modules/es-abstract/2018/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/IntegerIndexedElementGet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IntegerIndexedElementGet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IntegerIndexedElementGet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var IsInteger = require('./IsInteger');
 
-var isNegativeZero = require('../helpers/isNegativeZero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var typedArrayLength = require('typed-array-length');
Index: imaps-frontend/node_modules/es-abstract/2018/IntegerIndexedElementSet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IntegerIndexedElementSet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IntegerIndexedElementSet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,4 +1,5 @@
 'use strict';
 
+var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
 
@@ -8,5 +9,5 @@
 var ToNumber = require('./ToNumber');
 
-var isNegativeZero = require('is-negative-zero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var typedArrayBuffer = require('typed-array-buffer');
 var typedArrayByteOffset = require('typed-array-byte-offset');
@@ -25,4 +26,7 @@
 	if (!arrayTypeName) {
 		throw new $TypeError('`O` must be a TypedArray'); // step 2
+	}
+	if (arrayTypeName === 'BigInt64Array' || arrayTypeName === 'BigUint64Array') {
+		throw new $SyntaxError('BigInt64Array and BigUint64Array do not exist until ES2020'); // step 2
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2018/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,7 +10,7 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/9.0/#sec-internalizejsonproperty
@@ -19,5 +19,5 @@
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -31,5 +31,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 2
+	if (isObject(val)) { // step 2
 		var isArray = IsArray(val); // step 2.a
 		if (isArray) { // step 2.b
Index: imaps-frontend/node_modules/es-abstract/2018/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/IsDetachedBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IsDetachedBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IsDetachedBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $byteLength = require('array-buffer-byte-length');
 var availableTypedArrays = require('available-typed-arrays')();
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2018/IsInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IsInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IsInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 // https://262.ecma-international.org/6.0/#sec-isinteger
Index: imaps-frontend/node_modules/es-abstract/2018/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2018/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/IsSharedArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IsSharedArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IsSharedArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 var isSharedArrayBuffer = require('is-shared-array-buffer');
@@ -10,5 +10,5 @@
 
 module.exports = function IsSharedArrayBuffer(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/IsStringPrefix.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IsStringPrefix.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IsStringPrefix.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var isPrefixOf = require('../helpers/isPrefixOf');
 
-// var callBound = require('call-bind/callBound');
+// var callBound = require('call-bound');
 
 // var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2018/IsWordChar.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IsWordChar.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IsWordChar.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2018/IterableToList.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IterableToList.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IterableToList.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $arrayPush = callBound('Array.prototype.push');
 
Index: imaps-frontend/node_modules/es-abstract/2018/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorclose
 
 module.exports = function IteratorClose(iterator, completion) {
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('Assertion failed: Type(iterator) is not Object');
 	}
@@ -42,5 +43,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var Invoke = require('./Invoke');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratornext
@@ -10,5 +11,5 @@
 module.exports = function IteratorNext(iterator, value) {
 	var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2018/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2018/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2018/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2018/ObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function ObjectCreate(proto, internalSlotsList) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,12 +10,15 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
+
+/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
+	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2018/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/OrdinaryGetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,12 +3,11 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('../helpers/getProto');
-
-var Type = require('./Type');
+var $getProto = require('get-proto');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/OrdinarySetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,13 +2,14 @@
 
 var $TypeError = require('es-errors/type');
-
-var $setProto = require('../helpers/setProto');
+var $setProto = require('set-proto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (typeof V !== 'object') {
+	if (V !== null && !isObject(V)) {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/OrdinaryToPrimitive.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/OrdinaryToPrimitive.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/OrdinaryToPrimitive.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var inspect = require('object-inspect');
@@ -13,5 +14,5 @@
 
 module.exports = function OrdinaryToPrimitive(O, hint) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -27,5 +28,5 @@
 		if (IsCallable(method)) {
 			var result = Call(method, O);
-			if (Type(result) !== 'Object') {
+			if (!isObject(result)) {
 				return result;
 			}
Index: imaps-frontend/node_modules/es-abstract/2018/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 
@@ -31,5 +31,5 @@
 	var product = '"';
 	if (value) {
-		forEach($strSplit(value), function (C) {
+		forEach($strSplit(value, ''), function (C) {
 			if (hasOwn(escapes, C)) {
 				product += escapes[C];
Index: imaps-frontend/node_modules/es-abstract/2018/RawBytesToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/RawBytesToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/RawBytesToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $RangeError = require('es-errors/range');
Index: imaps-frontend/node_modules/es-abstract/2018/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2018/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2018/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2018/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/SetFunctionLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/SetFunctionLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/SetFunctionLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,9 @@
 
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var HasOwnProperty = require('./HasOwnProperty');
 var IsExtensible = require('./IsExtensible');
-
-var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/9.0/#sec-setfunctionlength
Index: imaps-frontend/node_modules/es-abstract/2018/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,45 +3,30 @@
 var GetIntrinsic = require('get-intrinsic');
 
+var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var ToInt16 = require('./ToInt16');
-var ToInt32 = require('./ToInt32');
-var ToInt8 = require('./ToInt8');
-var ToUint16 = require('./ToUint16');
-var ToUint32 = require('./ToUint32');
-var ToUint8 = require('./ToUint8');
-var ToUint8Clamp = require('./ToUint8Clamp');
+var NumberToRawBytes = require('./NumberToRawBytes');
 
 var isArrayBuffer = require('is-array-buffer');
+var isSharedArrayBuffer = require('is-shared-array-buffer');
 var hasOwn = require('hasown');
 
 var tableTAO = require('./tables/typed-array-objects');
 
-var TypeToAO = {
-	__proto__: null,
-	Int8: ToInt8,
-	Uint8: ToUint8,
-	Uint8C: ToUint8Clamp,
-	Int16: ToInt16,
-	Uint16: ToUint16,
-	Int32: ToInt32,
-	Uint32: ToUint32
-};
-
 var defaultEndianness = require('../helpers/defaultEndianness');
 var forEach = require('../helpers/forEach');
-var integerToNBytes = require('../helpers/integerToNBytes');
-var valueToFloat32Bytes = require('../helpers/valueToFloat32Bytes');
-var valueToFloat64Bytes = require('../helpers/valueToFloat64Bytes');
 
-// https://262.ecma-international.org/6.0/#sec-setvalueinbuffer
+// https://262.ecma-international.org/8.0/#sec-setvalueinbuffer
 
-module.exports = function SetValueInBuffer(arrayBuffer, byteIndex, type, value) {
-	if (!isArrayBuffer(arrayBuffer)) {
-		throw new $TypeError('Assertion failed: `arrayBuffer` must be an ArrayBuffer');
+/* eslint max-params: 0 */
+
+module.exports = function SetValueInBuffer(arrayBuffer, byteIndex, type, value, isTypedArray, order) {
+	var isSAB = isSharedArrayBuffer(arrayBuffer);
+	if (!isArrayBuffer(arrayBuffer) && !isSAB) {
+		throw new $TypeError('Assertion failed: `arrayBuffer` must be an ArrayBuffer or a SharedArrayBuffer');
 	}
 
@@ -58,5 +43,12 @@
 	}
 
-	if (arguments.length > 4 && typeof arguments[4] !== 'boolean') {
+	if (typeof isTypedArray !== 'boolean') {
+		throw new $TypeError('Assertion failed: `isTypedArray` must be a boolean');
+	}
+	if (order !== 'SeqCst' && order !== 'Unordered' && order !== 'Init') {
+		throw new $TypeError('Assertion failed: `order` must be `"SeqCst"`, `"Unordered"`, or `"Init"`');
+	}
+
+	if (arguments.length > 6 && typeof arguments[6] !== 'boolean') {
 		throw new $TypeError('Assertion failed: `isLittleEndian` must be a boolean, if present');
 	}
@@ -74,37 +66,29 @@
 	// 4. Assert: Type(value) is Number.
 
-	// 5. Let block be arrayBuffer’s [[ArrayBufferData]] internal slot.
+	// 5. Let block be arrayBuffer.[[ArrayBufferData]].
 
-	// 6. Assert: block is not undefined.
+	var elementSize = tableTAO.size['$' + type]; // step 6
 
-	var elementSize = tableTAO.size['$' + type]; // step 7
-	if (!elementSize) {
-		throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
+	// 7. If isLittleEndian is not present, set isLittleEndian to to the value of the [[LittleEndian]] field of the surrounding agent's Agent Record.
+	var isLittleEndian = arguments.length > 6 ? arguments[6] : defaultEndianness === 'little'; // step 8
+
+	var rawBytes = NumberToRawBytes(type, value, isLittleEndian); // step 8
+
+	if (isSAB) { // step 9
+		/*
+			Let execution be the [[CandidateExecution]] field of the surrounding agent's Agent Record.
+			Let eventList be the [[EventList]] field of the element in execution.[[EventsRecords]] whose [[AgentSignifier]] is AgentSignifier().
+			If isTypedArray is true and IsNoTearConfiguration(type, order) is true, let noTear be true; otherwise let noTear be false.
+			Append WriteSharedMemory { [[Order]]: order, [[NoTear]]: noTear, [[Block]]: block, [[ByteIndex]]: byteIndex, [[ElementSize]]: elementSize, [[Payload]]: rawBytes } to eventList.
+		*/
+		throw new $SyntaxError('SharedArrayBuffer is not supported by this implementation');
+	} else {
+		// 10. Store the individual bytes of rawBytes into block, in order, starting at block[byteIndex].
+		var arr = new $Uint8Array(arrayBuffer, byteIndex, elementSize);
+		forEach(rawBytes, function (rawByte, i) {
+			arr[i] = rawByte;
+		});
 	}
 
-	// 8. If isLittleEndian is not present, set isLittleEndian to either true or false. The choice is implementation dependent and should be the alternative that is most efficient for the implementation. An implementation must use the same value each time this step is executed and the same value must be used for the corresponding step in the GetValueFromBuffer abstract operation.
-	var isLittleEndian = arguments.length > 4 ? arguments[4] : defaultEndianness === 'little'; // step 8
-
-	var rawBytes;
-	if (type === 'Float32') { // step 1
-		rawBytes = valueToFloat32Bytes(value, isLittleEndian);
-	} else if (type === 'Float64') { // step 2
-		rawBytes = valueToFloat64Bytes(value, isLittleEndian);
-	} else {
-		var n = elementSize; // step 3.a
-
-		var convOp = TypeToAO[type]; // step 3.b
-
-		var intValue = convOp(value); // step 3.c
-
-		rawBytes = integerToNBytes(intValue, n, isLittleEndian); // step 3.d, 3.e, 4
-	}
-
-	// 12. Store the individual bytes of rawBytes into block, in order, starting at block[byteIndex].
-	var arr = new $Uint8Array(arrayBuffer, byteIndex, elementSize);
-	forEach(rawBytes, function (rawByte, i) {
-		arr[i] = rawByte;
-	});
-
-	// 13. Return NormalCompletion(undefined).
+	// 11. Return NormalCompletion(undefined).
 };
Index: imaps-frontend/node_modules/es-abstract/2018/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/SplitMatch.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/SplitMatch.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/SplitMatch.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2018/StrictEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/StrictEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/StrictEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,8 @@
 
 module.exports = function StrictEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	if (xType === 'Undefined' || xType === 'Null') {
+	if (typeof x === 'undefined' || x === null) {
 		return true;
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2018/StringGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/StringGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/StringGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $charAt = callBound('String.prototype.charAt');
 var $stringToString = callBound('String.prototype.toString');
@@ -9,8 +9,9 @@
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsInteger = require('./IsInteger');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
 
-var isNegativeZero = require('is-negative-zero');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
+
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 // https://262.ecma-international.org/8.0/#sec-stringgetownproperty
@@ -18,5 +19,5 @@
 module.exports = function StringGetOwnProperty(S, P) {
 	var str;
-	if (Type(S) === 'Object') {
+	if (isObject(S)) {
 		try {
 			str = $stringToString(S);
@@ -26,6 +27,6 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed string object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	if (typeof P !== 'string') {
Index: imaps-frontend/node_modules/es-abstract/2018/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2018/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2018/TimeString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/TimeString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/TimeString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2018/TimeZoneString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/TimeZoneString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/TimeZoneString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,7 +6,7 @@
 var $TypeError = require('es-errors/type');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2018/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2018/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToInteger = require('./ToInteger');
Index: imaps-frontend/node_modules/es-abstract/2018/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var isPrimitive = require('../helpers/isPrimitive');
@@ -45,4 +45,4 @@
 
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2018/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,12 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var modulo = require('./modulo');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.7
Index: imaps-frontend/node_modules/es-abstract/2018/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,11 +3,10 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
-
-var abs = require('./abs');
-var floor = require('./floor');
-var modulo = require('./modulo');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var modulo = require('math-intrinsics/mod');
 
 // https://262.ecma-international.org/6.0/#sec-touint8
Index: imaps-frontend/node_modules/es-abstract/2018/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2018/UnicodeEscape.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/UnicodeEscape.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/UnicodeEscape.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
Index: imaps-frontend/node_modules/es-abstract/2018/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,8 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor
@@ -21,6 +22,5 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	// this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic.
-	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
@@ -34,5 +34,5 @@
 		throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined');
 	}
-	if (oType !== 'Undefined' && !IsPropertyKey(P)) {
+	if (typeof O !== 'undefined' && !isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key');
 	}
@@ -42,5 +42,5 @@
 		}
 		if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -61,5 +61,5 @@
 				throw new $TypeError('Assertion failed: Desc is not an accessor descriptor');
 			}
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				return DefineOwnProperty(
 					IsDataDescriptor,
@@ -96,5 +96,5 @@
 		}
 		if (IsDataDescriptor(current)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -110,5 +110,5 @@
 				);
 			}
-		} else if (oType !== 'Undefined') {
+		} else if (typeof O !== 'undefined') {
 			DefineOwnProperty(
 				IsDataDescriptor,
@@ -147,5 +147,5 @@
 		throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.');
 	}
-	if (oType !== 'Undefined') {
+	if (typeof O !== 'undefined') {
 		return DefineOwnProperty(
 			IsDataDescriptor,
Index: imaps-frontend/node_modules/es-abstract/2018/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -12,5 +13,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2018/WordCharacters.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/WordCharacters.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/WordCharacters.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $indexOf = callBound('String.prototype.indexOf', true);
 
@@ -10,5 +10,5 @@
 var caseFolding = require('../helpers/caseFolding.json');
 var forEach = require('../helpers/forEach');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var A = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; // step 1
Index: imaps-frontend/node_modules/es-abstract/2018/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2018/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2018/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2018/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2018/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2018/tables/typed-array-objects.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/tables/typed-array-objects.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/tables/typed-array-objects.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-// https://262.ecma-international.org/8.0/#table-59
+// https://262.ecma-international.org/8.0/#table-49
 
 module.exports = {
Index: imaps-frontend/node_modules/es-abstract/2018/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/thisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2018/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/thisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2018/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/thisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2018/thisSymbolValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/thisSymbolValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/thisSymbolValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $SyntaxError = require('es-errors/syntax');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
@@ -9,10 +9,12 @@
 
 module.exports = function thisSymbolValue(value) {
+	if (typeof value === 'symbol') {
+		return value;
+	}
+
 	if (!$SymbolValueOf) {
 		throw new $SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object');
 	}
-	if (typeof value === 'symbol') {
-		return value;
-	}
+
 	return $SymbolValueOf(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2018/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2018/thisTimeValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2018/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,9 @@
 'use strict';
 
-var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
+var timeValue = require('../helpers/timeValue');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return $DateGetTime(value);
+	return timeValue(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2019/AbstractEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/AbstractEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/AbstractEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,10 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
 
 module.exports = function AbstractEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return x === y; // ES6+ specified this shortcut anyways.
 	}
@@ -16,20 +16,20 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol') && isObject(y)) {
 		return AbstractEqualityComparison(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol')) {
 		return AbstractEqualityComparison(ToPrimitive(x), y);
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/AbstractRelationalComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/AbstractRelationalComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/AbstractRelationalComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,6 @@
 var $Number = GetIntrinsic('%Number%');
 var $TypeError = require('es-errors/type');
-
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var IsStringPrefix = require('./IsStringPrefix');
Index: imaps-frontend/node_modules/es-abstract/2019/AddEntriesFromIterable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/AddEntriesFromIterable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/AddEntriesFromIterable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var ThrowCompletion = require('./ThrowCompletion');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/10.0/#sec-add-entries-from-iterable
@@ -31,5 +32,5 @@
 		}
 		var nextItem = IteratorValue(next);
-		if (Type(nextItem) !== 'Object') {
+		if (!isObject(nextItem)) {
 			var error = ThrowCompletion(new $TypeError('iterator next must return an Object, got ' + inspect(nextItem)));
 			return IteratorClose(iteratorRecord, error);
Index: imaps-frontend/node_modules/es-abstract/2019/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,13 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
+
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
 
 var $TypeError = require('es-errors/type');
 
-var $charCodeAt = require('call-bind/callBound')('String.prototype.charCodeAt');
+var $charCodeAt = require('call-bound')('String.prototype.charCodeAt');
 
 // https://262.ecma-international.org/6.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2019/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var hasProto = require('has-proto')();
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/6.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2019/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,11 +6,11 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-arrayspeciescreate
@@ -30,5 +30,5 @@
 		// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 		// }
-		if ($species && Type(C) === 'Object') {
+		if ($species && isObject(C)) {
 			C = Get(C, $species);
 			if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2019/AsyncFromSyncIteratorContinuation.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/AsyncFromSyncIteratorContinuation.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/AsyncFromSyncIteratorContinuation.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $Promise = GetIntrinsic('%Promise%', true);
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var CreateIterResultObject = require('./CreateIterResultObject');
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var PromiseResolve = require('./PromiseResolve');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -20,5 +21,5 @@
 
 module.exports = function AsyncFromSyncIteratorContinuation(result) {
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/AsyncIteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/AsyncIteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/AsyncIteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,9 +10,9 @@
 var CompletionRecord = require('./CompletionRecord');
 var GetMethod = require('./GetMethod');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -47,5 +47,5 @@
 				}),
 				function (innerResult) {
-					if (Type(innerResult) !== 'Object') {
+					if (!isObject(innerResult)) {
 						throw new $TypeError('`innerResult` must be an Object'); // step 10
 					}
Index: imaps-frontend/node_modules/es-abstract/2019/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2019/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2019/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2019/CopyDataProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/CopyDataProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/CopyDataProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,7 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -13,14 +13,15 @@
 var IsArray = require('./IsArray');
 var IsInteger = require('./IsInteger');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToNumber = require('./ToNumber');
 var ToObject = require('./ToObject');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/9.0/#sec-copydataproperties
 
 module.exports = function CopyDataProperties(target, source, excludedItems) {
-	if (Type(target) !== 'Object') {
+	if (!isObject(target)) {
 		throw new $TypeError('Assertion failed: "target" must be an Object');
 	}
@@ -30,5 +31,5 @@
 	}
 	for (var i = 0; i < excludedItems.length; i += 1) {
-		if (!IsPropertyKey(excludedItems[i])) {
+		if (!isPropertyKey(excludedItems[i])) {
 			throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
 		}
Index: imaps-frontend/node_modules/es-abstract/2019/CreateAsyncFromSyncIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/CreateAsyncFromSyncIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/CreateAsyncFromSyncIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,6 +14,6 @@
 var IteratorNext = require('./IteratorNext');
 var ObjectCreate = require('./ObjectCreate');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
@@ -70,5 +70,5 @@
 				result = Call(iteratorReturn, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `return` method returned a non-object value.')]); // step 11.a
 				return;
@@ -106,5 +106,5 @@
 				result = Call(throwMethod, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `throw` method returned a non-object value.')]); // step 11.a
 				return;
Index: imaps-frontend/node_modules/es-abstract/2019/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2019/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/6.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2019/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2019/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,4 +13,6 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];
 
@@ -21,5 +23,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/CreateMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,17 +7,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2019/DateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/DateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/DateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2019/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2019/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2019/EnumerableOwnPropertyNames.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/EnumerableOwnPropertyNames.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/EnumerableOwnPropertyNames.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,25 +1,19 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 var $TypeError = require('es-errors/type');
 
 var objectKeys = require('object-keys');
-
-var callBound = require('call-bind/callBound');
-
-var callBind = require('call-bind');
+var safePushApply = require('safe-push-apply');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
-var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 
 var forEach = require('../helpers/forEach');
-
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/8.0/#sec-enumerableownproperties
 
 module.exports = function EnumerableOwnPropertyNames(O, kind) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -33,5 +27,5 @@
 		forEach(keys, function (key) {
 			if ($isEnumerable(O, key)) {
-				$pushApply(results, [
+				safePushApply(results, [
 					kind === 'value' ? O[key] : [key, O[key]]
 				]);
Index: imaps-frontend/node_modules/es-abstract/2019/FlattenIntoArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/FlattenIntoArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/FlattenIntoArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var Call = require('./Call');
Index: imaps-frontend/node_modules/es-abstract/2019/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2019/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,12 @@
 var GetMethod = require('./GetMethod');
 var IsArray = require('./IsArray');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
 
 // https://262.ecma-international.org/6.0/#sec-getiterator
@@ -15,15 +22,8 @@
 	var actualMethod = method;
 	if (arguments.length < 2) {
-		actualMethod = getIteratorMethod(
-			{
-				AdvanceStringIndex: AdvanceStringIndex,
-				GetMethod: GetMethod,
-				IsArray: IsArray
-			},
-			obj
-		);
+		actualMethod = getIteratorMethod(ES, obj);
 	}
 	var iterator = Call(actualMethod, obj);
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2019/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2019/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var every = require('../helpers/every');
@@ -15,4 +15,5 @@
 
 var inspect = require('object-inspect');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
@@ -21,5 +22,4 @@
 var ToString = require('./ToString');
 
-var isInteger = require('../helpers/isInteger');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
 
Index: imaps-frontend/node_modules/es-abstract/2019/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2019/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,9 @@
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
+var isInteger = require('math-intrinsics/isInteger');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $slice = callBound('Array.prototype.slice');
-
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
Index: imaps-frontend/node_modules/es-abstract/2019/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/IntegerIndexedElementGet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IntegerIndexedElementGet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IntegerIndexedElementGet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var IsInteger = require('./IsInteger');
 
-var isNegativeZero = require('../helpers/isNegativeZero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var typedArrayLength = require('typed-array-length');
Index: imaps-frontend/node_modules/es-abstract/2019/IntegerIndexedElementSet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IntegerIndexedElementSet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IntegerIndexedElementSet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,4 +1,5 @@
 'use strict';
 
+var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
 
@@ -8,5 +9,5 @@
 var ToNumber = require('./ToNumber');
 
-var isNegativeZero = require('is-negative-zero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var typedArrayBuffer = require('typed-array-buffer');
 var typedArrayByteOffset = require('typed-array-byte-offset');
@@ -25,4 +26,7 @@
 	if (!arrayTypeName) {
 		throw new $TypeError('`O` must be a TypedArray'); // step 2
+	}
+	if (arrayTypeName === 'BigInt64Array' || arrayTypeName === 'BigUint64Array') {
+		throw new $SyntaxError('BigInt64Array and BigUint64Array do not exist until ES2020'); // step 2
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2019/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,7 +10,7 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/9.0/#sec-internalizejsonproperty
@@ -19,5 +19,5 @@
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -31,5 +31,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 2
+	if (isObject(val)) { // step 2
 		var isArray = IsArray(val); // step 2.a
 		if (isArray) { // step 2.b
Index: imaps-frontend/node_modules/es-abstract/2019/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/IsDetachedBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IsDetachedBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IsDetachedBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $byteLength = require('array-buffer-byte-length');
 var availableTypedArrays = require('available-typed-arrays')();
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2019/IsInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IsInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IsInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 // https://262.ecma-international.org/6.0/#sec-isinteger
Index: imaps-frontend/node_modules/es-abstract/2019/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2019/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/IsSharedArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IsSharedArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IsSharedArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 var isSharedArrayBuffer = require('is-shared-array-buffer');
@@ -10,5 +10,5 @@
 
 module.exports = function IsSharedArrayBuffer(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/IsStringPrefix.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IsStringPrefix.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IsStringPrefix.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var isPrefixOf = require('../helpers/isPrefixOf');
 
-// var callBound = require('call-bind/callBound');
+// var callBound = require('call-bound');
 
 // var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2019/IsWordChar.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IsWordChar.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IsWordChar.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2019/IterableToList.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IterableToList.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IterableToList.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $arrayPush = callBound('Array.prototype.push');
 
Index: imaps-frontend/node_modules/es-abstract/2019/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorclose
 
 module.exports = function IteratorClose(iterator, completion) {
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('Assertion failed: Type(iterator) is not Object');
 	}
@@ -42,5 +43,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var Invoke = require('./Invoke');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratornext
@@ -10,5 +11,5 @@
 module.exports = function IteratorNext(iterator, value) {
 	var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2019/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2019/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2019/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2019/ObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function ObjectCreate(proto, internalSlotsList) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,12 +10,15 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
+
+/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
+	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2019/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/OrdinaryGetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,12 +3,11 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('../helpers/getProto');
-
-var Type = require('./Type');
+var $getProto = require('get-proto');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/OrdinarySetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,13 +2,14 @@
 
 var $TypeError = require('es-errors/type');
-
-var $setProto = require('../helpers/setProto');
+var $setProto = require('set-proto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (typeof V !== 'object') {
+	if (V !== null && !isObject(V)) {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/OrdinaryToPrimitive.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/OrdinaryToPrimitive.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/OrdinaryToPrimitive.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var inspect = require('object-inspect');
@@ -13,5 +14,5 @@
 
 module.exports = function OrdinaryToPrimitive(O, hint) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -27,5 +28,5 @@
 		if (IsCallable(method)) {
 			var result = Call(method, O);
-			if (Type(result) !== 'Object') {
+			if (!isObject(result)) {
 				return result;
 			}
Index: imaps-frontend/node_modules/es-abstract/2019/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
@@ -34,10 +34,10 @@
 	var product = '"';
 	if (value) {
-		forEach($strSplit(value), function (C) {
+		forEach($strSplit(value, ''), function (C) {
 			if (hasOwn(escapes, C)) {
 				product += escapes[C];
 			} else {
 				var cCharCode = $charCodeAt(C, 0);
-				if (cCharCode < 0x20 || isLeadingSurrogate(C) || isTrailingSurrogate(C)) {
+				if (cCharCode < 0x20 || isLeadingSurrogate(cCharCode) || isTrailingSurrogate(cCharCode)) {
 					product += UnicodeEscape(C);
 				} else {
Index: imaps-frontend/node_modules/es-abstract/2019/RawBytesToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/RawBytesToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/RawBytesToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $RangeError = require('es-errors/range');
Index: imaps-frontend/node_modules/es-abstract/2019/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2019/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2019/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2019/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/SetFunctionLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/SetFunctionLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/SetFunctionLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,9 @@
 
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var HasOwnProperty = require('./HasOwnProperty');
 var IsExtensible = require('./IsExtensible');
-
-var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/9.0/#sec-setfunctionlength
Index: imaps-frontend/node_modules/es-abstract/2019/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,45 +3,30 @@
 var GetIntrinsic = require('get-intrinsic');
 
+var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var ToInt16 = require('./ToInt16');
-var ToInt32 = require('./ToInt32');
-var ToInt8 = require('./ToInt8');
-var ToUint16 = require('./ToUint16');
-var ToUint32 = require('./ToUint32');
-var ToUint8 = require('./ToUint8');
-var ToUint8Clamp = require('./ToUint8Clamp');
+var NumberToRawBytes = require('./NumberToRawBytes');
 
 var isArrayBuffer = require('is-array-buffer');
+var isSharedArrayBuffer = require('is-shared-array-buffer');
 var hasOwn = require('hasown');
 
 var tableTAO = require('./tables/typed-array-objects');
 
-var TypeToAO = {
-	__proto__: null,
-	Int8: ToInt8,
-	Uint8: ToUint8,
-	Uint8C: ToUint8Clamp,
-	Int16: ToInt16,
-	Uint16: ToUint16,
-	Int32: ToInt32,
-	Uint32: ToUint32
-};
-
 var defaultEndianness = require('../helpers/defaultEndianness');
 var forEach = require('../helpers/forEach');
-var integerToNBytes = require('../helpers/integerToNBytes');
-var valueToFloat32Bytes = require('../helpers/valueToFloat32Bytes');
-var valueToFloat64Bytes = require('../helpers/valueToFloat64Bytes');
 
-// https://262.ecma-international.org/6.0/#sec-setvalueinbuffer
+// https://262.ecma-international.org/8.0/#sec-setvalueinbuffer
 
-module.exports = function SetValueInBuffer(arrayBuffer, byteIndex, type, value) {
-	if (!isArrayBuffer(arrayBuffer)) {
-		throw new $TypeError('Assertion failed: `arrayBuffer` must be an ArrayBuffer');
+/* eslint max-params: 0 */
+
+module.exports = function SetValueInBuffer(arrayBuffer, byteIndex, type, value, isTypedArray, order) {
+	var isSAB = isSharedArrayBuffer(arrayBuffer);
+	if (!isArrayBuffer(arrayBuffer) && !isSAB) {
+		throw new $TypeError('Assertion failed: `arrayBuffer` must be an ArrayBuffer or a SharedArrayBuffer');
 	}
 
@@ -58,5 +43,12 @@
 	}
 
-	if (arguments.length > 4 && typeof arguments[4] !== 'boolean') {
+	if (typeof isTypedArray !== 'boolean') {
+		throw new $TypeError('Assertion failed: `isTypedArray` must be a boolean');
+	}
+	if (order !== 'SeqCst' && order !== 'Unordered' && order !== 'Init') {
+		throw new $TypeError('Assertion failed: `order` must be `"SeqCst"`, `"Unordered"`, or `"Init"`');
+	}
+
+	if (arguments.length > 6 && typeof arguments[6] !== 'boolean') {
 		throw new $TypeError('Assertion failed: `isLittleEndian` must be a boolean, if present');
 	}
@@ -74,37 +66,29 @@
 	// 4. Assert: Type(value) is Number.
 
-	// 5. Let block be arrayBuffer’s [[ArrayBufferData]] internal slot.
+	// 5. Let block be arrayBuffer.[[ArrayBufferData]].
 
-	// 6. Assert: block is not undefined.
+	var elementSize = tableTAO.size['$' + type]; // step 6
 
-	var elementSize = tableTAO.size['$' + type]; // step 7
-	if (!elementSize) {
-		throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
+	// 7. If isLittleEndian is not present, set isLittleEndian to to the value of the [[LittleEndian]] field of the surrounding agent's Agent Record.
+	var isLittleEndian = arguments.length > 6 ? arguments[6] : defaultEndianness === 'little'; // step 8
+
+	var rawBytes = NumberToRawBytes(type, value, isLittleEndian); // step 8
+
+	if (isSAB) { // step 9
+		/*
+			Let execution be the [[CandidateExecution]] field of the surrounding agent's Agent Record.
+			Let eventList be the [[EventList]] field of the element in execution.[[EventsRecords]] whose [[AgentSignifier]] is AgentSignifier().
+			If isTypedArray is true and IsNoTearConfiguration(type, order) is true, let noTear be true; otherwise let noTear be false.
+			Append WriteSharedMemory { [[Order]]: order, [[NoTear]]: noTear, [[Block]]: block, [[ByteIndex]]: byteIndex, [[ElementSize]]: elementSize, [[Payload]]: rawBytes } to eventList.
+		*/
+		throw new $SyntaxError('SharedArrayBuffer is not supported by this implementation');
+	} else {
+		// 10. Store the individual bytes of rawBytes into block, in order, starting at block[byteIndex].
+		var arr = new $Uint8Array(arrayBuffer, byteIndex, elementSize);
+		forEach(rawBytes, function (rawByte, i) {
+			arr[i] = rawByte;
+		});
 	}
 
-	// 8. If isLittleEndian is not present, set isLittleEndian to either true or false. The choice is implementation dependent and should be the alternative that is most efficient for the implementation. An implementation must use the same value each time this step is executed and the same value must be used for the corresponding step in the GetValueFromBuffer abstract operation.
-	var isLittleEndian = arguments.length > 4 ? arguments[4] : defaultEndianness === 'little'; // step 8
-
-	var rawBytes;
-	if (type === 'Float32') { // step 1
-		rawBytes = valueToFloat32Bytes(value, isLittleEndian);
-	} else if (type === 'Float64') { // step 2
-		rawBytes = valueToFloat64Bytes(value, isLittleEndian);
-	} else {
-		var n = elementSize; // step 3.a
-
-		var convOp = TypeToAO[type]; // step 3.b
-
-		var intValue = convOp(value); // step 3.c
-
-		rawBytes = integerToNBytes(intValue, n, isLittleEndian); // step 3.d, 3.e, 4
-	}
-
-	// 12. Store the individual bytes of rawBytes into block, in order, starting at block[byteIndex].
-	var arr = new $Uint8Array(arrayBuffer, byteIndex, elementSize);
-	forEach(rawBytes, function (rawByte, i) {
-		arr[i] = rawByte;
-	});
-
-	// 13. Return NormalCompletion(undefined).
+	// 11. Return NormalCompletion(undefined).
 };
Index: imaps-frontend/node_modules/es-abstract/2019/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/SplitMatch.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/SplitMatch.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/SplitMatch.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2019/StrictEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/StrictEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/StrictEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,8 @@
 
 module.exports = function StrictEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	if (xType === 'Undefined' || xType === 'Null') {
+	if (typeof x === 'undefined' || x === null) {
 		return true;
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2019/StringGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/StringGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/StringGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $charAt = callBound('String.prototype.charAt');
 var $stringToString = callBound('String.prototype.toString');
@@ -9,8 +9,9 @@
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsInteger = require('./IsInteger');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
 
-var isNegativeZero = require('is-negative-zero');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
+
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 // https://262.ecma-international.org/8.0/#sec-stringgetownproperty
@@ -18,5 +19,5 @@
 module.exports = function StringGetOwnProperty(S, P) {
 	var str;
-	if (Type(S) === 'Object') {
+	if (isObject(S)) {
 		try {
 			str = $stringToString(S);
@@ -26,6 +27,6 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed string object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	if (typeof P !== 'string') {
Index: imaps-frontend/node_modules/es-abstract/2019/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2019/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2019/TimeString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/TimeString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/TimeString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2019/TimeZoneString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/TimeZoneString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/TimeZoneString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,7 +6,7 @@
 var $TypeError = require('es-errors/type');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2019/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2019/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToInteger = require('./ToInteger');
Index: imaps-frontend/node_modules/es-abstract/2019/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var isPrimitive = require('../helpers/isPrimitive');
@@ -45,4 +45,4 @@
 
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2019/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,12 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var modulo = require('./modulo');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.7
Index: imaps-frontend/node_modules/es-abstract/2019/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,11 +3,10 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
-
-var abs = require('./abs');
-var floor = require('./floor');
-var modulo = require('./modulo');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var modulo = require('math-intrinsics/mod');
 
 // https://262.ecma-international.org/6.0/#sec-touint8
Index: imaps-frontend/node_modules/es-abstract/2019/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2019/UnicodeEscape.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/UnicodeEscape.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/UnicodeEscape.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
Index: imaps-frontend/node_modules/es-abstract/2019/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,8 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor
@@ -21,6 +22,5 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	// this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic.
-	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
@@ -34,5 +34,5 @@
 		throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined');
 	}
-	if (oType !== 'Undefined' && !IsPropertyKey(P)) {
+	if (typeof O !== 'undefined' && !isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key');
 	}
@@ -42,5 +42,5 @@
 		}
 		if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -61,5 +61,5 @@
 				throw new $TypeError('Assertion failed: Desc is not an accessor descriptor');
 			}
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				return DefineOwnProperty(
 					IsDataDescriptor,
@@ -96,5 +96,5 @@
 		}
 		if (IsDataDescriptor(current)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -110,5 +110,5 @@
 				);
 			}
-		} else if (oType !== 'Undefined') {
+		} else if (typeof O !== 'undefined') {
 			DefineOwnProperty(
 				IsDataDescriptor,
@@ -147,5 +147,5 @@
 		throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.');
 	}
-	if (oType !== 'Undefined') {
+	if (typeof O !== 'undefined') {
 		return DefineOwnProperty(
 			IsDataDescriptor,
Index: imaps-frontend/node_modules/es-abstract/2019/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -12,5 +13,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2019/WordCharacters.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/WordCharacters.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/WordCharacters.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $indexOf = callBound('String.prototype.indexOf', true);
 
@@ -10,5 +10,5 @@
 var caseFolding = require('../helpers/caseFolding.json');
 var forEach = require('../helpers/forEach');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var A = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; // step 1
Index: imaps-frontend/node_modules/es-abstract/2019/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2019/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2019/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2019/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2019/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2019/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/thisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2019/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/thisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2019/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/thisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2019/thisSymbolValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/thisSymbolValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/thisSymbolValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $SyntaxError = require('es-errors/syntax');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
@@ -9,10 +9,12 @@
 
 module.exports = function thisSymbolValue(value) {
+	if (typeof value === 'symbol') {
+		return value;
+	}
+
 	if (!$SymbolValueOf) {
 		throw new $SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object');
 	}
-	if (typeof value === 'symbol') {
-		return value;
-	}
+
 	return $SymbolValueOf(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2019/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2019/thisTimeValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2019/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,9 @@
 'use strict';
 
-var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
+var timeValue = require('../helpers/timeValue');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return $DateGetTime(value);
+	return timeValue(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2020/AbstractEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/AbstractEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/AbstractEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,12 +7,11 @@
 var Type = require('./Type');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-abstract-equality-comparison
 
 module.exports = function AbstractEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return StrictEqualityComparison(x, y);
 	}
@@ -20,11 +19,11 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (xType === 'BigInt' && yType === 'String') {
+	if (typeof x === 'bigint' && typeof y === 'string') {
 		var n = StringToBigInt(y);
 		if (isNaN(n)) {
@@ -33,20 +32,20 @@
 		return AbstractEqualityComparison(x, n);
 	}
-	if (xType === 'String' && yType === 'BigInt') {
+	if (typeof x === 'string' && typeof y === 'bigint') {
 		return AbstractEqualityComparison(y, x);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'BigInt' || xType === 'Symbol') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'bigint' || typeof x === 'symbol') && isObject(y)) {
 		return AbstractEqualityComparison(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'BigInt' || yType === 'Symbol')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'bigint' || typeof y === 'symbol')) {
 		return AbstractEqualityComparison(ToPrimitive(x), y);
 	}
-	if ((xType === 'BigInt' && yType === 'Number') || (xType === 'Number' && yType === 'BigInt')) {
+	if ((typeof x === 'bigint' && typeof y === 'number') || (typeof x === 'number' && typeof y === 'bigint')) {
 		if (isNaN(x) || isNaN(y) || x === Infinity || y === Infinity || x === -Infinity || y === -Infinity) {
 			return false;
Index: imaps-frontend/node_modules/es-abstract/2020/AbstractRelationalComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/AbstractRelationalComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/AbstractRelationalComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 var IsStringPrefix = require('./IsStringPrefix');
@@ -43,9 +43,7 @@
 	}
 
-	var pxType = Type(px);
-	var pyType = Type(py);
 	var nx;
 	var ny;
-	if (pxType === 'BigInt' && pyType === 'String') {
+	if (typeof px === 'bigint' && typeof py === 'string') {
 		ny = StringToBigInt(py);
 		if ($isNaN(ny)) {
@@ -54,5 +52,5 @@
 		return BigIntLessThan(px, ny);
 	}
-	if (pxType === 'String' && pyType === 'BigInt') {
+	if (typeof px === 'string' && typeof py === 'bigint') {
 		nx = StringToBigInt(px);
 		if ($isNaN(nx)) {
@@ -64,7 +62,6 @@
 	nx = ToNumeric(px);
 	ny = ToNumeric(py);
-	var nxType = Type(nx);
-	if (nxType === Type(ny)) {
-		return nxType === 'Number' ? NumberLessThan(nx, ny) : BigIntLessThan(nx, ny);
+	if (Type(nx) === Type(ny)) {
+		return typeof nx === 'number' ? NumberLessThan(nx, ny) : BigIntLessThan(nx, ny);
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2020/AddEntriesFromIterable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/AddEntriesFromIterable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/AddEntriesFromIterable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var ThrowCompletion = require('./ThrowCompletion');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/10.0/#sec-add-entries-from-iterable
@@ -31,5 +32,5 @@
 		}
 		var nextItem = IteratorValue(next);
-		if (Type(nextItem) !== 'Object') {
+		if (!isObject(nextItem)) {
 			var error = ThrowCompletion(new $TypeError('iterator next must return an Object, got ' + inspect(nextItem)));
 			return IteratorClose(iteratorRecord, error);
Index: imaps-frontend/node_modules/es-abstract/2020/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,8 +3,7 @@
 var CodePointAt = require('./CodePointAt');
 
-var isInteger = require('../helpers/isInteger');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
-
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 // https://262.ecma-international.org/11.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2020/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var hasProto = require('has-proto')();
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/6.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2020/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,11 +6,11 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-arrayspeciescreate
@@ -30,5 +30,5 @@
 		// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 		// }
-		if ($species && Type(C) === 'Object') {
+		if ($species && isObject(C)) {
 			C = Get(C, $species);
 			if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2020/AsyncFromSyncIteratorContinuation.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/AsyncFromSyncIteratorContinuation.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/AsyncFromSyncIteratorContinuation.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $Promise = GetIntrinsic('%Promise%', true);
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var CreateIterResultObject = require('./CreateIterResultObject');
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var PromiseResolve = require('./PromiseResolve');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -20,5 +21,5 @@
 
 module.exports = function AsyncFromSyncIteratorContinuation(result) {
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/AsyncIteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/AsyncIteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/AsyncIteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,9 +10,9 @@
 var CompletionRecord = require('./CompletionRecord');
 var GetMethod = require('./GetMethod');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -47,5 +47,5 @@
 				}),
 				function (innerResult) {
-					if (Type(innerResult) !== 'Object') {
+					if (!isObject(innerResult)) {
 						throw new $TypeError('`innerResult` must be an Object'); // step 10
 					}
Index: imaps-frontend/node_modules/es-abstract/2020/BigIntBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/BigIntBitwiseOp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/BigIntBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 // var $BigInt = GetIntrinsic('%BigInt%', true);
-// var $pow = GetIntrinsic('%Math.pow%');
+// var $pow = require('math-intrinsics/pow');
 
 // var BinaryAnd = require('./BinaryAnd');
Index: imaps-frontend/node_modules/es-abstract/2020/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2020/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2020/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2020/CodePointAt.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CodePointAt.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CodePointAt.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
Index: imaps-frontend/node_modules/es-abstract/2020/CopyDataProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CopyDataProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CopyDataProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,8 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -14,18 +14,19 @@
 var IsArray = require('./IsArray');
 var IsInteger = require('./IsInteger');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToNumber = require('./ToNumber');
 var ToObject = require('./ToObject');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-copydataproperties
 
 module.exports = function CopyDataProperties(target, source, excludedItems) {
-	if (Type(target) !== 'Object') {
+	if (!isObject(target)) {
 		throw new $TypeError('Assertion failed: "target" must be an Object');
 	}
 
-	if (!IsArray(excludedItems) || !every(excludedItems, IsPropertyKey)) {
+	if (!IsArray(excludedItems) || !every(excludedItems, isPropertyKey)) {
 		throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/CreateAsyncFromSyncIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CreateAsyncFromSyncIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CreateAsyncFromSyncIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,6 +14,6 @@
 var IteratorNext = require('./IteratorNext');
 var OrdinaryObjectCreate = require('./OrdinaryObjectCreate');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
@@ -70,5 +70,5 @@
 				result = Call(iteratorReturn, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `return` method returned a non-object value.')]); // step 11.a
 				return;
@@ -106,5 +106,5 @@
 				result = Call(throwMethod, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `throw` method returned a non-object value.')]); // step 11.a
 				return;
Index: imaps-frontend/node_modules/es-abstract/2020/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2020/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/6.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2020/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2020/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,8 +13,11 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];
 
 // https://262.ecma-international.org/11.0/#sec-createlistfromarraylike
 
+/** @type {(obj: object, elementTypes?: typeof defaultElementTypes) => unknown[]} */
 module.exports = function CreateListFromArrayLike(obj) {
 	var elementTypes = arguments.length > 1
@@ -22,5 +25,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
@@ -29,4 +32,5 @@
 	}
 	var len = LengthOfArrayLike(obj);
+	/** @type {(typeof elementTypes)[]} */
 	var list = [];
 	var index = 0;
Index: imaps-frontend/node_modules/es-abstract/2020/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CreateMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,17 +7,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2020/CreateRegExpStringIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/CreateRegExpStringIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/CreateRegExpStringIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -16,5 +16,6 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -44,5 +45,5 @@
 var RegExpStringIteratorNext = function next() {
 	var O = this; // eslint-disable-line no-invalid-this
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('receiver must be an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/DateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/DateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/DateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2020/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2020/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2020/EnumerableOwnPropertyNames.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/EnumerableOwnPropertyNames.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/EnumerableOwnPropertyNames.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,25 +1,19 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 var $TypeError = require('es-errors/type');
 
 var objectKeys = require('object-keys');
-
-var callBound = require('call-bind/callBound');
-
-var callBind = require('call-bind');
+var safePushApply = require('safe-push-apply');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
-var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 
 var forEach = require('../helpers/forEach');
-
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/8.0/#sec-enumerableownproperties
 
 module.exports = function EnumerableOwnPropertyNames(O, kind) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -33,5 +27,5 @@
 		forEach(keys, function (key) {
 			if ($isEnumerable(O, key)) {
-				$pushApply(results, [
+				safePushApply(results, [
 					kind === 'value' ? O[key] : [key, O[key]]
 				]);
Index: imaps-frontend/node_modules/es-abstract/2020/FlattenIntoArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/FlattenIntoArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/FlattenIntoArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var Call = require('./Call');
Index: imaps-frontend/node_modules/es-abstract/2020/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2020/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -15,5 +15,12 @@
 var GetMethod = require('./GetMethod');
 var IsArray = require('./IsArray');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
 
 // https://262.ecma-international.org/11.0/#sec-getiterator
@@ -38,16 +45,9 @@
 			}
 		} else {
-			actualMethod = getIteratorMethod(
-				{
-					AdvanceStringIndex: AdvanceStringIndex,
-					GetMethod: GetMethod,
-					IsArray: IsArray
-				},
-				obj
-			);
+			actualMethod = getIteratorMethod(ES, obj);
 		}
 	}
 	var iterator = Call(actualMethod, obj);
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2020/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2020/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var every = require('../helpers/every');
@@ -15,4 +15,5 @@
 
 var inspect = require('object-inspect');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
@@ -21,5 +22,4 @@
 var ToString = require('./ToString');
 
-var isInteger = require('../helpers/isInteger');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
 
Index: imaps-frontend/node_modules/es-abstract/2020/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2020/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,9 @@
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
+var isInteger = require('math-intrinsics/isInteger');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $slice = callBound('Array.prototype.slice');
-
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
Index: imaps-frontend/node_modules/es-abstract/2020/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,12 +10,12 @@
 var LengthOfArrayLike = require('./LengthOfArrayLike');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-internalizejsonproperty
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -29,5 +29,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 2
+	if (isObject(val)) { // step 2
 		var isArray = IsArray(val); // step 2.a
 		if (isArray) { // step 2.b
Index: imaps-frontend/node_modules/es-abstract/2020/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/IsDetachedBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsDetachedBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsDetachedBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $byteLength = require('array-buffer-byte-length');
 var availableTypedArrays = require('available-typed-arrays')();
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2020/IsInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 // https://262.ecma-international.org/6.0/#sec-isinteger
Index: imaps-frontend/node_modules/es-abstract/2020/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2020/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/IsSharedArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsSharedArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsSharedArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 var isSharedArrayBuffer = require('is-shared-array-buffer');
@@ -10,5 +10,5 @@
 
 module.exports = function IsSharedArrayBuffer(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/IsStringPrefix.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsStringPrefix.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsStringPrefix.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var isPrefixOf = require('../helpers/isPrefixOf');
 
-// var callBound = require('call-bind/callBound');
+// var callBound = require('call-bound');
 
 // var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2020/IsValidIntegerIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsValidIntegerIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsValidIntegerIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var IsInteger = require('./IsInteger');
 
-var isNegativeZero = require('../helpers/isNegativeZero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var isTypedArray = require('is-typed-array');
Index: imaps-frontend/node_modules/es-abstract/2020/IsWordChar.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IsWordChar.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IsWordChar.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2020/IterableToList.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IterableToList.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IterableToList.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $arrayPush = callBound('Array.prototype.push');
 
Index: imaps-frontend/node_modules/es-abstract/2020/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorclose
 
 module.exports = function IteratorClose(iterator, completion) {
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('Assertion failed: Type(iterator) is not Object');
 	}
@@ -42,5 +43,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var Invoke = require('./Invoke');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratornext
@@ -10,5 +11,5 @@
 module.exports = function IteratorNext(iterator, value) {
 	var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/LengthOfArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/LengthOfArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/LengthOfArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToLength = require('./ToLength');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-lengthofarraylike
 
 module.exports = function LengthOfArrayLike(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2020/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2020/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2020/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2020/Number/divide.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/Number/divide.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/Number/divide.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/11.0/#sec-numeric-types-number-divide
Index: imaps-frontend/node_modules/es-abstract/2020/Number/exponentiate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/Number/exponentiate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/Number/exponentiate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,17 +1,15 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-// var isNegativeZero = require('is-negative-zero');
-
-var $pow = GetIntrinsic('%Math.pow%');
+// var isNegativeZero = require('math-intrinsics/isNegativeZero');
+var $pow = require('math-intrinsics/pow');
 
 var $TypeError = require('es-errors/type');
 
 /*
-var abs = require('../../helpers/abs');
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var abs = require('math-intrinsics/abs');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
-var IsInteger = require('../IsInteger');
+var IsInteger = require('math-intrinsics/isInteger');
 */
 
Index: imaps-frontend/node_modules/es-abstract/2020/Number/sameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/Number/sameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/Number/sameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,6 +1,5 @@
 'use strict';
 
-var isNegativeZero = require('is-negative-zero');
-
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var $TypeError = require('es-errors/type');
 
Index: imaps-frontend/node_modules/es-abstract/2020/NumberToBigInt.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/NumberToBigInt.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/NumberToBigInt.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,6 +7,5 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 // https://262.ecma-international.org/11.0/#sec-numbertobigint
Index: imaps-frontend/node_modules/es-abstract/2020/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,12 +10,15 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
+
+/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
+	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2020/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/OrdinaryGetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,12 +3,11 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('../helpers/getProto');
-
-var Type = require('./Type');
+var $getProto = require('get-proto');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/OrdinaryObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/OrdinaryObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/OrdinaryObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function OrdinaryObjectCreate(proto) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/OrdinarySetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,13 +2,14 @@
 
 var $TypeError = require('es-errors/type');
-
-var $setProto = require('../helpers/setProto');
+var $setProto = require('set-proto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (typeof V !== 'object') {
+	if (V !== null && !isObject(V)) {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/OrdinaryToPrimitive.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/OrdinaryToPrimitive.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/OrdinaryToPrimitive.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var inspect = require('object-inspect');
@@ -13,5 +14,5 @@
 
 module.exports = function OrdinaryToPrimitive(O, hint) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -27,5 +28,5 @@
 		if (IsCallable(method)) {
 			var result = Call(method, O);
-			if (Type(result) !== 'Object') {
+			if (!isObject(result)) {
 				return result;
 			}
Index: imaps-frontend/node_modules/es-abstract/2020/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
@@ -9,4 +9,5 @@
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
+var $strSplit = callBound('String.prototype.split');
 
 var UnicodeEscape = require('./UnicodeEscape');
@@ -34,10 +35,10 @@
 	var product = '"';
 	if (value) {
-		forEach(UTF16DecodeString(value), function (C) {
+		forEach($strSplit(UTF16DecodeString(value), ''), function (C) {
 			if (hasOwn(escapes, C)) {
 				product += escapes[C];
 			} else {
 				var cCharCode = $charCodeAt(C, 0);
-				if (cCharCode < 0x20 || isLeadingSurrogate(C) || isTrailingSurrogate(C)) {
+				if (cCharCode < 0x20 || isLeadingSurrogate(cCharCode) || isTrailingSurrogate(cCharCode)) {
 					product += UnicodeEscape(C);
 				} else {
Index: imaps-frontend/node_modules/es-abstract/2020/RawBytesToNumeric.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/RawBytesToNumeric.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/RawBytesToNumeric.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $RangeError = require('es-errors/range');
Index: imaps-frontend/node_modules/es-abstract/2020/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2020/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2020/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2020/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,6 +6,5 @@
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var IsBigIntElementType = require('./IsBigIntElementType');
@@ -69,9 +68,9 @@
 	}
 
-	// 5. Let block be arrayBuffer’s [[ArrayBufferData]] internal slot.
+	// 5. Let block be arrayBuffer.[[ArrayBufferData]].
 
 	var elementSize = tableTAO.size['$' + type]; // step 6
 
-	// 8. If isLittleEndian is not present, set isLittleEndian to either true or false. The choice is implementation dependent and should be the alternative that is most efficient for the implementation. An implementation must use the same value each time this step is executed and the same value must be used for the corresponding step in the GetValueFromBuffer abstract operation.
+	// 7. If isLittleEndian is not present, set isLittleEndian to to the value of the [[LittleEndian]] field of the surrounding agent's Agent Record.
 	var isLittleEndian = arguments.length > 6 ? arguments[6] : defaultEndianness === 'little'; // step 8
 
Index: imaps-frontend/node_modules/es-abstract/2020/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/SplitMatch.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/SplitMatch.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/SplitMatch.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2020/StrictEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/StrictEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/StrictEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,8 @@
 
 module.exports = function StrictEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	if (xType === 'Undefined' || xType === 'Null') {
+	if (typeof x === 'undefined' || x === null) {
 		return true;
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2020/StringGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/StringGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/StringGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $charAt = callBound('String.prototype.charAt');
 var $stringToString = callBound('String.prototype.toString');
@@ -9,8 +9,9 @@
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsInteger = require('./IsInteger');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
 
-var isNegativeZero = require('is-negative-zero');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
+
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 // https://262.ecma-international.org/8.0/#sec-stringgetownproperty
@@ -18,5 +19,5 @@
 module.exports = function StringGetOwnProperty(S, P) {
 	var str;
-	if (Type(S) === 'Object') {
+	if (isObject(S)) {
 		try {
 			str = $stringToString(S);
@@ -26,6 +27,6 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed string object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	if (typeof P !== 'string') {
Index: imaps-frontend/node_modules/es-abstract/2020/StringPad.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/StringPad.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/StringPad.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var ToLength = require('./ToLength');
Index: imaps-frontend/node_modules/es-abstract/2020/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2020/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2020/TimeString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/TimeString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/TimeString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2020/TimeZoneString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/TimeZoneString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/TimeZoneString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,7 +6,7 @@
 var $TypeError = require('es-errors/type');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2020/ToBigInt.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToBigInt.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToBigInt.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,5 +11,5 @@
 var ToPrimitive = require('./ToPrimitive');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/11.0/#sec-tobigint
Index: imaps-frontend/node_modules/es-abstract/2020/ToBigInt64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToBigInt64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToBigInt64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2020/ToBigUint64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToBigUint64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToBigUint64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2020/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2020/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToInteger = require('./ToInteger');
Index: imaps-frontend/node_modules/es-abstract/2020/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var isPrimitive = require('../helpers/isPrimitive');
@@ -48,4 +48,4 @@
 
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2020/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,12 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var modulo = require('./modulo');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.7
Index: imaps-frontend/node_modules/es-abstract/2020/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,11 +3,10 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
-
-var abs = require('./abs');
-var floor = require('./floor');
-var modulo = require('./modulo');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var modulo = require('math-intrinsics/mod');
 
 // https://262.ecma-international.org/6.0/#sec-touint8
Index: imaps-frontend/node_modules/es-abstract/2020/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2020/UTF16DecodeString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/UTF16DecodeString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/UTF16DecodeString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $push = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2020/UnicodeEscape.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/UnicodeEscape.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/UnicodeEscape.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
Index: imaps-frontend/node_modules/es-abstract/2020/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,8 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor
@@ -21,6 +22,5 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	// this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic.
-	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
@@ -34,5 +34,5 @@
 		throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined');
 	}
-	if (oType !== 'Undefined' && !IsPropertyKey(P)) {
+	if (typeof O !== 'undefined' && !isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key');
 	}
@@ -42,5 +42,5 @@
 		}
 		if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -61,5 +61,5 @@
 				throw new $TypeError('Assertion failed: Desc is not an accessor descriptor');
 			}
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				return DefineOwnProperty(
 					IsDataDescriptor,
@@ -96,5 +96,5 @@
 		}
 		if (IsDataDescriptor(current)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -110,5 +110,5 @@
 				);
 			}
-		} else if (oType !== 'Undefined') {
+		} else if (typeof O !== 'undefined') {
 			DefineOwnProperty(
 				IsDataDescriptor,
@@ -147,5 +147,5 @@
 		throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.');
 	}
-	if (oType !== 'Undefined') {
+	if (typeof O !== 'undefined') {
 		return DefineOwnProperty(
 			IsDataDescriptor,
Index: imaps-frontend/node_modules/es-abstract/2020/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -12,5 +13,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/WordCharacters.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/WordCharacters.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/WordCharacters.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $indexOf = callBound('String.prototype.indexOf', true);
 
@@ -10,5 +10,5 @@
 var caseFolding = require('../helpers/caseFolding.json');
 var forEach = require('../helpers/forEach');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var A = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; // step 1
Index: imaps-frontend/node_modules/es-abstract/2020/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2020/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2020/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/11.0/#eqn-floor
Index: imaps-frontend/node_modules/es-abstract/2020/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2020/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2020/thisBigIntValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/thisBigIntValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/thisBigIntValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,16 +1,13 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SyntaxError = require('es-errors/syntax');
 var $bigIntValueOf = callBound('BigInt.prototype.valueOf', true);
 
-var Type = require('./Type');
-
 // https://262.ecma-international.org/11.0/#sec-thisbigintvalue
 
 module.exports = function thisBigIntValue(value) {
-	var type = Type(value);
-	if (type === 'BigInt') {
+	if (typeof value === 'bigint') {
 		return value;
 	}
Index: imaps-frontend/node_modules/es-abstract/2020/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/thisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2020/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/thisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2020/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/thisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2020/thisSymbolValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/thisSymbolValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/thisSymbolValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $SyntaxError = require('es-errors/syntax');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
@@ -9,10 +9,12 @@
 
 module.exports = function thisSymbolValue(value) {
+	if (typeof value === 'symbol') {
+		return value;
+	}
+
 	if (!$SymbolValueOf) {
 		throw new $SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object');
 	}
-	if (typeof value === 'symbol') {
-		return value;
-	}
+
 	return $SymbolValueOf(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2020/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2020/thisTimeValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2020/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,9 @@
 'use strict';
 
-var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
+var timeValue = require('../helpers/timeValue');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return $DateGetTime(value);
+	return timeValue(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2021/AbstractEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/AbstractEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/AbstractEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,12 +7,11 @@
 var Type = require('./Type');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-abstract-equality-comparison
 
 module.exports = function AbstractEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return StrictEqualityComparison(x, y);
 	}
@@ -20,11 +19,11 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (xType === 'BigInt' && yType === 'String') {
+	if (typeof x === 'bigint' && typeof y === 'string') {
 		var n = StringToBigInt(y);
 		if (isNaN(n)) {
@@ -33,20 +32,20 @@
 		return AbstractEqualityComparison(x, n);
 	}
-	if (xType === 'String' && yType === 'BigInt') {
+	if (typeof x === 'string' && typeof y === 'bigint') {
 		return AbstractEqualityComparison(y, x);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'BigInt' || xType === 'Symbol') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'bigint' || typeof x === 'symbol') && isObject(y)) {
 		return AbstractEqualityComparison(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'BigInt' || yType === 'Symbol')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'bigint' || typeof y === 'symbol')) {
 		return AbstractEqualityComparison(ToPrimitive(x), y);
 	}
-	if ((xType === 'BigInt' && yType === 'Number') || (xType === 'Number' && yType === 'BigInt')) {
+	if ((typeof x === 'bigint' && typeof y === 'number') || (typeof x === 'number' && typeof y === 'bigint')) {
 		if (isNaN(x) || isNaN(y) || x === Infinity || y === Infinity || x === -Infinity || y === -Infinity) {
 			return false;
Index: imaps-frontend/node_modules/es-abstract/2021/AbstractRelationalComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/AbstractRelationalComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/AbstractRelationalComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 var IsStringPrefix = require('./IsStringPrefix');
@@ -43,9 +43,7 @@
 	}
 
-	var pxType = Type(px);
-	var pyType = Type(py);
 	var nx;
 	var ny;
-	if (pxType === 'BigInt' && pyType === 'String') {
+	if (typeof px === 'bigint' && typeof py === 'string') {
 		ny = StringToBigInt(py);
 		if ($isNaN(ny)) {
@@ -54,5 +52,5 @@
 		return BigIntLessThan(px, ny);
 	}
-	if (pxType === 'String' && pyType === 'BigInt') {
+	if (typeof px === 'string' && typeof py === 'bigint') {
 		nx = StringToBigInt(px);
 		if ($isNaN(nx)) {
@@ -64,7 +62,6 @@
 	nx = ToNumeric(px);
 	ny = ToNumeric(py);
-	var nxType = Type(nx);
-	if (nxType === Type(ny)) {
-		return nxType === 'Number' ? NumberLessThan(nx, ny) : BigIntLessThan(nx, ny);
+	if (Type(nx) === Type(ny)) {
+		return typeof nx === 'number' ? NumberLessThan(nx, ny) : BigIntLessThan(nx, ny);
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2021/AddEntriesFromIterable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/AddEntriesFromIterable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/AddEntriesFromIterable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var ThrowCompletion = require('./ThrowCompletion');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/10.0/#sec-add-entries-from-iterable
@@ -31,5 +32,5 @@
 		}
 		var nextItem = IteratorValue(next);
-		if (Type(nextItem) !== 'Object') {
+		if (!isObject(nextItem)) {
 			var error = ThrowCompletion(new $TypeError('iterator next must return an Object, got ' + inspect(nextItem)));
 			return IteratorClose(iteratorRecord, error);
Index: imaps-frontend/node_modules/es-abstract/2021/AddToKeptObjects.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/AddToKeptObjects.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/AddToKeptObjects.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var SLOT = require('internal-slot');
 
@@ -7,5 +7,6 @@
 
 var ClearKeptObjects = require('./ClearKeptObjects');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $push = callBound('Array.prototype.push');
@@ -14,5 +15,5 @@
 
 module.exports = function AddToKeptObjects(object) {
-	if (Type(object) !== 'Object') {
+	if (!isObject(object)) {
 		throw new $TypeError('Assertion failed: `object` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,8 +3,7 @@
 var CodePointAt = require('./CodePointAt');
 
-var isInteger = require('../helpers/isInteger');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
-
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 // https://262.ecma-international.org/12.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2021/ApplyStringOrNumericBinaryOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ApplyStringOrNumericBinaryOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ApplyStringOrNumericBinaryOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -70,9 +70,8 @@
 	var lnum = ToNumeric(lval);
 	var rnum = ToNumeric(rval);
-	var T = Type(lnum);
-	if (T !== Type(rnum)) {
+	if (Type(lnum) !== Type(rnum)) {
 		throw new $TypeError('types of ' + lnum + ' and ' + rnum + ' differ');
 	}
-	var Operation = table[opText][T === 'BigInt' ? 1 : 0];
+	var Operation = table[opText][typeof lnum === 'bigint' ? 1 : 0];
 	return Operation(lnum, rnum);
 };
Index: imaps-frontend/node_modules/es-abstract/2021/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var hasProto = require('has-proto')();
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/12.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2021/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,4 +5,5 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var ArrayCreate = require('./ArrayCreate');
@@ -10,7 +11,6 @@
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/12.0/#sec-arrayspeciescreate
@@ -32,5 +32,5 @@
 	// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 	// }
-	if ($species && Type(C) === 'Object') {
+	if ($species && isObject(C)) {
 		C = Get(C, $species);
 		if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2021/AsyncFromSyncIteratorContinuation.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/AsyncFromSyncIteratorContinuation.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/AsyncFromSyncIteratorContinuation.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $Promise = GetIntrinsic('%Promise%', true);
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var CreateIterResultObject = require('./CreateIterResultObject');
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var PromiseResolve = require('./PromiseResolve');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -20,5 +21,5 @@
 
 module.exports = function AsyncFromSyncIteratorContinuation(result) {
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/AsyncIteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/AsyncIteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/AsyncIteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,9 +10,9 @@
 var CompletionRecord = require('./CompletionRecord');
 var GetMethod = require('./GetMethod');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -62,5 +62,5 @@
 				completion['?'](); // step 6
 			}
-			if (Type(innerResult) !== 'Object') {
+			if (!isObject(innerResult)) {
 				throw new $TypeError('`innerResult` must be an Object'); // step 10
 			}
Index: imaps-frontend/node_modules/es-abstract/2021/BigIntBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/BigIntBitwiseOp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/BigIntBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 // var $BigInt = GetIntrinsic('%BigInt%', true);
-// var $pow = GetIntrinsic('%Math.pow%');
+// var $pow = require('math-intrinsics/pow');
 
 // var BinaryAnd = require('./BinaryAnd');
Index: imaps-frontend/node_modules/es-abstract/2021/ByteListBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ByteListBitwiseOp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ByteListBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2021/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2021/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2021/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2021/CloneArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CloneArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CloneArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,6 +8,5 @@
 var OrdinarySetPrototypeOf = require('./OrdinarySetPrototypeOf');
 
-var isInteger = require('../helpers/isInteger');
-
+var isInteger = require('math-intrinsics/isInteger');
 var isArrayBuffer = require('is-array-buffer');
 var arrayBufferSlice = require('arraybuffer.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2021/CodePointAt.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CodePointAt.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CodePointAt.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
Index: imaps-frontend/node_modules/es-abstract/2021/CopyDataProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CopyDataProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CopyDataProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,9 +3,9 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var every = require('../helpers/every');
 var some = require('../helpers/some');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -15,18 +15,19 @@
 var IsArray = require('./IsArray');
 var IsIntegralNumber = require('./IsIntegralNumber');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToNumber = require('./ToNumber');
 var ToObject = require('./ToObject');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/12.0/#sec-copydataproperties
 
 module.exports = function CopyDataProperties(target, source, excludedItems) {
-	if (Type(target) !== 'Object') {
+	if (!isObject(target)) {
 		throw new $TypeError('Assertion failed: "target" must be an Object');
 	}
 
-	if (!IsArray(excludedItems) || !every(excludedItems, IsPropertyKey)) {
+	if (!IsArray(excludedItems) || !every(excludedItems, isPropertyKey)) {
 		throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/CreateAsyncFromSyncIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CreateAsyncFromSyncIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CreateAsyncFromSyncIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,6 +14,6 @@
 var IteratorNext = require('./IteratorNext');
 var OrdinaryObjectCreate = require('./OrdinaryObjectCreate');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
@@ -70,5 +70,5 @@
 				result = Call(iteratorReturn, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `return` method returned a non-object value.')]); // step 11.a
 				return;
@@ -106,5 +106,5 @@
 				result = Call(throwMethod, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `throw` method returned a non-object value.')]); // step 11.a
 				return;
Index: imaps-frontend/node_modules/es-abstract/2021/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2021/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/6.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2021/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2021/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,4 +13,6 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];
 
@@ -22,5 +24,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CreateMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,17 +7,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2021/CreateRegExpStringIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/CreateRegExpStringIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/CreateRegExpStringIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -16,5 +16,6 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -44,5 +45,5 @@
 var RegExpStringIteratorNext = function next() {
 	var O = this; // eslint-disable-line no-invalid-this
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('receiver must be an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/DateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/DateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/DateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2021/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2021/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2021/EnumerableOwnPropertyNames.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/EnumerableOwnPropertyNames.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/EnumerableOwnPropertyNames.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,25 +1,19 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 var $TypeError = require('es-errors/type');
 
 var objectKeys = require('object-keys');
-
-var callBound = require('call-bind/callBound');
-
-var callBind = require('call-bind');
+var safePushApply = require('safe-push-apply');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
-var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 
 var forEach = require('../helpers/forEach');
-
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/8.0/#sec-enumerableownproperties
 
 module.exports = function EnumerableOwnPropertyNames(O, kind) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -33,5 +27,5 @@
 		forEach(keys, function (key) {
 			if ($isEnumerable(O, key)) {
-				$pushApply(results, [
+				safePushApply(results, [
 					kind === 'value' ? O[key] : [key, O[key]]
 				]);
Index: imaps-frontend/node_modules/es-abstract/2021/FlattenIntoArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/FlattenIntoArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/FlattenIntoArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var Call = require('./Call');
Index: imaps-frontend/node_modules/es-abstract/2021/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2021/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -15,5 +15,12 @@
 var GetMethod = require('./GetMethod');
 var IsArray = require('./IsArray');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
 
 // https://262.ecma-international.org/11.0/#sec-getiterator
@@ -38,16 +45,9 @@
 			}
 		} else {
-			actualMethod = getIteratorMethod(
-				{
-					AdvanceStringIndex: AdvanceStringIndex,
-					GetMethod: GetMethod,
-					IsArray: IsArray
-				},
-				obj
-			);
+			actualMethod = getIteratorMethod(ES, obj);
 		}
 	}
 	var iterator = Call(actualMethod, obj);
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2021/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2021/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,7 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
-var every = require('../helpers/every');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $charAt = callBound('String.prototype.charAt');
@@ -21,5 +21,5 @@
 var ToString = require('./ToString');
 
-var isInteger = require('../helpers/isInteger');
+var every = require('../helpers/every');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
 
Index: imaps-frontend/node_modules/es-abstract/2021/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2021/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,9 @@
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
+var isInteger = require('math-intrinsics/isInteger');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $slice = callBound('Array.prototype.slice');
-
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
Index: imaps-frontend/node_modules/es-abstract/2021/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,12 +10,12 @@
 var LengthOfArrayLike = require('./LengthOfArrayLike');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-internalizejsonproperty
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -29,5 +29,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 2
+	if (isObject(val)) { // step 2
 		var isArray = IsArray(val); // step 2.a
 		if (isArray) { // step 2.b
Index: imaps-frontend/node_modules/es-abstract/2021/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/IsDetachedBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsDetachedBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsDetachedBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $byteLength = require('array-buffer-byte-length');
 var availableTypedArrays = require('available-typed-arrays')();
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2021/IsIntegralNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsIntegralNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsIntegralNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 // https://262.ecma-international.org/12.0/#sec-isinteger
Index: imaps-frontend/node_modules/es-abstract/2021/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2021/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/IsSharedArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsSharedArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsSharedArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 var isSharedArrayBuffer = require('is-shared-array-buffer');
@@ -10,5 +10,5 @@
 
 module.exports = function IsSharedArrayBuffer(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/IsStringPrefix.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsStringPrefix.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsStringPrefix.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var isPrefixOf = require('../helpers/isPrefixOf');
 
-// var callBound = require('call-bind/callBound');
+// var callBound = require('call-bound');
 
 // var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2021/IsValidIntegerIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsValidIntegerIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsValidIntegerIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,9 +2,8 @@
 
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
 var IsIntegralNumber = require('./IsIntegralNumber');
-
-var isNegativeZero = require('../helpers/isNegativeZero');
 
 var typedArrayBuffer = require('typed-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2021/IsWordChar.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IsWordChar.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IsWordChar.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2021/IterableToList.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IterableToList.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IterableToList.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $arrayPush = callBound('Array.prototype.push');
 
Index: imaps-frontend/node_modules/es-abstract/2021/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorclose
 
 module.exports = function IteratorClose(iterator, completion) {
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('Assertion failed: Type(iterator) is not Object');
 	}
@@ -42,5 +43,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var Invoke = require('./Invoke');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratornext
@@ -10,5 +11,5 @@
 module.exports = function IteratorNext(iterator, value) {
 	var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/LengthOfArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/LengthOfArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/LengthOfArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToLength = require('./ToLength');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-lengthofarraylike
 
 module.exports = function LengthOfArrayLike(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2021/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2021/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2021/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2021/Number/add.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/Number/add.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/Number/add.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/12.0/#sec-numeric-types-number-add
Index: imaps-frontend/node_modules/es-abstract/2021/Number/divide.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/Number/divide.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/Number/divide.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/11.0/#sec-numeric-types-number-divide
Index: imaps-frontend/node_modules/es-abstract/2021/Number/exponentiate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/Number/exponentiate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/Number/exponentiate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,17 +1,15 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-// var isNegativeZero = require('is-negative-zero');
-
-var $pow = GetIntrinsic('%Math.pow%');
+// var isNegativeZero = require('math-intrinsics/isNegativeZero');
+var $pow = require('math-intrinsics/pow');
 
 var $TypeError = require('es-errors/type');
 
 /*
-var abs = require('../../helpers/abs');
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var abs = require('math-intrinsics/abs');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
-var IsInteger = require('../IsInteger');
+var IsInteger = require('math-intrinsics/isInteger');
 */
 
Index: imaps-frontend/node_modules/es-abstract/2021/Number/sameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/Number/sameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/Number/sameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,6 +1,5 @@
 'use strict';
 
-var isNegativeZero = require('is-negative-zero');
-
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var $TypeError = require('es-errors/type');
 
Index: imaps-frontend/node_modules/es-abstract/2021/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,12 +10,15 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
+
+/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
+	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2021/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/OrdinaryGetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,12 +3,11 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('../helpers/getProto');
-
-var Type = require('./Type');
+var $getProto = require('get-proto');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/OrdinaryObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/OrdinaryObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/OrdinaryObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function OrdinaryObjectCreate(proto) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/OrdinarySetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,13 +2,14 @@
 
 var $TypeError = require('es-errors/type');
-
-var $setProto = require('../helpers/setProto');
+var $setProto = require('set-proto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (typeof V !== 'object') {
+	if (V !== null && !isObject(V)) {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/OrdinaryToPrimitive.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/OrdinaryToPrimitive.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/OrdinaryToPrimitive.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var inspect = require('object-inspect');
@@ -13,5 +14,5 @@
 
 module.exports = function OrdinaryToPrimitive(O, hint) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -27,5 +28,5 @@
 		if (IsCallable(method)) {
 			var result = Call(method, O);
-			if (Type(result) !== 'Object') {
+			if (!isObject(result)) {
 				return result;
 			}
Index: imaps-frontend/node_modules/es-abstract/2021/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
@@ -9,4 +9,5 @@
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
+var $strSplit = callBound('String.prototype.split');
 
 var StringToCodePoints = require('./StringToCodePoints');
@@ -34,10 +35,10 @@
 	var product = '"';
 	if (value) {
-		forEach(StringToCodePoints(value), function (C) {
+		forEach($strSplit(StringToCodePoints(value), ''), function (C) {
 			if (hasOwn(escapes, C)) {
 				product += escapes[C];
 			} else {
 				var cCharCode = $charCodeAt(C, 0);
-				if (cCharCode < 0x20 || isLeadingSurrogate(C) || isTrailingSurrogate(C)) {
+				if (cCharCode < 0x20 || isLeadingSurrogate(cCharCode) || isTrailingSurrogate(cCharCode)) {
 					product += UnicodeEscape(C);
 				} else {
Index: imaps-frontend/node_modules/es-abstract/2021/RawBytesToNumeric.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/RawBytesToNumeric.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/RawBytesToNumeric.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $RangeError = require('es-errors/range');
Index: imaps-frontend/node_modules/es-abstract/2021/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2021/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2021/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2021/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/SetFunctionLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SetFunctionLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SetFunctionLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,9 @@
 
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var HasOwnProperty = require('./HasOwnProperty');
 var IsExtensible = require('./IsExtensible');
-
-var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/12.0/#sec-setfunctionlength
Index: imaps-frontend/node_modules/es-abstract/2021/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/SetTypedArrayFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SetTypedArrayFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SetTypedArrayFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,6 +9,5 @@
 var typedArrayLength = require('typed-array-length');
 var whichTypedArray = require('which-typed-array');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
Index: imaps-frontend/node_modules/es-abstract/2021/SetTypedArrayFromTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SetTypedArrayFromTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SetTypedArrayFromTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -13,6 +13,5 @@
 var typedArrayLength = require('typed-array-length');
 var whichTypedArray = require('which-typed-array');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var CloneArrayBuffer = require('./CloneArrayBuffer');
Index: imaps-frontend/node_modules/es-abstract/2021/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,6 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
-
-var isInteger = require('../helpers/isInteger');
 
 var IsBigIntElementType = require('./IsBigIntElementType');
Index: imaps-frontend/node_modules/es-abstract/2021/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/SplitMatch.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SplitMatch.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SplitMatch.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $charAt = callBound('String.prototype.charAt');
Index: imaps-frontend/node_modules/es-abstract/2021/StrictEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/StrictEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/StrictEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,8 @@
 
 module.exports = function StrictEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	if (xType === 'Undefined' || xType === 'Null') {
+	if (typeof x === 'undefined' || x === null) {
 		return true;
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2021/StringGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/StringGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/StringGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,6 +2,7 @@
 
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $charAt = callBound('String.prototype.charAt');
 var $stringToString = callBound('String.prototype.toString');
@@ -9,8 +10,7 @@
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsIntegralNumber = require('./IsIntegralNumber');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
 
-var isNegativeZero = require('is-negative-zero');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/12.0/#sec-stringgetownproperty
@@ -18,5 +18,5 @@
 module.exports = function StringGetOwnProperty(S, P) {
 	var str;
-	if (Type(S) === 'Object') {
+	if (isObject(S)) {
 		try {
 			str = $stringToString(S);
@@ -26,6 +26,6 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed string object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	if (typeof P !== 'string') {
Index: imaps-frontend/node_modules/es-abstract/2021/StringIndexOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/StringIndexOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/StringIndexOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2021/StringPad.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/StringPad.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/StringPad.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var ToLength = require('./ToLength');
Index: imaps-frontend/node_modules/es-abstract/2021/StringToCodePoints.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/StringToCodePoints.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/StringToCodePoints.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $push = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2021/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2021/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2021/TimeString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/TimeString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/TimeString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2021/TimeZoneString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/TimeZoneString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/TimeZoneString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,7 +6,7 @@
 var $TypeError = require('es-errors/type');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2021/ToBigInt.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToBigInt.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToBigInt.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,5 +11,5 @@
 var ToPrimitive = require('./ToPrimitive');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/11.0/#sec-tobigint
Index: imaps-frontend/node_modules/es-abstract/2021/ToBigInt64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToBigInt64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToBigInt64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2021/ToBigUint64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToBigUint64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToBigUint64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2021/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2021/ToIntegerOrInfinity.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToIntegerOrInfinity.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToIntegerOrInfinity.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,7 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // https://262.ecma-international.org/12.0/#sec-tointegerorinfinity
Index: imaps-frontend/node_modules/es-abstract/2021/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToIntegerOrInfinity = require('./ToIntegerOrInfinity');
Index: imaps-frontend/node_modules/es-abstract/2021/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 var isPrimitive = require('../helpers/isPrimitive');
@@ -48,4 +48,4 @@
 
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2021/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,12 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var modulo = require('./modulo');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.7
Index: imaps-frontend/node_modules/es-abstract/2021/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,11 +3,10 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
-
-var abs = require('./abs');
-var floor = require('./floor');
-var modulo = require('./modulo');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var modulo = require('math-intrinsics/mod');
 
 // https://262.ecma-international.org/6.0/#sec-touint8
Index: imaps-frontend/node_modules/es-abstract/2021/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2021/UnicodeEscape.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/UnicodeEscape.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/UnicodeEscape.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
Index: imaps-frontend/node_modules/es-abstract/2021/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,8 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor
@@ -21,6 +22,5 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	// this uses the ES2017+ logic, since it fixes a number of bugs in the ES2015 logic.
-	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
@@ -34,5 +34,5 @@
 		throw new $TypeError('Assertion failed: current must be a Property Descriptor, or undefined');
 	}
-	if (oType !== 'Undefined' && !IsPropertyKey(P)) {
+	if (typeof O !== 'undefined' && !isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: if O is not undefined, P must be a Property Key');
 	}
@@ -42,5 +42,5 @@
 		}
 		if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -61,5 +61,5 @@
 				throw new $TypeError('Assertion failed: Desc is not an accessor descriptor');
 			}
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				return DefineOwnProperty(
 					IsDataDescriptor,
@@ -96,5 +96,5 @@
 		}
 		if (IsDataDescriptor(current)) {
-			if (oType !== 'Undefined') {
+			if (typeof O !== 'undefined') {
 				DefineOwnProperty(
 					IsDataDescriptor,
@@ -110,5 +110,5 @@
 				);
 			}
-		} else if (oType !== 'Undefined') {
+		} else if (typeof O !== 'undefined') {
 			DefineOwnProperty(
 				IsDataDescriptor,
@@ -147,5 +147,5 @@
 		throw new $TypeError('Assertion failed: current and Desc are not both data, both accessors, or one accessor and one data.');
 	}
-	if (oType !== 'Undefined') {
+	if (typeof O !== 'undefined') {
 		return DefineOwnProperty(
 			IsDataDescriptor,
Index: imaps-frontend/node_modules/es-abstract/2021/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -12,5 +13,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/WeakRefDeref.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/WeakRefDeref.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/WeakRefDeref.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2021/WordCharacters.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/WordCharacters.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/WordCharacters.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $indexOf = callBound('String.prototype.indexOf', true);
 
@@ -10,5 +10,5 @@
 var caseFolding = require('../helpers/caseFolding.json');
 var forEach = require('../helpers/forEach');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var A = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; // step 1
Index: imaps-frontend/node_modules/es-abstract/2021/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2021/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2021/clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,7 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
 var $TypeError = require('es-errors/type');
-var max = GetIntrinsic('%Math.max%');
-var min = GetIntrinsic('%Math.min%');
+var max = require('math-intrinsics/max');
+var min = require('math-intrinsics/min');
 
 // https://262.ecma-international.org/12.0/#clamping
Index: imaps-frontend/node_modules/es-abstract/2021/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/11.0/#eqn-floor
Index: imaps-frontend/node_modules/es-abstract/2021/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2021/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2021/substring.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/substring.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/substring.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,8 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var callBound = require('call-bind/callBound');
+var isInteger = require('math-intrinsics/isInteger');
+var callBound = require('call-bound');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2021/thisBigIntValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/thisBigIntValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/thisBigIntValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,16 +1,13 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SyntaxError = require('es-errors/syntax');
 var $bigIntValueOf = callBound('BigInt.prototype.valueOf', true);
 
-var Type = require('./Type');
-
 // https://262.ecma-international.org/11.0/#sec-thisbigintvalue
 
 module.exports = function thisBigIntValue(value) {
-	var type = Type(value);
-	if (type === 'BigInt') {
+	if (typeof value === 'bigint') {
 		return value;
 	}
Index: imaps-frontend/node_modules/es-abstract/2021/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/thisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2021/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/thisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2021/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/thisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2021/thisSymbolValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/thisSymbolValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/thisSymbolValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $SyntaxError = require('es-errors/syntax');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
@@ -9,10 +9,12 @@
 
 module.exports = function thisSymbolValue(value) {
+	if (typeof value === 'symbol') {
+		return value;
+	}
+
 	if (!$SymbolValueOf) {
 		throw new $SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object');
 	}
-	if (typeof value === 'symbol') {
-		return value;
-	}
+
 	return $SymbolValueOf(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2021/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2021/thisTimeValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2021/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,9 @@
 'use strict';
 
-var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
+var timeValue = require('../helpers/timeValue');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return $DateGetTime(value);
+	return timeValue(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2022/AddEntriesFromIterable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/AddEntriesFromIterable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/AddEntriesFromIterable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var ThrowCompletion = require('./ThrowCompletion');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/10.0/#sec-add-entries-from-iterable
@@ -31,5 +32,5 @@
 		}
 		var nextItem = IteratorValue(next);
-		if (Type(nextItem) !== 'Object') {
+		if (!isObject(nextItem)) {
 			var error = ThrowCompletion(new $TypeError('iterator next must return an Object, got ' + inspect(nextItem)));
 			return IteratorClose(iteratorRecord, error);
Index: imaps-frontend/node_modules/es-abstract/2022/AddToKeptObjects.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/AddToKeptObjects.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/AddToKeptObjects.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var SLOT = require('internal-slot');
 
@@ -7,5 +7,6 @@
 
 var ClearKeptObjects = require('./ClearKeptObjects');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $push = callBound('Array.prototype.push');
@@ -14,5 +15,5 @@
 
 module.exports = function AddToKeptObjects(object) {
-	if (Type(object) !== 'Object') {
+	if (!isObject(object)) {
 		throw new $TypeError('Assertion failed: `object` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,8 +3,7 @@
 var CodePointAt = require('./CodePointAt');
 
-var isInteger = require('../helpers/isInteger');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
-
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 // https://262.ecma-international.org/12.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2022/ApplyStringOrNumericBinaryOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ApplyStringOrNumericBinaryOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ApplyStringOrNumericBinaryOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -70,9 +70,8 @@
 	var lnum = ToNumeric(lval);
 	var rnum = ToNumeric(rval);
-	var T = Type(lnum);
-	if (T !== Type(rnum)) {
+	if (Type(lnum) !== Type(rnum)) {
 		throw new $TypeError('types of ' + lnum + ' and ' + rnum + ' differ');
 	}
-	var Operation = table[opText][T === 'BigInt' ? 1 : 0];
+	var Operation = table[opText][typeof lnum === 'bigint' ? 1 : 0];
 	return Operation(lnum, rnum);
 };
Index: imaps-frontend/node_modules/es-abstract/2022/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var hasProto = require('has-proto')();
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/12.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2022/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,4 +5,5 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var ArrayCreate = require('./ArrayCreate');
@@ -10,7 +11,6 @@
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/12.0/#sec-arrayspeciescreate
@@ -32,5 +32,5 @@
 	// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 	// }
-	if ($species && Type(C) === 'Object') {
+	if ($species && isObject(C)) {
 		C = Get(C, $species);
 		if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2022/AsyncFromSyncIteratorContinuation.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/AsyncFromSyncIteratorContinuation.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/AsyncFromSyncIteratorContinuation.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $Promise = GetIntrinsic('%Promise%', true);
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var CreateIterResultObject = require('./CreateIterResultObject');
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var PromiseResolve = require('./PromiseResolve');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -20,5 +21,5 @@
 
 module.exports = function AsyncFromSyncIteratorContinuation(result) {
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/AsyncIteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/AsyncIteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/AsyncIteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,9 +10,9 @@
 var CompletionRecord = require('./CompletionRecord');
 var GetMethod = require('./GetMethod');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -62,5 +62,5 @@
 				completion['?'](); // step 6
 			}
-			if (Type(innerResult) !== 'Object') {
+			if (!isObject(innerResult)) {
 				throw new $TypeError('`innerResult` must be an Object'); // step 10
 			}
Index: imaps-frontend/node_modules/es-abstract/2022/BigIntBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/BigIntBitwiseOp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/BigIntBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 // var $BigInt = GetIntrinsic('%BigInt%', true);
-// var $pow = GetIntrinsic('%Math.pow%');
+// var $pow = require('math-intrinsics/pow');
 
 // var BinaryAnd = require('./BinaryAnd');
Index: imaps-frontend/node_modules/es-abstract/2022/ByteListBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ByteListBitwiseOp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ByteListBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2022/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2022/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2022/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2022/CloneArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CloneArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CloneArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,6 +8,5 @@
 var OrdinarySetPrototypeOf = require('./OrdinarySetPrototypeOf');
 
-var isInteger = require('../helpers/isInteger');
-
+var isInteger = require('math-intrinsics/isInteger');
 var isArrayBuffer = require('is-array-buffer');
 var arrayBufferSlice = require('arraybuffer.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2022/CodePointAt.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CodePointAt.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CodePointAt.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
Index: imaps-frontend/node_modules/es-abstract/2022/CopyDataProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CopyDataProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CopyDataProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,9 +3,9 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var every = require('../helpers/every');
 var some = require('../helpers/some');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -15,18 +15,19 @@
 var IsArray = require('./IsArray');
 var IsIntegralNumber = require('./IsIntegralNumber');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToNumber = require('./ToNumber');
 var ToObject = require('./ToObject');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/12.0/#sec-copydataproperties
 
 module.exports = function CopyDataProperties(target, source, excludedItems) {
-	if (Type(target) !== 'Object') {
+	if (!isObject(target)) {
 		throw new $TypeError('Assertion failed: "target" must be an Object');
 	}
 
-	if (!IsArray(excludedItems) || !every(excludedItems, IsPropertyKey)) {
+	if (!IsArray(excludedItems) || !every(excludedItems, isPropertyKey)) {
 		throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/CreateAsyncFromSyncIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CreateAsyncFromSyncIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CreateAsyncFromSyncIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,6 +14,6 @@
 var IteratorNext = require('./IteratorNext');
 var OrdinaryObjectCreate = require('./OrdinaryObjectCreate');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
@@ -70,5 +70,5 @@
 				result = Call(iteratorReturn, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `return` method returned a non-object value.')]); // step 11.a
 				return;
@@ -106,5 +106,5 @@
 				result = Call(throwMethod, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `throw` method returned a non-object value.')]); // step 11.a
 				return;
Index: imaps-frontend/node_modules/es-abstract/2022/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2022/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/6.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2022/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2022/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,4 +13,6 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];
 
@@ -22,5 +24,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CreateMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,17 +7,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2022/CreateNonEnumerableDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CreateNonEnumerableDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CreateNonEnumerableDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,16 +4,17 @@
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/13.0/#sec-createnonenumerabledatapropertyorthrow
 
 module.exports = function CreateNonEnumerableDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2022/CreateRegExpStringIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/CreateRegExpStringIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/CreateRegExpStringIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -16,5 +16,6 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -44,5 +45,5 @@
 var RegExpStringIteratorNext = function next() {
 	var O = this; // eslint-disable-line no-invalid-this
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('receiver must be an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/DateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/DateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/DateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2022/DefineMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/DefineMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/DefineMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,15 @@
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/13.0/#sec-definemethodproperty
 
 module.exports = function DefineMethodProperty(homeObject, key, closure, enumerable) {
-	if (Type(homeObject) !== 'Object') {
+	if (!isObject(homeObject)) {
 		throw new $TypeError('Assertion failed: `homeObject` is not an Object');
 	}
-	if (!IsPropertyKey(key)) {
+	if (!isPropertyKey(key)) {
 		throw new $TypeError('Assertion failed: `key` is not a Property Key or a Private Name');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2022/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2022/EnumerableOwnPropertyNames.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/EnumerableOwnPropertyNames.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/EnumerableOwnPropertyNames.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,25 +1,19 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 var $TypeError = require('es-errors/type');
 
 var objectKeys = require('object-keys');
-
-var callBound = require('call-bind/callBound');
-
-var callBind = require('call-bind');
+var safePushApply = require('safe-push-apply');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
-var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 
 var forEach = require('../helpers/forEach');
-
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/8.0/#sec-enumerableownproperties
 
 module.exports = function EnumerableOwnPropertyNames(O, kind) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -33,5 +27,5 @@
 		forEach(keys, function (key) {
 			if ($isEnumerable(O, key)) {
-				$pushApply(results, [
+				safePushApply(results, [
 					kind === 'value' ? O[key] : [key, O[key]]
 				]);
Index: imaps-frontend/node_modules/es-abstract/2022/FlattenIntoArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/FlattenIntoArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/FlattenIntoArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var Call = require('./Call');
Index: imaps-frontend/node_modules/es-abstract/2022/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2022/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -15,5 +15,12 @@
 var GetMethod = require('./GetMethod');
 var IsArray = require('./IsArray');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
 
 // https://262.ecma-international.org/11.0/#sec-getiterator
@@ -38,16 +45,9 @@
 			}
 		} else {
-			actualMethod = getIteratorMethod(
-				{
-					AdvanceStringIndex: AdvanceStringIndex,
-					GetMethod: GetMethod,
-					IsArray: IsArray
-				},
-				obj
-			);
+			actualMethod = getIteratorMethod(ES, obj);
 		}
 	}
 	var iterator = Call(actualMethod, obj);
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2022/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2022/GetStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/GetStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/GetStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,11 +1,9 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
-
+var callBound = require('call-bound');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var StringToCodePoints = require('./StringToCodePoints');
-
-var isInteger = require('../helpers/isInteger');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2022/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,7 +4,6 @@
 
 var regexTester = require('safe-regex-test');
-var every = require('../helpers/every');
-
 var inspect = require('object-inspect');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
@@ -15,9 +14,9 @@
 var substring = require('./substring');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var every = require('../helpers/every');
+var isObject = require('../helpers/isObject');
+var isPrefixOf = require('../helpers/isPrefixOf');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
-var isPrefixOf = require('../helpers/isPrefixOf');
 
 var startsWithDollarDigit = regexTester(/^\$[0-9]/);
@@ -43,5 +42,5 @@
 	}
 
-	if (typeof namedCaptures !== 'undefined' && Type(namedCaptures) !== 'Object') {
+	if (typeof namedCaptures !== 'undefined' && !isObject(namedCaptures)) {
 		throw new $TypeError('Assertion failed: `namedCaptures` must be `undefined` or an Object');
 	}
@@ -114,5 +113,5 @@
 				ref = substring(templateRemainder, 0, gtPos + 1); // step 5.g.iii.1
 				var groupName = substring(templateRemainder, 2, gtPos); // step 5.g.iii.2
-				if (Type(namedCaptures) !== 'Object') {
+				if (!isObject(namedCaptures)) {
 					throw new $TypeError('Assertion failed: Type(namedCaptures) is not Object'); // step 5.g.iii.3
 				}
Index: imaps-frontend/node_modules/es-abstract/2022/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2022/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,9 @@
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
+var isInteger = require('math-intrinsics/isInteger');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $slice = callBound('Array.prototype.slice');
-
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
Index: imaps-frontend/node_modules/es-abstract/2022/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/InstallErrorCause.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/InstallErrorCause.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/InstallErrorCause.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,14 +6,15 @@
 var Get = require('./Get');
 var HasProperty = require('./HasProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/13.0/#sec-installerrorcause
 
 module.exports = function InstallErrorCause(O, options) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (Type(options) === 'Object' && HasProperty(options, 'cause')) {
+	if (isObject(options) && HasProperty(options, 'cause')) {
 		var cause = Get(options, 'cause');
 		CreateNonEnumerableDataPropertyOrThrow(O, 'cause', cause);
Index: imaps-frontend/node_modules/es-abstract/2022/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,12 +10,12 @@
 var LengthOfArrayLike = require('./LengthOfArrayLike');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-internalizejsonproperty
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -29,5 +29,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 2
+	if (isObject(val)) { // step 2
 		var isArray = IsArray(val); // step 2.a
 		if (isArray) { // step 2.b
Index: imaps-frontend/node_modules/es-abstract/2022/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/IsDetachedBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsDetachedBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsDetachedBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $byteLength = require('array-buffer-byte-length');
 var availableTypedArrays = require('available-typed-arrays')();
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2022/IsIntegralNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsIntegralNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsIntegralNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 // https://262.ecma-international.org/12.0/#sec-isinteger
Index: imaps-frontend/node_modules/es-abstract/2022/IsLessThan.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsLessThan.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsLessThan.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 var IsStringPrefix = require('./IsStringPrefix');
Index: imaps-frontend/node_modules/es-abstract/2022/IsLooselyEqual.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsLooselyEqual.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsLooselyEqual.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 var IsStrictlyEqual = require('./IsStrictlyEqual');
@@ -9,10 +9,10 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/13.0/#sec-islooselyequal
 
 module.exports = function IsLooselyEqual(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return IsStrictlyEqual(x, y);
 	}
@@ -20,11 +20,11 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return IsLooselyEqual(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return IsLooselyEqual(ToNumber(x), y);
 	}
-	if (xType === 'BigInt' && yType === 'String') {
+	if (typeof x === 'bigint' && typeof y === 'string') {
 		var n = StringToBigInt(y);
 		if (typeof n === 'undefined') {
@@ -33,20 +33,20 @@
 		return IsLooselyEqual(x, n);
 	}
-	if (xType === 'String' && yType === 'BigInt') {
+	if (typeof x === 'string' && typeof y === 'bigint') {
 		return IsLooselyEqual(y, x);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return IsLooselyEqual(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return IsLooselyEqual(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol' || xType === 'BigInt') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol' || typeof x === 'bigint') && isObject(y)) {
 		return IsLooselyEqual(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol' || yType === 'BigInt')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol' || typeof y === 'bigint')) {
 		return IsLooselyEqual(ToPrimitive(x), y);
 	}
-	if ((xType === 'BigInt' && yType === 'Number') || (xType === 'Number' && yType === 'BigInt')) {
+	if ((typeof x === 'bigint' && typeof y === 'number') || (typeof x === 'number' && typeof y === 'bigint')) {
 		if (!isFinite(x) || !isFinite(y)) {
 			return false;
Index: imaps-frontend/node_modules/es-abstract/2022/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2022/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/IsSharedArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsSharedArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsSharedArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 var isSharedArrayBuffer = require('is-shared-array-buffer');
@@ -10,5 +10,5 @@
 
 module.exports = function IsSharedArrayBuffer(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/IsStrictlyEqual.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsStrictlyEqual.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsStrictlyEqual.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,11 +9,9 @@
 
 module.exports = function IsStrictlyEqual(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	if (xType === 'Number' || xType === 'BigInt') {
-		return xType === 'Number' ? NumberEqual(x, y) : BigIntEqual(x, y);
+	if (typeof x === 'number' || typeof x === 'bigint') {
+		return typeof x === 'number' ? NumberEqual(x, y) : BigIntEqual(x, y);
 	}
 	return SameValueNonNumeric(x, y);
Index: imaps-frontend/node_modules/es-abstract/2022/IsValidIntegerIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsValidIntegerIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsValidIntegerIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,9 +2,8 @@
 
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
 var IsIntegralNumber = require('./IsIntegralNumber');
-
-var isNegativeZero = require('../helpers/isNegativeZero');
 
 var typedArrayBuffer = require('typed-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2022/IsWordChar.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IsWordChar.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IsWordChar.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2022/IterableToList.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IterableToList.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IterableToList.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $arrayPush = callBound('Array.prototype.push');
 
Index: imaps-frontend/node_modules/es-abstract/2022/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorclose
 
 module.exports = function IteratorClose(iterator, completion) {
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('Assertion failed: Type(iterator) is not Object');
 	}
@@ -42,5 +43,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var Invoke = require('./Invoke');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratornext
@@ -10,5 +11,5 @@
 module.exports = function IteratorNext(iterator, value) {
 	var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/LengthOfArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/LengthOfArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/LengthOfArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToLength = require('./ToLength');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-lengthofarraylike
 
 module.exports = function LengthOfArrayLike(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2022/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2022/MakeMatchIndicesIndexPairArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/MakeMatchIndicesIndexPairArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/MakeMatchIndicesIndexPairArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -21,5 +21,5 @@
 };
 
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
 
 // https://262.ecma-international.org/13.0/#sec-getmatchindexpair
Index: imaps-frontend/node_modules/es-abstract/2022/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2022/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2022/Number/add.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/Number/add.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/Number/add.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/12.0/#sec-numeric-types-number-add
Index: imaps-frontend/node_modules/es-abstract/2022/Number/divide.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/Number/divide.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/Number/divide.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/11.0/#sec-numeric-types-number-divide
Index: imaps-frontend/node_modules/es-abstract/2022/Number/exponentiate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/Number/exponentiate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/Number/exponentiate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,17 +1,15 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-// var isNegativeZero = require('is-negative-zero');
-
-var $pow = GetIntrinsic('%Math.pow%');
+// var isNegativeZero = require('math-intrinsics/isNegativeZero');
+var $pow = require('math-intrinsics/pow');
 
 var $TypeError = require('es-errors/type');
 
 /*
-var abs = require('../../helpers/abs');
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var abs = require('math-intrinsics/abs');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
-var IsInteger = require('../IsInteger');
+var IsInteger = require('math-intrinsics/isInteger');
 */
 
Index: imaps-frontend/node_modules/es-abstract/2022/Number/sameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/Number/sameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/Number/sameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,6 +1,5 @@
 'use strict';
 
-var isNegativeZero = require('is-negative-zero');
-
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var $TypeError = require('es-errors/type');
 
Index: imaps-frontend/node_modules/es-abstract/2022/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,12 +10,15 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
+
+/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
+	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2022/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/OrdinaryGetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,12 +3,11 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('../helpers/getProto');
-
-var Type = require('./Type');
+var $getProto = require('get-proto');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/OrdinaryObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/OrdinaryObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/OrdinaryObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function OrdinaryObjectCreate(proto) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/OrdinarySetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,13 +2,14 @@
 
 var $TypeError = require('es-errors/type');
-
-var $setProto = require('../helpers/setProto');
+var $setProto = require('set-proto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (typeof V !== 'object') {
+	if (V !== null && !isObject(V)) {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/OrdinaryToPrimitive.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/OrdinaryToPrimitive.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/OrdinaryToPrimitive.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var inspect = require('object-inspect');
@@ -13,5 +14,5 @@
 
 module.exports = function OrdinaryToPrimitive(O, hint) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -27,5 +28,5 @@
 		if (IsCallable(method)) {
 			var result = Call(method, O);
-			if (Type(result) !== 'Object') {
+			if (!isObject(result)) {
 				return result;
 			}
Index: imaps-frontend/node_modules/es-abstract/2022/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
@@ -9,4 +9,5 @@
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
+var $strSplit = callBound('String.prototype.split');
 
 var StringToCodePoints = require('./StringToCodePoints');
@@ -34,10 +35,10 @@
 	var product = '"';
 	if (value) {
-		forEach(StringToCodePoints(value), function (C) {
+		forEach($strSplit(StringToCodePoints(value), ''), function (C) {
 			if (hasOwn(escapes, C)) {
 				product += escapes[C];
 			} else {
 				var cCharCode = $charCodeAt(C, 0);
-				if (cCharCode < 0x20 || isLeadingSurrogate(C) || isTrailingSurrogate(C)) {
+				if (cCharCode < 0x20 || isLeadingSurrogate(cCharCode) || isTrailingSurrogate(cCharCode)) {
 					product += UnicodeEscape(C);
 				} else {
Index: imaps-frontend/node_modules/es-abstract/2022/RawBytesToNumeric.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/RawBytesToNumeric.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/RawBytesToNumeric.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $RangeError = require('es-errors/range');
Index: imaps-frontend/node_modules/es-abstract/2022/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2022/RegExpHasFlag.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/RegExpHasFlag.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/RegExpHasFlag.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -8,5 +8,6 @@
 
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $indexOf = callBound('String.prototype.indexOf');
@@ -22,5 +23,5 @@
 	}
 
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: Type(R) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2022/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2022/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/SetFunctionLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SetFunctionLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SetFunctionLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,9 @@
 
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var HasOwnProperty = require('./HasOwnProperty');
 var IsExtensible = require('./IsExtensible');
-
-var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/12.0/#sec-setfunctionlength
Index: imaps-frontend/node_modules/es-abstract/2022/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/SetTypedArrayFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SetTypedArrayFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SetTypedArrayFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,4 +4,5 @@
 var $TypeError = require('es-errors/type');
 
+var isInteger = require('math-intrinsics/isInteger');
 var isTypedArray = require('is-typed-array');
 var typedArrayBuffer = require('typed-array-buffer');
@@ -9,6 +10,4 @@
 var typedArrayLength = require('typed-array-length');
 var whichTypedArray = require('which-typed-array');
-
-var isInteger = require('../helpers/isInteger');
 
 var Get = require('./Get');
Index: imaps-frontend/node_modules/es-abstract/2022/SetTypedArrayFromTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SetTypedArrayFromTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SetTypedArrayFromTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -13,6 +13,5 @@
 var typedArrayLength = require('typed-array-length');
 var whichTypedArray = require('which-typed-array');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var CloneArrayBuffer = require('./CloneArrayBuffer');
Index: imaps-frontend/node_modules/es-abstract/2022/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,6 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
-
-var isInteger = require('../helpers/isInteger');
 
 var IsBigIntElementType = require('./IsBigIntElementType');
Index: imaps-frontend/node_modules/es-abstract/2022/SortIndexedProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SortIndexedProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SortIndexedProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var DeletePropertyOrThrow = require('./DeletePropertyOrThrow');
@@ -10,8 +11,7 @@
 var Set = require('./Set');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var isAbstractClosure = require('../helpers/isAbstractClosure');
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 var $push = callBound('Array.prototype.push');
@@ -21,5 +21,5 @@
 
 module.exports = function SortIndexedProperties(obj, len, SortCompare) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(obj) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2022/StringGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/StringGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/StringGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,6 +2,7 @@
 
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $charAt = callBound('String.prototype.charAt');
 var $stringToString = callBound('String.prototype.toString');
@@ -9,8 +10,7 @@
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsIntegralNumber = require('./IsIntegralNumber');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
 
-var isNegativeZero = require('is-negative-zero');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/12.0/#sec-stringgetownproperty
@@ -18,5 +18,5 @@
 module.exports = function StringGetOwnProperty(S, P) {
 	var str;
-	if (Type(S) === 'Object') {
+	if (isObject(S)) {
 		try {
 			str = $stringToString(S);
@@ -26,6 +26,6 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed string object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	if (typeof P !== 'string') {
Index: imaps-frontend/node_modules/es-abstract/2022/StringIndexOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/StringIndexOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/StringIndexOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2022/StringPad.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/StringPad.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/StringPad.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var ToLength = require('./ToLength');
Index: imaps-frontend/node_modules/es-abstract/2022/StringToCodePoints.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/StringToCodePoints.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/StringToCodePoints.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $push = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2022/StringToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/StringToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/StringToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,10 +3,9 @@
 var GetIntrinsic = require('get-intrinsic');
 
-var $Number = GetIntrinsic('%Number%');
 var $RegExp = GetIntrinsic('%RegExp%');
 var $TypeError = require('es-errors/type');
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 
@@ -28,8 +27,8 @@
 	}
 	if (isBinary(argument)) {
-		return $Number($parseInteger($strSlice(argument, 2), 2));
+		return +$parseInteger($strSlice(argument, 2), 2);
 	}
 	if (isOctal(argument)) {
-		return $Number($parseInteger($strSlice(argument, 2), 8));
+		return +$parseInteger($strSlice(argument, 2), 8);
 	}
 	if (hasNonWS(argument) || isInvalidHexLiteral(argument)) {
@@ -40,4 +39,4 @@
 		return StringToNumber(trimmed);
 	}
-	return $Number(argument);
+	return +argument;
 };
Index: imaps-frontend/node_modules/es-abstract/2022/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2022/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2022/TimeString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/TimeString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/TimeString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 var HourFromTime = require('./HourFromTime');
Index: imaps-frontend/node_modules/es-abstract/2022/TimeZoneString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/TimeZoneString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/TimeZoneString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,7 +6,7 @@
 var $TypeError = require('es-errors/type');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2022/ToBigInt64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToBigInt64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToBigInt64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2022/ToBigUint64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToBigUint64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToBigUint64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2022/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2022/ToIntegerOrInfinity.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToIntegerOrInfinity.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToIntegerOrInfinity.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,7 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // https://262.ecma-international.org/12.0/#sec-tointegerorinfinity
Index: imaps-frontend/node_modules/es-abstract/2022/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToIntegerOrInfinity = require('./ToIntegerOrInfinity');
Index: imaps-frontend/node_modules/es-abstract/2022/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -23,4 +23,4 @@
 		return StringToNumber(value);
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2022/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,12 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var modulo = require('./modulo');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.7
Index: imaps-frontend/node_modules/es-abstract/2022/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,11 +3,10 @@
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
-
-var abs = require('./abs');
-var floor = require('./floor');
-var modulo = require('./modulo');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var modulo = require('math-intrinsics/mod');
 
 // https://262.ecma-international.org/6.0/#sec-touint8
Index: imaps-frontend/node_modules/es-abstract/2022/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2022/ToZeroPaddedDecimalString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ToZeroPaddedDecimalString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ToZeroPaddedDecimalString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,8 +5,7 @@
 var $String = GetIntrinsic('%String%');
 var $RangeError = require('es-errors/range');
+var isInteger = require('math-intrinsics/isInteger');
 
 var StringPad = require('./StringPad');
-
-var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/13.0/#sec-tozeropaddeddecimalstring
Index: imaps-frontend/node_modules/es-abstract/2022/TypedArrayElementSize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/TypedArrayElementSize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/TypedArrayElementSize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,5 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
+var isInteger = require('math-intrinsics/isInteger');
 var whichTypedArray = require('which-typed-array');
 
@@ -14,5 +12,5 @@
 module.exports = function TypedArrayElementSize(O) {
 	var type = whichTypedArray(O);
-	if (type === false) {
+	if (!type) {
 		throw new $TypeError('Assertion failed: `O` must be a TypedArray');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/TypedArrayElementType.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/TypedArrayElementType.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/TypedArrayElementType.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -12,5 +12,5 @@
 module.exports = function TypedArrayElementType(O) {
 	var type = whichTypedArray(O);
-	if (type === false) {
+	if (!type) {
 		throw new $TypeError('Assertion failed: `O` must be a TypedArray');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/UnicodeEscape.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/UnicodeEscape.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/UnicodeEscape.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
Index: imaps-frontend/node_modules/es-abstract/2022/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,9 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/13.0/#sec-validateandapplypropertydescriptor
@@ -22,8 +24,8 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -12,5 +13,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/WeakRefDeref.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/WeakRefDeref.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/WeakRefDeref.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2022/WordCharacters.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/WordCharacters.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/WordCharacters.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $indexOf = callBound('String.prototype.indexOf', true);
 
@@ -10,5 +10,5 @@
 var caseFolding = require('../helpers/caseFolding.json');
 var forEach = require('../helpers/forEach');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var A = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; // step 1
Index: imaps-frontend/node_modules/es-abstract/2022/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2022/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2022/clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,7 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
 var $TypeError = require('es-errors/type');
-var max = GetIntrinsic('%Math.max%');
-var min = GetIntrinsic('%Math.min%');
+var max = require('math-intrinsics/max');
+var min = require('math-intrinsics/min');
 
 // https://262.ecma-international.org/12.0/#clamping
Index: imaps-frontend/node_modules/es-abstract/2022/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/11.0/#eqn-floor
Index: imaps-frontend/node_modules/es-abstract/2022/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2022/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2022/substring.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/substring.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/substring.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,8 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var callBound = require('call-bind/callBound');
+var isInteger = require('math-intrinsics/isInteger');
+var callBound = require('call-bound');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2022/thisBigIntValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/thisBigIntValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/thisBigIntValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,16 +1,13 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SyntaxError = require('es-errors/syntax');
 var $bigIntValueOf = callBound('BigInt.prototype.valueOf', true);
 
-var Type = require('./Type');
-
 // https://262.ecma-international.org/11.0/#sec-thisbigintvalue
 
 module.exports = function thisBigIntValue(value) {
-	var type = Type(value);
-	if (type === 'BigInt') {
+	if (typeof value === 'bigint') {
 		return value;
 	}
Index: imaps-frontend/node_modules/es-abstract/2022/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/thisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2022/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/thisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2022/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/thisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2022/thisSymbolValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/thisSymbolValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/thisSymbolValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $SyntaxError = require('es-errors/syntax');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
@@ -9,10 +9,12 @@
 
 module.exports = function thisSymbolValue(value) {
+	if (typeof value === 'symbol') {
+		return value;
+	}
+
 	if (!$SymbolValueOf) {
 		throw new $SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object');
 	}
-	if (typeof value === 'symbol') {
-		return value;
-	}
+
 	return $SymbolValueOf(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2022/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2022/thisTimeValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2022/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,9 @@
 'use strict';
 
-var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
+var timeValue = require('../helpers/timeValue');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return $DateGetTime(value);
+	return timeValue(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/AddEntriesFromIterable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AddEntriesFromIterable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/AddEntriesFromIterable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var ThrowCompletion = require('./ThrowCompletion');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/14.0/#sec-add-entries-from-iterable
@@ -31,5 +32,5 @@
 		}
 		var nextItem = IteratorValue(next);
-		if (Type(nextItem) !== 'Object') {
+		if (!isObject(nextItem)) {
 			var error = ThrowCompletion(new $TypeError('iterator next must return an Object, got ' + inspect(nextItem)));
 			return IteratorClose(iteratorRecord, error);
Index: imaps-frontend/node_modules/es-abstract/2023/AddToKeptObjects.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AddToKeptObjects.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/AddToKeptObjects.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var SLOT = require('internal-slot');
 
@@ -7,5 +7,6 @@
 
 var ClearKeptObjects = require('./ClearKeptObjects');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $push = callBound('Array.prototype.push');
@@ -14,5 +15,5 @@
 
 module.exports = function AddToKeptObjects(object) {
-	if (Type(object) !== 'Object') {
+	if (!isObject(object)) {
 		throw new $TypeError('Assertion failed: `object` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,8 +3,7 @@
 var CodePointAt = require('./CodePointAt');
 
-var isInteger = require('../helpers/isInteger');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
-
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 // https://262.ecma-international.org/12.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2023/ApplyStringOrNumericBinaryOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ApplyStringOrNumericBinaryOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ApplyStringOrNumericBinaryOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -70,9 +70,8 @@
 	var lnum = ToNumeric(lval);
 	var rnum = ToNumeric(rval);
-	var T = Type(lnum);
-	if (T !== Type(rnum)) {
+	if (Type(lnum) !== Type(rnum)) {
 		throw new $TypeError('types of ' + lnum + ' and ' + rnum + ' differ');
 	}
-	var Operation = table[opText][T === 'BigInt' ? 1 : 0];
+	var Operation = table[opText][typeof lnum === 'bigint' ? 1 : 0];
 	return Operation(lnum, rnum);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var hasProto = require('has-proto')();
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/12.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2023/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,4 +5,5 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var ArrayCreate = require('./ArrayCreate');
@@ -10,7 +11,6 @@
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/12.0/#sec-arrayspeciescreate
@@ -32,5 +32,5 @@
 	// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 	// }
-	if ($species && Type(C) === 'Object') {
+	if ($species && isObject(C)) {
 		C = Get(C, $species);
 		if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2023/AsyncFromSyncIteratorContinuation.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AsyncFromSyncIteratorContinuation.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/AsyncFromSyncIteratorContinuation.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $Promise = GetIntrinsic('%Promise%', true);
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var CreateIterResultObject = require('./CreateIterResultObject');
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var PromiseResolve = require('./PromiseResolve');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -20,5 +21,5 @@
 
 module.exports = function AsyncFromSyncIteratorContinuation(result) {
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/AsyncIteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AsyncIteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/AsyncIteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,9 +10,9 @@
 var CompletionRecord = require('./CompletionRecord');
 var GetMethod = require('./GetMethod');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -62,5 +62,5 @@
 				completion['?'](); // step 6
 			}
-			if (Type(innerResult) !== 'Object') {
+			if (!isObject(innerResult)) {
 				throw new $TypeError('`innerResult` must be an Object'); // step 10
 			}
Index: imaps-frontend/node_modules/es-abstract/2023/BigInt/toString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/BigInt/toString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/BigInt/toString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,10 +3,8 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $BigIntToString = callBound('BigInt.prototype.toString', true);
-
-var isInteger = require('../../helpers/isInteger');
 
 // https://262.ecma-international.org/14.0/#sec-numeric-types-bigint-tostring
Index: imaps-frontend/node_modules/es-abstract/2023/BigIntBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/BigIntBitwiseOp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/BigIntBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 // var $BigInt = GetIntrinsic('%BigInt%', true);
-// var $pow = GetIntrinsic('%Math.pow%');
+// var $pow = require('math-intrinsics/pow');
 
 // var BinaryAnd = require('./BinaryAnd');
Index: imaps-frontend/node_modules/es-abstract/2023/ByteListBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ByteListBitwiseOp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ByteListBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2023/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2023/CanBeHeldWeakly.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CanBeHeldWeakly.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CanBeHeldWeakly.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,11 @@
 
 var KeyForSymbol = require('./KeyForSymbol');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/14.0/#sec-canbeheldweakly
 
 module.exports = function CanBeHeldWeakly(v) {
-	if (Type(v) === 'Object') {
+	if (isObject(v)) {
 		return true; // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2023/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2023/CloneArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CloneArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CloneArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,6 +8,5 @@
 var OrdinarySetPrototypeOf = require('./OrdinarySetPrototypeOf');
 
-var isInteger = require('../helpers/isInteger');
-
+var isInteger = require('math-intrinsics/isInteger');
 var isArrayBuffer = require('is-array-buffer');
 var arrayBufferSlice = require('arraybuffer.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2023/CodePointAt.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CodePointAt.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CodePointAt.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
Index: imaps-frontend/node_modules/es-abstract/2023/CompareArrayElements.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CompareArrayElements.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CompareArrayElements.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var ToString = require('./ToString');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/14.0/#sec-comparearrayelements
Index: imaps-frontend/node_modules/es-abstract/2023/CompareTypedArrayElements.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CompareTypedArrayElements.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CompareTypedArrayElements.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var ToNumber = require('./ToNumber');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/14.0/#sec-comparetypedarrayelements
Index: imaps-frontend/node_modules/es-abstract/2023/CopyDataProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CopyDataProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CopyDataProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,9 +3,9 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var every = require('../helpers/every');
 var some = require('../helpers/some');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -15,18 +15,19 @@
 var IsArray = require('./IsArray');
 var IsIntegralNumber = require('./IsIntegralNumber');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToNumber = require('./ToNumber');
 var ToObject = require('./ToObject');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/12.0/#sec-copydataproperties
 
 module.exports = function CopyDataProperties(target, source, excludedItems) {
-	if (Type(target) !== 'Object') {
+	if (!isObject(target)) {
 		throw new $TypeError('Assertion failed: "target" must be an Object');
 	}
 
-	if (!IsArray(excludedItems) || !every(excludedItems, IsPropertyKey)) {
+	if (!IsArray(excludedItems) || !every(excludedItems, isPropertyKey)) {
 		throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/CreateAsyncFromSyncIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateAsyncFromSyncIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateAsyncFromSyncIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,9 +14,9 @@
 var IteratorNext = require('./IteratorNext');
 var OrdinaryObjectCreate = require('./OrdinaryObjectCreate');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
 var SLOT = require('internal-slot');
-
-var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
 var $AsyncFromSyncIteratorPrototype = GetIntrinsic('%AsyncFromSyncIteratorPrototype%', true) || {
@@ -70,5 +70,5 @@
 				result = Call(iteratorReturn, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `return` method returned a non-object value.')]); // step 11.a
 				return;
@@ -106,5 +106,5 @@
 				result = Call(throwMethod, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `throw` method returned a non-object value.')]); // step 11.a
 				return;
Index: imaps-frontend/node_modules/es-abstract/2023/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2023/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/14.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2023/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2023/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,4 +13,6 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];
 
@@ -22,5 +24,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,17 +7,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/CreateNonEnumerableDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateNonEnumerableDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateNonEnumerableDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,16 +4,17 @@
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/13.0/#sec-createnonenumerabledatapropertyorthrow
 
 module.exports = function CreateNonEnumerableDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/CreateRegExpStringIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateRegExpStringIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateRegExpStringIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -16,5 +16,6 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -44,5 +45,5 @@
 var RegExpStringIteratorNext = function next() {
 	var O = this; // eslint-disable-line no-invalid-this
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('receiver must be an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/DateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/DateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/DateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2023/DefineMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/DefineMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/DefineMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,15 @@
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/13.0/#sec-definemethodproperty
 
 module.exports = function DefineMethodProperty(homeObject, key, closure, enumerable) {
-	if (Type(homeObject) !== 'Object') {
+	if (!isObject(homeObject)) {
 		throw new $TypeError('Assertion failed: `homeObject` is not an Object');
 	}
-	if (!IsPropertyKey(key)) {
+	if (!isPropertyKey(key)) {
 		throw new $TypeError('Assertion failed: `key` is not a Property Key or a Private Name');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/EnumerableOwnProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/EnumerableOwnProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/EnumerableOwnProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,25 +1,19 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 var $TypeError = require('es-errors/type');
 
 var objectKeys = require('object-keys');
-
-var callBound = require('call-bind/callBound');
-
-var callBind = require('call-bind');
+var safePushApply = require('safe-push-apply');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
-var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 
 var forEach = require('../helpers/forEach');
-
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/14.0/#sec-enumerableownproperties
 
 module.exports = function EnumerableOwnProperties(O, kind) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -33,5 +27,5 @@
 		forEach(keys, function (key) {
 			if ($isEnumerable(O, key)) {
-				$pushApply(results, [
+				safePushApply(results, [
 					kind === 'value' ? O[key] : [key, O[key]]
 				]);
Index: imaps-frontend/node_modules/es-abstract/2023/FindViaPredicate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/FindViaPredicate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/FindViaPredicate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,4 +2,5 @@
 
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Call = require('./Call');
@@ -8,10 +9,11 @@
 var IsCallable = require('./IsCallable');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
+
+// https://262.ecma-international.org/14.0/#sec-findviapredicate
 
 module.exports = function FindViaPredicate(O, len, direction, predicate, thisArg) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/FlattenIntoArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/FlattenIntoArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/FlattenIntoArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var Call = require('./Call');
Index: imaps-frontend/node_modules/es-abstract/2023/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2023/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -17,4 +17,10 @@
 var getIteratorMethod = require('../helpers/getIteratorMethod');
 
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
+
 // https://262.ecma-international.org/14.0/#sec-getiterator
 
@@ -32,12 +38,5 @@
 	if (typeof method === 'undefined') { // step 1.b
 		// var syncMethod = GetMethod(obj, $iterator); // step 1.b.i
-		var syncMethod = getIteratorMethod(
-			{
-				AdvanceStringIndex: AdvanceStringIndex,
-				GetMethod: GetMethod,
-				IsArray: IsArray
-			},
-			obj
-		);
+		var syncMethod = getIteratorMethod(ES, obj);
 		if (kind === 'async') {
 			if (typeof syncMethod === 'undefined') {
Index: imaps-frontend/node_modules/es-abstract/2023/GetIteratorFromMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetIteratorFromMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/GetIteratorFromMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/14.0/#sec-getiteratorfrommethod
@@ -16,5 +17,5 @@
 
 	var iterator = Call(method, obj); // step 1
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object'); // step 2
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2023/GetStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/GetStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,11 +1,9 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
-
+var callBound = require('call-bound');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var StringToCodePoints = require('./StringToCodePoints');
-
-var isInteger = require('../helpers/isInteger');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2023/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,9 +2,7 @@
 
 var $TypeError = require('es-errors/type');
-
+var inspect = require('object-inspect');
+var isInteger = require('math-intrinsics/isInteger');
 var regexTester = require('safe-regex-test');
-var every = require('../helpers/every');
-
-var inspect = require('object-inspect');
 
 var Get = require('./Get');
@@ -15,9 +13,9 @@
 var substring = require('./substring');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var every = require('../helpers/every');
+var isObject = require('../helpers/isObject');
+var isPrefixOf = require('../helpers/isPrefixOf');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
-var isPrefixOf = require('../helpers/isPrefixOf');
 
 var startsWithDollarDigit = regexTester(/^\$[0-9]/);
@@ -44,5 +42,5 @@
 	}
 
-	if (typeof namedCaptures !== 'undefined' && Type(namedCaptures) !== 'Object') {
+	if (typeof namedCaptures !== 'undefined' && !isObject(namedCaptures)) {
 		throw new $TypeError('Assertion failed: `namedCaptures` must be `undefined` or an Object');
 	}
@@ -115,5 +113,5 @@
 				ref = substring(templateRemainder, 0, gtPos + 1); // step 5.g.iii.1
 				var groupName = substring(templateRemainder, 2, gtPos); // step 5.g.iii.2
-				if (Type(namedCaptures) !== 'Object') {
+				if (!isObject(namedCaptures)) {
 					throw new $TypeError('Assertion failed: Type(namedCaptures) is not Object'); // step 5.g.iii.3
 				}
Index: imaps-frontend/node_modules/es-abstract/2023/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,9 @@
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
+var isInteger = require('math-intrinsics/isInteger');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $slice = callBound('Array.prototype.slice');
-
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
Index: imaps-frontend/node_modules/es-abstract/2023/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/InstallErrorCause.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/InstallErrorCause.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/InstallErrorCause.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,14 +6,15 @@
 var Get = require('./Get');
 var HasProperty = require('./HasProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/13.0/#sec-installerrorcause
 
 module.exports = function InstallErrorCause(O, options) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (Type(options) === 'Object' && HasProperty(options, 'cause')) {
+	if (isObject(options) && HasProperty(options, 'cause')) {
 		var cause = Get(options, 'cause');
 		CreateNonEnumerableDataPropertyOrThrow(O, 'cause', cause);
Index: imaps-frontend/node_modules/es-abstract/2023/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,7 +10,7 @@
 var LengthOfArrayLike = require('./LengthOfArrayLike');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/14.0/#sec-internalizejsonproperty
@@ -19,5 +19,5 @@
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -31,5 +31,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 2
+	if (isObject(val)) { // step 2
 		var isArray = IsArray(val); // step 2.a
 		if (isArray) { // step 2.b
Index: imaps-frontend/node_modules/es-abstract/2023/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsDetachedBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsDetachedBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsDetachedBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $byteLength = require('array-buffer-byte-length');
 var availableTypedArrays = require('available-typed-arrays')();
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2023/IsIntegralNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsIntegralNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsIntegralNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var truncate = require('./truncate');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-isintegralnumber
Index: imaps-frontend/node_modules/es-abstract/2023/IsLessThan.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsLessThan.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsLessThan.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,8 +5,8 @@
 var $Number = GetIntrinsic('%Number%');
 var $TypeError = require('es-errors/type');
-var min = GetIntrinsic('%Math.min%');
+var min = require('math-intrinsics/min');
+var $isNaN = require('math-intrinsics/isNaN');
 
-var $isNaN = require('../helpers/isNaN');
-var $charCodeAt = require('call-bind/callBound')('String.prototype.charCodeAt');
+var $charCodeAt = require('call-bound')('String.prototype.charCodeAt');
 
 var StringToBigInt = require('./StringToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2023/IsLooselyEqual.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsLooselyEqual.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsLooselyEqual.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 var IsStrictlyEqual = require('./IsStrictlyEqual');
@@ -9,10 +9,10 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/13.0/#sec-islooselyequal
 
 module.exports = function IsLooselyEqual(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return IsStrictlyEqual(x, y);
 	}
@@ -20,11 +20,11 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return IsLooselyEqual(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return IsLooselyEqual(ToNumber(x), y);
 	}
-	if (xType === 'BigInt' && yType === 'String') {
+	if (typeof x === 'bigint' && typeof y === 'string') {
 		var n = StringToBigInt(y);
 		if (typeof n === 'undefined') {
@@ -33,20 +33,20 @@
 		return IsLooselyEqual(x, n);
 	}
-	if (xType === 'String' && yType === 'BigInt') {
+	if (typeof x === 'string' && typeof y === 'bigint') {
 		return IsLooselyEqual(y, x);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return IsLooselyEqual(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return IsLooselyEqual(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol' || xType === 'BigInt') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol' || typeof x === 'bigint') && isObject(y)) {
 		return IsLooselyEqual(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol' || yType === 'BigInt')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol' || typeof y === 'bigint')) {
 		return IsLooselyEqual(ToPrimitive(x), y);
 	}
-	if ((xType === 'BigInt' && yType === 'Number') || (xType === 'Number' && yType === 'BigInt')) {
+	if ((typeof x === 'bigint' && typeof y === 'number') || (typeof x === 'number' && typeof y === 'bigint')) {
 		if (!isFinite(x) || !isFinite(y)) {
 			return false;
Index: imaps-frontend/node_modules/es-abstract/2023/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsSharedArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsSharedArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsSharedArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 var isSharedArrayBuffer = require('is-shared-array-buffer');
@@ -10,5 +10,5 @@
 
 module.exports = function IsSharedArrayBuffer(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsStrictlyEqual.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsStrictlyEqual.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsStrictlyEqual.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,9 +8,7 @@
 
 module.exports = function IsStrictlyEqual(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	return xType === 'Number' ? NumberEqual(x, y) : SameValueNonNumber(x, y);
+	return typeof x === 'number' ? NumberEqual(x, y) : SameValueNonNumber(x, y);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/IsValidIntegerIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsValidIntegerIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsValidIntegerIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,9 +2,8 @@
 
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
 var IsIntegralNumber = require('./IsIntegralNumber');
-
-var isNegativeZero = require('../helpers/isNegativeZero');
 
 var typedArrayBuffer = require('typed-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2023/IsWordChar.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsWordChar.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IsWordChar.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,6 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $indexOf = callBound('String.prototype.indexOf');
@@ -11,5 +11,4 @@
 
 var every = require('../helpers/every');
-var isInteger = require('../helpers/isInteger');
 var isRegExpRecord = require('../helpers/records/regexp-record');
 
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,6 +7,6 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
@@ -17,5 +17,5 @@
 		throw new $TypeError('Assertion failed: `iteratorRecord` must be an Iterator Record'); // step 1
 	}
-	if (Type(iteratorRecord['[[Iterator]]']) !== 'Object') {
+	if (!isObject(iteratorRecord['[[Iterator]]'])) {
 		throw new $TypeError('Assertion failed: iteratorRecord.[[Iterator]] must be an Object'); // step 1
 	}
@@ -55,5 +55,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,6 +4,6 @@
 
 var Call = require('./Call');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record-2023');
 
@@ -22,5 +22,5 @@
 	}
 
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object'); // step 3
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorToList.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorToList.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorToList.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $arrayPush = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/KeyForSymbol.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/KeyForSymbol.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/KeyForSymbol.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $keyFor = callBound('Symbol.keyFor', true);
Index: imaps-frontend/node_modules/es-abstract/2023/LengthOfArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/LengthOfArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/LengthOfArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToLength = require('./ToLength');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-lengthofarraylike
 
 module.exports = function LengthOfArrayLike(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2023/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2023/MakeMatchIndicesIndexPairArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MakeMatchIndicesIndexPairArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/MakeMatchIndicesIndexPairArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -21,5 +21,5 @@
 };
 
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
 
 // https://262.ecma-international.org/13.0/#sec-getmatchindexpair
Index: imaps-frontend/node_modules/es-abstract/2023/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2023/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2023/Number/add.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/add.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/add.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/12.0/#sec-numeric-types-number-add
Index: imaps-frontend/node_modules/es-abstract/2023/Number/divide.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/divide.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/divide.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/11.0/#sec-numeric-types-number-divide
Index: imaps-frontend/node_modules/es-abstract/2023/Number/exponentiate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/exponentiate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/exponentiate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,17 +1,15 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-// var isNegativeZero = require('is-negative-zero');
-
-var $pow = GetIntrinsic('%Math.pow%');
+// var isNegativeZero = require('math-intrinsics/isNegativeZero');
+var $pow = require('math-intrinsics/pow');
 
 var $TypeError = require('es-errors/type');
 
 /*
-var abs = require('../../helpers/abs');
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var abs = require('math-intrinsics/abs');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
-var IsInteger = require('../IsInteger');
+var IsInteger = require('math-intrinsics/isInteger');
 */
 
Index: imaps-frontend/node_modules/es-abstract/2023/Number/remainder.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/remainder.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/remainder.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isNaN = require('../../helpers/isNaN');
-var isFinite = require('../../helpers/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
 
 var truncate = require('../truncate');
Index: imaps-frontend/node_modules/es-abstract/2023/Number/sameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/sameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/sameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,6 +1,5 @@
 'use strict';
 
-var isNegativeZero = require('is-negative-zero');
-
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var $TypeError = require('es-errors/type');
 
Index: imaps-frontend/node_modules/es-abstract/2023/Number/toString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/toString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/toString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,8 @@
 
 var $TypeError = require('es-errors/type');
-
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $numberToString = callBound('Number.prototype.toString');
-
-var isInteger = require('../../helpers/isInteger');
 
 // https://262.ecma-international.org/14.0/#sec-numeric-types-number-tostring
Index: imaps-frontend/node_modules/es-abstract/2023/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,12 +10,15 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
+
+/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
+	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,12 +3,11 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('../helpers/getProto');
-
-var Type = require('./Type');
+var $getProto = require('get-proto');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function OrdinaryObjectCreate(proto) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinarySetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,13 +2,14 @@
 
 var $TypeError = require('es-errors/type');
-
-var $setProto = require('../helpers/setProto');
+var $setProto = require('set-proto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (typeof V !== 'object') {
+	if (V !== null && !isObject(V)) {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryToPrimitive.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryToPrimitive.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryToPrimitive.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var inspect = require('object-inspect');
@@ -13,5 +14,5 @@
 
 module.exports = function OrdinaryToPrimitive(O, hint) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -27,5 +28,5 @@
 		if (IsCallable(method)) {
 			var result = Call(method, O);
-			if (Type(result) !== 'Object') {
+			if (!isObject(result)) {
 				return result;
 			}
Index: imaps-frontend/node_modules/es-abstract/2023/ParseHexOctet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ParseHexOctet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ParseHexOctet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,4 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $Number = GetIntrinsic('%Number%');
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
@@ -10,5 +7,5 @@
 var substring = require('./substring');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/14.0/#sec-parsehexoctet
@@ -29,5 +26,5 @@
 	var hexDigits = substring(string, position, position + 2); // step 3
 
-	var n = $Number('0x' + hexDigits);
+	var n = +('0x' + hexDigits);
 	if (isNaN(n)) {
 		return [new $SyntaxError('Invalid hexadecimal characters')];
Index: imaps-frontend/node_modules/es-abstract/2023/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
@@ -9,4 +9,5 @@
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
+var $strSplit = callBound('String.prototype.split');
 
 var StringToCodePoints = require('./StringToCodePoints');
@@ -34,10 +35,10 @@
 	var product = '"';
 	if (value) {
-		forEach(StringToCodePoints(value), function (C) {
+		forEach($strSplit(StringToCodePoints(value), ''), function (C) {
 			if (hasOwn(escapes, C)) {
 				product += escapes[C];
 			} else {
 				var cCharCode = $charCodeAt(C, 0);
-				if (cCharCode < 0x20 || isLeadingSurrogate(C) || isTrailingSurrogate(C)) {
+				if (cCharCode < 0x20 || isLeadingSurrogate(cCharCode) || isTrailingSurrogate(cCharCode)) {
 					product += UnicodeEscape(C);
 				} else {
Index: imaps-frontend/node_modules/es-abstract/2023/RawBytesToNumeric.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/RawBytesToNumeric.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/RawBytesToNumeric.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $RangeError = require('es-errors/range');
Index: imaps-frontend/node_modules/es-abstract/2023/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2023/RegExpHasFlag.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/RegExpHasFlag.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/RegExpHasFlag.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -8,5 +8,6 @@
 
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $indexOf = callBound('String.prototype.indexOf');
@@ -22,5 +23,5 @@
 	}
 
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: Type(R) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2023/SameValueNonNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SameValueNonNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SameValueNonNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,9 +9,8 @@
 
 module.exports = function SameValueNonNumber(x, y) {
-	var xType = Type(x);
-	if (xType === 'Number') {
+	if (typeof x === 'number') {
 		throw new $TypeError('Assertion failed: SameValueNonNumber does not accept Number values');
 	}
-	if (xType !== Type(y)) {
+	if (Type(x) !== Type(y)) {
 		throw new $TypeError('SameValueNonNumber requires two non-Number values of the same type.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2023/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SetFunctionLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetFunctionLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SetFunctionLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,9 @@
 
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var HasOwnProperty = require('./HasOwnProperty');
 var IsExtensible = require('./IsExtensible');
-
-var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/12.0/#sec-setfunctionlength
Index: imaps-frontend/node_modules/es-abstract/2023/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,4 +3,5 @@
 var $RangeError = require('es-errors/range');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var isTypedArray = require('is-typed-array');
@@ -8,6 +9,4 @@
 var typedArrayLength = require('typed-array-length');
 var whichTypedArray = require('which-typed-array');
-
-var isInteger = require('../helpers/isInteger');
 
 var Get = require('./Get');
Index: imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 var typedArrayBuffer = require('typed-array-buffer');
 var typedArrayByteLength = require('typed-array-byte-length');
@@ -10,6 +11,4 @@
 var typedArrayLength = require('typed-array-length');
 var whichTypedArray = require('which-typed-array');
-
-var isInteger = require('../helpers/isInteger');
 
 var CloneArrayBuffer = require('./CloneArrayBuffer');
@@ -21,4 +20,6 @@
 var TypedArrayElementSize = require('./TypedArrayElementSize');
 var TypedArrayElementType = require('./TypedArrayElementType');
+
+var $ArrayBuffer = callBound('ArrayBuffer', true);
 
 // https://262.ecma-international.org/14.0/#sec-settypedarrayfromtypedarray
@@ -91,5 +92,5 @@
 		var srcByteLength = typedArrayByteLength(source); // step 17.a
 
-		srcBuffer = CloneArrayBuffer(srcBuffer, srcByteOffset, srcByteLength); // step 17.b
+		srcBuffer = CloneArrayBuffer(srcBuffer, srcByteOffset, srcByteLength, $ArrayBuffer); // step 17.b
 
 		srcByteIndex = 0; // step 17.c
Index: imaps-frontend/node_modules/es-abstract/2023/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,6 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
-
-var isInteger = require('../helpers/isInteger');
 
 var IsBigIntElementType = require('./IsBigIntElementType');
Index: imaps-frontend/node_modules/es-abstract/2023/SortIndexedProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SortIndexedProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SortIndexedProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,15 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
-
 var $TypeError = require('es-errors/type');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
 var HasProperty = require('./HasProperty');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var isAbstractClosure = require('../helpers/isAbstractClosure');
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 var $push = callBound('Array.prototype.push');
@@ -19,5 +18,5 @@
 
 module.exports = function SortIndexedProperties(obj, len, SortCompare, holes) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(obj) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2023/StringGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/StringGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,6 +2,7 @@
 
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $charAt = callBound('String.prototype.charAt');
 var $stringToString = callBound('String.prototype.toString');
@@ -9,8 +10,7 @@
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsIntegralNumber = require('./IsIntegralNumber');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
 
-var isNegativeZero = require('is-negative-zero');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/12.0/#sec-stringgetownproperty
@@ -18,5 +18,5 @@
 module.exports = function StringGetOwnProperty(S, P) {
 	var str;
-	if (Type(S) === 'Object') {
+	if (isObject(S)) {
 		try {
 			str = $stringToString(S);
@@ -26,6 +26,6 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed string object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	if (typeof P !== 'string') {
Index: imaps-frontend/node_modules/es-abstract/2023/StringIndexOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringIndexOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/StringIndexOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2023/StringPad.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringPad.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/StringPad.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var ToLength = require('./ToLength');
Index: imaps-frontend/node_modules/es-abstract/2023/StringToCodePoints.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringToCodePoints.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/StringToCodePoints.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $push = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2023/StringToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/StringToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,10 +3,9 @@
 var GetIntrinsic = require('get-intrinsic');
 
-var $Number = GetIntrinsic('%Number%');
 var $RegExp = GetIntrinsic('%RegExp%');
 var $TypeError = require('es-errors/type');
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 
@@ -28,8 +27,8 @@
 	}
 	if (isBinary(argument)) {
-		return $Number($parseInteger($strSlice(argument, 2), 2));
+		return +$parseInteger($strSlice(argument, 2), 2);
 	}
 	if (isOctal(argument)) {
-		return $Number($parseInteger($strSlice(argument, 2), 8));
+		return +$parseInteger($strSlice(argument, 2), 8);
 	}
 	if (hasNonWS(argument) || isInvalidHexLiteral(argument)) {
@@ -40,4 +39,4 @@
 		return StringToNumber(trimmed);
 	}
-	return $Number(argument);
+	return +argument;
 };
Index: imaps-frontend/node_modules/es-abstract/2023/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2023/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2023/TimeString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TimeString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/TimeString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 var HourFromTime = require('./HourFromTime');
Index: imaps-frontend/node_modules/es-abstract/2023/TimeZoneString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TimeZoneString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/TimeZoneString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,8 +5,6 @@
 var $Date = GetIntrinsic('%Date%');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2023/ToBigInt64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToBigInt64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToBigInt64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2023/ToBigUint64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToBigUint64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToBigUint64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2023/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2023/ToInt16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToInt16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToInt16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-toint16
Index: imaps-frontend/node_modules/es-abstract/2023/ToInt32.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToInt32.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToInt32.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-toint32
Index: imaps-frontend/node_modules/es-abstract/2023/ToInt8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToInt8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToInt8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-toint8
Index: imaps-frontend/node_modules/es-abstract/2023/ToIntegerOrInfinity.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToIntegerOrInfinity.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToIntegerOrInfinity.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,6 +4,6 @@
 var truncate = require('./truncate');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-tointegerorinfinity
Index: imaps-frontend/node_modules/es-abstract/2023/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToIntegerOrInfinity = require('./ToIntegerOrInfinity');
Index: imaps-frontend/node_modules/es-abstract/2023/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -23,4 +23,4 @@
 		return StringToNumber(value);
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2023/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-touint16
Index: imaps-frontend/node_modules/es-abstract/2023/ToUint32.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToUint32.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToUint32.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-touint32
Index: imaps-frontend/node_modules/es-abstract/2023/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 var modulo = require('./modulo');
Index: imaps-frontend/node_modules/es-abstract/2023/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2023/ToZeroPaddedDecimalString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToZeroPaddedDecimalString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ToZeroPaddedDecimalString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,8 +5,7 @@
 var $String = GetIntrinsic('%String%');
 var $RangeError = require('es-errors/range');
+var isInteger = require('math-intrinsics/isInteger');
 
 var StringPad = require('./StringPad');
-
-var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/13.0/#sec-tozeropaddeddecimalstring
Index: imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementSize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementSize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementSize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,5 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
+var isInteger = require('math-intrinsics/isInteger');
 var whichTypedArray = require('which-typed-array');
 
@@ -14,5 +12,5 @@
 module.exports = function TypedArrayElementSize(O) {
 	var type = whichTypedArray(O);
-	if (type === false) {
+	if (!type) {
 		throw new $TypeError('Assertion failed: `O` must be a TypedArray');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementType.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementType.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementType.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -12,5 +12,5 @@
 module.exports = function TypedArrayElementType(O) {
 	var type = whichTypedArray(O);
-	if (type === false) {
+	if (!type) {
 		throw new $TypeError('Assertion failed: `O` must be a TypedArray');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/UnicodeEscape.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/UnicodeEscape.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/UnicodeEscape.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
Index: imaps-frontend/node_modules/es-abstract/2023/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,9 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/13.0/#sec-validateandapplypropertydescriptor
@@ -22,8 +24,8 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -12,5 +13,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/WeakRefDeref.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/WeakRefDeref.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/WeakRefDeref.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2023/WordCharacters.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/WordCharacters.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/WordCharacters.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $indexOf = callBound('String.prototype.indexOf', true);
 
@@ -11,5 +11,5 @@
 var forEach = require('../helpers/forEach');
 var isRegExpRecord = require('../helpers/records/regexp-record');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var basicWordChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; // step 1
Index: imaps-frontend/node_modules/es-abstract/2023/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2023/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2023/clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,7 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
 var $TypeError = require('es-errors/type');
-var max = GetIntrinsic('%Math.max%');
-var min = GetIntrinsic('%Math.min%');
+var max = require('math-intrinsics/max');
+var min = require('math-intrinsics/min');
 
 // https://262.ecma-international.org/12.0/#clamping
Index: imaps-frontend/node_modules/es-abstract/2023/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/11.0/#eqn-floor
Index: imaps-frontend/node_modules/es-abstract/2023/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2023/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2023/substring.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/substring.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/substring.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,8 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var callBound = require('call-bind/callBound');
+var isInteger = require('math-intrinsics/isInteger');
+var callBound = require('call-bound');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2023/thisBigIntValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisBigIntValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/thisBigIntValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,16 +1,13 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SyntaxError = require('es-errors/syntax');
 var $bigIntValueOf = callBound('BigInt.prototype.valueOf', true);
 
-var Type = require('./Type');
-
 // https://262.ecma-international.org/11.0/#sec-thisbigintvalue
 
 module.exports = function thisBigIntValue(value) {
-	var type = Type(value);
-	if (type === 'BigInt') {
+	if (typeof value === 'bigint') {
 		return value;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2023/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2023/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2023/thisSymbolValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisSymbolValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/thisSymbolValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $SyntaxError = require('es-errors/syntax');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
@@ -9,10 +9,12 @@
 
 module.exports = function thisSymbolValue(value) {
+	if (typeof value === 'symbol') {
+		return value;
+	}
+
 	if (!$SymbolValueOf) {
 		throw new $SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object');
 	}
-	if (typeof value === 'symbol') {
-		return value;
-	}
+
 	return $SymbolValueOf(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisTimeValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2023/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,9 @@
 'use strict';
 
-var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
+var timeValue = require('../helpers/timeValue');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return $DateGetTime(value);
+	return timeValue(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2024/AddEntriesFromIterable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/AddEntriesFromIterable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/AddEntriesFromIterable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var ThrowCompletion = require('./ThrowCompletion');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/15.0/#sec-add-entries-from-iterable
@@ -31,5 +32,5 @@
 		}
 		var nextItem = IteratorValue(next);
-		if (Type(nextItem) !== 'Object') {
+		if (!isObject(nextItem)) {
 			var error = ThrowCompletion(new $TypeError('iterator next must return an Object, got ' + inspect(nextItem)));
 			return IteratorClose(iteratorRecord, error);
Index: imaps-frontend/node_modules/es-abstract/2024/AddToKeptObjects.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/AddToKeptObjects.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/AddToKeptObjects.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var SLOT = require('internal-slot');
 
@@ -7,5 +7,6 @@
 
 var ClearKeptObjects = require('./ClearKeptObjects');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $push = callBound('Array.prototype.push');
@@ -14,5 +15,5 @@
 
 module.exports = function AddToKeptObjects(object) {
-	if (Type(object) !== 'Object') {
+	if (!isObject(object)) {
 		throw new $TypeError('Assertion failed: `object` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/AddValueToKeyedGroup.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/AddValueToKeyedGroup.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/AddValueToKeyedGroup.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $push = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2024/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/AdvanceStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,8 +3,7 @@
 var CodePointAt = require('./CodePointAt');
 
-var isInteger = require('../helpers/isInteger');
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
-
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 // https://262.ecma-international.org/12.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2024/ApplyStringOrNumericBinaryOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ApplyStringOrNumericBinaryOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ApplyStringOrNumericBinaryOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -70,9 +70,8 @@
 	var lnum = ToNumeric(lval);
 	var rnum = ToNumeric(rval);
-	var T = Type(lnum);
-	if (T !== Type(rnum)) {
+	if (Type(lnum) !== Type(rnum)) {
 		throw new $TypeError('types of ' + lnum + ' and ' + rnum + ' differ');
 	}
-	var Operation = table[opText][T === 'BigInt' ? 1 : 0];
+	var Operation = table[opText][typeof lnum === 'bigint' ? 1 : 0];
 	return Operation(lnum, rnum);
 };
Index: imaps-frontend/node_modules/es-abstract/2024/ArrayBufferCopyAndDetach.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ArrayBufferCopyAndDetach.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ArrayBufferCopyAndDetach.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,10 +3,10 @@
 var GetIntrinsic = require('get-intrinsic');
 
-var min = GetIntrinsic('%Math.min%');
+var min = require('math-intrinsics/min');
 var $TypeError = require('es-errors/type');
 var $ArrayBuffer = GetIntrinsic('%ArrayBuffer%', true);
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var byteLength = require('array-buffer-byte-length');
Index: imaps-frontend/node_modules/es-abstract/2024/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ArrayCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,19 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
-
-var hasProto = require('has-proto')();
-
-var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+var isInteger = require('math-intrinsics/isInteger');
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var $setProto = require('set-proto');
 
 // https://262.ecma-international.org/12.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2024/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ArraySpeciesCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,4 +5,5 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var ArrayCreate = require('./ArrayCreate');
@@ -10,7 +11,6 @@
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/12.0/#sec-arrayspeciescreate
@@ -32,5 +32,5 @@
 	// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 	// }
-	if ($species && Type(C) === 'Object') {
+	if ($species && isObject(C)) {
 		C = Get(C, $species);
 		if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2024/AsyncFromSyncIteratorContinuation.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/AsyncFromSyncIteratorContinuation.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/AsyncFromSyncIteratorContinuation.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $Promise = GetIntrinsic('%Promise%', true);
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var CreateIterResultObject = require('./CreateIterResultObject');
@@ -13,5 +13,6 @@
 var IteratorValue = require('./IteratorValue');
 var PromiseResolve = require('./PromiseResolve');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -20,5 +21,5 @@
 
 module.exports = function AsyncFromSyncIteratorContinuation(result) {
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/AsyncIteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/AsyncIteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/AsyncIteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,9 +10,9 @@
 var CompletionRecord = require('./CompletionRecord');
 var GetMethod = require('./GetMethod');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -62,5 +62,5 @@
 				completion['?'](); // step 6
 			}
-			if (Type(innerResult) !== 'Object') {
+			if (!isObject(innerResult)) {
 				throw new $TypeError('`innerResult` must be an Object'); // step 10
 			}
Index: imaps-frontend/node_modules/es-abstract/2024/BigInt/toString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/BigInt/toString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/BigInt/toString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,10 +3,8 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $BigIntToString = callBound('BigInt.prototype.toString', true);
-
-var isInteger = require('../../helpers/isInteger');
 
 // https://262.ecma-international.org/14.0/#sec-numeric-types-bigint-tostring
Index: imaps-frontend/node_modules/es-abstract/2024/BigIntBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/BigIntBitwiseOp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/BigIntBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 // var $BigInt = GetIntrinsic('%BigInt%', true);
-// var $pow = GetIntrinsic('%Math.pow%');
+// var $pow = require('math-intrinsics/pow');
 
 // var BinaryAnd = require('./BinaryAnd');
Index: imaps-frontend/node_modules/es-abstract/2024/ByteListBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ByteListBitwiseOp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ByteListBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2024/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Call.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2024/CanBeHeldWeakly.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CanBeHeldWeakly.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CanBeHeldWeakly.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,11 @@
 
 var KeyForSymbol = require('./KeyForSymbol');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/14.0/#sec-canbeheldweakly
 
 module.exports = function CanBeHeldWeakly(v) {
-	if (Type(v) === 'Object') {
+	if (isObject(v)) {
 		return true; // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2024/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CharacterRange.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2024/CloneArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CloneArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CloneArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,6 +8,5 @@
 var OrdinarySetPrototypeOf = require('./OrdinarySetPrototypeOf');
 
-var isInteger = require('../helpers/isInteger');
-
+var isInteger = require('math-intrinsics/isInteger');
 var isArrayBuffer = require('is-array-buffer');
 var arrayBufferSlice = require('arraybuffer.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2024/CodePointAt.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CodePointAt.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CodePointAt.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
Index: imaps-frontend/node_modules/es-abstract/2024/CompareArrayElements.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CompareArrayElements.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CompareArrayElements.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,5 +8,5 @@
 var ToString = require('./ToString');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/14.0/#sec-comparearrayelements
Index: imaps-frontend/node_modules/es-abstract/2024/CompareTypedArrayElements.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CompareTypedArrayElements.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CompareTypedArrayElements.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var ToNumber = require('./ToNumber');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/14.0/#sec-comparetypedarrayelements
Index: imaps-frontend/node_modules/es-abstract/2024/CopyDataProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CopyDataProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CopyDataProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,9 +3,9 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var every = require('../helpers/every');
 var some = require('../helpers/some');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -15,18 +15,19 @@
 var IsArray = require('./IsArray');
 var IsIntegralNumber = require('./IsIntegralNumber');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToNumber = require('./ToNumber');
 var ToObject = require('./ToObject');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/12.0/#sec-copydataproperties
 
 module.exports = function CopyDataProperties(target, source, excludedItems) {
-	if (Type(target) !== 'Object') {
+	if (!isObject(target)) {
 		throw new $TypeError('Assertion failed: "target" must be an Object');
 	}
 
-	if (!IsArray(excludedItems) || !every(excludedItems, IsPropertyKey)) {
+	if (!IsArray(excludedItems) || !every(excludedItems, isPropertyKey)) {
 		throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/CreateAsyncFromSyncIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CreateAsyncFromSyncIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CreateAsyncFromSyncIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,9 +14,9 @@
 var IteratorNext = require('./IteratorNext');
 var OrdinaryObjectCreate = require('./OrdinaryObjectCreate');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isIteratorRecord = require('../helpers/records/iterator-record');
 
 var SLOT = require('internal-slot');
-
-var isIteratorRecord = require('../helpers/records/iterator-record');
 
 var $AsyncFromSyncIteratorPrototype = GetIntrinsic('%AsyncFromSyncIteratorPrototype%', true) || {
@@ -70,5 +70,5 @@
 				result = Call(iteratorReturn, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `return` method returned a non-object value.')]); // step 11.a
 				return;
@@ -106,5 +106,5 @@
 				result = Call(throwMethod, syncIterator); // step 9.a
 			}
-			if (Type(result) !== 'Object') { // step 11
+			if (!isObject(result)) { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `throw` method returned a non-object value.')]); // step 11.a
 				return;
Index: imaps-frontend/node_modules/es-abstract/2024/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CreateDataProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,17 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2024/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CreateDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,15 +4,16 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // // https://262.ecma-international.org/14.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2024/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CreateHTML.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2024/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CreateListFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -13,4 +13,6 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];
 
@@ -22,5 +24,5 @@
 		: defaultElementTypes;
 
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/CreateNonEnumerableDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CreateNonEnumerableDataPropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CreateNonEnumerableDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,16 +4,17 @@
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/13.0/#sec-createnonenumerabledatapropertyorthrow
 
 module.exports = function CreateNonEnumerableDataPropertyOrThrow(O, P, V) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2024/CreateRegExpStringIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/CreateRegExpStringIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/CreateRegExpStringIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -16,5 +16,6 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -44,5 +45,5 @@
 var RegExpStringIteratorNext = function next() {
 	var O = this; // eslint-disable-line no-invalid-this
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('receiver must be an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/DateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/DateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/DateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2024/DefineMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/DefineMethodProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/DefineMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,15 @@
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/13.0/#sec-definemethodproperty
 
 module.exports = function DefineMethodProperty(homeObject, key, closure, enumerable) {
-	if (Type(homeObject) !== 'Object') {
+	if (!isObject(homeObject)) {
 		throw new $TypeError('Assertion failed: `homeObject` is not an Object');
 	}
-	if (!IsPropertyKey(key)) {
+	if (!isPropertyKey(key)) {
 		throw new $TypeError('Assertion failed: `key` is not a Property Key or a Private Name');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/DefinePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,18 +8,19 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2024/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/DeletePropertyOrThrow.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2024/EnumerableOwnProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/EnumerableOwnProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/EnumerableOwnProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,25 +1,19 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 var $TypeError = require('es-errors/type');
 
 var objectKeys = require('object-keys');
-
-var callBound = require('call-bind/callBound');
-
-var callBind = require('call-bind');
+var safePushApply = require('safe-push-apply');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
-var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 
 var forEach = require('../helpers/forEach');
-
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/14.0/#sec-enumerableownproperties
 
 module.exports = function EnumerableOwnProperties(O, kind) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -33,5 +27,5 @@
 		forEach(keys, function (key) {
 			if ($isEnumerable(O, key)) {
-				$pushApply(results, [
+				safePushApply(results, [
 					kind === 'value' ? O[key] : [key, O[key]]
 				]);
Index: imaps-frontend/node_modules/es-abstract/2024/FindViaPredicate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/FindViaPredicate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/FindViaPredicate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,4 +2,5 @@
 
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Call = require('./Call');
@@ -8,10 +9,11 @@
 var IsCallable = require('./IsCallable');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
+
+// https://262.ecma-international.org/15.0/#sec-findviapredicate
 
 module.exports = function FindViaPredicate(O, len, direction, predicate, thisArg) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,6 +21,6 @@
 		throw new $TypeError('Assertion failed: len must be a non-negative integer');
 	}
-	if (direction !== 'ascending' && direction !== 'descending') {
-		throw new $TypeError('Assertion failed: direction must be "ascending" or "descending"');
+	if (direction !== 'ascending' && direction !== 'descending' && direction !== 'DESCENDING' && direction !== 'ASCENDING') {
+		throw new $TypeError('Assertion failed: direction must be ~ASCENDING~ or ~DESCENDING~');
 	}
 
@@ -28,6 +30,6 @@
 
 	for ( // steps 2-4
-		var k = direction === 'ascending' ? 0 : len - 1;
-		direction === 'ascending' ? k < len : k >= 0;
+		var k = direction === 'ascending' || direction === 'ASCENDING' ? 0 : len - 1;
+		direction === 'ascending' || direction === 'ASCENDING' ? k < len : k >= 0;
 		k += 1
 	) {
Index: imaps-frontend/node_modules/es-abstract/2024/FlattenIntoArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/FlattenIntoArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/FlattenIntoArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var Call = require('./Call');
Index: imaps-frontend/node_modules/es-abstract/2024/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Get.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2024/GetArrayBufferMaxByteLengthOption.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetArrayBufferMaxByteLengthOption.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetArrayBufferMaxByteLengthOption.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,10 +3,11 @@
 var Get = require('./Get');
 var ToIndex = require('./ToIndex');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/15.0/#sec-getarraybuffermaxbytelengthoption
 
 module.exports = function GetArrayBufferMaxByteLengthOption(options) {
-	if (Type(options) !== 'Object') {
+	if (!isObject(options)) {
 		return 'EMPTY'; // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetIterator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,4 +14,10 @@
 var GetMethod = require('./GetMethod');
 var IsArray = require('./IsArray');
+
+var ES = {
+	AdvanceStringIndex: AdvanceStringIndex,
+	GetMethod: GetMethod,
+	IsArray: IsArray
+};
 
 var getIteratorMethod = require('../helpers/getIteratorMethod');
@@ -32,12 +38,5 @@
 	if (typeof method === 'undefined') { // step 1.b
 		// var syncMethod = GetMethod(obj, $iterator); // step 1.b.i
-		var syncMethod = getIteratorMethod(
-			{
-				AdvanceStringIndex: AdvanceStringIndex,
-				GetMethod: GetMethod,
-				IsArray: IsArray
-			},
-			obj
-		);
+		var syncMethod = getIteratorMethod(ES, obj);
 		if (kind === 'ASYNC') {
 			if (typeof syncMethod === 'undefined') {
Index: imaps-frontend/node_modules/es-abstract/2024/GetIteratorFromMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetIteratorFromMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetIteratorFromMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/15.0/#sec-getiteratorfrommethod
@@ -16,5 +17,5 @@
 
 	var iterator = Call(method, obj); // step 1
-	if (Type(iterator) !== 'Object') {
+	if (!isObject(iterator)) {
 		throw new $TypeError('iterator must return an object'); // step 2
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2024/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetOwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var esType = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (esType(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetPrototypeFromConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,6 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -15,5 +16,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (Type(intrinsic) !== 'Object') {
+	if (!isObject(intrinsic)) {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (Type(proto) !== 'Object') {
+	if (!isObject(proto)) {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2024/GetStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetStringIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,11 +1,9 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
-
+var callBound = require('call-bound');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var StringToCodePoints = require('./StringToCodePoints');
-
-var isInteger = require('../helpers/isInteger');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2024/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetSubstitution.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,9 +2,7 @@
 
 var $TypeError = require('es-errors/type');
-
+var inspect = require('object-inspect');
+var isInteger = require('math-intrinsics/isInteger');
 var regexTester = require('safe-regex-test');
-var every = require('../helpers/every');
-
-var inspect = require('object-inspect');
 
 var Get = require('./Get');
@@ -15,9 +13,9 @@
 var substring = require('./substring');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
-var isInteger = require('../helpers/isInteger');
+var every = require('../helpers/every');
+var isObject = require('../helpers/isObject');
+var isPrefixOf = require('../helpers/isPrefixOf');
 var isStringOrUndefined = require('../helpers/isStringOrUndefined');
-var isPrefixOf = require('../helpers/isPrefixOf');
 
 var startsWithDollarDigit = regexTester(/^\$[0-9]/);
@@ -44,5 +42,5 @@
 	}
 
-	if (typeof namedCaptures !== 'undefined' && Type(namedCaptures) !== 'Object') {
+	if (typeof namedCaptures !== 'undefined' && !isObject(namedCaptures)) {
 		throw new $TypeError('Assertion failed: `namedCaptures` must be `undefined` or an Object');
 	}
@@ -125,5 +123,5 @@
 				ref = substring(templateRemainder, 0, gtPos + 1); // step 5.g.iii.1
 				var groupName = substring(templateRemainder, 2, gtPos); // step 5.g.iii.2
-				if (Type(namedCaptures) !== 'Object') {
+				if (!isObject(namedCaptures)) {
 					throw new $TypeError('Assertion failed: Type(namedCaptures) is not Object'); // step 5.g.iii.3
 				}
Index: imaps-frontend/node_modules/es-abstract/2024/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetV.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2024/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GetValueFromBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,11 +5,9 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
 
-var callBound = require('call-bind/callBound');
-
 var $slice = callBound('Array.prototype.slice');
-
-var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
Index: imaps-frontend/node_modules/es-abstract/2024/GroupBy.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/GroupBy.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/GroupBy.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,4 +2,6 @@
 
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var AddValueToKeyedGroup = require('./AddValueToKeyedGroup');
@@ -13,7 +15,4 @@
 var ThrowCompletion = require('./ThrowCompletion');
 var ToPropertyKey = require('./ToPropertyKey');
-
-var isNegativeZero = require('../helpers/isNegativeZero');
-var maxSafeInteger = require('../helpers/maxSafeInteger');
 
 // https://262.ecma-international.org/15.0/#sec-groupby
@@ -38,7 +37,8 @@
 	// eslint-disable-next-line no-constant-condition
 	while (true) { // step 6
-		if (k >= maxSafeInteger) { // step 6.a
+		if (k >= MAX_SAFE_INTEGER) { // step 6.a
 			var error = ThrowCompletion(new $TypeError('k must be less than 2 ** 53 - 1')); // step 6.a.i
-			return IteratorClose(iteratorRecord, error); // step 6.a.ii
+			IteratorClose(iteratorRecord, error); // step 6.a.ii
+			return void undefined;
 		}
 		var next = IteratorStep(iteratorRecord); // step 6.b
@@ -53,5 +53,6 @@
 			key = Call(callbackfn, undefined, [value, k]); // step 6.e
 		} catch (e) {
-			return IteratorClose(iteratorRecord, ThrowCompletion(e)); // step 6.f
+			IteratorClose(iteratorRecord, ThrowCompletion(e)); // step 6.f
+			return void undefined;
 		}
 
@@ -60,5 +61,6 @@
 				key = ToPropertyKey(key); // step 6.g.i
 			} catch (e) {
-				return IteratorClose(iteratorRecord, ThrowCompletion(e)); // step 6.g.ii
+				IteratorClose(iteratorRecord, ThrowCompletion(e)); // step 6.g.ii
+				return void undefined;
 			}
 		} else { // step 6.h
Index: imaps-frontend/node_modules/es-abstract/2024/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/HasOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/HasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/InstallErrorCause.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/InstallErrorCause.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/InstallErrorCause.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,14 +6,15 @@
 var Get = require('./Get');
 var HasProperty = require('./HasProperty');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/13.0/#sec-installerrorcause
 
 module.exports = function InstallErrorCause(O, options) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (Type(options) === 'Object' && HasProperty(options, 'cause')) {
+	if (isObject(options) && HasProperty(options, 'cause')) {
 		var cause = Get(options, 'cause');
 		CreateNonEnumerableDataPropertyOrThrow(O, 'cause', cause);
Index: imaps-frontend/node_modules/es-abstract/2024/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/InstanceofOperator.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
+var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
 
 var Call = require('./Call');
@@ -12,10 +12,11 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/InternalizeJSONProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,7 +10,7 @@
 var LengthOfArrayLike = require('./LengthOfArrayLike');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/14.0/#sec-internalizejsonproperty
@@ -19,5 +19,5 @@
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (Type(holder) !== 'Object') {
+	if (!isObject(holder)) {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -31,5 +31,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (Type(val) === 'Object') { // step 2
+	if (isObject(val)) { // step 2
 		var isArray = IsArray(val); // step 2.a
 		if (isArray) { // step 2.b
Index: imaps-frontend/node_modules/es-abstract/2024/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Invoke.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsConcatSpreadable.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,10 +8,11 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/IsDetachedBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsDetachedBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsDetachedBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $byteLength = require('array-buffer-byte-length');
 var availableTypedArrays = require('available-typed-arrays')();
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2024/IsFixedLengthArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsFixedLengthArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsFixedLengthArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $arrayBufferResizable = callBound('%ArrayBuffer.prototype.resizable%', true);
Index: imaps-frontend/node_modules/es-abstract/2024/IsIntegralNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsIntegralNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsIntegralNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var truncate = require('./truncate');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-isintegralnumber
Index: imaps-frontend/node_modules/es-abstract/2024/IsLessThan.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsLessThan.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsLessThan.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,8 +5,8 @@
 var $Number = GetIntrinsic('%Number%');
 var $TypeError = require('es-errors/type');
-var min = GetIntrinsic('%Math.min%');
+var min = require('math-intrinsics/min');
+var $isNaN = require('math-intrinsics/isNaN');
 
-var $isNaN = require('../helpers/isNaN');
-var $charCodeAt = require('call-bind/callBound')('String.prototype.charCodeAt');
+var $charCodeAt = require('call-bound')('String.prototype.charCodeAt');
 
 var StringToBigInt = require('./StringToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2024/IsLooselyEqual.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsLooselyEqual.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsLooselyEqual.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 var IsStrictlyEqual = require('./IsStrictlyEqual');
@@ -9,10 +9,10 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/13.0/#sec-islooselyequal
 
 module.exports = function IsLooselyEqual(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return IsStrictlyEqual(x, y);
 	}
@@ -20,11 +20,11 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return IsLooselyEqual(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return IsLooselyEqual(ToNumber(x), y);
 	}
-	if (xType === 'BigInt' && yType === 'String') {
+	if (typeof x === 'bigint' && typeof y === 'string') {
 		var n = StringToBigInt(y);
 		if (typeof n === 'undefined') {
@@ -33,20 +33,20 @@
 		return IsLooselyEqual(x, n);
 	}
-	if (xType === 'String' && yType === 'BigInt') {
+	if (typeof x === 'string' && typeof y === 'bigint') {
 		return IsLooselyEqual(y, x);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return IsLooselyEqual(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return IsLooselyEqual(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol' || xType === 'BigInt') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol' || typeof x === 'bigint') && isObject(y)) {
 		return IsLooselyEqual(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol' || yType === 'BigInt')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol' || typeof y === 'bigint')) {
 		return IsLooselyEqual(ToPrimitive(x), y);
 	}
-	if ((xType === 'BigInt' && yType === 'Number') || (xType === 'Number' && yType === 'BigInt')) {
+	if ((typeof x === 'bigint' && typeof y === 'number') || (typeof x === 'number' && typeof y === 'bigint')) {
 		if (!isFinite(x) || !isFinite(y)) {
 			return false;
Index: imaps-frontend/node_modules/es-abstract/2024/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsPromise.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (Type(x) !== 'Object') {
+	if (!isObject(x)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsPropertyKey.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,9 @@
 'use strict';
+
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return typeof argument === 'string' || typeof argument === 'symbol';
+	return isPropertyKey(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2024/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsRegExp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,8 +9,10 @@
 var ToBoolean = require('./ToBoolean');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!argument || typeof argument !== 'object') {
+	if (!isObject(argument)) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/IsSharedArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsSharedArrayBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsSharedArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
 
 var isSharedArrayBuffer = require('is-shared-array-buffer');
@@ -10,5 +10,5 @@
 
 module.exports = function IsSharedArrayBuffer(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/IsStrictlyEqual.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsStrictlyEqual.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsStrictlyEqual.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,9 +8,7 @@
 
 module.exports = function IsStrictlyEqual(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	return xType === 'Number' ? NumberEqual(x, y) : SameValueNonNumber(x, y);
+	return typeof x === 'number' ? NumberEqual(x, y) : SameValueNonNumber(x, y);
 };
Index: imaps-frontend/node_modules/es-abstract/2024/IsValidIntegerIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsValidIntegerIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsValidIntegerIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,5 +9,5 @@
 var TypedArrayLength = require('./TypedArrayLength');
 
-var isNegativeZero = require('../helpers/isNegativeZero');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var isTypedArray = require('is-typed-array');
Index: imaps-frontend/node_modules/es-abstract/2024/IsWordChar.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IsWordChar.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IsWordChar.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,6 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $indexOf = callBound('String.prototype.indexOf');
@@ -11,5 +11,4 @@
 
 var every = require('../helpers/every');
-var isInteger = require('../helpers/isInteger');
 var isRegExpRecord = require('../helpers/records/regexp-record');
 
Index: imaps-frontend/node_modules/es-abstract/2024/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IteratorClose.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,6 +7,6 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record');
 
@@ -17,5 +17,5 @@
 		throw new $TypeError('Assertion failed: `iteratorRecord` must be an Iterator Record'); // step 1
 	}
-	if (Type(iteratorRecord['[[Iterator]]']) !== 'Object') {
+	if (!isObject(iteratorRecord['[[Iterator]]'])) {
 		throw new $TypeError('Assertion failed: iteratorRecord.[[Iterator]] must be an Object'); // step 1
 	}
@@ -55,5 +55,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (Type(innerResult) !== 'Object') {
+	if (!isObject(innerResult)) {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IteratorComplete.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IteratorNext.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,6 +4,6 @@
 
 var Call = require('./Call');
-var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
 var isIteratorRecord = require('../helpers/records/iterator-record');
 
@@ -22,5 +22,5 @@
 	}
 
-	if (Type(result) !== 'Object') {
+	if (!isObject(result)) {
 		throw new $TypeError('iterator next must return an object'); // step 3
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/IteratorToList.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IteratorToList.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IteratorToList.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $arrayPush = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2024/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/IteratorValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,10 +4,11 @@
 
 var Get = require('./Get');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (Type(iterResult) !== 'Object') {
+	if (!isObject(iterResult)) {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/KeyForSymbol.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/KeyForSymbol.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/KeyForSymbol.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $keyFor = callBound('Symbol.keyFor', true);
Index: imaps-frontend/node_modules/es-abstract/2024/LengthOfArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/LengthOfArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/LengthOfArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,11 @@
 var Get = require('./Get');
 var ToLength = require('./ToLength');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/11.0/#sec-lengthofarraylike
 
 module.exports = function LengthOfArrayLike(obj) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2024/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2024/MakeFullYear.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/MakeFullYear.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/MakeFullYear.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var ToIntegerOrInfinity = require('./ToIntegerOrInfinity');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/15.0/#sec-makefullyear
Index: imaps-frontend/node_modules/es-abstract/2024/MakeMatchIndicesIndexPairArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/MakeMatchIndicesIndexPairArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/MakeMatchIndicesIndexPairArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -21,5 +21,5 @@
 };
 
-var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
+var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
 
 // https://262.ecma-international.org/13.0/#sec-getmatchindexpair
Index: imaps-frontend/node_modules/es-abstract/2024/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2024/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2024/Number/add.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Number/add.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Number/add.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/12.0/#sec-numeric-types-number-add
Index: imaps-frontend/node_modules/es-abstract/2024/Number/divide.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Number/divide.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Number/divide.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/11.0/#sec-numeric-types-number-divide
Index: imaps-frontend/node_modules/es-abstract/2024/Number/exponentiate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Number/exponentiate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Number/exponentiate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,17 +1,15 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-// var isNegativeZero = require('is-negative-zero');
-
-var $pow = GetIntrinsic('%Math.pow%');
+// var isNegativeZero = require('math-intrinsics/isNegativeZero');
+var $pow = require('math-intrinsics/pow');
 
 var $TypeError = require('es-errors/type');
 
 /*
-var abs = require('../../helpers/abs');
-var isFinite = require('../../helpers/isFinite');
-var isNaN = require('../../helpers/isNaN');
+var abs = require('math-intrinsics/abs');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
 
-var IsInteger = require('../IsInteger');
+var IsInteger = require('math-intrinsics/isInteger');
 */
 
Index: imaps-frontend/node_modules/es-abstract/2024/Number/remainder.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Number/remainder.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Number/remainder.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isNaN = require('../../helpers/isNaN');
-var isFinite = require('../../helpers/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
+var isFinite = require('math-intrinsics/isFinite');
 
 var truncate = require('../truncate');
Index: imaps-frontend/node_modules/es-abstract/2024/Number/sameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Number/sameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Number/sameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,6 +1,5 @@
 'use strict';
 
-var isNegativeZero = require('is-negative-zero');
-
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 var $TypeError = require('es-errors/type');
 
Index: imaps-frontend/node_modules/es-abstract/2024/Number/toString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Number/toString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Number/toString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,8 @@
 
 var $TypeError = require('es-errors/type');
-
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $numberToString = callBound('Number.prototype.toString');
-
-var isInteger = require('../../helpers/isInteger');
 
 // https://262.ecma-international.org/14.0/#sec-numeric-types-number-tostring
Index: imaps-frontend/node_modules/es-abstract/2024/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ObjectDefineProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,5 +10,5 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var $push = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2024/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/OrdinaryDefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,17 +9,18 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/OrdinaryGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,16 +11,17 @@
 
 var IsArray = require('./IsArray');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/OrdinaryGetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,12 +3,11 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('../helpers/getProto');
-
-var Type = require('./Type');
+var $getProto = require('get-proto');
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/OrdinaryHasInstance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -13,9 +14,9 @@
 		return false;
 	}
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (Type(P) !== 'Object') {
+	if (!isObject(P)) {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/OrdinaryHasProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/OrdinaryObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/OrdinaryObjectCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/OrdinaryObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
-var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
+var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function OrdinaryObjectCreate(proto) {
-	if (proto !== null && Type(proto) !== 'Object') {
+	if (proto !== null && !isObject(proto)) {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/OrdinarySetPrototypeOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,13 +2,14 @@
 
 var $TypeError = require('es-errors/type');
-
-var $setProto = require('../helpers/setProto');
+var $setProto = require('set-proto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (typeof V !== 'object') {
+	if (V !== null && !isObject(V)) {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/OrdinaryToPrimitive.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/OrdinaryToPrimitive.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/OrdinaryToPrimitive.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,6 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var inspect = require('object-inspect');
@@ -13,5 +14,5 @@
 
 module.exports = function OrdinaryToPrimitive(O, hint) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -27,5 +28,5 @@
 		if (IsCallable(method)) {
 			var result = Call(method, O);
-			if (Type(result) !== 'Object') {
+			if (!isObject(result)) {
 				return result;
 			}
Index: imaps-frontend/node_modules/es-abstract/2024/ParseHexOctet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ParseHexOctet.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ParseHexOctet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,4 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $Number = GetIntrinsic('%Number%');
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
@@ -10,5 +7,5 @@
 var substring = require('./substring');
 
-var isNaN = require('../helpers/isNaN');
+var isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/14.0/#sec-parsehexoctet
@@ -29,5 +26,5 @@
 	var hexDigits = substring(string, position, position + 2); // step 3
 
-	var n = $Number('0x' + hexDigits);
+	var n = +('0x' + hexDigits);
 	if (isNaN(n)) {
 		return [new $SyntaxError('Invalid hexadecimal characters')];
Index: imaps-frontend/node_modules/es-abstract/2024/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/QuoteJSONString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var forEach = require('../helpers/forEach');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
@@ -9,4 +9,5 @@
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
+var $strSplit = callBound('String.prototype.split');
 
 var StringToCodePoints = require('./StringToCodePoints');
@@ -34,10 +35,10 @@
 	var product = '"';
 	if (value) {
-		forEach(StringToCodePoints(value), function (C) {
+		forEach($strSplit(StringToCodePoints(value), ''), function (C) {
 			if (hasOwn(escapes, C)) {
 				product += escapes[C];
 			} else {
 				var cCharCode = $charCodeAt(C, 0);
-				if (cCharCode < 0x20 || isLeadingSurrogate(C) || isTrailingSurrogate(C)) {
+				if (cCharCode < 0x20 || isLeadingSurrogate(cCharCode) || isTrailingSurrogate(cCharCode)) {
 					product += UnicodeEscape(C);
 				} else {
Index: imaps-frontend/node_modules/es-abstract/2024/RawBytesToNumeric.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/RawBytesToNumeric.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/RawBytesToNumeric.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $RangeError = require('es-errors/range');
Index: imaps-frontend/node_modules/es-abstract/2024/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/RegExpExec.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,15 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
+var regexExec = require('call-bound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -22,5 +23,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (typeof result === 'object') {
+		if (result === null || isObject(result)) {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2024/RegExpHasFlag.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/RegExpHasFlag.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/RegExpHasFlag.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
@@ -8,5 +8,6 @@
 
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var $indexOf = callBound('String.prototype.indexOf');
@@ -22,5 +23,5 @@
 	}
 
-	if (Type(R) !== 'Object') {
+	if (!isObject(R)) {
 		throw new $TypeError('Assertion failed: Type(R) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2024/SameValueNonNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SameValueNonNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SameValueNonNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -9,9 +9,8 @@
 
 module.exports = function SameValueNonNumber(x, y) {
-	var xType = Type(x);
-	if (xType === 'Number') {
+	if (typeof x === 'number') {
 		throw new $TypeError('Assertion failed: SameValueNonNumber does not accept Number values');
 	}
-	if (xType !== Type(y)) {
+	if (Type(x) !== Type(y)) {
 		throw new $TypeError('SameValueNonNumber requires two non-Number values of the same type.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SameValueZero.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2024/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/Set.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,8 @@
 var $TypeError = require('es-errors/type');
 
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -20,8 +21,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/SetFunctionLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SetFunctionLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SetFunctionLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,10 +2,9 @@
 
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var HasOwnProperty = require('./HasOwnProperty');
 var IsExtensible = require('./IsExtensible');
-
-var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/12.0/#sec-setfunctionlength
Index: imaps-frontend/node_modules/es-abstract/2024/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SetIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -14,10 +14,11 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/SetTypedArrayFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SetTypedArrayFromArrayLike.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SetTypedArrayFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,9 +3,8 @@
 var $RangeError = require('es-errors/range');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 
 var isTypedArray = require('is-typed-array');
 var whichTypedArray = require('which-typed-array');
-
-var isInteger = require('../helpers/isInteger');
 
 var Get = require('./Get');
Index: imaps-frontend/node_modules/es-abstract/2024/SetTypedArrayFromTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SetTypedArrayFromTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SetTypedArrayFromTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -20,6 +20,8 @@
 var typedArrayByteOffset = require('typed-array-byte-offset');
 var whichTypedArray = require('which-typed-array');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
-var isInteger = require('../helpers/isInteger');
+var $ArrayBuffer = callBound('ArrayBuffer', true);
 
 // https://262.ecma-international.org/15.0/#sec-settypedarrayfromtypedarray
@@ -95,5 +97,5 @@
 	if (SameValue(srcBuffer, targetBuffer) || sameSharedArrayBuffer) { // step 19
 		var srcByteLength = TypedArrayByteLength(srcRecord); // step 19.a
-		srcBuffer = CloneArrayBuffer(srcBuffer, srcByteOffset, srcByteLength); // step 19.b
+		srcBuffer = CloneArrayBuffer(srcBuffer, srcByteOffset, srcByteLength, $ArrayBuffer); // step 19.b
 		srcByteIndex = 0; // step 19.c
 	} else { // step 20
Index: imaps-frontend/node_modules/es-abstract/2024/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SetValueInBuffer.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,6 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var isInteger = require('math-intrinsics/isInteger');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
-
-var isInteger = require('../helpers/isInteger');
 
 var IsBigIntElementType = require('./IsBigIntElementType');
@@ -15,5 +14,5 @@
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
-var has = require('hasown');
+var hasOwn = require('hasown');
 
 var tableTAO = require('./tables/typed-array-objects');
@@ -36,5 +35,5 @@
 	}
 
-	if (typeof type !== 'string' || !has(tableTAO.size, '$' + type)) {
+	if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
 		throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/SortIndexedProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SortIndexedProperties.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SortIndexedProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,15 +1,14 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
-
 var $TypeError = require('es-errors/type');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
 var HasProperty = require('./HasProperty');
 var ToString = require('./ToString');
-var Type = require('./Type');
 
 var isAbstractClosure = require('../helpers/isAbstractClosure');
-var isInteger = require('../helpers/isInteger');
+var isObject = require('../helpers/isObject');
 
 var $push = callBound('Array.prototype.push');
@@ -19,5 +18,5 @@
 
 module.exports = function SortIndexedProperties(obj, len, SortCompare, holes) {
-	if (Type(obj) !== 'Object') {
+	if (!isObject(obj)) {
 		throw new $TypeError('Assertion failed: Type(obj) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SpeciesConstructor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,10 +7,11 @@
 
 var IsConstructor = require('./IsConstructor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -19,5 +20,5 @@
 		return defaultConstructor;
 	}
-	if (Type(C) !== 'Object') {
+	if (!isObject(C)) {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/StringCreate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,8 +7,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
+var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2024/StringGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/StringGetOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/StringGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,6 +2,7 @@
 
 var $TypeError = require('es-errors/type');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $charAt = callBound('String.prototype.charAt');
 var $stringToString = callBound('String.prototype.toString');
@@ -9,8 +10,7 @@
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsIntegralNumber = require('./IsIntegralNumber');
-var IsPropertyKey = require('./IsPropertyKey');
-var Type = require('./Type');
 
-var isNegativeZero = require('is-negative-zero');
+var isObject = require('../helpers/isObject');
+var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/12.0/#sec-stringgetownproperty
@@ -18,5 +18,5 @@
 module.exports = function StringGetOwnProperty(S, P) {
 	var str;
-	if (Type(S) === 'Object') {
+	if (isObject(S)) {
 		try {
 			str = $stringToString(S);
@@ -26,6 +26,6 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed string object');
 	}
-	if (!IsPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
+	if (!isPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: P is not a Property Key');
 	}
 	if (typeof P !== 'string') {
Index: imaps-frontend/node_modules/es-abstract/2024/StringIndexOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/StringIndexOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/StringIndexOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,8 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2024/StringPad.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/StringPad.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/StringPad.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,8 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var callBound = require('call-bind/callBound');
-
-var isInteger = require('../helpers/isInteger');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $strSlice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2024/StringToCodePoints.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/StringToCodePoints.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/StringToCodePoints.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $push = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2024/StringToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/StringToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/StringToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,10 +3,9 @@
 var GetIntrinsic = require('get-intrinsic');
 
-var $Number = GetIntrinsic('%Number%');
 var $RegExp = GetIntrinsic('%RegExp%');
 var $TypeError = require('es-errors/type');
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var regexTester = require('safe-regex-test');
 
@@ -28,8 +27,8 @@
 	}
 	if (isBinary(argument)) {
-		return $Number($parseInteger($strSlice(argument, 2), 2));
+		return +$parseInteger($strSlice(argument, 2), 2);
 	}
 	if (isOctal(argument)) {
-		return $Number($parseInteger($strSlice(argument, 2), 8));
+		return +$parseInteger($strSlice(argument, 2), 8);
 	}
 	if (hasNonWS(argument) || isInvalidHexLiteral(argument)) {
@@ -40,4 +39,4 @@
 		return StringToNumber(trimmed);
 	}
-	return $Number(argument);
+	return +argument;
 };
Index: imaps-frontend/node_modules/es-abstract/2024/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/SymbolDescriptiveString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2024/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/TestIntegrityLevel.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,15 +5,16 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -22,5 +23,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status) {
+	if (status || !$gOPD) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/ThisBigIntValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ThisBigIntValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ThisBigIntValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SyntaxError = require('es-errors/syntax');
@@ -10,9 +10,11 @@
 module.exports = function ThisBigIntValue(value) {
 	if (typeof value === 'bigint') {
-		return value; // step 1
+		return value;
 	}
+
 	if (!$bigIntValueOf) {
 		throw new $SyntaxError('BigInt is not supported');
 	}
+
 	return $bigIntValueOf(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2024/ThisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ThisBooleanValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ThisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/15.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2024/ThisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ThisNumberValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ThisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2024/ThisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ThisStringValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ThisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/15.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2024/ThisSymbolValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ThisSymbolValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ThisSymbolValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 var $SyntaxError = require('es-errors/syntax');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
Index: imaps-frontend/node_modules/es-abstract/2024/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2024/TimeString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/TimeString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/TimeString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 var HourFromTime = require('./HourFromTime');
Index: imaps-frontend/node_modules/es-abstract/2024/TimeZoneString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/TimeZoneString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/TimeZoneString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,8 +5,6 @@
 var $Date = GetIntrinsic('%Date%');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
+var isInteger = require('math-intrinsics/isInteger');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2024/ToBigInt64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToBigInt64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToBigInt64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,5 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2024/ToBigUint64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToBigUint64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToBigUint64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,5 +4,6 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = GetIntrinsic('%Math.pow%');
+
+var $pow = require('math-intrinsics/pow');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2024/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToDateString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2024/ToIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToIndex.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var ToIntegerOrInfinity = require('./ToIntegerOrInfinity');
 
-var maxSafeInteger = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 // https://262.ecma-international.org/15.0/#sec-toindex
@@ -14,5 +14,5 @@
 	}
 	var integer = ToIntegerOrInfinity(value);
-	if (integer < 0 || integer >= maxSafeInteger) {
+	if (integer < 0 || integer >= MAX_SAFE_INTEGER) {
 		throw new $RangeError('index must be >= 0 and < 2 ** 53 - 1');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/ToInt16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToInt16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToInt16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-toint16
Index: imaps-frontend/node_modules/es-abstract/2024/ToInt32.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToInt32.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToInt32.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-toint32
Index: imaps-frontend/node_modules/es-abstract/2024/ToInt8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToInt8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToInt8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-toint8
Index: imaps-frontend/node_modules/es-abstract/2024/ToIntegerOrInfinity.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToIntegerOrInfinity.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToIntegerOrInfinity.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,6 +4,6 @@
 var truncate = require('./truncate');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-tointegerorinfinity
Index: imaps-frontend/node_modules/es-abstract/2024/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToLength.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 var ToIntegerOrInfinity = require('./ToIntegerOrInfinity');
Index: imaps-frontend/node_modules/es-abstract/2024/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -23,4 +23,4 @@
 		return StringToNumber(value);
 	}
-	return $Number(value);
+	return +value;
 };
Index: imaps-frontend/node_modules/es-abstract/2024/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-touint16
Index: imaps-frontend/node_modules/es-abstract/2024/ToUint32.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToUint32.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToUint32.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-touint32
Index: imaps-frontend/node_modules/es-abstract/2024/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToUint8.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isFinite = require('../helpers/isFinite');
+var isFinite = require('math-intrinsics/isFinite');
 
 var modulo = require('./modulo');
Index: imaps-frontend/node_modules/es-abstract/2024/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToUint8Clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // https://262.ecma-international.org/15.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2024/ToZeroPaddedDecimalString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ToZeroPaddedDecimalString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ToZeroPaddedDecimalString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,8 +5,7 @@
 var $String = GetIntrinsic('%String%');
 var $RangeError = require('es-errors/range');
+var isInteger = require('math-intrinsics/isInteger');
 
 var StringPad = require('./StringPad');
-
-var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/13.0/#sec-tozeropaddeddecimalstring
Index: imaps-frontend/node_modules/es-abstract/2024/TypedArrayElementSize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/TypedArrayElementSize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/TypedArrayElementSize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,7 +3,5 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
+var isInteger = require('math-intrinsics/isInteger');
 var whichTypedArray = require('which-typed-array');
 
@@ -14,5 +12,5 @@
 module.exports = function TypedArrayElementSize(O) {
 	var type = whichTypedArray(O);
-	if (type === false) {
+	if (!type) {
 		throw new $TypeError('Assertion failed: `O` must be a TypedArray');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/TypedArrayElementType.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/TypedArrayElementType.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/TypedArrayElementType.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 var whichTypedArray = require('which-typed-array');
 
-// https://262.ecma-international.org/15.0/#sec-typedarrayelementtype
+// https://262.ecma-international.org/13.0/#sec-typedarrayelementtype
 
 var tableTAO = require('./tables/typed-array-objects');
@@ -12,5 +12,5 @@
 module.exports = function TypedArrayElementType(O) {
 	var type = whichTypedArray(O);
-	if (type === false) {
+	if (!type) {
 		throw new $TypeError('Assertion failed: `O` must be a TypedArray');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/UnicodeEscape.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/UnicodeEscape.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/UnicodeEscape.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
Index: imaps-frontend/node_modules/es-abstract/2024/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ValidateAndApplyPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -11,7 +11,9 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var IsPropertyKey = require('./IsPropertyKey');
+var isPropertyKey = require('../helpers/isPropertyKey');
 var SameValue = require('./SameValue');
 var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/13.0/#sec-validateandapplypropertydescriptor
@@ -22,8 +24,8 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	var oType = Type(O);
-	if (oType !== 'Undefined' && oType !== 'Object') {
+	if (typeof O !== 'undefined' && !isObject(O)) {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
-	if (!IsPropertyKey(P)) {
+	if (!isPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/ValidateTypedArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,6 @@
 var IsTypedArrayOutOfBounds = require('./IsTypedArrayOutOfBounds');
 var MakeTypedArrayWithBufferWitnessRecord = require('./MakeTypedArrayWithBufferWitnessRecord');
-var Type = require('./Type');
+
+var isObject = require('../helpers/isObject');
 
 var isTypedArray = require('is-typed-array');
@@ -16,5 +17,5 @@
 	}
 
-	if (Type(O) !== 'Object') {
+	if (!isObject(O)) {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2024/WeakRefDeref.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/WeakRefDeref.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/WeakRefDeref.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2024/WordCharacters.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/WordCharacters.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/WordCharacters.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var $indexOf = callBound('String.prototype.indexOf', true);
 
@@ -11,5 +11,5 @@
 var forEach = require('../helpers/forEach');
 var isRegExpRecord = require('../helpers/records/regexp-record');
-var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
+var OwnPropertyKeys = require('own-keys');
 
 var basicWordChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; // step 1
Index: imaps-frontend/node_modules/es-abstract/2024/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2024/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2024/clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/clamp.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,9 +1,7 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
 var $TypeError = require('es-errors/type');
-var max = GetIntrinsic('%Math.max%');
-var min = GetIntrinsic('%Math.min%');
+var max = require('math-intrinsics/max');
+var min = require('math-intrinsics/min');
 
 // https://262.ecma-international.org/12.0/#clamping
Index: imaps-frontend/node_modules/es-abstract/2024/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/11.0/#eqn-floor
Index: imaps-frontend/node_modules/es-abstract/2024/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/max.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.max%');
+module.exports = require('math-intrinsics/max');
Index: imaps-frontend/node_modules/es-abstract/2024/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/min.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
-
-var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = GetIntrinsic('%Math.min%');
+module.exports = require('math-intrinsics/min');
Index: imaps-frontend/node_modules/es-abstract/2024/substring.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2024/substring.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/2024/substring.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,8 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-
-var isInteger = require('../helpers/isInteger');
-
-var callBound = require('call-bind/callBound');
+var isInteger = require('math-intrinsics/isInteger');
+var callBound = require('call-bound');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/5/AbstractEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/AbstractEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/AbstractEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,10 +5,10 @@
 var Type = require('./Type');
 
+var isObject = require('../helpers/isObject');
+
 // https://262.ecma-international.org/5.1/#sec-11.9.3
 
 module.exports = function AbstractEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType === yType) {
+	if (Type(x) === Type(y)) {
 		return x === y; // ES6+ specified this shortcut anyways.
 	}
@@ -16,20 +16,20 @@
 		return true;
 	}
-	if (xType === 'Number' && yType === 'String') {
+	if (typeof x === 'number' && typeof y === 'string') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if (xType === 'String' && yType === 'Number') {
+	if (typeof x === 'string' && typeof y === 'number') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (xType === 'Boolean') {
+	if (typeof x === 'boolean') {
 		return AbstractEqualityComparison(ToNumber(x), y);
 	}
-	if (yType === 'Boolean') {
+	if (typeof y === 'boolean') {
 		return AbstractEqualityComparison(x, ToNumber(y));
 	}
-	if ((xType === 'String' || xType === 'Number') && yType === 'Object') {
+	if ((typeof x === 'string' || typeof x === 'number') && isObject(y)) {
 		return AbstractEqualityComparison(x, ToPrimitive(y));
 	}
-	if (xType === 'Object' && (yType === 'String' || yType === 'Number')) {
+	if (isObject(x) && (typeof y === 'string' || typeof y === 'number')) {
 		return AbstractEqualityComparison(ToPrimitive(x), y);
 	}
Index: imaps-frontend/node_modules/es-abstract/5/AbstractRelationalComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/AbstractRelationalComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/AbstractRelationalComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,7 +5,7 @@
 var $Number = GetIntrinsic('%Number%');
 var $TypeError = require('es-errors/type');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
 var isPrefixOf = require('../helpers/isPrefixOf');
 
Index: imaps-frontend/node_modules/es-abstract/5/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/Canonicalize.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
Index: imaps-frontend/node_modules/es-abstract/5/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/MakeDate.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/5/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/MakeDay.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/5/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/MakeTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,6 @@
 'use strict';
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/5/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/MonthFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -45,3 +47,5 @@
 		return 11;
 	}
+
+	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/5/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/SameValue.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('../helpers/isNaN');
+var $isNaN = require('math-intrinsics/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/5/StrictEqualityComparison.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/StrictEqualityComparison.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/StrictEqualityComparison.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,10 +6,8 @@
 
 module.exports = function StrictEqualityComparison(x, y) {
-	var xType = Type(x);
-	var yType = Type(y);
-	if (xType !== yType) {
+	if (Type(x) !== Type(y)) {
 		return false;
 	}
-	if (xType === 'Undefined' || xType === 'Null') {
+	if (typeof x === 'undefined' || x === null) {
 		return true;
 	}
Index: imaps-frontend/node_modules/es-abstract/5/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/TimeClip.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,9 +4,8 @@
 
 var $Date = GetIntrinsic('%Date%');
-var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('../helpers/isFinite');
+var $isFinite = require('math-intrinsics/isFinite');
+var abs = require('math-intrinsics/abs');
 
-var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -17,5 +16,5 @@
 		return NaN;
 	}
-	return $Number(new $Date(ToNumber(time)));
+	return +new $Date(ToNumber(time));
 };
 
Index: imaps-frontend/node_modules/es-abstract/5/ToInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/ToInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/ToInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,11 +1,11 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.4
Index: imaps-frontend/node_modules/es-abstract/5/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/ToNumber.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var ToPrimitive = require('./ToPrimitive');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $replace = callBound('String.prototype.replace');
@@ -11,10 +11,12 @@
 var isNonDecimal = safeRegexTester(/^0[ob]|^[+-]0x/);
 
+var $Number = Number;
+
 // http://262.ecma-international.org/5.1/#sec-9.3
 
 module.exports = function ToNumber(value) {
-	var prim = ToPrimitive(value, Number);
+	var prim = ToPrimitive(value, $Number);
 	if (typeof prim !== 'string') {
-		return +prim; // eslint-disable-line no-implicit-coercion
+		return $Number(prim);
 	}
 
@@ -29,4 +31,4 @@
 	}
 
-	return +trimmed; // eslint-disable-line no-implicit-coercion
+	return +trimmed;
 };
Index: imaps-frontend/node_modules/es-abstract/5/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/ToPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,12 +5,13 @@
 var $TypeError = require('es-errors/type');
 
-var Type = require('./Type');
+var IsCallable = require('./IsCallable');
 var ToBoolean = require('./ToBoolean');
-var IsCallable = require('./IsCallable');
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (Type(Obj) !== 'Object') {
+	if (!isObject(Obj)) {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/5/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/ToUint16.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,12 +1,12 @@
 'use strict';
 
-var abs = require('./abs');
-var floor = require('./floor');
 var modulo = require('./modulo');
 var ToNumber = require('./ToNumber');
 
-var $isNaN = require('../helpers/isNaN');
-var $isFinite = require('../helpers/isFinite');
-var $sign = require('../helpers/sign');
+var abs = require('math-intrinsics/abs');
+var floor = require('math-intrinsics/floor');
+var $isNaN = require('math-intrinsics/isNaN');
+var $isFinite = require('math-intrinsics/isFinite');
+var $sign = require('math-intrinsics/sign');
 
 // http://262.ecma-international.org/5.1/#sec-9.7
Index: imaps-frontend/node_modules/es-abstract/5/Type.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/Type.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/Type.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,5 @@
 'use strict';
+
+var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8
@@ -10,5 +12,5 @@
 		return 'Undefined';
 	}
-	if (typeof x === 'function' || typeof x === 'object') {
+	if (isObject(x)) {
 		return 'Object';
 	}
Index: imaps-frontend/node_modules/es-abstract/5/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/YearFromTime.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/5/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/abs.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
+var $abs = require('math-intrinsics/abs');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/5/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/5/floor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/5/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = Math.floor;
+var $floor = require('math-intrinsics/floor');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/CHANGELOG.md
===================================================================
--- imaps-frontend/node_modules/es-abstract/CHANGELOG.md	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/CHANGELOG.md	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,2 +1,50 @@
+1.23.9 / 2025-01-02
+=================
+  * [Refactor] use `get-proto` directly
+  * [Refactor] use `set-proto` directly
+  * [Refactor] use `Reflect.setPrototypeOf` and `dunder-proto` in `setProto` helper
+  * [Refactor] `ES2015`+: `ArrayCreate`: use `setProto` helper
+  * [Deps] update `es-set-tostringtag`, `own-keys`
+  * [Dev Deps] update `is-core-module`
+  * [Tests] use `own-keys` directly
+
+1.23.8 / 2024-12-28
+=================
+  * [Refactor] use `own-keys`
+  * [Refactor] use `safe-push-apply`
+
+1.23.7 / 2024-12-20
+=================
+  * [Refactor] create and use `helpers/isPropertyKey`
+  * [Refactor] add `timeValue` helper, use it
+  * [Deps] update `array-buffer-byte-length`, `data-view-buffer`, `data-view-byte-length`, `data-view-byte-offset`, `function.prototype.name`, `get-symbol-description`, `is-array-buffer`, `is-shared-array-buffer`, `is-typed-array`, `math-intrinsics`, `object.assign`, `typed-array-buffer`, `typed-array-byte-length`, `typed-array-byte-offset`, `unbox-primitive`, `which-typed-array`
+  * [Deps] remove unused dep
+  * [Dev Deps] update `array.prototype.indexof`, `has-bigints`, `is-registered-symbol`, `safe-bigint`
+
+1.23.6 / 2024-12-15
+=================
+  * [Fix] `ES2015` - `ES2019`: `IntegerIndexedElementSet`: reject BigInt Typed Arrays prior to ES2020
+  * [Fix] `ES2023`+: `SetTypedArrayFromTypedArray`: provide missing `cloneConstructor` argument to `CloneArrayBuffer`
+  * [Fix] `ES2024`+: `FindViaPredicate`: spec enums are uppercase now
+  * [Fix] `ES2017` - `ES2019`: `SetValueInBuffer`: handle proper number of arguments
+  * [Fix] `ES2015`+: `QuoteJSONString`: properly handle surrogates
+  * [Fix] `ES2015`+: `TestIntegrityLevel`: properly handle envs without property descriptors
+  * [patch] `ES2018` - `ES2023`: `thisSymbolValue`: only require `Symbol.prototype.valueOf` for boxed Symbols
+  * [Robustness] `ES2015` - `ES2016`: `SetValueInBuffer`: salt dictionary keys in case of pre-proto envs
+  * [Refactor] use `math-intrinsics`
+  * [Refactor] use `call-bound` directly
+  * [Refactor] `ES2015`+: `GetIterator`: hoist an object to module scope
+  * [Refactor] use `typeof` over `Type()` when possible
+  * [Refactor] `ES2015` - `ES2016`: `GetValueFromBuffer`: remove unnecessary extra helper argument
+  * [Refactor] misc cleanups
+  * [Refactor] make and use `isObject` helper
+  * [Refactor] `ES5`+: `MonthFromTime`: throw a `RangeError` for an out of range timestamp
+  * [Refactor] use `+` over `Number()`
+  * [Deps] update `arraybuffer.prototype.slice`, `call-bind`, `es-define-property`, `es-to-primitive`, `function.prototype.name`, `get-intrinsic`, `gopd`, `has-proto`, `has-symbols`, `internal-slot`, `is-data-view`, `is-regex`, `is-string`, `which-typed-array`, `is-weakref`, `safe-array-concat`, `safe-regex-test`, `string.prototype.trim`, `string.prototype.trimend`, `typed-array-byte-offset`, `typed-array-length`
+  * [meta] remove unnecessary unspackles
+  * [Tests] `isStringOrUndefined`: increase coverage
+  * [Tests] bigint tests are ES2020+ only
+  * [Dev Deps] update `array.prototype.flatmap`, `is-core-module`, `is-registered-symbol`
+
 1.23.5 / 2024-11-14
 =================
Index: imaps-frontend/node_modules/es-abstract/helpers/DefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/DefineOwnProperty.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/DefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,5 +10,5 @@
 var isArray = hasArrayLengthDefineBug && require('../helpers/IsArray');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
Index: imaps-frontend/node_modules/es-abstract/helpers/IsArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/IsArray.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/IsArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -6,5 +6,5 @@
 
 // eslint-disable-next-line global-require
-var toStr = !$Array.isArray && require('call-bind/callBound')('Object.prototype.toString');
+var toStr = !$Array.isArray && require('call-bound')('Object.prototype.toString');
 
 module.exports = $Array.isArray || function IsArray(argument) {
Index: imaps-frontend/node_modules/es-abstract/helpers/OwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/OwnPropertyKeys.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/OwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,22 +1,4 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var callBind = require('call-bind');
-var callBound = require('call-bind/callBound');
-
-var $ownKeys = GetIntrinsic('%Reflect.ownKeys%', true);
-var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
-var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
-var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);
-var $gOPS = $SymbolValueOf ? GetIntrinsic('%Object.getOwnPropertySymbols%') : null;
-
-var keys = require('object-keys');
-
-module.exports = $ownKeys || function OwnPropertyKeys(source) {
-	var ownKeys = ($gOPN || keys)(source);
-	if ($gOPS) {
-		$pushApply(ownKeys, $gOPS(source));
-	}
-	return ownKeys;
-};
+// TODO, semver-major: remove
+module.exports = require('own-keys');
Index: imaps-frontend/node_modules/es-abstract/helpers/bytesAsFloat32.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/bytesAsFloat32.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/bytesAsFloat32.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $pow = GetIntrinsic('%Math.pow%');
+var $pow = require('math-intrinsics/pow');
 
 module.exports = function bytesAsFloat32(rawBytes) {
Index: imaps-frontend/node_modules/es-abstract/helpers/bytesAsFloat64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/bytesAsFloat64.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/bytesAsFloat64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $pow = GetIntrinsic('%Math.pow%');
+var $pow = require('math-intrinsics/pow');
 
 module.exports = function bytesAsFloat64(rawBytes) {
Index: imaps-frontend/node_modules/es-abstract/helpers/bytesAsInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/bytesAsInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/bytesAsInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,6 @@
 var GetIntrinsic = require('get-intrinsic');
 
-var $pow = GetIntrinsic('%Math.pow%');
+var $pow = require('math-intrinsics/pow');
+
 var $Number = GetIntrinsic('%Number%');
 var $BigInt = GetIntrinsic('%BigInt%', true);
Index: imaps-frontend/node_modules/es-abstract/helpers/callBound.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/callBound.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/callBound.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,3 +3,3 @@
 // TODO; semver-major: remove
 
-module.exports = require('call-bind/callBound');
+module.exports = require('call-bound');
Index: imaps-frontend/node_modules/es-abstract/helpers/getIteratorMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/getIteratorMethod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/getIteratorMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -3,5 +3,5 @@
 var hasSymbols = require('has-symbols')();
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 var isString = require('is-string');
 
Index: imaps-frontend/node_modules/es-abstract/helpers/getProto.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/getProto.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/getProto.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,15 +1,4 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var originalGetProto = GetIntrinsic('%Object.getPrototypeOf%', true);
-
-var hasProto = require('has-proto')();
-
-module.exports = originalGetProto || (
-	hasProto
-		? function (O) {
-			return O.__proto__; // eslint-disable-line no-proto
-		}
-		: null
-);
+// TODO, semver-major: remove
+module.exports = require('get-proto');
Index: imaps-frontend/node_modules/es-abstract/helpers/intToBinaryString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/intToBinaryString.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/intToBinaryString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,7 +1,5 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $floor = GetIntrinsic('%Math.floor%');
+var $floor = require('math-intrinsics/floor');
 
 // https://runestone.academy/ns/books/published/pythonds/BasicDS/ConvertingDecimalNumberstoBinaryNumbers.html#:~:text=The%20Divide%20by%202%20algorithm,have%20a%20remainder%20of%200
Index: imaps-frontend/node_modules/es-abstract/helpers/isFinite.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/isFinite.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/isFinite.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,4 @@
 'use strict';
 
-var $isNaN = require('./isNaN');
-
-module.exports = function (x) { return (typeof x === 'number' || typeof x === 'bigint') && !$isNaN(x) && x !== Infinity && x !== -Infinity; };
+// TODO, semver-major: delete
+module.exports = require('math-intrinsics/isFinite');
Index: imaps-frontend/node_modules/es-abstract/helpers/isFullyPopulatedPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/isFullyPopulatedPropertyDescriptor.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/isFullyPopulatedPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,4 @@
 module.exports = function isFullyPopulatedPropertyDescriptor(ES, Desc) {
 	return isPropertyDescriptor(Desc)
-		&& typeof Desc === 'object'
 		&& '[[Enumerable]]' in Desc
 		&& '[[Configurable]]' in Desc
Index: imaps-frontend/node_modules/es-abstract/helpers/isInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/isInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/isInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,18 +1,4 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var $abs = GetIntrinsic('%Math.abs%');
-var $floor = GetIntrinsic('%Math.floor%');
-
-var $isNaN = require('./isNaN');
-var $isFinite = require('./isFinite');
-
-module.exports = function isInteger(argument) {
-	if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {
-		return false;
-	}
-	var absValue = $abs(argument);
-	return $floor(absValue) === absValue;
-};
-
+// TODO, semver-major: delete
+module.exports = require('math-intrinsics/isInteger');
Index: imaps-frontend/node_modules/es-abstract/helpers/isObject.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/isObject.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/helpers/isObject.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,5 @@
+'use strict';
+
+module.exports = function isObject(x) {
+	return !!x && (typeof x === 'function' || typeof x === 'object');
+};
Index: imaps-frontend/node_modules/es-abstract/helpers/isPrefixOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/isPrefixOf.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/isPrefixOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $strSlice = require('call-bind/callBound')('String.prototype.slice');
+var $strSlice = require('call-bound')('String.prototype.slice');
 
 module.exports = function isPrefixOf(prefix, string) {
Index: imaps-frontend/node_modules/es-abstract/helpers/isPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/isPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/helpers/isPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,5 @@
+'use strict';
+
+module.exports = function isPropertyKey(argument) {
+	return typeof argument === 'string' || typeof argument === 'symbol';
+};
Index: imaps-frontend/node_modules/es-abstract/helpers/maxSafeInteger.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/maxSafeInteger.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/maxSafeInteger.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,3 +1,4 @@
 'use strict';
 
-module.exports = Number.MAX_SAFE_INTEGER || 9007199254740991; // Math.pow(2, 53) - 1;
+// TODO, semver-major: delete
+module.exports = require('math-intrinsics/constants/maxSafeInteger');
Index: imaps-frontend/node_modules/es-abstract/helpers/mod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/mod.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/mod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,8 +1,4 @@
 'use strict';
 
-var $floor = Math.floor;
-
-module.exports = function mod(number, modulo) {
-	var remain = number % modulo;
-	return $floor(remain >= 0 ? remain : remain + modulo);
-};
+// TODO, semver-major: delete
+module.exports = require('math-intrinsics/mod');
Index: imaps-frontend/node_modules/es-abstract/helpers/padTimeComponent.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/padTimeComponent.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/padTimeComponent.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $strSlice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/helpers/setProto.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/setProto.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/setProto.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,17 +1,4 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
-
-var originalSetProto = GetIntrinsic('%Object.setPrototypeOf%', true);
-
-var hasProto = require('has-proto')();
-
-module.exports = originalSetProto || (
-
-	hasProto
-		? function (O, proto) {
-			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
-			return O;
-		}
-		: null
-);
+// TODO, semver-major: remove
+module.exports = require('set-proto');
Index: imaps-frontend/node_modules/es-abstract/helpers/sign.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/sign.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/sign.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,5 +1,4 @@
 'use strict';
 
-module.exports = function sign(number) {
-	return number >= 0 ? 1 : -1;
-};
+// TODO, semver-major: delete
+module.exports = require('math-intrinsics/sign');
Index: imaps-frontend/node_modules/es-abstract/helpers/timeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/timeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/helpers/timeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,7 @@
+'use strict';
+
+var $DateGetTime = require('call-bound')('Date.prototype.getTime');
+
+module.exports = function timeValue(x) {
+	return $DateGetTime(x);
+};
Index: imaps-frontend/node_modules/es-abstract/helpers/valueToFloat32Bytes.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/valueToFloat32Bytes.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/valueToFloat32Bytes.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,13 +1,11 @@
 'use strict';
 
-var GetIntrinsic = require('get-intrinsic');
+var $abs = require('math-intrinsics/abs');
+var $floor = require('math-intrinsics/floor');
+var $pow = require('math-intrinsics/pow');
 
-var $abs = GetIntrinsic('%Math.abs%');
-var $floor = GetIntrinsic('%Math.floor%');
-var $pow = GetIntrinsic('%Math.pow%');
-
-var isFinite = require('./isFinite');
-var isNaN = require('./isNaN');
-var isNegativeZero = require('./isNegativeZero');
+var isFinite = require('math-intrinsics/isFinite');
+var isNaN = require('math-intrinsics/isNaN');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var maxFiniteFloat32 = 3.4028234663852886e+38; // roughly 2 ** 128 - 1
Index: imaps-frontend/node_modules/es-abstract/helpers/valueToFloat64Bytes.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/helpers/valueToFloat64Bytes.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/helpers/valueToFloat64Bytes.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -4,8 +4,9 @@
 
 var $parseInt = GetIntrinsic('%parseInt%');
-var $abs = GetIntrinsic('%Math.abs%');
-var $floor = GetIntrinsic('%Math.floor%');
+var $abs = require('math-intrinsics/abs');
+var $floor = require('math-intrinsics/floor');
+var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
-var callBound = require('call-bind/callBound');
+var callBound = require('call-bound');
 
 var $strIndexOf = callBound('String.prototype.indexOf');
@@ -14,5 +15,4 @@
 var fractionToBitString = require('../helpers/fractionToBinaryString');
 var intToBinString = require('../helpers/intToBinaryString');
-var isNegativeZero = require('./isNegativeZero');
 
 var float64bias = 1023;
Index: imaps-frontend/node_modules/es-abstract/package.json
===================================================================
--- imaps-frontend/node_modules/es-abstract/package.json	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/es-abstract/package.json	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -1,179 +1,224 @@
 {
-	"name": "es-abstract",
-	"version": "1.23.5",
-	"author": {
-		"name": "Jordan Harband",
-		"email": "ljharb@gmail.com",
-		"url": "http://ljharb.codes"
-	},
-	"funding": {
-		"url": "https://github.com/sponsors/ljharb"
-	},
-	"contributors": [
-		{
-			"name": "Jordan Harband",
-			"email": "ljharb@gmail.com",
-			"url": "http://ljharb.codes"
-		}
-	],
-	"description": "ECMAScript spec abstract operations.",
-	"license": "MIT",
-	"main": "index.js",
-	"browser": {
-		"worker_threads": false
-	},
-	"type": "commonjs",
-	"sideEffects": false,
-	"scripts": {
-		"spackled": "git ls-files | xargs git check-attr spackled | grep -v 'unspecified$' | cut -d: -f1",
-		"prespackle": "npm run --silent spackled | xargs rm || true",
-		"spackle": "node operations/spackle 1 && node operations/build-unicode.mjs",
-		"postspackle": "git ls-files | xargs git check-attr spackled | grep -v 'unspecified$' | cut -d: -f1 | xargs git add",
-		"prepack": "npmignore --auto --commentLines=autogenerated",
-		"prepublish": "not-in-publish || npm run prepublishOnly",
-		"prepublishOnly": "safe-publish-latest && npm run spackle",
-		"pretest": "npm run lint",
-		"test": "npm run tests-only && npm run test:ses",
-		"test:ses": "node test/ses-compat",
-		"posttest": "npx npm@'>= 10.2' audit --production",
-		"tests-only": "nyc node --stack-size=5120 test",
-		"lint": "eslint .",
-		"eccheck": "eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')"
-	},
-	"repository": {
-		"type": "git",
-		"url": "git://github.com/ljharb/es-abstract.git"
-	},
-	"keywords": [
-		"ECMAScript",
-		"ES",
-		"abstract",
-		"operation",
-		"abstract operation",
-		"JavaScript",
-		"ES5",
-		"ES6",
-		"ES7"
-	],
-	"dependencies": {
-		"array-buffer-byte-length": "^1.0.1",
-		"arraybuffer.prototype.slice": "^1.0.3",
-		"available-typed-arrays": "^1.0.7",
-		"call-bind": "^1.0.7",
-		"data-view-buffer": "^1.0.1",
-		"data-view-byte-length": "^1.0.1",
-		"data-view-byte-offset": "^1.0.0",
-		"es-define-property": "^1.0.0",
-		"es-errors": "^1.3.0",
-		"es-object-atoms": "^1.0.0",
-		"es-set-tostringtag": "^2.0.3",
-		"es-to-primitive": "^1.2.1",
-		"function.prototype.name": "^1.1.6",
-		"get-intrinsic": "^1.2.4",
-		"get-symbol-description": "^1.0.2",
-		"globalthis": "^1.0.4",
-		"gopd": "^1.0.1",
-		"has-property-descriptors": "^1.0.2",
-		"has-proto": "^1.0.3",
-		"has-symbols": "^1.0.3",
-		"hasown": "^2.0.2",
-		"internal-slot": "^1.0.7",
-		"is-array-buffer": "^3.0.4",
-		"is-callable": "^1.2.7",
-		"is-data-view": "^1.0.1",
-		"is-negative-zero": "^2.0.3",
-		"is-regex": "^1.1.4",
-		"is-shared-array-buffer": "^1.0.3",
-		"is-string": "^1.0.7",
-		"is-typed-array": "^1.1.13",
-		"is-weakref": "^1.0.2",
-		"object-inspect": "^1.13.3",
-		"object-keys": "^1.1.1",
-		"object.assign": "^4.1.5",
-		"regexp.prototype.flags": "^1.5.3",
-		"safe-array-concat": "^1.1.2",
-		"safe-regex-test": "^1.0.3",
-		"string.prototype.trim": "^1.2.9",
-		"string.prototype.trimend": "^1.0.8",
-		"string.prototype.trimstart": "^1.0.8",
-		"typed-array-buffer": "^1.0.2",
-		"typed-array-byte-length": "^1.0.1",
-		"typed-array-byte-offset": "^1.0.2",
-		"typed-array-length": "^1.0.6",
-		"unbox-primitive": "^1.0.2",
-		"which-typed-array": "^1.1.15"
-	},
-	"devDependencies": {
-		"@ljharb/eslint-config": "^21.1.1",
-		"@unicode/unicode-15.0.0": "^1.6.5",
-		"array.from": "^1.1.6",
-		"array.prototype.filter": "^1.0.4",
-		"array.prototype.flatmap": "^1.3.2",
-		"array.prototype.indexof": "^1.0.7",
-		"available-regexp-flags": "^1.0.4",
-		"cheerio": "=1.0.0-rc.3",
-		"define-accessor-property": "^1.0.0",
-		"define-data-property": "^1.1.4",
-		"diff": "^7.0.0",
-		"eclint": "^2.8.1",
-		"es-value-fixtures": "^1.5.0",
-		"eslint": "=8.8.0",
-		"for-each": "^0.3.3",
-		"function-bind": "^1.1.2",
-		"functions-have-names": "^1.2.3",
-		"glob": "=10.3.7",
-		"has-bigints": "^1.0.2",
-		"has-named-captures": "^1.0.0",
-		"has-strict-mode": "^1.0.1",
-		"in-publish": "^2.0.1",
-		"is-core-module": "^2.15.1",
-		"is-registered-symbol": "^1.0.1",
-		"jackspeak": "=2.1.1",
-		"make-arrow-function": "^1.2.0",
-		"make-async-function": "^1.0.0",
-		"make-async-generator-function": "^1.0.0",
-		"make-generator-function": "^2.0.0",
-		"mock-property": "^1.1.0",
-		"npmignore": "^0.3.1",
-		"nyc": "^10.3.2",
-		"object.fromentries": "^2.0.8",
-		"safe-bigint": "^1.1.0",
-		"safe-publish-latest": "^2.0.0",
-		"ses": "^1.9.1",
-		"tape": "^5.9.0"
-	},
-	"testling": {
-		"files": "test/index.js",
-		"browsers": [
-			"iexplore/6.0..latest",
-			"firefox/3.0..6.0",
-			"firefox/15.0..latest",
-			"firefox/nightly",
-			"chrome/4.0..10.0",
-			"chrome/20.0..latest",
-			"chrome/canary",
-			"opera/10.0..latest",
-			"opera/next",
-			"safari/4.0..latest",
-			"ipad/6.0..latest",
-			"iphone/6.0..latest",
-			"android-browser/4.2"
-		]
-	},
-	"engines": {
-		"node": ">= 0.4"
-	},
-	"publishConfig": {
-		"ignore": [
-			".github",
-			"",
-			"# dev scripts",
-			"operations/*.js",
-			"!operations/20*.js",
-			"",
-			"test/",
-			"",
-			".gitattributes"
-		]
-	}
+  "_from": "es-abstract@^1.23.2",
+  "_id": "es-abstract@1.23.9",
+  "_inBundle": false,
+  "_integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==",
+  "_location": "/es-abstract",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "es-abstract@^1.23.2",
+    "name": "es-abstract",
+    "escapedName": "es-abstract",
+    "rawSpec": "^1.23.2",
+    "saveSpec": null,
+    "fetchSpec": "^1.23.2"
+  },
+  "_requiredBy": [
+    "/array-includes",
+    "/array.prototype.findlast",
+    "/array.prototype.flat",
+    "/array.prototype.flatmap",
+    "/array.prototype.tosorted",
+    "/arraybuffer.prototype.slice",
+    "/es-iterator-helpers",
+    "/object.fromentries",
+    "/reflect.getprototypeof",
+    "/string.prototype.matchall",
+    "/string.prototype.repeat",
+    "/string.prototype.trim"
+  ],
+  "_resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz",
+  "_shasum": "5b45994b7de78dada5c1bebf1379646b32b9d606",
+  "_spec": "es-abstract@^1.23.2",
+  "_where": "/home/stevetosak/Proekt/IMaps/imaps-frontend/node_modules/array-includes",
+  "author": {
+    "name": "Jordan Harband",
+    "email": "ljharb@gmail.com",
+    "url": "http://ljharb.codes"
+  },
+  "browser": {
+    "worker_threads": false
+  },
+  "bugs": {
+    "url": "https://github.com/ljharb/es-abstract/issues"
+  },
+  "bundleDependencies": false,
+  "contributors": [
+    {
+      "name": "Jordan Harband",
+      "email": "ljharb@gmail.com",
+      "url": "http://ljharb.codes"
+    }
+  ],
+  "dependencies": {
+    "array-buffer-byte-length": "^1.0.2",
+    "arraybuffer.prototype.slice": "^1.0.4",
+    "available-typed-arrays": "^1.0.7",
+    "call-bind": "^1.0.8",
+    "call-bound": "^1.0.3",
+    "data-view-buffer": "^1.0.2",
+    "data-view-byte-length": "^1.0.2",
+    "data-view-byte-offset": "^1.0.1",
+    "es-define-property": "^1.0.1",
+    "es-errors": "^1.3.0",
+    "es-object-atoms": "^1.0.0",
+    "es-set-tostringtag": "^2.1.0",
+    "es-to-primitive": "^1.3.0",
+    "function.prototype.name": "^1.1.8",
+    "get-intrinsic": "^1.2.7",
+    "get-proto": "^1.0.0",
+    "get-symbol-description": "^1.1.0",
+    "globalthis": "^1.0.4",
+    "gopd": "^1.2.0",
+    "has-property-descriptors": "^1.0.2",
+    "has-proto": "^1.2.0",
+    "has-symbols": "^1.1.0",
+    "hasown": "^2.0.2",
+    "internal-slot": "^1.1.0",
+    "is-array-buffer": "^3.0.5",
+    "is-callable": "^1.2.7",
+    "is-data-view": "^1.0.2",
+    "is-regex": "^1.2.1",
+    "is-shared-array-buffer": "^1.0.4",
+    "is-string": "^1.1.1",
+    "is-typed-array": "^1.1.15",
+    "is-weakref": "^1.1.0",
+    "math-intrinsics": "^1.1.0",
+    "object-inspect": "^1.13.3",
+    "object-keys": "^1.1.1",
+    "object.assign": "^4.1.7",
+    "own-keys": "^1.0.1",
+    "regexp.prototype.flags": "^1.5.3",
+    "safe-array-concat": "^1.1.3",
+    "safe-push-apply": "^1.0.0",
+    "safe-regex-test": "^1.1.0",
+    "set-proto": "^1.0.0",
+    "string.prototype.trim": "^1.2.10",
+    "string.prototype.trimend": "^1.0.9",
+    "string.prototype.trimstart": "^1.0.8",
+    "typed-array-buffer": "^1.0.3",
+    "typed-array-byte-length": "^1.0.3",
+    "typed-array-byte-offset": "^1.0.4",
+    "typed-array-length": "^1.0.7",
+    "unbox-primitive": "^1.1.0",
+    "which-typed-array": "^1.1.18"
+  },
+  "deprecated": false,
+  "description": "ECMAScript spec abstract operations.",
+  "devDependencies": {
+    "@ljharb/eslint-config": "^21.1.1",
+    "@unicode/unicode-15.0.0": "^1.6.5",
+    "array.from": "^1.1.6",
+    "array.prototype.filter": "^1.0.4",
+    "array.prototype.flatmap": "^1.3.3",
+    "array.prototype.indexof": "^1.0.8",
+    "available-regexp-flags": "^1.0.4",
+    "cheerio": "=1.0.0-rc.3",
+    "define-accessor-property": "^1.0.0",
+    "define-data-property": "^1.1.4",
+    "diff": "^7.0.0",
+    "eclint": "^2.8.1",
+    "es-value-fixtures": "^1.5.0",
+    "eslint": "=8.8.0",
+    "for-each": "^0.3.3",
+    "function-bind": "^1.1.2",
+    "functions-have-names": "^1.2.3",
+    "glob": "=10.3.7",
+    "has-bigints": "^1.1.0",
+    "has-named-captures": "^1.0.0",
+    "has-strict-mode": "^1.0.1",
+    "in-publish": "^2.0.1",
+    "is-core-module": "^2.16.1",
+    "is-registered-symbol": "^1.1.1",
+    "jackspeak": "=2.1.1",
+    "make-arrow-function": "^1.2.0",
+    "make-async-function": "^1.0.0",
+    "make-async-generator-function": "^1.0.0",
+    "make-generator-function": "^2.0.0",
+    "mock-property": "^1.1.0",
+    "npmignore": "^0.3.1",
+    "nyc": "^10.3.2",
+    "object.fromentries": "^2.0.8",
+    "safe-bigint": "^1.1.1",
+    "safe-publish-latest": "^2.0.0",
+    "ses": "^1.9.1",
+    "tape": "^5.9.0"
+  },
+  "engines": {
+    "node": ">= 0.4"
+  },
+  "funding": {
+    "url": "https://github.com/sponsors/ljharb"
+  },
+  "homepage": "https://github.com/ljharb/es-abstract#readme",
+  "keywords": [
+    "ECMAScript",
+    "ES",
+    "abstract",
+    "operation",
+    "abstract operation",
+    "JavaScript",
+    "ES5",
+    "ES6",
+    "ES7"
+  ],
+  "license": "MIT",
+  "main": "index.js",
+  "name": "es-abstract",
+  "publishConfig": {
+    "ignore": [
+      ".github",
+      "",
+      "# dev scripts",
+      "operations/*.js",
+      "!operations/20*.js",
+      "",
+      "test/",
+      "",
+      ".gitattributes"
+    ]
+  },
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/ljharb/es-abstract.git"
+  },
+  "scripts": {
+    "eccheck": "eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')",
+    "lint": "eslint .",
+    "postspackle": "git ls-files | xargs git check-attr spackled | grep -v 'unspecified$' | cut -d: -f1 | xargs git add",
+    "posttest": "npx npm@'>= 10.2' audit --production",
+    "prepack": "npmignore --auto --commentLines=autogenerated",
+    "prepublish": "not-in-publish || npm run prepublishOnly",
+    "prepublishOnly": "safe-publish-latest && npm run spackle",
+    "prespackle": "npm run --silent spackled | xargs rm || true",
+    "pretest": "npm run lint",
+    "spackle": "node operations/spackle 1 && node operations/build-unicode.mjs",
+    "spackled": "git ls-files | xargs git check-attr spackled | grep -v 'unspecified$' | cut -d: -f1",
+    "test": "npm run tests-only && npm run test:ses",
+    "test:ses": "node test/ses-compat",
+    "tests-only": "nyc node --stack-size=5120 test"
+  },
+  "sideEffects": false,
+  "testling": {
+    "files": "test/index.js",
+    "browsers": [
+      "iexplore/6.0..latest",
+      "firefox/3.0..6.0",
+      "firefox/15.0..latest",
+      "firefox/nightly",
+      "chrome/4.0..10.0",
+      "chrome/20.0..latest",
+      "chrome/canary",
+      "opera/10.0..latest",
+      "opera/next",
+      "safari/4.0..latest",
+      "ipad/6.0..latest",
+      "iphone/6.0..latest",
+      "android-browser/4.2"
+    ]
+  },
+  "type": "commonjs",
+  "version": "1.23.9"
 }
Index: imaps-frontend/node_modules/es-abstract/tmp.mjs
===================================================================
--- imaps-frontend/node_modules/es-abstract/tmp.mjs	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/tmp.mjs	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,50 @@
+import { dirname, join } from 'path';
+import { readFileSync } from 'fs';
+import hasTypes from 'hastypes';
+import semver from 'semver';
+import { execSync } from 'child_process';
+import { createRequire } from 'module';
+import { pathToFileURL } from 'url';
+
+const packageJSONpath = join(process.cwd(), 'package.json');
+
+const require = createRequire(pathToFileURL(packageJSONpath));
+
+const { dependencies, devDependencies } = JSON.parse(readFileSync(packageJSONpath));
+
+const typesPackagesPresent = Object.entries(devDependencies).filter(([name]) => name.startsWith('@types/'));
+
+console.log(`Found ${typesPackagesPresent.length} \`@types/\` packages...`);
+
+const typesPackagesToRemove = Promise.all(typesPackagesPresent.filter(([x]) => x !== '@types/node').map(async ([name, version]) => {
+	const actualName = name.replace('@types/', '');
+	let actualVersion;
+	try {
+		actualVersion = JSON.parse(readFileSync(join(process.cwd(), 'node_modules', actualName, 'package.json'))).version;
+	} catch (e) {
+		console.error(e, join(actualName, '/package.json'));
+		return [name, , true];
+	}
+	const expectedVersion = `${semver.major(actualVersion)}.${semver.minor(actualVersion)}`;
+	const specifier = `${actualName}@${expectedVersion}`;
+
+	return [name, expectedVersion, await hasTypes(specifier)];
+})).then((x) => x.filter(([, , hasTypes]) => hasTypes === true));// .then((x) => x.map(([name, expectedVersion]) => [name, expectedVersion]));
+
+typesPackagesToRemove.then((x) => {
+	console.log(`Found ${x.length} \`@types/\` packages to remove...`);
+	console.log(x);
+	if (x.length > 0) {
+		execSync(`npm uninstall --save ${x.map(([name, version]) => `"${name}@${version}"`).join(' ')}`, { cwd: process.cwd() });
+	}
+});
+
+// const typesPackagesToAdd = Promise.all(
+// 	Object.entries(dependencies)
+// 		.filter(([name]) => !typesPackagesPresent.includes(`@types/${name}`))
+// 		.map(async ([name, version]) => {
+// 			const actualVersion = require(`${name}/package.json`).version;
+// 			const expectedVersion = `${semver.major(actualVersion)}.${semver.minor(actualVersion)}`;
+// 			console.log(specifier);
+// 		})
+// )
