function(module, exports, __webpack_require__) {

	var _curry3 = /*#__PURE__*/__webpack_require__(4);
	
	var _isObject = /*#__PURE__*/__webpack_require__(57);
	
	var mergeWithKey = /*#__PURE__*/__webpack_require__(59);
	
	/**
	 * Creates a new object with the own properties of the two provided objects.
	 * If a key exists in both objects:
	 * - and both associated values are also objects then the values will be
	 *   recursively merged.
	 * - otherwise the provided function is applied to the key and associated values
	 *   using the resulting value as the new value associated with the key.
	 * If a key only exists in one object, the value will be associated with the key
	 * of the resulting object.
	 *
	 * @func
	 * @memberOf R
	 * @since v0.24.0
	 * @category Object
	 * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}
	 * @param {Function} fn
	 * @param {Object} lObj
	 * @param {Object} rObj
	 * @return {Object}
	 * @see R.mergeWithKey, R.mergeDeep, R.mergeDeepWith
	 * @example
	 *
	 *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r
	 *      R.mergeDeepWithKey(concatValues,
	 *                         { a: true, c: { thing: 'foo', values: [10, 20] }},
	 *                         { b: true, c: { thing: 'bar', values: [15, 35] }});
	 *      //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}
	 */
	
	
	var mergeDeepWithKey = /*#__PURE__*/_curry3(function mergeDeepWithKey(fn, lObj, rObj) {
	  return mergeWithKey(function (k, lVal, rVal) {
	    if (_isObject(lVal) && _isObject(rVal)) {
	      return mergeDeepWithKey(fn, lVal, rVal);
	    } else {
	      return fn(k, lVal, rVal);
	    }
	  }, lObj, rObj);
	});
	module.exports = mergeDeepWithKey;

/***/ }
function(module, exports, __webpack_require__) {

	var _curry3 = __webpack_require__(4);
	
	var _isObject = __webpack_require__(57);
	
	var mergeWithKey = __webpack_require__(59);
	
	
	
	
	var mergeDeepWithKey = _curry3(function mergeDeepWithKey(fn, lObj, rObj) {
	  return mergeWithKey(function (k, lVal, rVal) {
	    if (_isObject(lVal) && _isObject(rVal)) {
	      return mergeDeepWithKey(fn, lVal, rVal);
	    } else {
	      return fn(k, lVal, rVal);
	    }
	  }, lObj, rObj);
	});
	module.exports = mergeDeepWithKey;

 }
function ( module , exports , __webpack_require__ ) { var _curry3 = /*#__PURE__*/ __webpack_require__ ( 4 ) ; var _isObject = /*#__PURE__*/ __webpack_require__ ( 57 ) ; var mergeWithKey = /*#__PURE__*/ __webpack_require__ ( 59 ) ; /**
	 * Creates a new object with the own properties of the two provided objects.
	 * If a key exists in both objects:
	 * - and both associated values are also objects then the values will be
	 *   recursively merged.
	 * - otherwise the provided function is applied to the key and associated values
	 *   using the resulting value as the new value associated with the key.
	 * If a key only exists in one object, the value will be associated with the key
	 * of the resulting object.
	 *
	 * @func
	 * @memberOf R
	 * @since v0.24.0
	 * @category Object
	 * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}
	 * @param {Function} fn
	 * @param {Object} lObj
	 * @param {Object} rObj
	 * @return {Object}
	 * @see R.mergeWithKey, R.mergeDeep, R.mergeDeepWith
	 * @example
	 *
	 *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r
	 *      R.mergeDeepWithKey(concatValues,
	 *                         { a: true, c: { thing: 'foo', values: [10, 20] }},
	 *                         { b: true, c: { thing: 'bar', values: [15, 35] }});
	 *      //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}
	 */ var mergeDeepWithKey = /*#__PURE__*/ _curry3 ( function mergeDeepWithKey ( fn , lObj , rObj ) { return mergeWithKey ( function ( k , lVal , rVal ) { if ( _isObject ( lVal ) && _isObject ( rVal ) ) { return mergeDeepWithKey ( fn , lVal , rVal ) ; } else { return fn ( k , lVal , rVal ) ; } } , lObj , rObj ) ; } ) ; module . exports = mergeDeepWithKey ; /***/ }
/* 40
/ * 40