"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var o=require("./getPrototypeOf.js"),i=require("./setPrototypeOf.js"),f=require("./isNativeFunction.js"),p=require("./construct.js");function u(n){var r=typeof Map=="function"?new Map:void 0;return u=function(e){if(e===null||!f.default(e))return e;if(typeof e!="function")throw new TypeError("Super expression must either be null or a function");if(typeof r<"u"){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return p.default(e,arguments,o.default(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),i.default(t,e)},u(n)}exports.default=u;
