import x from "./_getAllKeys.js";
var q = 1, E = Object.prototype, F = E.hasOwnProperty;
function I(r, n, A, a, R, f) {
  var v = A & q, d = x(r), g = d.length, S = x(n), _ = S.length;
  if (g != _ && !v)
    return !1;
  for (var l = g; l--; ) {
    var i = d[l];
    if (!(v ? i in n : F.call(n, i)))
      return !1;
  }
  var O = f.get(r), w = f.get(n);
  if (O && w)
    return O == n && w == r;
  var s = !0;
  f.set(r, n), f.set(n, r);
  for (var t = v; ++l < g; ) {
    i = d[l];
    var p = r[i], e = n[i];
    if (a)
      var L = v ? a(e, p, i, n, r, f) : a(p, e, i, r, n, f);
    if (!(L === void 0 ? p === e || R(p, e, A, a, f) : L)) {
      s = !1;
      break;
    }
    t || (t = i == "constructor");
  }
  if (s && !t) {
    var u = r.constructor, P = n.constructor;
    u != P && "constructor" in r && "constructor" in n && !(typeof u == "function" && u instanceof u && typeof P == "function" && P instanceof P) && (s = !1);
  }
  return f.delete(r), f.delete(n), s;
}
export {
  I as default
};
//# sourceMappingURL=_equalObjects.js.map
