|                                    |  | 'use strict';
// modified from https://github.com/es-shims/es6-shim
var objectKeys = require('object-keys');var hasSymbols = require('has-symbols/shams')();var callBound = require('call-bound');var $Object = require('es-object-atoms');var $push = callBound('Array.prototype.push');var $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');var originalGetSymbols = hasSymbols ? $Object.getOwnPropertySymbols : null;
// eslint-disable-next-line no-unused-vars
module.exports = function assign(target, source1) {	if (target == null) { throw new TypeError('target must be an object'); }	var to = $Object(target); // step 1
	if (arguments.length === 1) {		return to; // step 2
	}	for (var s = 1; s < arguments.length; ++s) {		var from = $Object(arguments[s]); // step 3.a.i
		// step 3.a.ii:
		var keys = objectKeys(from);		var getSymbols = hasSymbols && ($Object.getOwnPropertySymbols || originalGetSymbols);		if (getSymbols) {			var syms = getSymbols(from);			for (var j = 0; j < syms.length; ++j) {				var key = syms[j];				if ($propIsEnumerable(from, key)) {					$push(keys, key);				}			}		}
		// step 3.a.iii:
		for (var i = 0; i < keys.length; ++i) {			var nextKey = keys[i];			if ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2
				var propValue = from[nextKey]; // step 3.a.iii.2.a
				to[nextKey] = propValue; // step 3.a.iii.2.b
			}		}	}
	return to; // step 4
};
 |