'use strict';

var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
var _toObject = require('./_to-object-6de10e57.js');
var _objectPie = require('./_object-pie-083f2dd6.js');

// 19.1.2.1 Object.assign(target, source, ...)






var $assign = Object.assign;

// should work with symbols and should have deterministic property order (V8 bug)
var _objectAssign = !$assign || _toObject._fails(function () {
  var A = {};
  var B = {};
  // eslint-disable-next-line no-undef
  var S = Symbol();
  var K = 'abcdefghijklmnopqrst';
  A[S] = 7;
  K.split('').forEach(function (k) { B[k] = k; });
  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
  var T = _toObject._toObject(target);
  var aLen = arguments.length;
  var index = 1;
  var getSymbols = _objectPie._objectGops.f;
  var isEnum = _objectPie._objectPie.f;
  while (aLen > index) {
    var S = _toObject._iobject(arguments[index++]);
    var keys = getSymbols ? _toObject._objectKeys(S).concat(getSymbols(S)) : _toObject._objectKeys(S);
    var length = keys.length;
    var j = 0;
    var key;
    while (length > j) {
      key = keys[j++];
      if (!_toObject._descriptors || isEnum.call(S, key)) T[key] = S[key];
    }
  } return T;
} : $assign;

// 19.1.3.1 Object.assign(target, source)


_toObject._export(_toObject._export.S + _toObject._export.F, 'Object', { assign: _objectAssign });

var assign$1 = _toObject._core.Object.assign;

var assign = _commonjsHelpers.createCommonjsModule(function (module) {
module.exports = { "default": assign$1, __esModule: true };
});

var _Object$assign = _commonjsHelpers.unwrapExports(assign);

var _extends = _commonjsHelpers.createCommonjsModule(function (module, exports) {

exports.__esModule = true;



var _assign2 = _interopRequireDefault(assign);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = _assign2.default || function (target) {
  for (var i = 1; i < arguments.length; i++) {
    var source = arguments[i];

    for (var key in source) {
      if (Object.prototype.hasOwnProperty.call(source, key)) {
        target[key] = source[key];
      }
    }
  }

  return target;
};
});

var _extends$1 = _commonjsHelpers.unwrapExports(_extends);

exports._Object$assign = _Object$assign;
exports._extends = _extends$1;
exports._extends$1 = _extends;
