var p, c;
function g() {
  if (c)
    return p;
  c = 1;
  var l = "Function.prototype.bind called on incompatible ", e = Array.prototype.slice, s = Object.prototype.toString, f = "[object Function]";
  return p = function(v) {
    var t = this;
    if (typeof t != "function" || s.call(t) !== f)
      throw new TypeError(l + t);
    for (var o = e.call(arguments, 1), r, y = function() {
      if (this instanceof r) {
        var n = t.apply(
          this,
          o.concat(e.call(arguments))
        );
        return Object(n) === n ? n : this;
      } else
        return t.apply(
          v,
          o.concat(e.call(arguments))
        );
    }, b = Math.max(0, t.length - o.length), u = [], a = 0; a < b; a++)
      u.push("$" + a);
    if (r = Function("binder", "return function (" + u.join(",") + "){ return binder.apply(this,arguments); }")(y), t.prototype) {
      var i = function() {
      };
      i.prototype = t.prototype, r.prototype = new i(), i.prototype = null;
    }
    return r;
  }, p;
}
export {
  g as __require
};
//# sourceMappingURL=implementation.js.map
