'use strict';varGetIntrinsic=require('../GetIntrinsic');var$species=GetIntrinsic('%Symbol.species%',true);var$TypeError=GetIntrinsic('%TypeError%');varIsConstructor=require('./IsConstructor');varType=require('./Type');// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructormodule.exports=functionSpeciesConstructor(O,defaultConstructor){if(Type(O)!=='Object'){thrownew$TypeError('Assertion failed: Type(O) is not Object');}varC=O.constructor;if(typeofC==='undefined'){returndefaultConstructor;}if(Type(C)!=='Object'){thrownew$TypeError('O.constructor is not an Object');}varS=$species?C[$species]:void0;if(S==null){returndefaultConstructor;}if(IsConstructor(S)){returnS;}thrownew$TypeError('no constructor found');};