import p from "./_SetCache.js";
import w from "./_arrayIncludes.js";
import A from "./_cacheHas.js";
var R = 200;
function L(t, r, a, g) {
  var f = -1, h = w, o = !0, s = t.length, i = [], m = r.length;
  if (!s)
    return i;
  r.length >= R && (h = A, o = !1, r = new p(r));
  r:
    for (; ++f < s; ) {
      var e = t[f], n = e;
      if (e = e !== 0 ? e : 0, o && n === n) {
        for (var c = m; c--; )
          if (r[c] === n)
            continue r;
        i.push(e);
      } else h(r, n, g) || i.push(e);
    }
  return i;
}
export {
  L as default
};
