function arrayLikeKeys(value, inherited) {
	  // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
	  // Safari 9 makes `arguments.length` enumerable in strict mode.
	  var result = (isArray$4(value) || isArguments$1(value))
	    ? baseTimes(value.length, String)
	    : [];

	  var length = result.length,
	      skipIndexes = !!length;

	  for (var key in value) {
	    if ((inherited || hasOwnProperty$6.call(value, key)) &&
	        !(skipIndexes && (key == 'length' || isIndex$3(key, length)))) {
	      result.push(key);
	    }
	  }
	  return result;
	}
function arrayLikeKeys(value, inherited) {
	  
	  
	  var result = (isArray$4(value) || isArguments$1(value))
	    ? baseTimes(value.length, String)
	    : [];

	  var length = result.length,
	      skipIndexes = !!length;

	  for (var key in value) {
	    if ((inherited || hasOwnProperty$6.call(value, key)) &&
	        !(skipIndexes && (key == 'length' || isIndex$3(key, length)))) {
	      result.push(key);
	    }
	  }
	  return result;
	}
function arrayLikeKeys ( value , inherited ) { // Safari 8.1 makes `arguments.callee` enumerable in strict mode. // Safari 9 makes `arguments.length` enumerable in strict mode. var result = ( isArray$4 ( value ) || isArguments$1 ( value ) ) ? baseTimes ( value . length , String ) : [ ] ; var length = result . length , skipIndexes = ! ! length ; for ( var key in value ) { if ( ( inherited || hasOwnProperty$6 . call ( value , key ) ) && ! ( skipIndexes && ( key == 'length' || isIndex$3 ( key , length ) ) ) ) { result . push ( key ) ; } } return result ; }
Creates an array of the enumerable property names of the array-like `value`.

@private
@param {*} value The value to query.
@param {boolean} inherited Specify returning inherited property names.
@returns {Array} Returns the array of property names.
Creates an array of the enumerable property names of the array - like value .