import e from "./isArray.js";
import t from "./isObject.js";
import n from "./isFunction.js";
import r from "./_copyArray.js";
import i from "./isArguments.js";
import a from "./isBuffer.js";
import o from "./isTypedArray.js";
import s from "./isPlainObject.js";
import c from "./_cloneBuffer.js";
import l from "./_cloneTypedArray.js";
import u from "./_initCloneObject.js";
import d from "./_assignMergeValue.js";
import f from "./isArrayLikeObject.js";
import p from "./_safeGet.js";
import m from "./toPlainObject.js";
//#region ../../node_modules/lodash-es/_baseMergeDeep.js
function h(h, g, _, v, y, b, x) {
	var S = p(h, _), C = p(g, _), w = x.get(C);
	if (w) {
		d(h, _, w);
		return;
	}
	var T = b ? b(S, C, _ + "", h, g, x) : void 0, E = T === void 0;
	if (E) {
		var D = e(C), O = !D && a(C), k = !D && !O && o(C);
		T = C, D || O || k ? e(S) ? T = S : f(S) ? T = r(S) : O ? (E = !1, T = c(C, !0)) : k ? (E = !1, T = l(C, !0)) : T = [] : s(C) || i(C) ? (T = S, i(S) ? T = m(S) : (!t(S) || n(S)) && (T = u(C))) : E = !1;
	}
	E && (x.set(C, T), y(T, C, v, b, x), x.delete(C)), d(h, _, T);
}
//#endregion
export { h as default };

//# sourceMappingURL=_baseMergeDeep.js.map