UNPKG

@sanity/cli

Version:

Sanity CLI tool for managing Sanity installations, managing plugins, schemas and datasets

1,094 lines • 3.38 MB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty; var __copyProps = (to, from2, except, desc) => { if (from2 && typeof from2 == "object" || typeof from2 == "function") for (let key2 of __getOwnPropNames(from2)) !__hasOwnProp.call(to, key2) && key2 !== except && __defProp(to, key2, { get: () => from2[key2], enumerable: !(desc = __getOwnPropDesc(from2, key2)) || desc.enumerable }); return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target, mod )); var os = require("node:os"), chalk = require("chalk"), loadEnv = require("./loadEnv.js"), require$$0$5 = require("path"), require$$1$2 = require("module"), require$$0$4 = require("fs"), semver = require("semver"), telemetry = require("@sanity/telemetry"), childProcess = require("node:child_process"), fs$1 = require("node:fs"), path$3 = require("node:path"), fs = require("node:fs/promises"), util$3 = require("node:util"), require$$0$6 = require("os"), getLatestVersion = require("get-latest-version"), pkgDir = require("pkg-dir"), client$1 = require("@sanity/client"), require$$0$7 = require("constants"), require$$0$8 = require("stream"), require$$0$9 = require("util"), require$$0$a = require("assert"), require$$0$b = require("events"), require$$3$1 = require("crypto"), require$$1$3 = require("child_process"), getCliConfig = require("./getCliConfig.js"), require$$0$c = require("fs/promises"), require$$0$d = require("buffer"), journeyConfig = require("./journeyConfig.js"), Stream = require("node:stream"), promises$1 = require("node:stream/promises"), templateValidator = require("@sanity/template-validator"), require$$2$1 = require("string_decoder"), require$$0$e = require("zlib"), require$$7$1 = require("process"), http = require("node:http"), traverse = require("@babel/traverse"), node_url = require("node:url"), node_events = require("node:events"), node_string_decoder = require("node:string_decoder"), process$2 = require("node:process"), require$$2$2 = require("readline"), require$$0$f = require("tty"); function _interopDefaultCompat(e) { return e && typeof e == "object" && "default" in e ? e : { default: e }; } function _interopNamespaceCompat(e) { if (e && typeof e == "object" && "default" in e) return e; var n = /* @__PURE__ */ Object.create(null); return e && Object.keys(e).forEach(function(k) { if (k !== "default") { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: !0, get: function() { return e[k]; } }); } }), n.default = e, Object.freeze(n); } function _mergeNamespaces(n, m) { return m.forEach(function(e) { e && typeof e != "string" && !Array.isArray(e) && Object.keys(e).forEach(function(k) { if (k !== "default" && !(k in n)) { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: !0, get: function() { return e[k]; } }); } }); }), Object.freeze(n); } var os__default = /* @__PURE__ */ _interopDefaultCompat(os), chalk__default = /* @__PURE__ */ _interopDefaultCompat(chalk), require$$0__default$1 = /* @__PURE__ */ _interopDefaultCompat(require$$0$5), require$$1__default = /* @__PURE__ */ _interopDefaultCompat(require$$1$2), require$$0__default = /* @__PURE__ */ _interopDefaultCompat(require$$0$4), semver__default = /* @__PURE__ */ _interopDefaultCompat(semver), childProcess__default = /* @__PURE__ */ _interopDefaultCompat(childProcess), fs__namespace = /* @__PURE__ */ _interopNamespaceCompat(fs$1), path__default = /* @__PURE__ */ _interopDefaultCompat(path$3), fs__default = /* @__PURE__ */ _interopDefaultCompat(fs), util__default = /* @__PURE__ */ _interopDefaultCompat(util$3), require$$0__default$2 = /* @__PURE__ */ _interopDefaultCompat(require$$0$6), getLatestVersion__default = /* @__PURE__ */ _interopDefaultCompat(getLatestVersion), pkgDir__default = /* @__PURE__ */ _interopDefaultCompat(pkgDir), require$$0__default$3 = /* @__PURE__ */ _interopDefaultCompat(require$$0$7), require$$0__default$4 = /* @__PURE__ */ _interopDefaultCompat(require$$0$8), require$$0__default$5 = /* @__PURE__ */ _interopDefaultCompat(require$$0$9), require$$0__default$6 = /* @__PURE__ */ _interopDefaultCompat(require$$0$a), require$$0__default$7 = /* @__PURE__ */ _interopDefaultCompat(require$$0$b), require$$3__default = /* @__PURE__ */ _interopDefaultCompat(require$$3$1), require$$1__default$1 = /* @__PURE__ */ _interopDefaultCompat(require$$1$3), require$$0__default$8 = /* @__PURE__ */ _interopDefaultCompat(require$$0$c), require$$0__default$9 = /* @__PURE__ */ _interopDefaultCompat(require$$0$d), Stream__default = /* @__PURE__ */ _interopDefaultCompat(Stream), require$$2__default = /* @__PURE__ */ _interopDefaultCompat(require$$2$1), require$$0__default$a = /* @__PURE__ */ _interopDefaultCompat(require$$0$e), require$$7__default = /* @__PURE__ */ _interopDefaultCompat(require$$7$1), http__default = /* @__PURE__ */ _interopDefaultCompat(http), traverse__default = /* @__PURE__ */ _interopDefaultCompat(traverse), process__default = /* @__PURE__ */ _interopDefaultCompat(process$2), require$$2__default$1 = /* @__PURE__ */ _interopDefaultCompat(require$$2$2), require$$0__default$b = /* @__PURE__ */ _interopDefaultCompat(require$$0$f), resolveFrom$1 = { exports: {} }, hasRequiredResolveFrom; function requireResolveFrom() { if (hasRequiredResolveFrom) return resolveFrom$1.exports; hasRequiredResolveFrom = 1; const path2 = require$$0__default$1.default, Module = require$$1__default.default, fs2 = require$$0__default.default, resolveFrom2 = (fromDirectory, moduleId, silent) => { if (typeof fromDirectory != "string") throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDirectory}\``); if (typeof moduleId != "string") throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``); try { fromDirectory = fs2.realpathSync(fromDirectory); } catch (error2) { if (error2.code === "ENOENT") fromDirectory = path2.resolve(fromDirectory); else { if (silent) return; throw error2; } } const fromFile = path2.join(fromDirectory, "noop.js"), resolveFileName = () => Module._resolveFilename(moduleId, { id: fromFile, filename: fromFile, paths: Module._nodeModulePaths(fromDirectory) }); if (silent) try { return resolveFileName(); } catch { return; } return resolveFileName(); }; return resolveFrom$1.exports = (fromDirectory, moduleId) => resolveFrom2(fromDirectory, moduleId), resolveFrom$1.exports.silent = (fromDirectory, moduleId) => resolveFrom2(fromDirectory, moduleId, !0), resolveFrom$1.exports; } var resolveFromExports = requireResolveFrom(), resolveFrom = /* @__PURE__ */ loadEnv.getDefaultExportFromCjs(resolveFromExports); const CliCommand = telemetry.defineTrace({ name: "CLI Command Executed", version: 1, description: "A CLI command was executed" }); var freeGlobal = typeof global == "object" && global && global.Object === Object && global, freeSelf = typeof self == "object" && self && self.Object === Object && self, root$1 = freeGlobal || freeSelf || Function("return this")(), Symbol$1 = root$1.Symbol, objectProto$f = Object.prototype, hasOwnProperty$c = objectProto$f.hasOwnProperty, nativeObjectToString$1 = objectProto$f.toString, symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : void 0; function getRawTag(value) { var isOwn = hasOwnProperty$c.call(value, symToStringTag$1), tag = value[symToStringTag$1]; try { value[symToStringTag$1] = void 0; var unmasked = !0; } catch { } var result = nativeObjectToString$1.call(value); return unmasked && (isOwn ? value[symToStringTag$1] = tag : delete value[symToStringTag$1]), result; } var objectProto$e = Object.prototype, nativeObjectToString = objectProto$e.toString; function objectToString(value) { return nativeObjectToString.call(value); } var nullTag = "[object Null]", undefinedTag = "[object Undefined]", symToStringTag = Symbol$1 ? Symbol$1.toStringTag : void 0; function baseGetTag(value) { return value == null ? value === void 0 ? undefinedTag : nullTag : symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); } function isObjectLike(value) { return value != null && typeof value == "object"; } var symbolTag$3 = "[object Symbol]"; function isSymbol(value) { return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$3; } function arrayMap(array, iteratee) { for (var index = -1, length = array == null ? 0 : array.length, result = Array(length); ++index < length; ) result[index] = iteratee(array[index], index, array); return result; } var isArray$1 = Array.isArray, symbolProto$2 = Symbol$1 ? Symbol$1.prototype : void 0, symbolToString = symbolProto$2 ? symbolProto$2.toString : void 0; function baseToString(value) { if (typeof value == "string") return value; if (isArray$1(value)) return arrayMap(value, baseToString) + ""; if (isSymbol(value)) return symbolToString ? symbolToString.call(value) : ""; var result = value + ""; return result == "0" && 1 / value == -1 / 0 ? "-0" : result; } var reWhitespace = /\s/; function trimmedEndIndex(string) { for (var index = string.length; index-- && reWhitespace.test(string.charAt(index)); ) ; return index; } var reTrimStart = /^\s+/; function baseTrim(string) { return string && string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, ""); } function isObject$1(value) { var type2 = typeof value; return value != null && (type2 == "object" || type2 == "function"); } var NAN = NaN, reIsBadHex = /^[-+]0x[0-9a-f]+$/i, reIsBinary = /^0b[01]+$/i, reIsOctal = /^0o[0-7]+$/i, freeParseInt = parseInt; function toNumber(value) { if (typeof value == "number") return value; if (isSymbol(value)) return NAN; if (isObject$1(value)) { var other = typeof value.valueOf == "function" ? value.valueOf() : value; value = isObject$1(other) ? other + "" : other; } if (typeof value != "string") return value === 0 ? value : +value; value = baseTrim(value); var isBinary = reIsBinary.test(value); return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; } var INFINITY = 1 / 0, MAX_INTEGER = 17976931348623157e292; function toFinite(value) { if (!value) return value === 0 ? value : 0; if (value = toNumber(value), value === INFINITY || value === -INFINITY) { var sign2 = value < 0 ? -1 : 1; return sign2 * MAX_INTEGER; } return value === value ? value : 0; } function toInteger(value) { var result = toFinite(value), remainder = result % 1; return result === result ? remainder ? result - remainder : result : 0; } function identity$1(value) { return value; } var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]"; function isFunction$1(value) { if (!isObject$1(value)) return !1; var tag = baseGetTag(value); return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag; } var coreJsData = root$1["__core-js_shared__"], maskSrcKey = (function() { var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ""); return uid ? "Symbol(src)_1." + uid : ""; })(); function isMasked(func) { return !!maskSrcKey && maskSrcKey in func; } var funcProto$2 = Function.prototype, funcToString$2 = funcProto$2.toString; function toSource(func) { if (func != null) { try { return funcToString$2.call(func); } catch { } try { return func + ""; } catch { } } return ""; } var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, reIsHostCtor = /^\[object .+?Constructor\]$/, funcProto$1 = Function.prototype, objectProto$d = Object.prototype, funcToString$1 = funcProto$1.toString, hasOwnProperty$b = objectProto$d.hasOwnProperty, reIsNative = RegExp( "^" + funcToString$1.call(hasOwnProperty$b).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ); function baseIsNative(value) { if (!isObject$1(value) || isMasked(value)) return !1; var pattern = isFunction$1(value) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)); } function getValue(object, key2) { return object?.[key2]; } function getNative(object, key2) { var value = getValue(object, key2); return baseIsNative(value) ? value : void 0; } var WeakMap$1 = getNative(root$1, "WeakMap"), objectCreate = Object.create, baseCreate = /* @__PURE__ */ (function() { function object() { } return function(proto) { if (!isObject$1(proto)) return {}; if (objectCreate) return objectCreate(proto); object.prototype = proto; var result = new object(); return object.prototype = void 0, result; }; })(); function apply(func, thisArg, args) { switch (args.length) { case 0: return func.call(thisArg); case 1: return func.call(thisArg, args[0]); case 2: return func.call(thisArg, args[0], args[1]); case 3: return func.call(thisArg, args[0], args[1], args[2]); } return func.apply(thisArg, args); } function noop$1() { } function copyArray(source2, array) { var index = -1, length = source2.length; for (array || (array = Array(length)); ++index < length; ) array[index] = source2[index]; return array; } var HOT_COUNT = 800, HOT_SPAN = 16, nativeNow = Date.now; function shortOut(func) { var count2 = 0, lastCalled = 0; return function() { var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); if (lastCalled = stamp, remaining > 0) { if (++count2 >= HOT_COUNT) return arguments[0]; } else count2 = 0; return func.apply(void 0, arguments); }; } function constant(value) { return function() { return value; }; } var defineProperty = (function() { try { var func = getNative(Object, "defineProperty"); return func({}, "", {}), func; } catch { } })(), baseSetToString = defineProperty ? function(func, string) { return defineProperty(func, "toString", { configurable: !0, enumerable: !1, value: constant(string), writable: !0 }); } : identity$1, setToString = shortOut(baseSetToString); function arrayEach(array, iteratee) { for (var index = -1, length = array == null ? 0 : array.length; ++index < length && iteratee(array[index], index, array) !== !1; ) ; return array; } function baseFindIndex(array, predicate, fromIndex, fromRight) { for (var length = array.length, index = fromIndex + -1; ++index < length; ) if (predicate(array[index], index, array)) return index; return -1; } var MAX_SAFE_INTEGER$2 = 9007199254740991, reIsUint = /^(?:0|[1-9]\d*)$/; function isIndex(value, length) { var type2 = typeof value; return length = length ?? MAX_SAFE_INTEGER$2, !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; } function baseAssignValue(object, key2, value) { key2 == "__proto__" && defineProperty ? defineProperty(object, key2, { configurable: !0, enumerable: !0, value, writable: !0 }) : object[key2] = value; } function eq(value, other) { return value === other || value !== value && other !== other; } var objectProto$c = Object.prototype, hasOwnProperty$a = objectProto$c.hasOwnProperty; function assignValue(object, key2, value) { var objValue = object[key2]; (!(hasOwnProperty$a.call(object, key2) && eq(objValue, value)) || value === void 0 && !(key2 in object)) && baseAssignValue(object, key2, value); } function copyObject(source2, props, object, customizer) { var isNew = !object; object || (object = {}); for (var index = -1, length = props.length; ++index < length; ) { var key2 = props[index], newValue = void 0; newValue === void 0 && (newValue = source2[key2]), isNew ? baseAssignValue(object, key2, newValue) : assignValue(object, key2, newValue); } return object; } var nativeMax$1 = Math.max; function overRest(func, start, transform) { return start = nativeMax$1(start === void 0 ? func.length - 1 : start, 0), function() { for (var args = arguments, index = -1, length = nativeMax$1(args.length - start, 0), array = Array(length); ++index < length; ) array[index] = args[start + index]; index = -1; for (var otherArgs = Array(start + 1); ++index < start; ) otherArgs[index] = args[index]; return otherArgs[start] = transform(array), apply(func, this, otherArgs); }; } function baseRest(func, start) { return setToString(overRest(func, start, identity$1), func + ""); } var MAX_SAFE_INTEGER$1 = 9007199254740991; function isLength(value) { return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1; } function isArrayLike$1(value) { return value != null && isLength(value.length) && !isFunction$1(value); } function isIterateeCall(value, index, object) { if (!isObject$1(object)) return !1; var type2 = typeof index; return (type2 == "number" ? isArrayLike$1(object) && isIndex(index, object.length) : type2 == "string" && index in object) ? eq(object[index], value) : !1; } var objectProto$b = Object.prototype; function isPrototype(value) { var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$b; return value === proto; } function baseTimes(n, iteratee) { for (var index = -1, result = Array(n); ++index < n; ) result[index] = iteratee(index); return result; } var argsTag$3 = "[object Arguments]"; function baseIsArguments(value) { return isObjectLike(value) && baseGetTag(value) == argsTag$3; } var objectProto$a = Object.prototype, hasOwnProperty$9 = objectProto$a.hasOwnProperty, propertyIsEnumerable$1 = objectProto$a.propertyIsEnumerable, isArguments = baseIsArguments(/* @__PURE__ */ (function() { return arguments; })()) ? baseIsArguments : function(value) { return isObjectLike(value) && hasOwnProperty$9.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee"); }; function stubFalse() { return !1; } var freeExports$2 = typeof exports == "object" && exports && !exports.nodeType && exports, freeModule$2 = freeExports$2 && typeof module == "object" && module && !module.nodeType && module, moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2, Buffer$2 = moduleExports$2 ? root$1.Buffer : void 0, nativeIsBuffer = Buffer$2 ? Buffer$2.isBuffer : void 0, isBuffer = nativeIsBuffer || stubFalse, argsTag$2 = "[object Arguments]", arrayTag$2 = "[object Array]", boolTag$3 = "[object Boolean]", dateTag$3 = "[object Date]", errorTag$2 = "[object Error]", funcTag$1 = "[object Function]", mapTag$6 = "[object Map]", numberTag$3 = "[object Number]", objectTag$4 = "[object Object]", regexpTag$3 = "[object RegExp]", setTag$6 = "[object Set]", stringTag$4 = "[object String]", weakMapTag$2 = "[object WeakMap]", arrayBufferTag$3 = "[object ArrayBuffer]", dataViewTag$4 = "[object DataView]", float32Tag$2 = "[object Float32Array]", float64Tag$2 = "[object Float64Array]", int8Tag$2 = "[object Int8Array]", int16Tag$2 = "[object Int16Array]", int32Tag$2 = "[object Int32Array]", uint8Tag$2 = "[object Uint8Array]", uint8ClampedTag$2 = "[object Uint8ClampedArray]", uint16Tag$2 = "[object Uint16Array]", uint32Tag$2 = "[object Uint32Array]", typedArrayTags = {}; typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = !0; typedArrayTags[argsTag$2] = typedArrayTags[arrayTag$2] = typedArrayTags[arrayBufferTag$3] = typedArrayTags[boolTag$3] = typedArrayTags[dataViewTag$4] = typedArrayTags[dateTag$3] = typedArrayTags[errorTag$2] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$6] = typedArrayTags[numberTag$3] = typedArrayTags[objectTag$4] = typedArrayTags[regexpTag$3] = typedArrayTags[setTag$6] = typedArrayTags[stringTag$4] = typedArrayTags[weakMapTag$2] = !1; function baseIsTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } function baseUnary(func) { return function(value) { return func(value); }; } var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports, freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module, moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1, freeProcess = moduleExports$1 && freeGlobal.process, nodeUtil = (function() { try { var types2 = freeModule$1 && freeModule$1.require && freeModule$1.require("util").types; return types2 || freeProcess && freeProcess.binding && freeProcess.binding("util"); } catch { } })(), nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray, isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray, objectProto$9 = Object.prototype, hasOwnProperty$8 = objectProto$9.hasOwnProperty; function arrayLikeKeys(value, inherited) { var isArr = isArray$1(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; for (var key2 in value) (inherited || hasOwnProperty$8.call(value, key2)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode. (key2 == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. isBuff && (key2 == "offset" || key2 == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. isType && (key2 == "buffer" || key2 == "byteLength" || key2 == "byteOffset") || // Skip index properties. isIndex(key2, length))) && result.push(key2); return result; } function overArg(func, transform) { return function(arg) { return func(transform(arg)); }; } var nativeKeys = overArg(Object.keys, Object), objectProto$8 = Object.prototype, hasOwnProperty$7 = objectProto$8.hasOwnProperty; function baseKeys(object) { if (!isPrototype(object)) return nativeKeys(object); var result = []; for (var key2 in Object(object)) hasOwnProperty$7.call(object, key2) && key2 != "constructor" && result.push(key2); return result; } function keys(object) { return isArrayLike$1(object) ? arrayLikeKeys(object) : baseKeys(object); } function nativeKeysIn(object) { var result = []; if (object != null) for (var key2 in Object(object)) result.push(key2); return result; } var objectProto$7 = Object.prototype, hasOwnProperty$6 = objectProto$7.hasOwnProperty; function baseKeysIn(object) { if (!isObject$1(object)) return nativeKeysIn(object); var isProto = isPrototype(object), result = []; for (var key2 in object) key2 == "constructor" && (isProto || !hasOwnProperty$6.call(object, key2)) || result.push(key2); return result; } function keysIn(object) { return isArrayLike$1(object) ? arrayLikeKeys(object, !0) : baseKeysIn(object); } var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/; function isKey(value, object) { if (isArray$1(value)) return !1; var type2 = typeof value; return type2 == "number" || type2 == "symbol" || type2 == "boolean" || value == null || isSymbol(value) ? !0 : reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); } var nativeCreate = getNative(Object, "create"); function hashClear() { this.__data__ = nativeCreate ? nativeCreate(null) : {}, this.size = 0; } function hashDelete(key2) { var result = this.has(key2) && delete this.__data__[key2]; return this.size -= result ? 1 : 0, result; } var HASH_UNDEFINED$2 = "__lodash_hash_undefined__", objectProto$6 = Object.prototype, hasOwnProperty$5 = objectProto$6.hasOwnProperty; function hashGet(key2) { var data = this.__data__; if (nativeCreate) { var result = data[key2]; return result === HASH_UNDEFINED$2 ? void 0 : result; } return hasOwnProperty$5.call(data, key2) ? data[key2] : void 0; } var objectProto$5 = Object.prototype, hasOwnProperty$4 = objectProto$5.hasOwnProperty; function hashHas(key2) { var data = this.__data__; return nativeCreate ? data[key2] !== void 0 : hasOwnProperty$4.call(data, key2); } var HASH_UNDEFINED$1 = "__lodash_hash_undefined__"; function hashSet(key2, value) { var data = this.__data__; return this.size += this.has(key2) ? 0 : 1, data[key2] = nativeCreate && value === void 0 ? HASH_UNDEFINED$1 : value, this; } function Hash(entries) { var index = -1, length = entries == null ? 0 : entries.length; for (this.clear(); ++index < length; ) { var entry = entries[index]; this.set(entry[0], entry[1]); } } Hash.prototype.clear = hashClear; Hash.prototype.delete = hashDelete; Hash.prototype.get = hashGet; Hash.prototype.has = hashHas; Hash.prototype.set = hashSet; function listCacheClear() { this.__data__ = [], this.size = 0; } function assocIndexOf(array, key2) { for (var length = array.length; length--; ) if (eq(array[length][0], key2)) return length; return -1; } var arrayProto = Array.prototype, splice = arrayProto.splice; function listCacheDelete(key2) { var data = this.__data__, index = assocIndexOf(data, key2); if (index < 0) return !1; var lastIndex = data.length - 1; return index == lastIndex ? data.pop() : splice.call(data, index, 1), --this.size, !0; } function listCacheGet(key2) { var data = this.__data__, index = assocIndexOf(data, key2); return index < 0 ? void 0 : data[index][1]; } function listCacheHas(key2) { return assocIndexOf(this.__data__, key2) > -1; } function listCacheSet(key2, value) { var data = this.__data__, index = assocIndexOf(data, key2); return index < 0 ? (++this.size, data.push([key2, value])) : data[index][1] = value, this; } function ListCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; for (this.clear(); ++index < length; ) { var entry = entries[index]; this.set(entry[0], entry[1]); } } ListCache.prototype.clear = listCacheClear; ListCache.prototype.delete = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; var Map$1 = getNative(root$1, "Map"); function mapCacheClear() { this.size = 0, this.__data__ = { hash: new Hash(), map: new (Map$1 || ListCache)(), string: new Hash() }; } function isKeyable(value) { var type2 = typeof value; return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null; } function getMapData(map2, key2) { var data = map2.__data__; return isKeyable(key2) ? data[typeof key2 == "string" ? "string" : "hash"] : data.map; } function mapCacheDelete(key2) { var result = getMapData(this, key2).delete(key2); return this.size -= result ? 1 : 0, result; } function mapCacheGet(key2) { return getMapData(this, key2).get(key2); } function mapCacheHas(key2) { return getMapData(this, key2).has(key2); } function mapCacheSet(key2, value) { var data = getMapData(this, key2), size2 = data.size; return data.set(key2, value), this.size += data.size == size2 ? 0 : 1, this; } function MapCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; for (this.clear(); ++index < length; ) { var entry = entries[index]; this.set(entry[0], entry[1]); } } MapCache.prototype.clear = mapCacheClear; MapCache.prototype.delete = mapCacheDelete; MapCache.prototype.get = mapCacheGet; MapCache.prototype.has = mapCacheHas; MapCache.prototype.set = mapCacheSet; var FUNC_ERROR_TEXT = "Expected a function"; function memoize(func, resolver) { if (typeof func != "function" || resolver != null && typeof resolver != "function") throw new TypeError(FUNC_ERROR_TEXT); var memoized = function() { var args = arguments, key2 = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache; if (cache.has(key2)) return cache.get(key2); var result = func.apply(this, args); return memoized.cache = cache.set(key2, result) || cache, result; }; return memoized.cache = new (memoize.Cache || MapCache)(), memoized; } memoize.Cache = MapCache; var MAX_MEMOIZE_SIZE = 500; function memoizeCapped(func) { var result = memoize(func, function(key2) { return cache.size === MAX_MEMOIZE_SIZE && cache.clear(), key2; }), cache = result.cache; return result; } var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, reEscapeChar = /\\(\\)?/g, stringToPath = memoizeCapped(function(string) { var result = []; return string.charCodeAt(0) === 46 && result.push(""), string.replace(rePropName, function(match2, number2, quote, subString) { result.push(quote ? subString.replace(reEscapeChar, "$1") : number2 || match2); }), result; }); function toString(value) { return value == null ? "" : baseToString(value); } function castPath(value, object) { return isArray$1(value) ? value : isKey(value, object) ? [value] : stringToPath(toString(value)); } function toKey(value) { if (typeof value == "string" || isSymbol(value)) return value; var result = value + ""; return result == "0" && 1 / value == -1 / 0 ? "-0" : result; } function baseGet(object, path2) { path2 = castPath(path2, object); for (var index = 0, length = path2.length; object != null && index < length; ) object = object[toKey(path2[index++])]; return index && index == length ? object : void 0; } function get(object, path2, defaultValue) { var result = object == null ? void 0 : baseGet(object, path2); return result === void 0 ? defaultValue : result; } function arrayPush(array, values) { for (var index = -1, length = values.length, offset = array.length; ++index < length; ) array[offset + index] = values[index]; return array; } var spreadableSymbol = Symbol$1 ? Symbol$1.isConcatSpreadable : void 0; function isFlattenable(value) { return isArray$1(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); } function baseFlatten(array, depth, predicate, isStrict, result) { var index = -1, length = array.length; for (predicate || (predicate = isFlattenable), result || (result = []); ++index < length; ) { var value = array[index]; predicate(value) ? arrayPush(result, value) : result[result.length] = value; } return result; } function flatten(array) { var length = array == null ? 0 : array.length; return length ? baseFlatten(array) : []; } function flatRest(func) { return setToString(overRest(func, void 0, flatten), func + ""); } var getPrototype = overArg(Object.getPrototypeOf, Object), objectTag$3 = "[object Object]", funcProto = Function.prototype, objectProto$4 = Object.prototype, funcToString = funcProto.toString, hasOwnProperty$3 = objectProto$4.hasOwnProperty, objectCtorString = funcToString.call(Object); function isPlainObject$1(value) { if (!isObjectLike(value) || baseGetTag(value) != objectTag$3) return !1; var proto = getPrototype(value); if (proto === null) return !0; var Ctor = hasOwnProperty$3.call(proto, "constructor") && proto.constructor; return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; } function baseSlice(array, start, end) { var index = -1, length = array.length; start < 0 && (start = -start > length ? 0 : length + start), end = end > length ? length : end, end < 0 && (end += length), length = start > end ? 0 : end - start >>> 0, start >>>= 0; for (var result = Array(length); ++index < length; ) result[index] = array[index + start]; return result; } function castSlice(array, start, end) { var length = array.length; return end = end === void 0 ? length : end, !start && end >= length ? array : baseSlice(array, start, end); } var rsAstralRange$2 = "\\ud800-\\udfff", rsComboMarksRange$3 = "\\u0300-\\u036f", reComboHalfMarksRange$3 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$3 = "\\u20d0-\\u20ff", rsComboRange$3 = rsComboMarksRange$3 + reComboHalfMarksRange$3 + rsComboSymbolsRange$3, rsVarRange$2 = "\\ufe0e\\ufe0f", rsZWJ$2 = "\\u200d", reHasUnicode = RegExp("[" + rsZWJ$2 + rsAstralRange$2 + rsComboRange$3 + rsVarRange$2 + "]"); function hasUnicode(string) { return reHasUnicode.test(string); } function asciiToArray(string) { return string.split(""); } var rsAstralRange$1 = "\\ud800-\\udfff", rsComboMarksRange$2 = "\\u0300-\\u036f", reComboHalfMarksRange$2 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$2 = "\\u20d0-\\u20ff", rsComboRange$2 = rsComboMarksRange$2 + reComboHalfMarksRange$2 + rsComboSymbolsRange$2, rsVarRange$1 = "\\ufe0e\\ufe0f", rsAstral$1 = "[" + rsAstralRange$1 + "]", rsCombo$2 = "[" + rsComboRange$2 + "]", rsFitz$1 = "\\ud83c[\\udffb-\\udfff]", rsModifier$1 = "(?:" + rsCombo$2 + "|" + rsFitz$1 + ")", rsNonAstral$1 = "[^" + rsAstralRange$1 + "]", rsRegional$1 = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair$1 = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsZWJ$1 = "\\u200d", reOptMod$1 = rsModifier$1 + "?", rsOptVar$1 = "[" + rsVarRange$1 + "]?", rsOptJoin$1 = "(?:" + rsZWJ$1 + "(?:" + [rsNonAstral$1, rsRegional$1, rsSurrPair$1].join("|") + ")" + rsOptVar$1 + reOptMod$1 + ")*", rsSeq$1 = rsOptVar$1 + reOptMod$1 + rsOptJoin$1, rsSymbol$1 = "(?:" + [rsNonAstral$1 + rsCombo$2 + "?", rsCombo$2, rsRegional$1, rsSurrPair$1, rsAstral$1].join("|") + ")", reUnicode$1 = RegExp(rsFitz$1 + "(?=" + rsFitz$1 + ")|" + rsSymbol$1 + rsSeq$1, "g"); function unicodeToArray(string) { return string.match(reUnicode$1) || []; } function stringToArray(string) { return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string); } function basePropertyOf(object) { return function(key2) { return object?.[key2]; }; } var deburredLetters = { // Latin-1 Supplement block. \u00C0: "A", \u00C1: "A", \u00C2: "A", \u00C3: "A", \u00C4: "A", \u00C5: "A", \u00E0: "a", \u00E1: "a", \u00E2: "a", \u00E3: "a", \u00E4: "a", \u00E5: "a", \u00C7: "C", \u00E7: "c", \u00D0: "D", \u00F0: "d", \u00C8: "E", \u00C9: "E", \u00CA: "E", \u00CB: "E", \u00E8: "e", \u00E9: "e", \u00EA: "e", \u00EB: "e", \u00CC: "I", \u00CD: "I", \u00CE: "I", \u00CF: "I", \u00EC: "i", \u00ED: "i", \u00EE: "i", \u00EF: "i", \u00D1: "N", \u00F1: "n", \u00D2: "O", \u00D3: "O", \u00D4: "O", \u00D5: "O", \u00D6: "O", \u00D8: "O", \u00F2: "o", \u00F3: "o", \u00F4: "o", \u00F5: "o", \u00F6: "o", \u00F8: "o", \u00D9: "U", \u00DA: "U", \u00DB: "U", \u00DC: "U", \u00F9: "u", \u00FA: "u", \u00FB: "u", \u00FC: "u", \u00DD: "Y", \u00FD: "y", \u00FF: "y", \u00C6: "Ae", \u00E6: "ae", \u00DE: "Th", \u00FE: "th", \u00DF: "ss", // Latin Extended-A block. \u0100: "A", \u0102: "A", \u0104: "A", \u0101: "a", \u0103: "a", \u0105: "a", \u0106: "C", \u0108: "C", \u010A: "C", \u010C: "C", \u0107: "c", \u0109: "c", \u010B: "c", \u010D: "c", \u010E: "D", \u0110: "D", \u010F: "d", \u0111: "d", \u0112: "E", \u0114: "E", \u0116: "E", \u0118: "E", \u011A: "E", \u0113: "e", \u0115: "e", \u0117: "e", \u0119: "e", \u011B: "e", \u011C: "G", \u011E: "G", \u0120: "G", \u0122: "G", \u011D: "g", \u011F: "g", \u0121: "g", \u0123: "g", \u0124: "H", \u0126: "H", \u0125: "h", \u0127: "h", \u0128: "I", \u012A: "I", \u012C: "I", \u012E: "I", \u0130: "I", \u0129: "i", \u012B: "i", \u012D: "i", \u012F: "i", \u0131: "i", \u0134: "J", \u0135: "j", \u0136: "K", \u0137: "k", \u0138: "k", \u0139: "L", \u013B: "L", \u013D: "L", \u013F: "L", \u0141: "L", \u013A: "l", \u013C: "l", \u013E: "l", \u0140: "l", \u0142: "l", \u0143: "N", \u0145: "N", \u0147: "N", \u014A: "N", \u0144: "n", \u0146: "n", \u0148: "n", \u014B: "n", \u014C: "O", \u014E: "O", \u0150: "O", \u014D: "o", \u014F: "o", \u0151: "o", \u0154: "R", \u0156: "R", \u0158: "R", \u0155: "r", \u0157: "r", \u0159: "r", \u015A: "S", \u015C: "S", \u015E: "S", \u0160: "S", \u015B: "s", \u015D: "s", \u015F: "s", \u0161: "s", \u0162: "T", \u0164: "T", \u0166: "T", \u0163: "t", \u0165: "t", \u0167: "t", \u0168: "U", \u016A: "U", \u016C: "U", \u016E: "U", \u0170: "U", \u0172: "U", \u0169: "u", \u016B: "u", \u016D: "u", \u016F: "u", \u0171: "u", \u0173: "u", \u0174: "W", \u0175: "w", \u0176: "Y", \u0177: "y", \u0178: "Y", \u0179: "Z", \u017B: "Z", \u017D: "Z", \u017A: "z", \u017C: "z", \u017E: "z", \u0132: "IJ", \u0133: "ij", \u0152: "Oe", \u0153: "oe", \u0149: "'n", \u017F: "s" }, deburrLetter = basePropertyOf(deburredLetters), reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, rsComboMarksRange$1 = "\\u0300-\\u036f", reComboHalfMarksRange$1 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$1 = "\\u20d0-\\u20ff", rsComboRange$1 = rsComboMarksRange$1 + reComboHalfMarksRange$1 + rsComboSymbolsRange$1, rsCombo$1 = "[" + rsComboRange$1 + "]", reComboMark = RegExp(rsCombo$1, "g"); function deburr(string) { return string = toString(string), string && string.replace(reLatin, deburrLetter).replace(reComboMark, ""); } function stackClear() { this.__data__ = new ListCache(), this.size = 0; } function stackDelete(key2) { var data = this.__data__, result = data.delete(key2); return this.size = data.size, result; } function stackGet(key2) { return this.__data__.get(key2); } function stackHas(key2) { return this.__data__.has(key2); } var LARGE_ARRAY_SIZE = 200; function stackSet(key2, value) { var data = this.__data__; if (data instanceof ListCache) { var pairs2 = data.__data__; if (!Map$1 || pairs2.length < LARGE_ARRAY_SIZE - 1) return pairs2.push([key2, value]), this.size = ++data.size, this; data = this.__data__ = new MapCache(pairs2); } return data.set(key2, value), this.size = data.size, this; } function Stack$1(entries) { var data = this.__data__ = new ListCache(entries); this.size = data.size; } Stack$1.prototype.clear = stackClear; Stack$1.prototype.delete = stackDelete; Stack$1.prototype.get = stackGet; Stack$1.prototype.has = stackHas; Stack$1.prototype.set = stackSet; function baseAssign(object, source2) { return object && copyObject(source2, keys(source2), object); } function baseAssignIn(object, source2) { return object && copyObject(source2, keysIn(source2), object); } var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports, freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module, moduleExports = freeModule && freeModule.exports === freeExports, Buffer$1 = moduleExports ? root$1.Buffer : void 0, allocUnsafe = Buffer$1 ? Buffer$1.allocUnsafe : void 0; function cloneBuffer(buffer2, isDeep) { if (isDeep) return buffer2.slice(); var length = buffer2.length, result = allocUnsafe ? allocUnsafe(length) : new buffer2.constructor(length); return buffer2.copy(result), result; } function arrayFilter(array, predicate) { for (var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; ++index < length; ) { var value = array[index]; predicate(value, index, array) && (result[resIndex++] = value); } return result; } function stubArray() { return []; } var objectProto$3 = Object.prototype, propertyIsEnumerable = objectProto$3.propertyIsEnumerable, nativeGetSymbols$1 = Object.getOwnPropertySymbols, getSymbols = nativeGetSymbols$1 ? function(object) { return object == null ? [] : (object = Object(object), arrayFilter(nativeGetSymbols$1(object), function(symbol) { return propertyIsEnumerable.call(object, symbol); })); } : stubArray; function copySymbols(source2, object) { return copyObject(source2, getSymbols(source2), object); } var nativeGetSymbols = Object.getOwnPropertySymbols, getSymbolsIn = nativeGetSymbols ? function(object) { for (var result = []; object; ) arrayPush(result, getSymbols(object)), object = getPrototype(object); return result; } : stubArray; function copySymbolsIn(source2, object) { return copyObject(source2, getSymbolsIn(source2), object); } function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result = keysFunc(object); return isArray$1(object) ? result : arrayPush(result, symbolsFunc(object)); } function getAllKeys(object) { return baseGetAllKeys(object, keys, getSymbols); } function getAllKeysIn(object) { return baseGetAllKeys(object, keysIn, getSymbolsIn); } var DataView = getNative(root$1, "DataView"), Promise$1 = getNative(root$1, "Promise"), Set$1 = getNative(root$1, "Set"), mapTag$5 = "[object Map]", objectTag$2 = "[object Object]", promiseTag = "[object Promise]", setTag$5 = "[object Set]", weakMapTag$1 = "[object WeakMap]", dataViewTag$3 = "[object DataView]", dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set$1), weakMapCtorString = toSource(WeakMap$1), getTag = baseGetTag; (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag$3 || Map$1 && getTag(new Map$1()) != mapTag$5 || Promise$1 && getTag(Promise$1.resolve()) != promiseTag || Set$1 && getTag(new Set$1()) != setTag$5 || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag$1) && (getTag = function(value) { var result = baseGetTag(value), Ctor = result == objectTag$2 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : ""; if (ctorString) switch (ctorString) { case dataViewCtorString: return dataViewTag$3; case mapCtorString: return mapTag$5; case promiseCtorString: return promiseTag; case setCtorString: return setTag$5; case weakMapCtorString: return weakMapTag$1; } return result; }); var objectProto$2 = Object.prototype, hasOwnProperty$2 = objectProto$2.hasOwnProperty; function initCloneArray(array) { var length = array.length, result = new array.constructor(length); return length && typeof array[0] == "string" && hasOwnProperty$2.call(array, "index") && (result.index = array.index, result.input = array.input), result; } var Uint8Array$1 = root$1.Uint8Array; function cloneArrayBuffer(arrayBuffer) { var result = new arrayBuffer.constructor(arrayBuffer.byteLength); return new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer)), result; } function cloneDataView(dataView, isDeep) { var buffer2 = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; return new dataView.constructor(buffer2, dataView.byteOffset, dataView.byteLength); } var reFlags = /\w*$/; function cloneRegExp(regexp2) { var result = new regexp2.constructor(regexp2.source, reFlags.exec(regexp2)); return result.lastIndex = regexp2.lastIndex, result; } var symbolProto$1 = Symbol$1 ? Symbol$1.prototype : void 0, symbolValueOf$1 = symbolProto$1 ? symbolProto$1.valueOf : void 0; function cloneSymbol(symbol) { return symbolValueOf$1 ? Object(symbolValueOf$1.call(symbol)) : {}; } function cloneTypedArray(typedArray, isDeep) { var buffer2 = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; return new typedArray.constructor(buffer2, typedArray.byteOffset, typedArray.length); } var boolTag$2 = "[object Boolean]", dateTag$2 = "[object Date]", mapTag$4 = "[object Map]", numberTag$2 = "[object Number]", regexpTag$2 = "[object RegExp]", setTag$4 = "[object Set]", stringTag$3 = "[object String]", symbolTag$2 = "[object Symbol]", arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$2 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]"; function initCloneByTag(object, tag, isDeep) { var Ctor = object.constructor; switch (tag) { case arrayBufferTag$2: return cloneArrayBuffer(object); case boolTag$2: case dateTag$2: return new Ctor(+object); case dataViewTag$2: return cloneDataView(object, isDeep); case float32Tag$1: case float64Tag$1: case int8Tag$1: case int16Tag$1: case int32Tag$1: case uint8Tag$1: case uint8ClampedTag$1: case uint16Tag$1: case uint32Tag$1: return cloneTypedArray(object, isDeep); case mapTag$4: return new Ctor(); case numberTag$2: case stringTag$3: return new Ctor(object); case regexpTag$2: return cloneRegExp(object); case setTag$4: return new Ctor(); case symbolTag$2: return cloneSymbol(object); } } function initCloneObject(object) { return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {}; } var mapTag$3 = "[object Map]"; function baseIsMap(value) { return isObjectLike(value) && getTag(value) == mapTag$3; } var nodeIsMap = nodeUtil && nodeUtil.isMap, isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap, setTag$3 = "[object Set]"; function baseIsSet(value) { return isObjectLike(value) && getTag(value) == setTag$3; } var nodeIsSet = nodeUtil && nodeUtil.isSet, isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet, CLONE_DEEP_FLAG$2 = 1, CLONE_FLAT_FLAG$1 = 2, CLONE_SYMBOLS_FLAG$2 = 4, argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", errorTag$1 = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag$2 = "[object Map]", numberTag$1 = "[object Number]", objectTag$1 = "[object Object]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$2 = "[object String]", symbolTag$1 = "[object Symbol]", weakMapTag = "[object WeakMap]", arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]", cloneableTags = {}; cloneableTags[argsTag$1] = cloneableTags[arrayTag$1] = cloneableTags[arrayBufferTag$1] = cloneableTags[dataViewTag$1] = cloneableTags[boolTag$1] = cloneableTags[dateTag$1] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag$2] = cloneableTags[numberTag$1] = cloneableTags[objectTag$1] = cloneableTags[regexpTag$1] = cloneableTags[setTag$2] = cloneableTags[stringTag$2] = cloneableTags[symbolTag$1] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = !0; cloneableTags[errorTag$1] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = !1; function baseClone(value, bitmask, customizer, key2, object, stack2) { var result, isDeep = bitmask & CLONE_DEEP_FLAG$2, isFlat = bitmask & CLONE_FLAT_FLAG$1, isFull = bitmask & CLONE_SYMBOLS_FLAG$2; if (customizer && (result = object ? customizer(value, key2, object, stack2) : customizer(value)), result !== void 0) return result; if (!isObject$1(value)) return value; var isArr = isArray$1(value); if (isArr) { if (result = initCloneArray(value), !isDeep) return copyArray(value, result); } else { var tag = getTag(value), isFunc = tag == funcTag || tag == genTag; if (isBuffer(value)) return cloneBuffer(value, isDeep); if (tag == objectTag$1 || tag == argsTag$1 || isFunc && !object) { if (result = isFlat || isFunc ? {} : initCloneObject(value), !isDeep) return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value)); } else { if (!cloneableTags[tag]) return object ? value : {}; result = initCloneByTag(value, tag, isDeep); } } stack2 || (stack2 = new Stack$1()); var stacked = stack2.get(value); if (stacked) return stacked; stack2.set(value, result), isSet(value) ? value.forEach(function(subValue) { result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack2)); }) : isMap(value) && value.forEach(function(subValue, key3) { result.set(key3, baseClone(subValue, bitmask, customizer, key3, value, stack2)); }); var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys, props = isArr ? void 0 : keysFunc(value