// Metro module 147 (f148). let c147_0; const deepDiffer = function deepDiffer(a0, a1, r8 = -1) { const r15 = typeof r8 === "number" ? arguments[3] : r8; const r12 = typeof r8 === "number" ? r8 : -1; if (r12 === 0) { return true; } if (a0 === a1) { return false; } if (typeof a0 === "function" && typeof a1 === "function") { let r61 = r15?.unsafelyIgnoreFunctions; if (r61 == null) { const r63 = (c147_0 ? !c147_0.onDifferentFunctionsIgnored : !c147_0) || r15 && "unsafelyIgnoreFunctions" in r15; r61 = true; if (!r63) { c147_0.onDifferentFunctionsIgnored(a0.name, a1.name); r61 = true; } } return !r61; } if (typeof a0 === "object" && a0 !== null) { if (typeof a1 === "object" && a1 !== null) { if (a0.constructor !== a1.constructor) { return true; } if (Array.isArray(a0)) { const length = a0.length; if (a1.length !== length) { return true; } const r43 = 0 < length; let r45 = 0; if (r43) { do { const r52 = deepDiffer(a0[r45], a1[r45], r12 - 1, r15); const r53 = r45; if (r52) { return true; } r45 = r53 + 1; } while (r45 < length); } } else { for (const key in a0) { if (deepDiffer(a0[key], a1[key], r12 - 1, r15)) { return true; } } for (const key2 in a1) { if (a0[key2] === void 0 && a1[key2] !== void 0) { return true; } } } return false; } return true; } return a0 !== a1; }; deepDiffer.unstable_setLogListeners = function unstable_setLogListeners(a0) { c147_0 = a0; }; export default deepDiffer;