var u=Object.prototype.hasOwnProperty;function a(t,e,f){for(f of t.keys())if(o(f,e))return f}function o(t,e){var f,n,r;if(t===e)return!0;if(t&&e&&(f=t.constructor)===e.constructor){if(f===Date)return t.getTime()===e.getTime();if(f===RegExp)return t.toString()===e.toString();if(f===Array){if((n=t.length)===e.length)for(;n--&&o(t[n],e[n]););return n===-1}if(f===Set){if(t.size!==e.size)return!1;for(n of t)if(r=n,r&&typeof r=="object"&&(r=a(e,r),!r)||!e.has(r))return!1;return!0}if(f===Map){if(t.size!==e.size)return!1;for(n of t)if(r=n[0],r&&typeof r=="object"&&(r=a(e,r),!r)||!o(n[1],e.get(r)))return!1;return!0}if(f===ArrayBuffer)t=new Uint8Array(t),e=new Uint8Array(e);else if(f===DataView){if((n=t.byteLength)===e.byteLength)for(;n--&&t.getInt8(n)===e.getInt8(n););return n===-1}if(ArrayBuffer.isView(t)){if((n=t.byteLength)===e.byteLength)for(;n--&&t[n]===e[n];);return n===-1}if(!f||typeof t=="object"){for(f in n=0,t)if(u.call(t,f)&&++n&&!u.call(e,f)||!(f in e)||!o(t[f],e[f]))return!1;return Object.keys(e).length===n}}return t!==t&&e!==e}export{o as t};
