text: // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
  var dP = require('./_object-dp');
  var $export = require('./_export');
  var anObject = require('./_an-object');
  var toPrimitive = require('./_to-primitive');
  
  // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
  $export($export.S + $export.F * require('./_fails')(function () {
    // eslint-disable-next-line no-undef
    Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });
  }), 'Reflect', {
    defineProperty: function defineProperty(target, propertyKey, attributes) {
      anObject(target);
      propertyKey = toPrimitive(propertyKey, true);
      anObject(attributes);
      try {
        dP.f(target, propertyKey, attributes);
        return true;
      } catch (e) {
        return false;
      }
    }
  });
  