function $parcel$interopDefault(a) { return a && a.__esModule ? a.default : a; } var $parcel$global = typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {}; var $parcel$modules = {}; var $parcel$inits = {}; var parcelRequire = $parcel$global["parcelRequire3a7c"]; if (parcelRequire == null) { parcelRequire = function(id) { if (id in $parcel$modules) { return $parcel$modules[id].exports; } if (id in $parcel$inits) { var init = $parcel$inits[id]; delete $parcel$inits[id]; var module = {id: id, exports: {}}; $parcel$modules[id] = module; init.call(module.exports, module, module.exports); return module.exports; } var err = new Error("Cannot find module '" + id + "'"); err.code = 'MODULE_NOT_FOUND'; throw err; }; parcelRequire.register = function register(id, init) { $parcel$inits[id] = init; }; $parcel$global["parcelRequire3a7c"] = parcelRequire; } parcelRequire.register("fOjch", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); }); parcelRequire.register("aS64J", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Failcode = void 0; module.exports.Failcode = { /** The type of the received primitive value is incompatible with expected one. */ TYPE_INCORRECT: "TYPE_INCORRECT", /** The received primitive value is incorrect. */ VALUE_INCORRECT: "VALUE_INCORRECT", /** The key of the property is incorrect. */ KEY_INCORRECT: "KEY_INCORRECT", /** One or more elements or properties of the received object are incorrect. */ CONTENT_INCORRECT: "CONTENT_INCORRECT", /** One or more arguments passed to the function is incorrect. */ ARGUMENT_INCORRECT: "ARGUMENT_INCORRECT", /** The value returned by the function is incorrect. */ RETURN_INCORRECT: "RETURN_INCORRECT", /** The received value does not fulfill the constraint. */ CONSTRAINT_FAILED: "CONSTRAINT_FAILED", /** The property must be present but missing. */ PROPERTY_MISSING: "PROPERTY_MISSING", /** The property must not be present but present. */ PROPERTY_PRESENT: "PROPERTY_PRESENT", /** The value must not be present but present. */ NOTHING_EXPECTED: "NOTHING_EXPECTED" }; }); parcelRequire.register("2mjVj", function(module, exports) { "use strict"; var $1b7d173c3c2a6178$var$__read = module.exports && module.exports.__read || function(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value); } catch (error) { e = { error: error }; } finally{ try { if (r && !r.done && (m = i["return"])) m.call(i); } finally{ if (e) throw e.error; } } return ar; }; var $1b7d173c3c2a6178$var$__spreadArray = module.exports && module.exports.__spreadArray || function(to, from, pack) { if (pack || arguments.length === 2) { for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Contract = void 0; var $2ca38 = parcelRequire("2ca38"); var $6oUCw = parcelRequire("6oUCw"); function $1b7d173c3c2a6178$var$Contract() { var runtypes = []; for(var _i = 0; _i < arguments.length; _i++)runtypes[_i] = arguments[_i]; var lastIndex = runtypes.length - 1; var argRuntypes = runtypes.slice(0, lastIndex); var returnRuntype = runtypes[lastIndex]; return { enforce: function(f) { return function() { var args = []; for(var _i = 0; _i < arguments.length; _i++)args[_i] = arguments[_i]; if (args.length < argRuntypes.length) { var message = "Expected ".concat(argRuntypes.length, " arguments but only received ").concat(args.length); var failure = $6oUCw.FAILURE.ARGUMENT_INCORRECT(message); throw new $2ca38.ValidationError(failure); } for(var i = 0; i < argRuntypes.length; i++)argRuntypes[i].check(args[i]); return returnRuntype.check(f.apply(void 0, $1b7d173c3c2a6178$var$__spreadArray([], $1b7d173c3c2a6178$var$__read(args), false))); }; } }; } module.exports.Contract = $1b7d173c3c2a6178$var$Contract; }); parcelRequire.register("2ca38", function(module, exports) { "use strict"; var $19947f6056075320$var$__extends = module.exports && module.exports.__extends || function() { var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] }) instanceof Array && function(d, b) { d.__proto__ = b; } || function(d, b) { for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; }(); Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.ValidationError = void 0; var $19947f6056075320$var$ValidationError = /** @class */ function(_super) { $19947f6056075320$var$__extends(ValidationError, _super); function ValidationError(failure) { var _this = _super.call(this, failure.message) || this; _this.name = "ValidationError"; _this.code = failure.code; if (failure.details !== undefined) _this.details = failure.details; Object.setPrototypeOf(_this, ValidationError.prototype); return _this; } return ValidationError; }(Error); module.exports.ValidationError = $19947f6056075320$var$ValidationError; }); parcelRequire.register("6oUCw", function(module, exports) { "use strict"; // Type guard to determine if an object has a given key var $4a90e7919713976f$var$__assign = module.exports && module.exports.__assign || function() { $4a90e7919713976f$var$__assign = Object.assign || function(t) { for(var s, i = 1, n = arguments.length; i < n; i++){ s = arguments[i]; for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return $4a90e7919713976f$var$__assign.apply(this, arguments); }; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.FAILURE = module.exports.SUCCESS = module.exports.enumerableKeysOf = module.exports.typeOf = module.exports.hasKey = void 0; var $aS64J = parcelRequire("aS64J"); var $h2ePP = parcelRequire("h2ePP"); // If this feature gets implemented, we can use `in` instead: https://github.com/Microsoft/TypeScript/issues/10485 function $4a90e7919713976f$var$hasKey(key, object) { return typeof object === "object" && object !== null && key in object; } module.exports.hasKey = $4a90e7919713976f$var$hasKey; var $4a90e7919713976f$var$typeOf = function(value) { var _a, _b, _c; return typeof value === "object" ? value === null ? "null" : Array.isArray(value) ? "array" : ((_a = value.constructor) === null || _a === void 0 ? void 0 : _a.name) === "Object" ? "object" : (_c = (_b = value.constructor) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : typeof value : typeof value; }; module.exports.typeOf = $4a90e7919713976f$var$typeOf; var $4a90e7919713976f$var$enumerableKeysOf = function(object) { return typeof object === "object" && object !== null ? Reflect.ownKeys(object).filter(function(key) { var _a, _b; return (_b = (_a = object.propertyIsEnumerable) === null || _a === void 0 ? void 0 : _a.call(object, key)) !== null && _b !== void 0 ? _b : true; }) : []; }; module.exports.enumerableKeysOf = $4a90e7919713976f$var$enumerableKeysOf; function $4a90e7919713976f$var$SUCCESS(value) { return { success: true, value: value }; } module.exports.SUCCESS = $4a90e7919713976f$var$SUCCESS; module.exports.FAILURE = Object.assign(function(code, message, details) { return $4a90e7919713976f$var$__assign({ success: false, code: code, message: message }, details ? { details: details } : {}); }, { TYPE_INCORRECT: function(self, value) { var message = "Expected ".concat(self.tag === "template" ? "string ".concat((0, $h2ePP.default)(self)) : (0, $h2ePP.default)(self), ", but was ").concat((0, module.exports.typeOf)(value)); return (0, module.exports.FAILURE)($aS64J.Failcode.TYPE_INCORRECT, message); }, VALUE_INCORRECT: function(name, expected, received) { return (0, module.exports.FAILURE)($aS64J.Failcode.VALUE_INCORRECT, "Expected ".concat(name, " ").concat(String(expected), ", but was ").concat(String(received))); }, KEY_INCORRECT: function(self, expected, value) { return (0, module.exports.FAILURE)($aS64J.Failcode.KEY_INCORRECT, "Expected ".concat((0, $h2ePP.default)(self), " key to be ").concat((0, $h2ePP.default)(expected), ", but was ").concat((0, module.exports.typeOf)(value))); }, CONTENT_INCORRECT: function(self, details) { var formattedDetails = JSON.stringify(details, null, 2).replace(/^ *null,\n/gm, ""); var message = "Validation failed:\n".concat(formattedDetails, ".\nObject should match ").concat((0, $h2ePP.default)(self)); return (0, module.exports.FAILURE)($aS64J.Failcode.CONTENT_INCORRECT, message, details); }, ARGUMENT_INCORRECT: function(message) { return (0, module.exports.FAILURE)($aS64J.Failcode.ARGUMENT_INCORRECT, message); }, RETURN_INCORRECT: function(message) { return (0, module.exports.FAILURE)($aS64J.Failcode.RETURN_INCORRECT, message); }, CONSTRAINT_FAILED: function(self, message) { var info = message ? ": ".concat(message) : ""; return (0, module.exports.FAILURE)($aS64J.Failcode.CONSTRAINT_FAILED, "Failed constraint check for ".concat((0, $h2ePP.default)(self)).concat(info)); }, PROPERTY_MISSING: function(self) { var message = "Expected ".concat((0, $h2ePP.default)(self), ", but was missing"); return (0, module.exports.FAILURE)($aS64J.Failcode.PROPERTY_MISSING, message); }, PROPERTY_PRESENT: function(value) { var message = "Expected nothing, but was ".concat((0, module.exports.typeOf)(value)); return (0, module.exports.FAILURE)($aS64J.Failcode.PROPERTY_PRESENT, message); }, NOTHING_EXPECTED: function(value) { var message = "Expected nothing, but was ".concat((0, module.exports.typeOf)(value)); return (0, module.exports.FAILURE)($aS64J.Failcode.NOTHING_EXPECTED, message); } }); }); parcelRequire.register("h2ePP", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); /** * Return the display string for the stringified version of a type, e.g. * * - `Number` -> `` `${number}` `` * - `String` -> `string` * - `Literal(42)` -> `"42"` * - `Union(Literal("foo"), Number)` -> `` "foo" | `${number}` `` */ var $0333531ed04758ba$var$showStringified = function(circular) { return function(refl) { switch(refl.tag){ case "literal": return '"'.concat(String(refl.value), '"'); case "string": return "string"; case "brand": return refl.brand; case "constraint": return refl.name || $0333531ed04758ba$var$showStringified(circular)(refl.underlying); case "union": return refl.alternatives.map($0333531ed04758ba$var$showStringified(circular)).join(" | "); case "intersect": return refl.intersectees.map($0333531ed04758ba$var$showStringified(circular)).join(" & "); default: break; } return "`${".concat($0333531ed04758ba$var$show(false, circular)(refl), "}`"); }; }; /** * Return the display string which is to be embedded into the display string of * the surrounding template literal type, e.g. * * - `Number` -> `${number}` * - `String` -> `${string}` * - `Literal("foo")` -> `foo` * - `Union(Literal(42), Number)` -> `${"42" | number}` */ var $0333531ed04758ba$var$showEmbedded = function(circular) { return function(refl) { switch(refl.tag){ case "literal": return String(refl.value); case "brand": return "${".concat(refl.brand, "}"); case "constraint": return refl.name ? "${".concat(refl.name, "}") : $0333531ed04758ba$var$showEmbedded(circular)(refl.underlying); case "union": if (refl.alternatives.length === 1) { var inner = refl.alternatives[0]; return $0333531ed04758ba$var$showEmbedded(circular)(inner.reflect); } break; case "intersect": if (refl.intersectees.length === 1) { var inner = refl.intersectees[0]; return $0333531ed04758ba$var$showEmbedded(circular)(inner.reflect); } break; default: break; } return "${".concat($0333531ed04758ba$var$show(false, circular)(refl), "}"); }; }; var $0333531ed04758ba$var$show = function(needsParens, circular) { return function(refl) { var parenthesize = function(s) { return needsParens ? "(".concat(s, ")") : s; }; if (circular.has(refl)) return parenthesize("CIRCULAR ".concat(refl.tag)); else circular.add(refl); try { switch(refl.tag){ // Primitive types case "unknown": case "never": case "void": case "boolean": case "number": case "bigint": case "string": case "symbol": case "function": return refl.tag; case "literal": var value = refl.value; return typeof value === "string" ? '"'.concat(value, '"') : String(value); // Complex types case "template": if (refl.strings.length === 0) return '""'; else if (refl.strings.length === 1) return '"'.concat(refl.strings[0], '"'); else if (refl.strings.length === 2) { if (refl.strings.every(function(string) { return string === ""; })) { var runtype = refl.runtypes[0]; return $0333531ed04758ba$var$showStringified(circular)(runtype.reflect); } } var backtick_1 = false; var inner = refl.strings.reduce(function(inner, string, i) { var prefix = inner + string; var runtype = refl.runtypes[i]; if (runtype) { var suffix = $0333531ed04758ba$var$showEmbedded(circular)(runtype.reflect); if (!backtick_1 && suffix.startsWith("$")) backtick_1 = true; return prefix + suffix; } else return prefix; }, ""); return backtick_1 ? "`".concat(inner, "`") : '"'.concat(inner, '"'); case "array": return "".concat($0333531ed04758ba$var$readonlyTag(refl)).concat($0333531ed04758ba$var$show(true, circular)(refl.element), "[]"); case "dictionary": return "{ [_: ".concat(refl.key, "]: ").concat($0333531ed04758ba$var$show(false, circular)(refl.value), " }"); case "record": var keys = Object.keys(refl.fields); return keys.length ? "{ ".concat(keys.map(function(k) { return "".concat($0333531ed04758ba$var$readonlyTag(refl)).concat(k).concat($0333531ed04758ba$var$partialTag(refl, k), ": ").concat(refl.fields[k].tag === "optional" ? $0333531ed04758ba$var$show(false, circular)(refl.fields[k].underlying) : $0333531ed04758ba$var$show(false, circular)(refl.fields[k]), ";"); }).join(" "), " }") : "{}"; case "tuple": return "[".concat(refl.components.map($0333531ed04758ba$var$show(false, circular)).join(", "), "]"); case "union": return parenthesize("".concat(refl.alternatives.map($0333531ed04758ba$var$show(true, circular)).join(" | "))); case "intersect": return parenthesize("".concat(refl.intersectees.map($0333531ed04758ba$var$show(true, circular)).join(" & "))); case "optional": return $0333531ed04758ba$var$show(needsParens, circular)(refl.underlying) + " | undefined"; case "constraint": return refl.name || $0333531ed04758ba$var$show(needsParens, circular)(refl.underlying); case "instanceof": return refl.ctor.name; case "brand": return $0333531ed04758ba$var$show(needsParens, circular)(refl.entity); } } finally{ circular.delete(refl); } /* istanbul ignore next */ throw Error("impossible"); }; }; module.exports.default = $0333531ed04758ba$var$show(false, new Set()); function $0333531ed04758ba$var$partialTag(_a, key) { var isPartial = _a.isPartial, fields = _a.fields; return isPartial || key !== undefined && fields[key].tag === "optional" ? "?" : ""; } function $0333531ed04758ba$var$readonlyTag(_a) { var isReadonly = _a.isReadonly; return isReadonly ? "readonly " : ""; } }); parcelRequire.register("1Kped", function(module, exports) { "use strict"; var $145da82738837f56$var$__read = module.exports && module.exports.__read || function(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value); } catch (error) { e = { error: error }; } finally{ try { if (r && !r.done && (m = i["return"])) m.call(i); } finally{ if (e) throw e.error; } } return ar; }; var $145da82738837f56$var$__spreadArray = module.exports && module.exports.__spreadArray || function(to, from, pack) { if (pack || arguments.length === 2) { for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.AsyncContract = void 0; var $2ca38 = parcelRequire("2ca38"); var $6oUCw = parcelRequire("6oUCw"); function $145da82738837f56$var$AsyncContract() { var runtypes = []; for(var _i = 0; _i < arguments.length; _i++)runtypes[_i] = arguments[_i]; var lastIndex = runtypes.length - 1; var argRuntypes = runtypes.slice(0, lastIndex); var returnRuntype = runtypes[lastIndex]; return { enforce: function(f) { return function() { var args = []; for(var _i = 0; _i < arguments.length; _i++)args[_i] = arguments[_i]; if (args.length < argRuntypes.length) { var message = "Expected ".concat(argRuntypes.length, " arguments but only received ").concat(args.length); var failure = $6oUCw.FAILURE.ARGUMENT_INCORRECT(message); throw new $2ca38.ValidationError(failure); } for(var i = 0; i < argRuntypes.length; i++)argRuntypes[i].check(args[i]); var returnedPromise = f.apply(void 0, $145da82738837f56$var$__spreadArray([], $145da82738837f56$var$__read(args), false)); if (!(returnedPromise instanceof Promise)) { var message = "Expected function to return a promise, but instead got ".concat(returnedPromise); var failure = $6oUCw.FAILURE.RETURN_INCORRECT(message); throw new $2ca38.ValidationError(failure); } return returnedPromise.then(returnRuntype.check); }; } }; } module.exports.AsyncContract = $145da82738837f56$var$AsyncContract; }); parcelRequire.register("dbhOg", function(module, exports) { "use strict"; var $0279f83a07dd67cb$var$__values = module.exports && module.exports.__values || function(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function() { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); }; var $0279f83a07dd67cb$var$__read = module.exports && module.exports.__read || function(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value); } catch (error) { e = { error: error }; } finally{ try { if (r && !r.done && (m = i["return"])) m.call(i); } finally{ if (e) throw e.error; } } return ar; }; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.when = module.exports.match = void 0; function $0279f83a07dd67cb$var$match() { var cases = []; for(var _i = 0; _i < arguments.length; _i++)cases[_i] = arguments[_i]; return function(x) { var e_1, _a; try { for(var cases_1 = $0279f83a07dd67cb$var$__values(cases), cases_1_1 = cases_1.next(); !cases_1_1.done; cases_1_1 = cases_1.next()){ var _b = $0279f83a07dd67cb$var$__read(cases_1_1.value, 2), T = _b[0], f = _b[1]; if (T.guard(x)) return f(x); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally{ try { if (cases_1_1 && !cases_1_1.done && (_a = cases_1.return)) _a.call(cases_1); } finally{ if (e_1) throw e_1.error; } } throw new Error("No alternatives were matched"); }; } module.exports.match = $0279f83a07dd67cb$var$match; function $0279f83a07dd67cb$var$when(runtype, transformer) { return [ runtype, transformer ]; } module.exports.when = $0279f83a07dd67cb$var$when; }); parcelRequire.register("dZYto", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Unknown = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $a30fe1895d150519$var$self = { tag: "unknown" }; /** * Validates anything, but provides no new type information about it. */ module.exports.Unknown = (0, $egFNO.create)(function(value) { return (0, $6oUCw.SUCCESS)(value); }, $a30fe1895d150519$var$self); }); parcelRequire.register("egFNO", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.innerValidate = module.exports.create = module.exports.isRuntype = void 0; var $lqQfO = parcelRequire("lqQfO"); var $h2ePP = parcelRequire("h2ePP"); var $2ca38 = parcelRequire("2ca38"); var $6oUCw = parcelRequire("6oUCw"); var $a632fc6247e90ceb$var$RuntypeSymbol = Symbol(); var $a632fc6247e90ceb$var$isRuntype = function(x) { return (0, $6oUCw.hasKey)($a632fc6247e90ceb$var$RuntypeSymbol, x); }; module.exports.isRuntype = $a632fc6247e90ceb$var$isRuntype; function $a632fc6247e90ceb$var$create(validate, A) { A[$a632fc6247e90ceb$var$RuntypeSymbol] = true; A.check = check; A.assert = check; A._innerValidate = function(value, visited) { if (visited.has(value, A)) return (0, $6oUCw.SUCCESS)(value); return validate(value, visited); }; A.validate = function(value) { return A._innerValidate(value, $a632fc6247e90ceb$var$VisitedState()); }; A.guard = guard; A.Or = Or; A.And = And; A.optional = optional; A.nullable = nullable; A.withConstraint = withConstraint; A.withGuard = withGuard; A.withBrand = withBrand; A.reflect = A; A.toString = function() { return "Runtype<".concat((0, $h2ePP.default)(A), ">"); }; return A; function check(x) { var result = A.validate(x); if (result.success) return result.value; else throw new $2ca38.ValidationError(result); } function guard(x) { return A.validate(x).success; } function Or(B) { return (0, $lqQfO.Union)(A, B); } function And(B) { return (0, $lqQfO.Intersect)(A, B); } function optional() { return (0, $lqQfO.Optional)(A); } function nullable() { return (0, $lqQfO.Union)(A, $lqQfO.Null); } function withConstraint(constraint, options) { return (0, $lqQfO.Constraint)(A, constraint, options); } function withGuard(guard, options) { return (0, $lqQfO.Constraint)(A, guard, options); } function withBrand(B) { return (0, $lqQfO.Brand)(B, A); } } module.exports.create = $a632fc6247e90ceb$var$create; function $a632fc6247e90ceb$var$innerValidate(targetType, value, visited) { return targetType._innerValidate(value, visited); } module.exports.innerValidate = $a632fc6247e90ceb$var$innerValidate; function $a632fc6247e90ceb$var$VisitedState() { var members = new WeakMap(); var add = function(candidate, type) { if (candidate === null || !(typeof candidate === "object")) return; var typeSet = members.get(candidate); members.set(candidate, typeSet ? typeSet.set(type, true) : new WeakMap().set(type, true)); }; var has = function(candidate, type) { var typeSet = members.get(candidate); var value = typeSet && typeSet.get(type) || false; add(candidate, type); return value; }; return { has: has }; } }); parcelRequire.register("lqQfO", function(module, exports) { "use strict"; var $f9a48f4342edde41$var$__createBinding = module.exports && module.exports.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); } : function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; }); var $f9a48f4342edde41$var$__exportStar = module.exports && module.exports.__exportStar || function(m, exports1) { for(var p in m)if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports1, p)) $f9a48f4342edde41$var$__createBinding(exports1, m, p); }; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.InstanceOf = module.exports.Nullish = module.exports.Null = module.exports.Undefined = module.exports.Literal = void 0; $f9a48f4342edde41$var$__exportStar((parcelRequire("fOjch")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("aS64J")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("2mjVj")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("1Kped")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("dbhOg")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("2ca38")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("dZYto")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("dVXx7")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("gDjcO")), module.exports); var $dTrDS = parcelRequire("dTrDS"); Object.defineProperty(module.exports, "Literal", { enumerable: true, get: function() { return $dTrDS.Literal; } }); Object.defineProperty(module.exports, "Undefined", { enumerable: true, get: function() { return $dTrDS.Undefined; } }); Object.defineProperty(module.exports, "Null", { enumerable: true, get: function() { return $dTrDS.Null; } }); Object.defineProperty(module.exports, "Nullish", { enumerable: true, get: function() { return $dTrDS.Nullish; } }); $f9a48f4342edde41$var$__exportStar((parcelRequire("gpGHG")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("hYmOD")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("atkMS")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("ezlPa")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("0R4gy")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("hU0qY")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("bWUtM")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("mTen5")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("kdq0i")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("hWvxe")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("gAEwD")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("l5akw")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("ecedT")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("hwIjz")), module.exports); var $4rJjk = parcelRequire("4rJjk"); Object.defineProperty(module.exports, "InstanceOf", { enumerable: true, get: function() { return $4rJjk.InstanceOf; } }); $f9a48f4342edde41$var$__exportStar((parcelRequire("fPugO")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("cv2D6")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("iUrNv")), module.exports); $f9a48f4342edde41$var$__exportStar((parcelRequire("ksaLj")), module.exports); }); parcelRequire.register("dVXx7", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Never = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $a24ec74688a9949c$var$self = { tag: "never" }; /** * Validates nothing (unknown fails). */ module.exports.Never = (0, $egFNO.create)($6oUCw.FAILURE.NOTHING_EXPECTED, $a24ec74688a9949c$var$self); }); parcelRequire.register("gDjcO", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Void = void 0; var $dZYto = parcelRequire("dZYto"); /** * Void is an alias for Unknown * * @deprecated Please use Unknown instead */ module.exports.Void = $dZYto.Unknown; }); parcelRequire.register("dTrDS", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Nullish = module.exports.Null = module.exports.Undefined = module.exports.Literal = module.exports.literal = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $gAEwD = parcelRequire("gAEwD"); /** * Be aware of an Array of Symbols `[Symbol()]` which would throw "TypeError: Cannot convert a Symbol value to a string" */ function $a1d5da8e6c189a39$var$literal(value) { return Array.isArray(value) ? String(value.map(String)) : typeof value === "bigint" ? String(value) + "n" : String(value); } module.exports.literal = $a1d5da8e6c189a39$var$literal; /** * Construct a runtype for a type literal. */ function $a1d5da8e6c189a39$var$Literal(valueBase) { var self = { tag: "literal", value: valueBase }; return (0, $egFNO.create)(function(value) { return value === valueBase ? (0, $6oUCw.SUCCESS)(value) : $6oUCw.FAILURE.VALUE_INCORRECT("literal", "`".concat($a1d5da8e6c189a39$var$literal(valueBase), "`"), "`".concat($a1d5da8e6c189a39$var$literal(value), "`")); }, self); } module.exports.Literal = $a1d5da8e6c189a39$var$Literal; /** * An alias for Literal(undefined). */ module.exports.Undefined = $a1d5da8e6c189a39$var$Literal(undefined); /** * An alias for Literal(null). */ module.exports.Null = $a1d5da8e6c189a39$var$Literal(null); /** * An alias for `Union(Null, Undefined)`. */ module.exports.Nullish = (0, $gAEwD.Union)(module.exports.Null, module.exports.Undefined); }); parcelRequire.register("gAEwD", function(module, exports) { "use strict"; var $c13f719e8c64161e$var$__values = module.exports && module.exports.__values || function(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function() { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); }; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Union = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); /** * Construct a union runtype from runtypes for its alternatives. */ function $c13f719e8c64161e$var$Union() { var alternatives = []; for(var _i = 0; _i < arguments.length; _i++)alternatives[_i] = arguments[_i]; var match = function() { var cases = []; for(var _i = 0; _i < arguments.length; _i++)cases[_i] = arguments[_i]; return function(x) { for(var i = 0; i < alternatives.length; i++){ if (alternatives[i].guard(x)) return cases[i](x); } }; }; var self = { tag: "union", alternatives: alternatives, match: match }; return (0, $egFNO.create)(function(value, visited) { var e_1, _a, e_2, _b, e_3, _c, e_4, _d; if (typeof value !== "object" || value === null) { try { for(var alternatives_1 = $c13f719e8c64161e$var$__values(alternatives), alternatives_1_1 = alternatives_1.next(); !alternatives_1_1.done; alternatives_1_1 = alternatives_1.next()){ var alternative = alternatives_1_1.value; if ((0, $egFNO.innerValidate)(alternative, value, visited).success) return (0, $6oUCw.SUCCESS)(value); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally{ try { if (alternatives_1_1 && !alternatives_1_1.done && (_a = alternatives_1.return)) _a.call(alternatives_1); } finally{ if (e_1) throw e_1.error; } } return $6oUCw.FAILURE.TYPE_INCORRECT(self, value); } var commonLiteralFields = {}; try { for(var alternatives_2 = $c13f719e8c64161e$var$__values(alternatives), alternatives_2_1 = alternatives_2.next(); !alternatives_2_1.done; alternatives_2_1 = alternatives_2.next()){ var alternative = alternatives_2_1.value; if (alternative.reflect.tag === "record") { var _loop_1 = function(fieldName) { var field = alternative.reflect.fields[fieldName]; if (field.tag === "literal") { if (commonLiteralFields[fieldName]) { if (commonLiteralFields[fieldName].every(function(value) { return value !== field.value; })) commonLiteralFields[fieldName].push(field.value); } else commonLiteralFields[fieldName] = [ field.value ]; } }; for(var fieldName in alternative.reflect.fields)_loop_1(fieldName); } } } catch (e_2_1) { e_2 = { error: e_2_1 }; } finally{ try { if (alternatives_2_1 && !alternatives_2_1.done && (_b = alternatives_2.return)) _b.call(alternatives_2); } finally{ if (e_2) throw e_2.error; } } for(var fieldName in commonLiteralFields){ if (commonLiteralFields[fieldName].length === alternatives.length) try { for(var alternatives_3 = (e_3 = void 0, $c13f719e8c64161e$var$__values(alternatives)), alternatives_3_1 = alternatives_3.next(); !alternatives_3_1.done; alternatives_3_1 = alternatives_3.next()){ var alternative = alternatives_3_1.value; if (alternative.reflect.tag === "record") { var field = alternative.reflect.fields[fieldName]; if (field.tag === "literal" && (0, $6oUCw.hasKey)(fieldName, value) && value[fieldName] === field.value) return (0, $egFNO.innerValidate)(alternative, value, visited); } } } catch (e_3_1) { e_3 = { error: e_3_1 }; } finally{ try { if (alternatives_3_1 && !alternatives_3_1.done && (_c = alternatives_3.return)) _c.call(alternatives_3); } finally{ if (e_3) throw e_3.error; } } } try { for(var alternatives_4 = $c13f719e8c64161e$var$__values(alternatives), alternatives_4_1 = alternatives_4.next(); !alternatives_4_1.done; alternatives_4_1 = alternatives_4.next()){ var targetType = alternatives_4_1.value; if ((0, $egFNO.innerValidate)(targetType, value, visited).success) return (0, $6oUCw.SUCCESS)(value); } } catch (e_4_1) { e_4 = { error: e_4_1 }; } finally{ try { if (alternatives_4_1 && !alternatives_4_1.done && (_d = alternatives_4.return)) _d.call(alternatives_4); } finally{ if (e_4) throw e_4.error; } } return $6oUCw.FAILURE.TYPE_INCORRECT(self, value); }, self); } module.exports.Union = $c13f719e8c64161e$var$Union; }); parcelRequire.register("gpGHG", function(module, exports) { "use strict"; var $bf301b2a2bee188d$var$__read = module.exports && module.exports.__read || function(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value); } catch (error) { e = { error: error }; } finally{ try { if (r && !r.done && (m = i["return"])) m.call(i); } finally{ if (e) throw e.error; } } return ar; }; var $bf301b2a2bee188d$var$__spreadArray = module.exports && module.exports.__spreadArray || function(to, from, pack) { if (pack || arguments.length === 2) { for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; var $bf301b2a2bee188d$var$__values = module.exports && module.exports.__values || function(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function() { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); }; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Template = void 0; var $egFNO = parcelRequire("egFNO"); var $h2ePP = parcelRequire("h2ePP"); var $6oUCw = parcelRequire("6oUCw"); var $dTrDS = parcelRequire("dTrDS"); // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping var $bf301b2a2bee188d$var$escapeRegExp = function(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); }; var $bf301b2a2bee188d$var$parseArgs = function(args) { // If the first element is an `Array`, maybe it's called by the tagged style if (0 < args.length && Array.isArray(args[0])) { var _a = $bf301b2a2bee188d$var$__read(args), strings = _a[0], runtypes = _a.slice(1); // For further manipulation, recreate an `Array` because `TemplateStringsArray` is readonly return [ Array.from(strings), runtypes ]; } else { var convenient = args; var strings = convenient.reduce(function(strings, arg) { // Concatenate every consecutive literals as strings if (!(0, $egFNO.isRuntype)(arg)) strings.push(strings.pop() + String(arg)); else strings.push(""); return strings; }, [ "" ]); var runtypes = convenient.filter($egFNO.isRuntype); return [ strings, runtypes ]; } }; /** * Flatten inner runtypes of a `Template` if possible, with in-place strategy */ var $bf301b2a2bee188d$var$flattenInnerRuntypes = function(strings, runtypes) { for(var i = 0; i < runtypes.length;)switch(runtypes[i].reflect.tag){ case "literal": var literal_2 = runtypes[i]; runtypes.splice(i, 1); var string = String(literal_2.value); strings.splice(i, 2, strings[i] + string + strings[i + 1]); break; case "template": var template = runtypes[i]; runtypes.splice.apply(runtypes, $bf301b2a2bee188d$var$__spreadArray([ i, 1 ], $bf301b2a2bee188d$var$__read(template.runtypes), false)); var innerStrings = template.strings; if (innerStrings.length === 1) strings.splice(i, 2, strings[i] + innerStrings[0] + strings[i + 1]); else { var first = innerStrings[0]; var rest = innerStrings.slice(1, -1); var last = innerStrings[innerStrings.length - 1]; strings.splice.apply(strings, $bf301b2a2bee188d$var$__spreadArray($bf301b2a2bee188d$var$__spreadArray([ i, 2, strings[i] + first ], $bf301b2a2bee188d$var$__read(rest), false), [ last + strings[i + 1] ], false)); } break; case "union": var union = runtypes[i]; if (union.alternatives.length === 1) try { var literal_3 = $bf301b2a2bee188d$var$getInnerLiteral(union); runtypes.splice(i, 1); var string = String(literal_3.value); strings.splice(i, 2, strings[i] + string + strings[i + 1]); break; } catch (_) { i++; break; } else { i++; break; } case "intersect": var intersect = runtypes[i]; if (intersect.intersectees.length === 1) try { var literal_4 = $bf301b2a2bee188d$var$getInnerLiteral(intersect); runtypes.splice(i, 1); var string = String(literal_4.value); strings.splice(i, 2, strings[i] + string + strings[i + 1]); break; } catch (_) { i++; break; } else { i++; break; } default: i++; break; } }; var $bf301b2a2bee188d$var$normalizeArgs = function(args) { var _a = $bf301b2a2bee188d$var$__read($bf301b2a2bee188d$var$parseArgs(args), 2), strings = _a[0], runtypes = _a[1]; $bf301b2a2bee188d$var$flattenInnerRuntypes(strings, runtypes); return [ strings, runtypes ]; }; var $bf301b2a2bee188d$var$getInnerLiteral = function(runtype) { switch(runtype.reflect.tag){ case "literal": return runtype; case "brand": return $bf301b2a2bee188d$var$getInnerLiteral(runtype.reflect.entity); case "union": if (runtype.reflect.alternatives.length === 1) return $bf301b2a2bee188d$var$getInnerLiteral(runtype.reflect.alternatives[0]); break; case "intersect": if (runtype.reflect.intersectees.length === 1) return $bf301b2a2bee188d$var$getInnerLiteral(runtype.reflect.intersectees[0]); break; default: break; } throw undefined; }; var $bf301b2a2bee188d$var$identity = function(s) { return s; }; var $bf301b2a2bee188d$var$revivers = { string: [ function(s) { return globalThis.String(s); }, ".*" ], number: [ function(s) { return globalThis.Number(s); }, "[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)(?:[Ee][+-]?\\d+)?", "0[Bb][01]+", "0[Oo][0-7]+", "0[Xx][0-9A-Fa-f]+" ], bigint: [ function(s) { return globalThis.BigInt(s); }, "-?[1-9]d*" ], boolean: [ function(s) { return s === "false" ? false : true; }, "true", "false" ], null: [ function() { return null; }, "null" ], undefined: [ function() { return undefined; }, "undefined" ] }; var $bf301b2a2bee188d$var$getReviversFor = function(reflect) { switch(reflect.tag){ case "literal": var _a = $bf301b2a2bee188d$var$__read($bf301b2a2bee188d$var$revivers[(0, $6oUCw.typeOf)(reflect.value)] || [ $bf301b2a2bee188d$var$identity ], 1), reviver_1 = _a[0]; return reviver_1; case "brand": return $bf301b2a2bee188d$var$getReviversFor(reflect.entity); case "constraint": return $bf301b2a2bee188d$var$getReviversFor(reflect.underlying); case "union": return reflect.alternatives.map($bf301b2a2bee188d$var$getReviversFor); case "intersect": return reflect.intersectees.map($bf301b2a2bee188d$var$getReviversFor); default: var _b = $bf301b2a2bee188d$var$__read($bf301b2a2bee188d$var$revivers[reflect.tag] || [ $bf301b2a2bee188d$var$identity ], 1), reviver = _b[0]; return reviver; } }; /** Recursively map corresponding reviver and */ var $bf301b2a2bee188d$var$reviveValidate = function(reflect, visited) { return function(value) { var e_1, _a, e_2, _b; var revivers = $bf301b2a2bee188d$var$getReviversFor(reflect); if (Array.isArray(revivers)) switch(reflect.tag){ case "union": try { for(var _c = $bf301b2a2bee188d$var$__values(reflect.alternatives), _d = _c.next(); !_d.done; _d = _c.next()){ var alternative = _d.value; var validated = $bf301b2a2bee188d$var$reviveValidate(alternative.reflect, visited)(value); if (validated.success) return validated; } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally{ try { if (_d && !_d.done && (_a = _c.return)) _a.call(_c); } finally{ if (e_1) throw e_1.error; } } return $6oUCw.FAILURE.TYPE_INCORRECT(reflect, value); case "intersect": try { for(var _e = $bf301b2a2bee188d$var$__values(reflect.intersectees), _f = _e.next(); !_f.done; _f = _e.next()){ var intersectee = _f.value; var validated = $bf301b2a2bee188d$var$reviveValidate(intersectee.reflect, visited)(value); if (!validated.success) return validated; } } catch (e_2_1) { e_2 = { error: e_2_1 }; } finally{ try { if (_f && !_f.done && (_b = _e.return)) _b.call(_e); } finally{ if (e_2) throw e_2.error; } } return (0, $6oUCw.SUCCESS)(value); default: /* istanbul ignore next */ throw Error("impossible"); } else { var reviver = revivers; var validated = (0, $egFNO.innerValidate)(reflect, reviver(value), visited); if (!validated.success && validated.code === "VALUE_INCORRECT" && reflect.tag === "literal") // TODO: Temporary fix to show unrevived value in message; needs refactor return $6oUCw.FAILURE.VALUE_INCORRECT("literal", '"'.concat((0, $dTrDS.literal)(reflect.value), '"'), '"'.concat(value, '"')); return validated; } }; }; var $bf301b2a2bee188d$var$getRegExpPatternFor = function(reflect) { switch(reflect.tag){ case "literal": return $bf301b2a2bee188d$var$escapeRegExp(String(reflect.value)); case "brand": return $bf301b2a2bee188d$var$getRegExpPatternFor(reflect.entity); case "constraint": return $bf301b2a2bee188d$var$getRegExpPatternFor(reflect.underlying); case "union": return reflect.alternatives.map($bf301b2a2bee188d$var$getRegExpPatternFor).join("|"); case "template": return reflect.strings.map($bf301b2a2bee188d$var$escapeRegExp).reduce(function(pattern, string, i) { var prefix = pattern + string; var runtype = reflect.runtypes[i]; if (runtype) return prefix + "(?:".concat($bf301b2a2bee188d$var$getRegExpPatternFor(runtype.reflect), ")"); else return prefix; }, ""); default: var _a = $bf301b2a2bee188d$var$__read($bf301b2a2bee188d$var$revivers[reflect.tag] || [ undefined, ".*" ]), patterns = _a.slice(1); return patterns.join("|"); } }; var $bf301b2a2bee188d$var$createRegExpForTemplate = function(reflect) { var pattern = reflect.strings.map($bf301b2a2bee188d$var$escapeRegExp).reduce(function(pattern, string, i) { var prefix = pattern + string; var runtype = reflect.runtypes[i]; if (runtype) return prefix + "(".concat($bf301b2a2bee188d$var$getRegExpPatternFor(runtype.reflect), ")"); else return prefix; }, ""); return new RegExp("^".concat(pattern, "$"), "su"); }; function $bf301b2a2bee188d$var$Template() { var args = []; for(var _i = 0; _i < arguments.length; _i++)args[_i] = arguments[_i]; var _a = $bf301b2a2bee188d$var$__read($bf301b2a2bee188d$var$normalizeArgs(args), 2), strings = _a[0], runtypes = _a[1]; var self = { tag: "template", strings: strings, runtypes: runtypes }; var regexp = $bf301b2a2bee188d$var$createRegExpForTemplate(self); var test = function(value, visited) { var matches = value.match(regexp); if (matches) { var values = matches.slice(1); for(var i = 0; i < runtypes.length; i++){ var runtype = runtypes[i]; var value_1 = values[i]; var validated = $bf301b2a2bee188d$var$reviveValidate(runtype.reflect, visited)(value_1); if (!validated.success) return validated; } return (0, $6oUCw.SUCCESS)(value); } else return $6oUCw.FAILURE.VALUE_INCORRECT("string", "".concat((0, $h2ePP.default)(self)), '"'.concat((0, $dTrDS.literal)(value), '"')); }; return (0, $egFNO.create)(function(value, visited) { if (typeof value !== "string") return $6oUCw.FAILURE.TYPE_INCORRECT(self, value); else { var validated = test(value, visited); if (!validated.success) { var result = $6oUCw.FAILURE.VALUE_INCORRECT("string", "".concat((0, $h2ePP.default)(self)), '"'.concat(value, '"')); if (result.message !== validated.message) // TODO: Should use `details` here, but it needs unionizing `string` anew to the definition of `Details`, which is a breaking change result.message += " (inner: ".concat(validated.message, ")"); return result; } else return (0, $6oUCw.SUCCESS)(value); } }, self); } module.exports.Template = $bf301b2a2bee188d$var$Template; }); parcelRequire.register("hYmOD", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Boolean = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $d159bcfa020211bd$var$self = { tag: "boolean" }; /** * Validates that a value is a boolean. */ module.exports.Boolean = (0, $egFNO.create)(function(value) { return typeof value === "boolean" ? (0, $6oUCw.SUCCESS)(value) : $6oUCw.FAILURE.TYPE_INCORRECT($d159bcfa020211bd$var$self, value); }, $d159bcfa020211bd$var$self); }); parcelRequire.register("atkMS", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Number = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $79fcbcbdc9ce638a$var$self = { tag: "number" }; /** * Validates that a value is a number. */ module.exports.Number = (0, $egFNO.create)(function(value) { return typeof value === "number" ? (0, $6oUCw.SUCCESS)(value) : $6oUCw.FAILURE.TYPE_INCORRECT($79fcbcbdc9ce638a$var$self, value); }, $79fcbcbdc9ce638a$var$self); }); parcelRequire.register("ezlPa", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.BigInt = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $a9b54366040ac60c$var$self = { tag: "bigint" }; /** * Validates that a value is a bigint. */ module.exports.BigInt = (0, $egFNO.create)(function(value) { return typeof value === "bigint" ? (0, $6oUCw.SUCCESS)(value) : $6oUCw.FAILURE.TYPE_INCORRECT($a9b54366040ac60c$var$self, value); }, $a9b54366040ac60c$var$self); }); parcelRequire.register("0R4gy", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.String = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $00292a5cf345ce0d$var$self = { tag: "string" }; /** * Validates that a value is a string. */ module.exports.String = (0, $egFNO.create)(function(value) { return typeof value === "string" ? (0, $6oUCw.SUCCESS)(value) : $6oUCw.FAILURE.TYPE_INCORRECT($00292a5cf345ce0d$var$self, value); }, $00292a5cf345ce0d$var$self); }); parcelRequire.register("hU0qY", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Symbol = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $d08800d05ee15703$var$f = function(key) { var self = { tag: "symbol", key: key }; return (0, $egFNO.create)(function(value) { if (typeof value !== "symbol") return $6oUCw.FAILURE.TYPE_INCORRECT(self, value); else { var keyForValue = globalThis.Symbol.keyFor(value); if (keyForValue !== key) return $6oUCw.FAILURE.VALUE_INCORRECT("symbol key", $d08800d05ee15703$var$quoteIfPresent(key), $d08800d05ee15703$var$quoteIfPresent(keyForValue)); else return (0, $6oUCw.SUCCESS)(value); } }, self); }; var $d08800d05ee15703$var$self = { tag: "symbol" }; /** * Validates that a value is a symbol, regardless of whether it is keyed or not. */ module.exports.Symbol = (0, $egFNO.create)(function(value) { return typeof value === "symbol" ? (0, $6oUCw.SUCCESS)(value) : $6oUCw.FAILURE.TYPE_INCORRECT($d08800d05ee15703$var$self, value); }, Object.assign($d08800d05ee15703$var$f, $d08800d05ee15703$var$self)); var $d08800d05ee15703$var$quoteIfPresent = function(key) { return key === undefined ? "undefined" : '"'.concat(key, '"'); }; }); parcelRequire.register("bWUtM", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Array = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); /** * Construct an array runtype from a runtype for its elements. */ function $8b30ec1a11bce220$var$InternalArr(element, isReadonly) { var self = { tag: "array", isReadonly: isReadonly, element: element }; return $8b30ec1a11bce220$var$withExtraModifierFuncs((0, $egFNO.create)(function(xs, visited) { if (!Array.isArray(xs)) return $6oUCw.FAILURE.TYPE_INCORRECT(self, xs); var keys = (0, $6oUCw.enumerableKeysOf)(xs); var results = keys.map(function(key) { return (0, $egFNO.innerValidate)(element, xs[key], visited); }); var details = keys.reduce(function(details, key) { var result = results[key]; if (!result.success) details[key] = result.details || result.message; return details; }, []); if ((0, $6oUCw.enumerableKeysOf)(details).length !== 0) return $6oUCw.FAILURE.CONTENT_INCORRECT(self, details); else return (0, $6oUCw.SUCCESS)(xs); }, self)); } function $8b30ec1a11bce220$var$Arr(element) { return $8b30ec1a11bce220$var$InternalArr(element, false); } module.exports.Array = $8b30ec1a11bce220$var$Arr; function $8b30ec1a11bce220$var$withExtraModifierFuncs(A) { A.asReadonly = asReadonly; return A; function asReadonly() { return $8b30ec1a11bce220$var$InternalArr(A.element, true); } } }); parcelRequire.register("mTen5", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Tuple = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); /** * Construct a tuple runtype from runtypes for each of its elements. */ function $044ce5dfde71e37d$var$Tuple() { var components = []; for(var _i = 0; _i < arguments.length; _i++)components[_i] = arguments[_i]; var self = { tag: "tuple", components: components }; return (0, $egFNO.create)(function(xs, visited) { if (!Array.isArray(xs)) return $6oUCw.FAILURE.TYPE_INCORRECT(self, xs); if (xs.length !== components.length) return $6oUCw.FAILURE.CONSTRAINT_FAILED(self, "Expected length ".concat(components.length, ", but was ").concat(xs.length)); var keys = (0, $6oUCw.enumerableKeysOf)(xs); var results = keys.map(function(key) { return (0, $egFNO.innerValidate)(components[key], xs[key], visited); }); var details = keys.reduce(function(details, key) { var result = results[key]; if (!result.success) details[key] = result.details || result.message; return details; }, []); if ((0, $6oUCw.enumerableKeysOf)(details).length !== 0) return $6oUCw.FAILURE.CONTENT_INCORRECT(self, details); else return (0, $6oUCw.SUCCESS)(xs); }, self); } module.exports.Tuple = $044ce5dfde71e37d$var$Tuple; }); parcelRequire.register("kdq0i", function(module, exports) { "use strict"; var $eb793154cb71e2e9$var$__read = module.exports && module.exports.__read || function(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value); } catch (error) { e = { error: error }; } finally{ try { if (r && !r.done && (m = i["return"])) m.call(i); } finally{ if (e) throw e.error; } } return ar; }; var $eb793154cb71e2e9$var$__spreadArray = module.exports && module.exports.__spreadArray || function(to, from, pack) { if (pack || arguments.length === 2) { for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Partial = module.exports.Record = module.exports.InternalRecord = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); /** * Construct a record runtype from runtypes for its values. */ function $eb793154cb71e2e9$var$InternalRecord(fields, isPartial, isReadonly) { var self = { tag: "record", isPartial: isPartial, isReadonly: isReadonly, fields: fields }; return $eb793154cb71e2e9$var$withExtraModifierFuncs((0, $egFNO.create)(function(x, visited) { if (x === null || x === undefined) return $6oUCw.FAILURE.TYPE_INCORRECT(self, x); var keysOfFields = (0, $6oUCw.enumerableKeysOf)(fields); if (keysOfFields.length !== 0 && typeof x !== "object") return $6oUCw.FAILURE.TYPE_INCORRECT(self, x); var keys = $eb793154cb71e2e9$var$__spreadArray([], $eb793154cb71e2e9$var$__read(new Set($eb793154cb71e2e9$var$__spreadArray($eb793154cb71e2e9$var$__spreadArray([], $eb793154cb71e2e9$var$__read(keysOfFields), false), $eb793154cb71e2e9$var$__read((0, $6oUCw.enumerableKeysOf)(x)), false))), false); var results = keys.reduce(function(results, key) { var fieldsHasKey = (0, $6oUCw.hasKey)(key, fields); var xHasKey = (0, $6oUCw.hasKey)(key, x); if (fieldsHasKey) { var runtype = fields[key]; var isOptional = isPartial || runtype.reflect.tag === "optional"; if (xHasKey) { var value = x[key]; if (isOptional && value === undefined) results[key] = (0, $6oUCw.SUCCESS)(value); else results[key] = (0, $egFNO.innerValidate)(runtype, value, visited); } else if (!isOptional) results[key] = $6oUCw.FAILURE.PROPERTY_MISSING(runtype.reflect); else results[key] = (0, $6oUCw.SUCCESS)(undefined); } else if (xHasKey) { // TODO: exact record validation var value = x[key]; results[key] = (0, $6oUCw.SUCCESS)(value); } else /* istanbul ignore next */ throw new Error("impossible"); return results; }, {}); var details = keys.reduce(function(details, key) { var result = results[key]; if (!result.success) details[key] = result.details || result.message; return details; }, {}); if ((0, $6oUCw.enumerableKeysOf)(details).length !== 0) return $6oUCw.FAILURE.CONTENT_INCORRECT(self, details); else return (0, $6oUCw.SUCCESS)(x); }, self)); } module.exports.InternalRecord = $eb793154cb71e2e9$var$InternalRecord; function $eb793154cb71e2e9$var$Record(fields) { return $eb793154cb71e2e9$var$InternalRecord(fields, false, false); } module.exports.Record = $eb793154cb71e2e9$var$Record; function $eb793154cb71e2e9$var$Partial(fields) { return $eb793154cb71e2e9$var$InternalRecord(fields, true, false); } module.exports.Partial = $eb793154cb71e2e9$var$Partial; function $eb793154cb71e2e9$var$withExtraModifierFuncs(A) { A.asPartial = asPartial; A.asReadonly = asReadonly; A.pick = pick; A.omit = omit; A.extend = extend; return A; function asPartial() { return $eb793154cb71e2e9$var$InternalRecord(A.fields, true, A.isReadonly); } function asReadonly() { return $eb793154cb71e2e9$var$InternalRecord(A.fields, A.isPartial, true); } function pick() { var keys = []; for(var _i = 0; _i < arguments.length; _i++)keys[_i] = arguments[_i]; var result = {}; keys.forEach(function(key) { result[key] = A.fields[key]; }); return $eb793154cb71e2e9$var$InternalRecord(result, A.isPartial, A.isReadonly); } function omit() { var keys = []; for(var _i = 0; _i < arguments.length; _i++)keys[_i] = arguments[_i]; var result = {}; var existingKeys = (0, $6oUCw.enumerableKeysOf)(A.fields); existingKeys.forEach(function(key) { if (!keys.includes(key)) result[key] = A.fields[key]; }); return $eb793154cb71e2e9$var$InternalRecord(result, A.isPartial, A.isReadonly); } function extend(fields) { return $eb793154cb71e2e9$var$InternalRecord(Object.assign({}, A.fields, fields), A.isPartial, A.isReadonly); } } }); parcelRequire.register("hWvxe", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Dictionary = void 0; var $egFNO = parcelRequire("egFNO"); var $0R4gy = parcelRequire("0R4gy"); var $cv2D6 = parcelRequire("cv2D6"); var $h2ePP = parcelRequire("h2ePP"); var $6oUCw = parcelRequire("6oUCw"); var $d10050a52da68de0$var$NumberKey = (0, $cv2D6.Constraint)($0R4gy.String, function(s) { return !isNaN(+s); }, { name: "number" }); function $d10050a52da68de0$var$Dictionary(value, key) { var keyRuntype = key === undefined ? $0R4gy.String : key === "string" ? $0R4gy.String : key === "number" ? $d10050a52da68de0$var$NumberKey : key; var keyString = (0, $h2ePP.default)(keyRuntype); var self = { tag: "dictionary", key: keyString, value: value }; return (0, $egFNO.create)(function(x, visited) { if (x === null || x === undefined || typeof x !== "object") return $6oUCw.FAILURE.TYPE_INCORRECT(self, x); if (Object.getPrototypeOf(x) !== Object.prototype) { if (!Array.isArray(x) || keyString === "string") return $6oUCw.FAILURE.TYPE_INCORRECT(self, x); } var numberString = /^(?:NaN|-?\d+(?:\.\d+)?)$/; var keys = (0, $6oUCw.enumerableKeysOf)(x); var results = keys.reduce(function(results, key) { // We should provide interoperability with `number` and `string` here, // as a user would expect JavaScript engines to convert numeric keys to // string keys automatically. So, if the key can be interpreted as a // decimal number, then test it against a `Number` OR `String` runtype. var isNumberLikeKey = typeof key === "string" && numberString.test(key); var keyInterop = isNumberLikeKey ? globalThis.Number(key) : key; if (isNumberLikeKey ? !keyRuntype.guard(keyInterop) && !keyRuntype.guard(key) : !keyRuntype.guard(keyInterop)) results[key] = $6oUCw.FAILURE.KEY_INCORRECT(self, keyRuntype.reflect, keyInterop); else results[key] = (0, $egFNO.innerValidate)(value, x[key], visited); return results; }, {}); var details = keys.reduce(function(details, key) { var result = results[key]; if (!result.success) details[key] = result.details || result.message; return details; }, {}); if ((0, $6oUCw.enumerableKeysOf)(details).length !== 0) return $6oUCw.FAILURE.CONTENT_INCORRECT(self, details); else return (0, $6oUCw.SUCCESS)(x); }, self); } module.exports.Dictionary = $d10050a52da68de0$var$Dictionary; }); parcelRequire.register("cv2D6", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Guard = module.exports.Constraint = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $dZYto = parcelRequire("dZYto"); function $919a6b7ba680791a$var$Constraint(underlying, constraint, options) { var name = options && options.name; var args = options && options.args; var self = { tag: "constraint", underlying: underlying, constraint: constraint, name: name, args: args }; return (0, $egFNO.create)(function(value) { var result = underlying.validate(value); if (!result.success) return result; var message = constraint(result.value); if (typeof message === "string") return $6oUCw.FAILURE.CONSTRAINT_FAILED(self, message); else if (!message) return $6oUCw.FAILURE.CONSTRAINT_FAILED(self); return (0, $6oUCw.SUCCESS)(result.value); }, self); } module.exports.Constraint = $919a6b7ba680791a$var$Constraint; var $919a6b7ba680791a$var$Guard = function(guard, options) { return $dZYto.Unknown.withGuard(guard, options); }; module.exports.Guard = $919a6b7ba680791a$var$Guard; }); parcelRequire.register("l5akw", function(module, exports) { "use strict"; var $f59213f06acee626$var$__values = module.exports && module.exports.__values || function(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function() { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); }; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Intersect = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); /** * Construct an intersection runtype from runtypes for its alternatives. */ function $f59213f06acee626$var$Intersect() { var intersectees = []; for(var _i = 0; _i < arguments.length; _i++)intersectees[_i] = arguments[_i]; var self = { tag: "intersect", intersectees: intersectees }; return (0, $egFNO.create)(function(value, visited) { var e_1, _a; try { for(var intersectees_1 = $f59213f06acee626$var$__values(intersectees), intersectees_1_1 = intersectees_1.next(); !intersectees_1_1.done; intersectees_1_1 = intersectees_1.next()){ var targetType = intersectees_1_1.value; var result = (0, $egFNO.innerValidate)(targetType, value, visited); if (!result.success) return result; } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally{ try { if (intersectees_1_1 && !intersectees_1_1.done && (_a = intersectees_1.return)) _a.call(intersectees_1); } finally{ if (e_1) throw e_1.error; } } return (0, $6oUCw.SUCCESS)(value); }, self); } module.exports.Intersect = $f59213f06acee626$var$Intersect; }); parcelRequire.register("ecedT", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Optional = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); /** * Validates optional value. */ function $a55d3819748d63a7$var$Optional(runtype) { var self = { tag: "optional", underlying: runtype }; return (0, $egFNO.create)(function(value) { return value === undefined ? (0, $6oUCw.SUCCESS)(value) : runtype.validate(value); }, self); } module.exports.Optional = $a55d3819748d63a7$var$Optional; }); parcelRequire.register("hwIjz", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Function = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); var $cc27ccce42076733$var$self = { tag: "function" }; /** * Construct a runtype for functions. */ module.exports.Function = (0, $egFNO.create)(function(value) { return typeof value === "function" ? (0, $6oUCw.SUCCESS)(value) : $6oUCw.FAILURE.TYPE_INCORRECT($cc27ccce42076733$var$self, value); }, $cc27ccce42076733$var$self); }); parcelRequire.register("4rJjk", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.InstanceOf = void 0; var $egFNO = parcelRequire("egFNO"); var $6oUCw = parcelRequire("6oUCw"); function $33ccd4cf643c5eab$var$InstanceOf(ctor) { var self = { tag: "instanceof", ctor: ctor }; return (0, $egFNO.create)(function(value) { return value instanceof ctor ? (0, $6oUCw.SUCCESS)(value) : $6oUCw.FAILURE.TYPE_INCORRECT(self, value); }, self); } module.exports.InstanceOf = $33ccd4cf643c5eab$var$InstanceOf; }); parcelRequire.register("fPugO", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Lazy = void 0; var $egFNO = parcelRequire("egFNO"); /** * Construct a possibly-recursive Runtype. */ function $b863197a6bfac395$var$Lazy(delayed) { var data = { get tag () { return getWrapped()["tag"]; } }; var cached; function getWrapped() { if (!cached) { cached = delayed(); for(var k in cached)if (k !== "tag") data[k] = cached[k]; } return cached; } return (0, $egFNO.create)(function(x) { return getWrapped().validate(x); }, data); } module.exports.Lazy = $b863197a6bfac395$var$Lazy; }); parcelRequire.register("iUrNv", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.Brand = void 0; var $egFNO = parcelRequire("egFNO"); function $dc4304f4e09f931e$var$Brand(brand, entity) { var self = { tag: "brand", brand: brand, entity: entity }; return (0, $egFNO.create)(function(value) { return entity.validate(value); }, self); } module.exports.Brand = $dc4304f4e09f931e$var$Brand; }); parcelRequire.register("ksaLj", function(module, exports) { "use strict"; Object.defineProperty(module.exports, "__esModule", { value: true }); module.exports.checked = module.exports.check = void 0; var $2ca38 = parcelRequire("2ca38"); var $6oUCw = parcelRequire("6oUCw"); var $ee3ec5537614e46a$var$prototypes = new WeakMap(); /** * A parameter decorator. Explicitly mark the parameter as checked on every method call in combination with `@checked` method decorator. The number of `@check` params must be the same as the number of provided runtypes into `@checked`.\ * Usage: * ```ts * @checked(Runtype1, Runtype3) * method(@check p1: Static1, p2: number, @check p3: Static3) { ... } * ``` */ function $ee3ec5537614e46a$var$check(target, propertyKey, parameterIndex) { var prototype = $ee3ec5537614e46a$var$prototypes.get(target) || new Map(); $ee3ec5537614e46a$var$prototypes.set(target, prototype); var validParameterIndices = prototype.get(propertyKey) || []; prototype.set(propertyKey, validParameterIndices); validParameterIndices.push(parameterIndex); } module.exports.check = $ee3ec5537614e46a$var$check; function $ee3ec5537614e46a$var$getValidParameterIndices(target, propertyKey, runtypeCount) { var prototype = $ee3ec5537614e46a$var$prototypes.get(target); var validParameterIndices = prototype && prototype.get(propertyKey); if (validParameterIndices) // used with `@check` parameter decorator return validParameterIndices; var indices = []; for(var i = 0; i < runtypeCount; i++)indices.push(i); return indices; } /** * A method decorator. Takes runtypes as arguments which correspond to the ones of the actual method. * * Usually, the number of provided runtypes must be _**the same as**_ or _**less than**_ the actual parameters. * * If you explicitly mark which parameter shall be checked using `@check` parameter decorator, the number of `@check` parameters must be _**the same as**_ the runtypes provided into `@checked`. * * Usage: * ```ts * @checked(Runtype1, Runtype2) * method1(param1: Static1, param2: Static2, param3: any) { * ... * } * * @checked(Runtype1, Runtype3) * method2(@check param1: Static1, param2: any, @check param3: Static3) { * ... * } * ``` */ function $ee3ec5537614e46a$var$checked() { var runtypes = []; for(var _i = 0; _i < arguments.length; _i++)runtypes[_i] = arguments[_i]; if (runtypes.length === 0) throw new Error("No runtype provided to `@checked`. Please remove the decorator."); return function(target, propertyKey, descriptor) { var method = descriptor.value; var methodId = (target.name || target.constructor.name + ".prototype") + (typeof propertyKey === "string" ? '["'.concat(propertyKey, '"]') : "[".concat(String(propertyKey), "]")); var validParameterIndices = $ee3ec5537614e46a$var$getValidParameterIndices(target, propertyKey, runtypes.length); if (validParameterIndices.length !== runtypes.length) throw new Error("Number of `@checked` runtypes and @check parameters not matched."); if (validParameterIndices.length > method.length) throw new Error("Number of `@checked` runtypes exceeds actual parameter length."); descriptor.value = function() { var args = []; for(var _i = 0; _i < arguments.length; _i++)args[_i] = arguments[_i]; runtypes.forEach(function(type, typeIndex) { var parameterIndex = validParameterIndices[typeIndex]; var result = type.validate(args[parameterIndex]); if (!result.success) { var message = "".concat(methodId, ", argument #").concat(parameterIndex, ": ").concat(result.message); var failure = $6oUCw.FAILURE.ARGUMENT_INCORRECT(message); throw new $2ca38.ValidationError(failure); } }); return method.apply(this, args); }; }; } module.exports.checked = $ee3ec5537614e46a$var$checked; }); var $34c8fdf69be2a5bd$exports = {}; "use strict"; var $f11fee42bca294b7$exports = {}; "use strict"; function $f11fee42bca294b7$var$tryStringify(o) { try { return JSON.stringify(o); } catch (e) { return '"[Circular]"'; } } $f11fee42bca294b7$exports = $f11fee42bca294b7$var$format; function $f11fee42bca294b7$var$format(f, args, opts) { var ss = opts && opts.stringify || $f11fee42bca294b7$var$tryStringify; var offset = 1; if (typeof f === "object" && f !== null) { var len = args.length + offset; if (len === 1) return f; var objects = new Array(len); objects[0] = ss(f); for(var index = 1; index < len; index++)objects[index] = ss(args[index]); return objects.join(" "); } if (typeof f !== "string") return f; var argLen = args.length; if (argLen === 0) return f; var str = ""; var a = 1 - offset; var lastPos = -1; var flen = f && f.length || 0; for(var i = 0; i < flen;){ if (f.charCodeAt(i) === 37 && i + 1 < flen) { lastPos = lastPos > -1 ? lastPos : 0; switch(f.charCodeAt(i + 1)){ case 100: case 102: if (a >= argLen) break; if (args[a] == null) break; if (lastPos < i) str += f.slice(lastPos, i); str += Number(args[a]); lastPos = i + 2; i++; break; case 105: if (a >= argLen) break; if (args[a] == null) break; if (lastPos < i) str += f.slice(lastPos, i); str += Math.floor(Number(args[a])); lastPos = i + 2; i++; break; case 79: case 111: case 106: if (a >= argLen) break; if (args[a] === undefined) break; if (lastPos < i) str += f.slice(lastPos, i); var type = typeof args[a]; if (type === "string") { str += "'" + args[a] + "'"; lastPos = i + 2; i++; break; } if (type === "function") { str += args[a].name || ""; lastPos = i + 2; i++; break; } str += ss(args[a]); lastPos = i + 2; i++; break; case 115: if (a >= argLen) break; if (lastPos < i) str += f.slice(lastPos, i); str += String(args[a]); lastPos = i + 2; i++; break; case 37: if (lastPos < i) str += f.slice(lastPos, i); str += "%"; lastPos = i + 2; i++; a--; break; } ++a; } ++i; } if (lastPos === -1) return f; else if (lastPos < flen) str += f.slice(lastPos); return str; } $34c8fdf69be2a5bd$exports = $34c8fdf69be2a5bd$var$pino; const $34c8fdf69be2a5bd$var$_console = $34c8fdf69be2a5bd$var$pfGlobalThisOrFallback().console || {}; const $34c8fdf69be2a5bd$var$stdSerializers = { mapHttpRequest: $34c8fdf69be2a5bd$var$mock, mapHttpResponse: $34c8fdf69be2a5bd$var$mock, wrapRequestSerializer: $34c8fdf69be2a5bd$var$passthrough, wrapResponseSerializer: $34c8fdf69be2a5bd$var$passthrough, wrapErrorSerializer: $34c8fdf69be2a5bd$var$passthrough, req: $34c8fdf69be2a5bd$var$mock, res: $34c8fdf69be2a5bd$var$mock, err: $34c8fdf69be2a5bd$var$asErrValue, errWithCause: $34c8fdf69be2a5bd$var$asErrValue }; function $34c8fdf69be2a5bd$var$shouldSerialize(serialize, serializers) { if (Array.isArray(serialize)) { const hasToFilter = serialize.filter(function(k) { return k !== "!stdSerializers.err"; }); return hasToFilter; } else if (serialize === true) return Object.keys(serializers); return false; } function $34c8fdf69be2a5bd$var$pino(opts) { opts = opts || {}; opts.browser = opts.browser || {}; const transmit = opts.browser.transmit; if (transmit && typeof transmit.send !== "function") throw Error("pino: transmit option must have a send function"); const proto = opts.browser.write || $34c8fdf69be2a5bd$var$_console; if (opts.browser.write) opts.browser.asObject = true; const serializers = opts.serializers || {}; const serialize = $34c8fdf69be2a5bd$var$shouldSerialize(opts.browser.serialize, serializers); let stdErrSerialize = opts.browser.serialize; if (Array.isArray(opts.browser.serialize) && opts.browser.serialize.indexOf("!stdSerializers.err") > -1) stdErrSerialize = false; const customLevels = Object.keys(opts.customLevels || {}); const levels = [ "error", "fatal", "warn", "info", "debug", "trace" ].concat(customLevels); if (typeof proto === "function") levels.forEach(function(level) { proto[level] = proto; }); if (opts.enabled === false || opts.browser.disabled) opts.level = "silent"; const level = opts.level || "info"; const logger = Object.create(proto); if (!logger.log) logger.log = $34c8fdf69be2a5bd$var$noop; Object.defineProperty(logger, "levelVal", { get: getLevelVal }); Object.defineProperty(logger, "level", { get: getLevel, set: setLevel }); const setOpts = { transmit: transmit, serialize: serialize, asObject: opts.browser.asObject, levels: levels, timestamp: $34c8fdf69be2a5bd$var$getTimeFunction(opts) }; logger.levels = $34c8fdf69be2a5bd$var$getLevels(opts); logger.level = level; logger.setMaxListeners = logger.getMaxListeners = logger.emit = logger.addListener = logger.on = logger.prependListener = logger.once = logger.prependOnceListener = logger.removeListener = logger.removeAllListeners = logger.listeners = logger.listenerCount = logger.eventNames = logger.write = logger.flush = $34c8fdf69be2a5bd$var$noop; logger.serializers = serializers; logger._serialize = serialize; logger._stdErrSerialize = stdErrSerialize; logger.child = child; if (transmit) logger._logEvent = $34c8fdf69be2a5bd$var$createLogEventShape(); function getLevelVal() { return this.level === "silent" ? Infinity : this.levels.values[this.level]; } function getLevel() { return this._level; } function setLevel(level) { if (level !== "silent" && !this.levels.values[level]) throw Error("unknown level " + level); this._level = level; $34c8fdf69be2a5bd$var$set(setOpts, logger, "error", "log") // <-- must stay first ; $34c8fdf69be2a5bd$var$set(setOpts, logger, "fatal", "error"); $34c8fdf69be2a5bd$var$set(setOpts, logger, "warn", "error"); $34c8fdf69be2a5bd$var$set(setOpts, logger, "info", "log"); $34c8fdf69be2a5bd$var$set(setOpts, logger, "debug", "log"); $34c8fdf69be2a5bd$var$set(setOpts, logger, "trace", "log"); customLevels.forEach(function(level) { $34c8fdf69be2a5bd$var$set(setOpts, logger, level, "log"); }); } function child(bindings, childOptions) { if (!bindings) throw new Error("missing bindings for child Pino"); childOptions = childOptions || {}; if (serialize && bindings.serializers) childOptions.serializers = bindings.serializers; const childOptionsSerializers = childOptions.serializers; if (serialize && childOptionsSerializers) { var childSerializers = Object.assign({}, serializers, childOptionsSerializers); var childSerialize = opts.browser.serialize === true ? Object.keys(childSerializers) : serialize; delete bindings.serializers; $34c8fdf69be2a5bd$var$applySerializers([ bindings ], childSerialize, childSerializers, this._stdErrSerialize); } function Child(parent) { this._childLevel = (parent._childLevel | 0) + 1; this.error = $34c8fdf69be2a5bd$var$bind(parent, bindings, "error"); this.fatal = $34c8fdf69be2a5bd$var$bind(parent, bindings, "fatal"); this.warn = $34c8fdf69be2a5bd$var$bind(parent, bindings, "warn"); this.info = $34c8fdf69be2a5bd$var$bind(parent, bindings, "info"); this.debug = $34c8fdf69be2a5bd$var$bind(parent, bindings, "debug"); this.trace = $34c8fdf69be2a5bd$var$bind(parent, bindings, "trace"); if (childSerializers) { this.serializers = childSerializers; this._serialize = childSerialize; } if (transmit) this._logEvent = $34c8fdf69be2a5bd$var$createLogEventShape([].concat(parent._logEvent.bindings, bindings)); } Child.prototype = this; return new Child(this); } return logger; } function $34c8fdf69be2a5bd$var$getLevels(opts) { const customLevels = opts.customLevels || {}; const values = Object.assign({}, $34c8fdf69be2a5bd$var$pino.levels.values, customLevels); const labels = Object.assign({}, $34c8fdf69be2a5bd$var$pino.levels.labels, $34c8fdf69be2a5bd$var$invertObject(customLevels)); return { values: values, labels: labels }; } function $34c8fdf69be2a5bd$var$invertObject(obj) { const inverted = {}; Object.keys(obj).forEach(function(key) { inverted[obj[key]] = key; }); return inverted; } $34c8fdf69be2a5bd$var$pino.levels = { values: { fatal: 60, error: 50, warn: 40, info: 30, debug: 20, trace: 10 }, labels: { 10: "trace", 20: "debug", 30: "info", 40: "warn", 50: "error", 60: "fatal" } }; $34c8fdf69be2a5bd$var$pino.stdSerializers = $34c8fdf69be2a5bd$var$stdSerializers; $34c8fdf69be2a5bd$var$pino.stdTimeFunctions = Object.assign({}, { nullTime: $34c8fdf69be2a5bd$var$nullTime, epochTime: $34c8fdf69be2a5bd$var$epochTime, unixTime: $34c8fdf69be2a5bd$var$unixTime, isoTime: $34c8fdf69be2a5bd$var$isoTime }); function $34c8fdf69be2a5bd$var$set(opts, logger, level, fallback) { const proto = Object.getPrototypeOf(logger); logger[level] = logger.levelVal > logger.levels.values[level] ? $34c8fdf69be2a5bd$var$noop : proto[level] ? proto[level] : $34c8fdf69be2a5bd$var$_console[level] || $34c8fdf69be2a5bd$var$_console[fallback] || $34c8fdf69be2a5bd$var$noop; $34c8fdf69be2a5bd$var$wrap(opts, logger, level); } function $34c8fdf69be2a5bd$var$wrap(opts, logger, level) { if (!opts.transmit && logger[level] === $34c8fdf69be2a5bd$var$noop) return; logger[level] = function(write) { return function LOG() { const ts = opts.timestamp(); const args = new Array(arguments.length); const proto = Object.getPrototypeOf && Object.getPrototypeOf(this) === $34c8fdf69be2a5bd$var$_console ? $34c8fdf69be2a5bd$var$_console : this; for(var i = 0; i < args.length; i++)args[i] = arguments[i]; if (opts.serialize && !opts.asObject) $34c8fdf69be2a5bd$var$applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize); if (opts.asObject) write.call(proto, $34c8fdf69be2a5bd$var$asObject(this, level, args, ts)); else write.apply(proto, args); if (opts.transmit) { const transmitLevel = opts.transmit.level || logger.level; const transmitValue = logger.levels.values[transmitLevel]; const methodValue = logger.levels.values[level]; if (methodValue < transmitValue) return; $34c8fdf69be2a5bd$var$transmit(this, { ts: ts, methodLevel: level, methodValue: methodValue, transmitLevel: transmitLevel, transmitValue: logger.levels.values[opts.transmit.level || logger.level], send: opts.transmit.send, val: logger.levelVal }, args); } }; }(logger[level]); } function $34c8fdf69be2a5bd$var$asObject(logger, level, args, ts) { if (logger._serialize) $34c8fdf69be2a5bd$var$applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize); const argsCloned = args.slice(); let msg = argsCloned[0]; const o = {}; if (ts) o.time = ts; o.level = logger.levels.values[level]; let lvl = (logger._childLevel | 0) + 1; if (lvl < 1) lvl = 1; // deliberate, catching objects, arrays if (msg !== null && typeof msg === "object") { while(lvl-- && typeof argsCloned[0] === "object")Object.assign(o, argsCloned.shift()); msg = argsCloned.length ? $f11fee42bca294b7$exports(argsCloned.shift(), argsCloned) : undefined; } else if (typeof msg === "string") msg = $f11fee42bca294b7$exports(argsCloned.shift(), argsCloned); if (msg !== undefined) o.msg = msg; return o; } function $34c8fdf69be2a5bd$var$applySerializers(args, serialize, serializers, stdErrSerialize) { for(const i in args){ if (stdErrSerialize && args[i] instanceof Error) args[i] = $34c8fdf69be2a5bd$var$pino.stdSerializers.err(args[i]); else if (typeof args[i] === "object" && !Array.isArray(args[i])) { for(const k in args[i])if (serialize && serialize.indexOf(k) > -1 && k in serializers) args[i][k] = serializers[k](args[i][k]); } } } function $34c8fdf69be2a5bd$var$bind(parent, bindings, level) { return function() { const args = new Array(1 + arguments.length); args[0] = bindings; for(var i = 1; i < args.length; i++)args[i] = arguments[i - 1]; return parent[level].apply(this, args); }; } function $34c8fdf69be2a5bd$var$transmit(logger, opts, args) { const send = opts.send; const ts = opts.ts; const methodLevel = opts.methodLevel; const methodValue = opts.methodValue; const val = opts.val; const bindings = logger._logEvent.bindings; $34c8fdf69be2a5bd$var$applySerializers(args, logger._serialize || Object.keys(logger.serializers), logger.serializers, logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize); logger._logEvent.ts = ts; logger._logEvent.messages = args.filter(function(arg) { // bindings can only be objects, so reference equality check via indexOf is fine return bindings.indexOf(arg) === -1; }); logger._logEvent.level.label = methodLevel; logger._logEvent.level.value = methodValue; send(methodLevel, logger._logEvent, val); logger._logEvent = $34c8fdf69be2a5bd$var$createLogEventShape(bindings); } function $34c8fdf69be2a5bd$var$createLogEventShape(bindings) { return { ts: 0, messages: [], bindings: bindings || [], level: { label: "", value: 0 } }; } function $34c8fdf69be2a5bd$var$asErrValue(err) { const obj = { type: err.constructor.name, msg: err.message, stack: err.stack }; for(const key in err)if (obj[key] === undefined) obj[key] = err[key]; return obj; } function $34c8fdf69be2a5bd$var$getTimeFunction(opts) { if (typeof opts.timestamp === "function") return opts.timestamp; if (opts.timestamp === false) return $34c8fdf69be2a5bd$var$nullTime; return $34c8fdf69be2a5bd$var$epochTime; } function $34c8fdf69be2a5bd$var$mock() { return {}; } function $34c8fdf69be2a5bd$var$passthrough(a) { return a; } function $34c8fdf69be2a5bd$var$noop() {} function $34c8fdf69be2a5bd$var$nullTime() { return false; } function $34c8fdf69be2a5bd$var$epochTime() { return Date.now(); } function $34c8fdf69be2a5bd$var$unixTime() { return Math.round(Date.now() / 1000.0); } function $34c8fdf69be2a5bd$var$isoTime() { return new Date(Date.now()).toISOString(); } // using Date.now() for testability /* eslint-disable */ /* istanbul ignore next */ function $34c8fdf69be2a5bd$var$pfGlobalThisOrFallback() { function defd(o) { return typeof o !== "undefined" && o; } try { if (typeof globalThis !== "undefined") return globalThis; Object.defineProperty(Object.prototype, "globalThis", { get: function() { delete Object.prototype.globalThis; return this.globalThis = this; }, configurable: true }); return globalThis; } catch (e) { return defd(self) || defd(window) || defd(this) || {}; } } /* eslint-enable */ const $51726e928359762f$export$af88d00dbe7f521 = (0, (/*@__PURE__*/$parcel$interopDefault($34c8fdf69be2a5bd$exports)))({ level: "warn" }); var $lqQfO = parcelRequire("lqQfO"); const $370fa6faae6d4048$var$ItemRunType = (0, $lqQfO.Record)({ id: (0, $lqQfO.String), name: (0, $lqQfO.String), price: (0, $lqQfO.String), currency: (0, $lqQfO.String) }); const $370fa6faae6d4048$var$AddToCartRunType = (0, $lqQfO.Record)({ type: (0, $lqQfO.Literal)("cart:add"), item: $370fa6faae6d4048$var$ItemRunType }); const $370fa6faae6d4048$var$RemoveFromCartRunType = (0, $lqQfO.Record)({ type: (0, $lqQfO.Literal)("cart:remove"), itemId: (0, $lqQfO.String) }); const $370fa6faae6d4048$var$EmptyCartRunType = (0, $lqQfO.Record)({ type: (0, $lqQfO.Literal)("cart:empty") }); const $370fa6faae6d4048$var$ShowCartRunType = (0, $lqQfO.Record)({ type: (0, $lqQfO.Literal)("cart:show") }); const $370fa6faae6d4048$var$CheckoutCartRunType = (0, $lqQfO.Record)({ type: (0, $lqQfO.Literal)("cart:checkout"), redirectUrl: (0, $lqQfO.String) }); const $370fa6faae6d4048$var$OneClickCheckoutRunType = (0, $lqQfO.Record)({ type: (0, $lqQfO.Literal)("cart:one-click-checkout"), item: $370fa6faae6d4048$var$ItemRunType, redirectUrl: (0, $lqQfO.String) }); const $370fa6faae6d4048$var$FunnelRunType = (0, $lqQfO.Record)({ type: (0, $lqQfO.Union)((0, $lqQfO.Literal)("funnel:onload"), (0, $lqQfO.Literal)("funnel:click"), (0, $lqQfO.Literal)("funnel:mouseover"), (0, $lqQfO.Literal)("funnel:focus")), payload: (0, $lqQfO.Record)({}) }); const $370fa6faae6d4048$var$AddToSegmentRunType = (0, $lqQfO.Record)({ type: (0, $lqQfO.Literal)("segment:add"), segmentName: (0, $lqQfO.String) }); const $370fa6faae6d4048$var$RemoveFromSegmentRunType = (0, $lqQfO.Record)({ type: (0, $lqQfO.Literal)("segment:remove"), segmentName: (0, $lqQfO.String) }); const $370fa6faae6d4048$var$ActionRunType = (0, $lqQfO.Union)($370fa6faae6d4048$var$AddToCartRunType, $370fa6faae6d4048$var$RemoveFromCartRunType, $370fa6faae6d4048$var$EmptyCartRunType, $370fa6faae6d4048$var$ShowCartRunType, $370fa6faae6d4048$var$CheckoutCartRunType, $370fa6faae6d4048$var$OneClickCheckoutRunType, $370fa6faae6d4048$var$FunnelRunType, $370fa6faae6d4048$var$AddToSegmentRunType, $370fa6faae6d4048$var$RemoveFromSegmentRunType); const $370fa6faae6d4048$export$32d4d8f57d2eb782 = (0, $lqQfO.Array)($370fa6faae6d4048$var$ActionRunType); const $5ca814bd7523dacf$var$cloneArray = (list)=>list.slice(); const $5ca814bd7523dacf$export$61fc7d43ac8f84b0 = (func, delay)=>{ let inDebounce; return (...params)=>{ window.clearTimeout(inDebounce); inDebounce = window.setTimeout(()=>func(...params), delay); }; }; const $5ca814bd7523dacf$export$4720815dc93d68c4 = (func, delay)=>{ let inDebounce; const savedArgs = []; return { debounceableFunction: (...params)=>{ savedArgs.push($5ca814bd7523dacf$var$cloneArray(params)); clearTimeout(inDebounce); inDebounce = setTimeout(()=>{ func($5ca814bd7523dacf$var$cloneArray(savedArgs)); savedArgs.length = 0; }, delay); }, flush: ()=>{ if (!inDebounce) return; clearTimeout(inDebounce); func($5ca814bd7523dacf$var$cloneArray(savedArgs)); savedArgs.length = 0; } }; }; const $5ca814bd7523dacf$export$b06f0b90a3e464ad = (eventType, { debounceableFunction: debounceableFunction , flush: flush })=>{ window.addEventListener(eventType, flush); return debounceableFunction; }; // Default empty config let $917d5782d7bc621d$var$config = { FUNNEL_API: "/martech/api/funnel", FUNNEL_API_KEY: "", USER_API: "/martech/api/user/v2/customer-portal-links", USER_SUBSCRIPTION_BENEFITS_API: "/martech/api/user/v2/subscriptions", SEGMENT_API: "/user-context/segmentation", ENABLE_EXPERIMENTAL_FEATURES: "false"?.toLowerCase() === "true" || false, authHeaders: ()=>({}) }; const $917d5782d7bc621d$export$44487a86467333c3 = ()=>$917d5782d7bc621d$var$config; const $917d5782d7bc621d$export$940a7873bb071df8 = (userConfigSet)=>{ $917d5782d7bc621d$var$config = { ...$917d5782d7bc621d$var$config, ...userConfigSet }; }; const $611092008eee205f$export$9980b7b88b132fd8 = 1000; const $611092008eee205f$var$processEvents = (argList)=>{ const messages = argList.map((args)=>args[0]); const payload = JSON.stringify(messages) || ""; const { FUNNEL_API: FUNNEL_API , FUNNEL_API_KEY: FUNNEL_API_KEY } = (0, $917d5782d7bc621d$export$44487a86467333c3)(); let beaconSent = false; const funnelUrl = `${FUNNEL_API}?api_key=${encodeURIComponent(FUNNEL_API_KEY)}`; if (navigator && typeof navigator.sendBeacon === "function" && typeof window.Blob === "function") // Creates a POST request containing a stringified JSON body with mime-type of `text/plain` beaconSent = navigator.sendBeacon(funnelUrl, payload); if (!beaconSent) { if (payload.length < 1500) { const src = `${funnelUrl}&data=${encodeURIComponent(payload)}`; const img = new Image(); img.src = src; } else { const xhr = new XMLHttpRequest(); xhr.open("POST", funnelUrl, true); xhr.setRequestHeader("Content-type", "application/json"); xhr.withCredentials = true; xhr.send(payload); } } }; const $611092008eee205f$var$sendEvent = (0, $5ca814bd7523dacf$export$b06f0b90a3e464ad)("visibilitychange", (0, $5ca814bd7523dacf$export$4720815dc93d68c4)($611092008eee205f$var$processEvents, $611092008eee205f$export$9980b7b88b132fd8)); const $611092008eee205f$export$f07bf4cd8b6fa5fd = (ev)=>{ if (typeof ev === "string") try { const evObj = JSON.parse(ev); if (evObj && !evObj._topic) (0, $51726e928359762f$export$af88d00dbe7f521).warn("missing funnel topic", evObj); return $611092008eee205f$var$sendEvent(evObj); } catch (e) { (0, $51726e928359762f$export$af88d00dbe7f521).error("funnel event err", e); return null; } if (ev && !ev._topic) (0, $51726e928359762f$export$af88d00dbe7f521).warn("missing funnel topic", ev); return $611092008eee205f$var$sendEvent(ev); }; const $d9ac74403b3d624e$var$map = { "funnel:mouseover": "mouseover", "funnel:click": "click", "funnel:focus": "focus" }; const $d9ac74403b3d624e$export$540e65cb8b1bec8a = (action, element)=>{ if (action.type === "funnel:onload") (0, $611092008eee205f$export$f07bf4cd8b6fa5fd)(action.payload); else if (action.type === "funnel:mouseover" || action.type === "funnel:click" || action.type === "funnel:focus") element.addEventListener($d9ac74403b3d624e$var$map[action.type], ()=>{ (0, $611092008eee205f$export$f07bf4cd8b6fa5fd)(action.payload); }); else (0, $51726e928359762f$export$af88d00dbe7f521).warn("ignoring unsupported funnel type", action.type); }; const { SEGMENT_API: $06c0bbcb19aedd40$var$SEGMENT_API } = (0, $917d5782d7bc621d$export$44487a86467333c3)(); const $06c0bbcb19aedd40$export$2a4a49ee0f0babc1 = (segmentName)=>{ const img = new Image(); img.src = `${$06c0bbcb19aedd40$var$SEGMENT_API}/add?segment=${segmentName}`; }; const $06c0bbcb19aedd40$export$52c8286857e10df2 = (segmentName)=>{ const img = new Image(); img.src = `${$06c0bbcb19aedd40$var$SEGMENT_API}/remove?segment=${segmentName}`; }; const $94d53c171b67240b$export$175902a934a31bfb = (action)=>{ if (action.type === "segment:add") { (0, $06c0bbcb19aedd40$export$2a4a49ee0f0babc1)(action.segmentName); (0, $611092008eee205f$export$f07bf4cd8b6fa5fd)({ _topic: "segment.add", segmentName: action.segmentName }); } else if (action.type === "segment:remove") { (0, $06c0bbcb19aedd40$export$52c8286857e10df2)(action.segmentName); (0, $611092008eee205f$export$f07bf4cd8b6fa5fd)({ _topic: "segment.remove", segmentName: action.segmentName }); } else (0, $51726e928359762f$export$af88d00dbe7f521).warn("ignoring unsupported segment type", action.type); }; var $13394a02b0662138$exports = {}; (function(global, factory) { $13394a02b0662138$exports = factory(); })($13394a02b0662138$exports, function() { "use strict"; /* eslint-disable no-var */ function assign(target) { for(var i = 1; i < arguments.length; i++){ var source = arguments[i]; for(var key in source)target[key] = source[key]; } return target; } /* eslint-enable no-var */ /* eslint-disable no-var */ var defaultConverter = { read: function(value) { if (value[0] === '"') value = value.slice(1, -1); return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent); }, write: function(value) { return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent); } }; /* eslint-enable no-var */ /* eslint-disable no-var */ function init(converter, defaultAttributes) { function set(name, value, attributes) { if (typeof document === "undefined") return; attributes = assign({}, defaultAttributes, attributes); if (typeof attributes.expires === "number") attributes.expires = new Date(Date.now() + attributes.expires * 864e5); if (attributes.expires) attributes.expires = attributes.expires.toUTCString(); name = encodeURIComponent(name).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape); var stringifiedAttributes = ""; for(var attributeName in attributes){ if (!attributes[attributeName]) continue; stringifiedAttributes += "; " + attributeName; if (attributes[attributeName] === true) continue; // Considers RFC 6265 section 5.2: // ... // 3. If the remaining unparsed-attributes contains a %x3B (";") // character: // Consume the characters of the unparsed-attributes up to, // not including, the first %x3B (";") character. // ... stringifiedAttributes += "=" + attributes[attributeName].split(";")[0]; } return document.cookie = name + "=" + converter.write(value, name) + stringifiedAttributes; } function get(name) { if (typeof document === "undefined" || arguments.length && !name) return; // To prevent the for loop in the first place assign an empty array // in case there are no cookies at all. var cookies = document.cookie ? document.cookie.split("; ") : []; var jar = {}; for(var i = 0; i < cookies.length; i++){ var parts = cookies[i].split("="); var value = parts.slice(1).join("="); try { var found = decodeURIComponent(parts[0]); jar[found] = converter.read(value, found); if (name === found) break; } catch (e) {} } return name ? jar[name] : jar; } return Object.create({ set: set, get: get, remove: function(name, attributes) { set(name, "", assign({}, attributes, { expires: -1 })); }, withAttributes: function(attributes) { return init(this.converter, assign({}, this.attributes, attributes)); }, withConverter: function(converter) { return init(assign({}, this.converter, converter), this.attributes); } }, { attributes: { value: Object.freeze(defaultAttributes) }, converter: { value: Object.freeze(converter) } }); } var api = init(defaultConverter, { path: "/" }); /* eslint-enable no-var */ return api; }); const $6296cdd5c0fb0bbf$export$a1fcb610d6278f69 = { items: {}, v: 1 }; const $6296cdd5c0fb0bbf$export$bfa97c4da9ee4280 = ()=>{ const cartData = localStorage.getItem("martech-cart") || (0, (/*@__PURE__*/$parcel$interopDefault($13394a02b0662138$exports))).get("martech-cart"); try { return cartData ? JSON.parse(cartData) : $6296cdd5c0fb0bbf$export$a1fcb610d6278f69; } catch (e) { (0, $51726e928359762f$export$af88d00dbe7f521).error("cart err:", e, "cart data:", cartData); } return $6296cdd5c0fb0bbf$export$a1fcb610d6278f69; }; const $6296cdd5c0fb0bbf$export$51b43a12014c9f04 = (newCartData)=>{ const data = JSON.stringify(newCartData); try { localStorage.setItem("martech-cart", data); // unsure if this is working across hosts, if so it's preferred } catch (e) { (0, (/*@__PURE__*/$parcel$interopDefault($13394a02b0662138$exports))).set("martech-cart", data, { expires: 30, path: "/", domain: "localhost", sameSite: "Lax" }); } if (newCartData.debug) (0, $51726e928359762f$export$af88d00dbe7f521).info("-cart!-", data); }; const $6296cdd5c0fb0bbf$export$b6bb524f49c7be0f = (item)=>{ const cartData = $6296cdd5c0fb0bbf$export$bfa97c4da9ee4280(); if (item && item.id) $6296cdd5c0fb0bbf$export$51b43a12014c9f04({ ...cartData, items: { ...cartData.items, [item.id]: item } }); else (0, $51726e928359762f$export$af88d00dbe7f521).error("missing item id", item); }; const $6296cdd5c0fb0bbf$export$37fbab1ed176a8ca = (itemId)=>{ const cartData = $6296cdd5c0fb0bbf$export$bfa97c4da9ee4280(); if (itemId) { const { [itemId]: _ , ...rest } = cartData.items; $6296cdd5c0fb0bbf$export$51b43a12014c9f04({ ...cartData, items: rest }); } else (0, $51726e928359762f$export$af88d00dbe7f521).error("missing item id", itemId); }; const $af37c979ca7010c9$export$e059630aef6fc57a = (action, element)=>{ element.addEventListener("click", ()=>{ switch(action.type){ case "cart:add": (0, $6296cdd5c0fb0bbf$export$b6bb524f49c7be0f)(action.item); (0, $611092008eee205f$export$f07bf4cd8b6fa5fd)({ _topic: "cart.update", add: action.item }); break; case "cart:remove": (0, $6296cdd5c0fb0bbf$export$37fbab1ed176a8ca)(action.itemId); (0, $611092008eee205f$export$f07bf4cd8b6fa5fd)({ _topic: "cart.update", remove: { id: action.itemId } }); break; case "cart:empty": (0, $611092008eee205f$export$f07bf4cd8b6fa5fd)({ _topic: "cart.update", empty: true }); (0, $6296cdd5c0fb0bbf$export$51b43a12014c9f04)((0, $6296cdd5c0fb0bbf$export$a1fcb610d6278f69)); break; case "cart:show": try { // eslint-disable-next-line no-console console.log("show", JSON.stringify((0, $6296cdd5c0fb0bbf$export$bfa97c4da9ee4280)(), null, 2)); } catch (e) { (0, $51726e928359762f$export$af88d00dbe7f521).error("cart content invalid"); } break; case "cart:checkout": (0, $611092008eee205f$export$f07bf4cd8b6fa5fd)({ _topic: "cart.ui", action: "clickCheckout" }); window.location.href = action.redirectUrl; break; case "cart:one-click-checkout": (0, $6296cdd5c0fb0bbf$export$b6bb524f49c7be0f)(action.item); (0, $611092008eee205f$export$f07bf4cd8b6fa5fd)({ _topic: "cart.ui", item: action.item, action: "oneClickBuy" }); window.location.href = action.redirectUrl; break; default: (0, $51726e928359762f$export$af88d00dbe7f521).warn("UNKNOWN TYPE"); break; } }); }; const $90b0eb2d036d8852$var$bindActionToElement = (action, element)=>{ const [actionType] = action.type.split(":"); switch(actionType){ case "funnel": (0, $d9ac74403b3d624e$export$540e65cb8b1bec8a)(action, element); break; case "segment": (0, $94d53c171b67240b$export$175902a934a31bfb)(action); break; default: (0, $af37c979ca7010c9$export$e059630aef6fc57a)(action, element); } }; const $90b0eb2d036d8852$export$5a45601d67b9a52d = ()=>{ const map = []; document.querySelectorAll("[data-martech-actions]").forEach((element)=>{ try { const payload = JSON.parse(element.getAttribute("data-martech-actions")); const actions = (0, $370fa6faae6d4048$export$32d4d8f57d2eb782).check(payload); map.push({ element: element, actions: actions }); } catch (e) { if (e instanceof Error && e.name === "SyntaxError") (0, $51726e928359762f$export$af88d00dbe7f521).error("Error trying to parse element: Invalid JSON on element:\n\n", element, "\n\n", e); else if (e instanceof Error && e.name === "ValidationError") (0, $51726e928359762f$export$af88d00dbe7f521).error("Error validating schema:\n\n", e); else (0, $51726e928359762f$export$af88d00dbe7f521).error("Unkonwn Error:", e); } }); map.forEach(({ element: element , actions: actions })=>{ actions.forEach((action)=>$90b0eb2d036d8852$var$bindActionToElement(action, element)); }); }; function $90b0eb2d036d8852$export$9a3bd9795ab01d07() { return new MutationObserver((mutations)=>{ mutations.forEach((mutation)=>{ mutation.addedNodes.forEach(()=>{ // Do things to `addedNode` here (0, $5ca814bd7523dacf$export$61fc7d43ac8f84b0)($90b0eb2d036d8852$export$5a45601d67b9a52d, 500); // TODO: does this bind a bunch of times? }); }); }); } function $d46fafa58689f84c$export$4d35afef4da17daf(martechApi) { const liveMode = new URLSearchParams(window.location.search).get("livemode"); if (liveMode) (0, (/*@__PURE__*/$parcel$interopDefault($13394a02b0662138$exports))).set("mt_livemode", liveMode, { expires: 365 }); // no init snippet installed if (!window.Martech) { window.Martech = Promise.resolve(martechApi); return; } // init snippet is installed if (window._mt_init) { if (window._mt_init.config) martechApi.setConfig(window._mt_init.config); window._mt_init.resolve(martechApi); delete window._mt_init; // clean up } // for visibility if (martechApi.getConfig().ENABLE_EXPERIMENTAL_FEATURES) // eslint-disable-next-line no-console console.log("Martech Library: EXPERIMENTAL FEATURES ARE ENABLED!"); } const $2bd392a3b2e412b9$var$isLiveModeActive = ()=>{ const liveModeCookie = (0, (/*@__PURE__*/$parcel$interopDefault($13394a02b0662138$exports))).get("mt_livemode"); return !(liveModeCookie === "false"); }; const $2bd392a3b2e412b9$export$711ef5f10da75372 = (productIds, returnUrl)=>{ const { USER_API: USER_API , authHeaders: authHeaders } = (0, $917d5782d7bc621d$export$44487a86467333c3)(); return fetch(USER_API, { method: "POST", headers: { ...authHeaders(), "Content-Type": "application/json", livemode: String($2bd392a3b2e412b9$var$isLiveModeActive()) }, body: JSON.stringify({ productIds: productIds, returnUrl: returnUrl }) }); }; const $2bd392a3b2e412b9$export$e8e604396527a1f1 = (brandSlug)=>{ const { USER_SUBSCRIPTION_BENEFITS_API: USER_SUBSCRIPTION_BENEFITS_API , authHeaders: authHeaders } = (0, $917d5782d7bc621d$export$44487a86467333c3)(); return fetch(USER_SUBSCRIPTION_BENEFITS_API, { method: "POST", headers: { ...authHeaders(), "Content-Type": "application/json", livemode: String($2bd392a3b2e412b9$var$isLiveModeActive()) }, body: JSON.stringify({ brandSlug: brandSlug }) }); }; const $d8af5955257fb693$export$6bf1d01d2e9261e6 = (source, name, registry)=>new Promise((resolve)=>{ if (registry[name] !== undefined) resolve(registry); else { const s = document.createElement("script"); s.src = source; document.body.appendChild(s); s.onload = ()=>{ resolve(registry); }; } }); const $d8af5955257fb693$export$7612db19fb8beb1e = (name, plugin, registry)=>{ // eslint-disable-next-line no-param-reassign registry[name] = plugin; }; const $fbe0270169ca37b6$var$pluginRegistry = {}; const $fbe0270169ca37b6$export$3b72064b2e79239d = { setConfig: $917d5782d7bc621d$export$940a7873bb071df8, getConfig: $917d5782d7bc621d$export$44487a86467333c3, sendFunnelEvent: $611092008eee205f$export$f07bf4cd8b6fa5fd, loadPlugin: (source, name)=>(0, $d8af5955257fb693$export$6bf1d01d2e9261e6)(source, name, $fbe0270169ca37b6$var$pluginRegistry), registerPlugin: (name, plugin)=>(0, $d8af5955257fb693$export$7612db19fb8beb1e)(name, plugin, $fbe0270169ca37b6$var$pluginRegistry), user: { customerPortalLinks: $2bd392a3b2e412b9$export$711ef5f10da75372, subscriptions: $2bd392a3b2e412b9$export$e8e604396527a1f1 }, util: { getCookie: (0, (/*@__PURE__*/$parcel$interopDefault($13394a02b0662138$exports))).get.bind((0, (/*@__PURE__*/$parcel$interopDefault($13394a02b0662138$exports)))) } }; var $fbe0270169ca37b6$export$2e2bcd8739ae039 = $fbe0270169ca37b6$export$3b72064b2e79239d; window.addEventListener("pageshow", ()=>{ (0, $90b0eb2d036d8852$export$5a45601d67b9a52d)(); (0, $90b0eb2d036d8852$export$9a3bd9795ab01d07)().observe(document.body, { childList: true, subtree: true }); }); (0, $d46fafa58689f84c$export$4d35afef4da17daf)((0, $fbe0270169ca37b6$export$2e2bcd8739ae039));