varisObject=require('../internals/is-object');varsetPrototypeOf=require('../internals/object-set-prototype-of');// makes subclassing work correct for wrapped built-insmodule.exports=function($this,dummy,Wrapper){varNewTarget,NewTargetPrototype;if(// it can work only with native `setPrototypeOf`setPrototypeOf&&// we haven't completely correct pre-ES6 way for getting `new.target`, so use thistypeof(NewTarget=dummy.constructor)=='function'&&NewTarget!==Wrapper&&isObject(NewTargetPrototype=NewTarget.prototype)&&NewTargetPrototype!==Wrapper.prototype)setPrototypeOf($this,NewTargetPrototype);return$this;};