lodash-rails 4.17.4 → 4.17.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5bdc40792066ab364d12216be61344b8f7deb2a7
4
- data.tar.gz: 47c9e188cdf326b5247f2afd0475df06de377261
2
+ SHA256:
3
+ metadata.gz: 56bc581a04b5a81ce6412cb669a1e077f1f8f9e9b261393ec0f2ed0aefff2ddf
4
+ data.tar.gz: b77d6e509b3eb0bebb4a52f87e0020f77502a890801c458a6002d8dc9f94f536
5
5
  SHA512:
6
- metadata.gz: 22760c7fa4a3bb929293df5d016b251c2ea838d68a3a8e889f092ec020e65b640f90ba9c32e7418c6248e77089d499abda87f29e0f2a0437409d08cafc3bee92
7
- data.tar.gz: 9f1eb0f8f8c2596fc36980ea4759d3a994f58d6675aa0583c7f28b621578e8cc085af48620d513d6cd69555e54611f8ac95de5de178f0c9e6fb2014f5a23e88b
6
+ metadata.gz: fb0915d94c2e6b2866035e34fb6b2f67e20397a374a7c1f1c83dbe51acb00e80dda93a1195dd4cf2b693c7bfd6e5365542177884767798708d95e4c12dbfa763
7
+ data.tar.gz: c09545e7314cbe21ed20a2384d8ece93198a70ea10b855a44e887045750a433adf4d70ca70230278491a766e3263a66a7a5a8fcf08cd5e29c84346290d5ea6c7
data/README.md CHANGED
@@ -18,7 +18,7 @@ Add the necessary library to `app/assets/javascripts/application.js`:
18
18
 
19
19
  ## What's included?
20
20
 
21
- lodash 4.17.4:
21
+ lodash 4.17.5:
22
22
 
23
23
  * lodash.core.js
24
24
  * lodash.core.min.js
@@ -1,5 +1,5 @@
1
1
  module LoDash
2
2
  module Rails
3
- VERSION = "4.17.4"
3
+ VERSION = "4.17.5"
4
4
  end
5
5
  end
@@ -13,7 +13,7 @@
13
13
  var undefined;
14
14
 
15
15
  /** Used as the semantic version number. */
16
- var VERSION = '4.17.4';
16
+ var VERSION = '4.17.5';
17
17
 
18
18
  /** Error message constants. */
19
19
  var FUNC_ERROR_TEXT = 'Expected a function';
@@ -49,6 +49,9 @@
49
49
  var reUnescapedHtml = /[&<>"']/g,
50
50
  reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
51
51
 
52
+ /** Used to detect unsigned integer values. */
53
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
54
+
52
55
  /** Used to map characters to HTML entities. */
53
56
  var htmlEscapes = {
54
57
  '&': '&amp;',
@@ -1159,26 +1162,6 @@
1159
1162
  return wrapper;
1160
1163
  }
1161
1164
 
1162
- /**
1163
- * Used by `_.defaults` to customize its `_.assignIn` use to assign properties
1164
- * of source objects to the destination object for all destination properties
1165
- * that resolve to `undefined`.
1166
- *
1167
- * @private
1168
- * @param {*} objValue The destination value.
1169
- * @param {*} srcValue The source value.
1170
- * @param {string} key The key of the property to assign.
1171
- * @param {Object} object The parent object of `objValue`.
1172
- * @returns {*} Returns the value to assign.
1173
- */
1174
- function customDefaultsAssignIn(objValue, srcValue, key, object) {
1175
- if (objValue === undefined ||
1176
- (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {
1177
- return srcValue;
1178
- }
1179
- return objValue;
1180
- }
1181
-
1182
1165
  /**
1183
1166
  * A specialized version of `baseIsEqualDeep` for arrays with support for
1184
1167
  * partial deep comparisons.
@@ -1366,6 +1349,48 @@
1366
1349
  return isArray(value) || isArguments(value);
1367
1350
  }
1368
1351
 
1352
+ /**
1353
+ * Checks if `value` is a valid array-like index.
1354
+ *
1355
+ * @private
1356
+ * @param {*} value The value to check.
1357
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
1358
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
1359
+ */
1360
+ function isIndex(value, length) {
1361
+ var type = typeof value;
1362
+ length = length == null ? MAX_SAFE_INTEGER : length;
1363
+
1364
+ return !!length &&
1365
+ (type == 'number' ||
1366
+ (type != 'symbol' && reIsUint.test(value))) &&
1367
+ (value > -1 && value % 1 == 0 && value < length);
1368
+ }
1369
+
1370
+ /**
1371
+ * Checks if the given arguments are from an iteratee call.
1372
+ *
1373
+ * @private
1374
+ * @param {*} value The potential iteratee value argument.
1375
+ * @param {*} index The potential iteratee index or key argument.
1376
+ * @param {*} object The potential iteratee object argument.
1377
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
1378
+ * else `false`.
1379
+ */
1380
+ function isIterateeCall(value, index, object) {
1381
+ if (!isObject(object)) {
1382
+ return false;
1383
+ }
1384
+ var type = typeof index;
1385
+ if (type == 'number'
1386
+ ? (isArrayLike(object) && isIndex(index, object.length))
1387
+ : (type == 'string' && index in object)
1388
+ ) {
1389
+ return eq(object[index], value);
1390
+ }
1391
+ return false;
1392
+ }
1393
+
1369
1394
  /**
1370
1395
  * This function is like
1371
1396
  * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
@@ -3098,39 +3123,6 @@
3098
3123
  copyObject(source, nativeKeysIn(source), object);
3099
3124
  });
3100
3125
 
3101
- /**
3102
- * This method is like `_.assignIn` except that it accepts `customizer`
3103
- * which is invoked to produce the assigned values. If `customizer` returns
3104
- * `undefined`, assignment is handled by the method instead. The `customizer`
3105
- * is invoked with five arguments: (objValue, srcValue, key, object, source).
3106
- *
3107
- * **Note:** This method mutates `object`.
3108
- *
3109
- * @static
3110
- * @memberOf _
3111
- * @since 4.0.0
3112
- * @alias extendWith
3113
- * @category Object
3114
- * @param {Object} object The destination object.
3115
- * @param {...Object} sources The source objects.
3116
- * @param {Function} [customizer] The function to customize assigned values.
3117
- * @returns {Object} Returns `object`.
3118
- * @see _.assignWith
3119
- * @example
3120
- *
3121
- * function customizer(objValue, srcValue) {
3122
- * return _.isUndefined(objValue) ? srcValue : objValue;
3123
- * }
3124
- *
3125
- * var defaults = _.partialRight(_.assignInWith, customizer);
3126
- *
3127
- * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
3128
- * // => { 'a': 1, 'b': 2 }
3129
- */
3130
- var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
3131
- copyObject(source, keysIn(source), object, customizer);
3132
- });
3133
-
3134
3126
  /**
3135
3127
  * Creates an object that inherits from the `prototype` object. If a
3136
3128
  * `properties` object is given, its own enumerable string keyed properties
@@ -3191,9 +3183,35 @@
3191
3183
  * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
3192
3184
  * // => { 'a': 1, 'b': 2 }
3193
3185
  */
3194
- var defaults = baseRest(function(args) {
3195
- args.push(undefined, customDefaultsAssignIn);
3196
- return assignInWith.apply(undefined, args);
3186
+ var defaults = baseRest(function(object, sources) {
3187
+ object = Object(object);
3188
+
3189
+ var index = -1;
3190
+ var length = sources.length;
3191
+ var guard = length > 2 ? sources[2] : undefined;
3192
+
3193
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
3194
+ length = 1;
3195
+ }
3196
+
3197
+ while (++index < length) {
3198
+ var source = sources[index];
3199
+ var props = keysIn(source);
3200
+ var propsIndex = -1;
3201
+ var propsLength = props.length;
3202
+
3203
+ while (++propsIndex < propsLength) {
3204
+ var key = props[propsIndex];
3205
+ var value = object[key];
3206
+
3207
+ if (value === undefined ||
3208
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
3209
+ object[key] = source[key];
3210
+ }
3211
+ }
3212
+ }
3213
+
3214
+ return object;
3197
3215
  });
3198
3216
 
3199
3217
  /**
@@ -3,27 +3,27 @@
3
3
  * Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
4
4
  * Build: `lodash core -o ./dist/lodash.core.js`
5
5
  */
6
- ;(function(){function n(n){return K(n)&&pn.call(n,"callee")&&!bn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?nn:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");
7
- return setTimeout(function(){n.apply(nn,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===nn?i===i:r(i,c)))var c=i,f=o}return f}function l(n,t){var r=[];return mn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function p(n,r,e,u,o){var i=-1,c=n.length;for(e||(e=D),o||(o=[]);++i<c;){var f=n[i];0<r&&e(f)?1<r?p(f,r-1,e,u,o):t(o,f):u||(o[o.length]=f)}return o}function s(n,t){return n&&On(n,t,In);
8
- }function h(n,t){return l(t,function(t){return V(n[t])})}function v(n,t){return n>t}function y(n,t,r,e,u){return n===t||(null==n||null==t||!K(n)&&!K(t)?n!==n&&t!==t:b(n,t,r,e,y,u))}function b(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){
9
- return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=B(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=M(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=R(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t,
10
- r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?d:r)(n)}function _(n,t){return n<t}function j(n,t){var r=-1,e=U(n)?Array(n.length):[];return mn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function d(n){var t=_n(n);return function(r){var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&y(n[u],r[u],3)))return false}return true}}function m(n,t){return n=Object(n),G(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function O(n){return xn(q(n,void 0,Y),n+"");
11
- }function x(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function A(n){return x(n,0,n.length)}function E(n,t){var r;return mn(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function w(n,r){return G(r,function(n,r){return r.func.apply(r.thisArg,t([n],r.args))},n)}function k(n,t,r,e){var u=!r;r||(r={});for(var o=-1,i=t.length;++o<i;){var c=t[o],f=e?e(r[c],n[c],c,r,n):nn;if(f===nn&&(f=n[c]),u)r[c]=f;else{var a=r,l=a[c];
12
- pn.call(a,c)&&M(l,f)&&(f!==nn||c in a)||(a[c]=f)}}return r}function N(n){return O(function(t,r){var e=-1,u=r.length,o=1<u?r[u-1]:nn,o=3<n.length&&typeof o=="function"?(u--,o):nn;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function F(n){return function(){var t=arguments,r=dn(n.prototype),t=n.apply(r,t);return H(t)?t:r}}function S(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==on&&this instanceof e?u:n;++c<f;)a[c]=r[c];for(;i--;)a[c++]=arguments[++o];
13
- return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=F(n);return e}function T(n,t,r,e){return n===nn||M(n,ln[r])&&!pn.call(e,r)?t:n}function B(n,t,r,e,u,o){var i=n.length,c=t.length;if(i!=c&&!(1&r&&c>i))return false;for(var c=-1,f=true,a=2&r?[]:nn;++c<i;){var l=n[c],p=t[c];if(void 0!==nn){f=false;break}if(a){if(!E(t,function(n,t){if(!z(a,t)&&(l===n||u(l,n,r,e,o)))return a.push(t)})){f=false;break}}else if(l!==p&&!u(l,p,r,e,o)){f=false;break}}return f}function R(n,t,r,e,u,o){
14
- var i=1&r,c=In(n),f=c.length,a=In(t).length;if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:pn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];if(void 0!==nn||s!==h&&!u(s,h,r,e,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),a}function D(t){return Nn(t)||n(t)}function I(n){var t=[];if(null!=n)for(var r in Object(n))t.push(r);
15
- return t}function q(n,t,r){return t=jn(t===nn?n.length-1:t,0),function(){for(var e=arguments,u=-1,o=jn(e.length-t,0),i=Array(o);++u<o;)i[u]=e[t+u];for(u=-1,o=Array(t+1);++u<t;)o[u]=e[u];return o[t]=r(i),n.apply(this,o)}}function $(n){return(null==n?0:n.length)?p(n,1):[]}function P(n){return n&&n.length?n[0]:nn}function z(n,t,r){var e=null==n?0:n.length;r=typeof r=="number"?0>r?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1}function C(n,t){return mn(n,g(t));
16
- }function G(n,t,r){return e(n,g(t),r,3>arguments.length,mn)}function J(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=nn),r}}function M(n,t){return n===t||n!==n&&t!==t}function U(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t),t&&!V(n)}function V(n){return!!H(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n);
17
- }function H(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function K(n){return null!=n&&typeof n=="object"}function L(n){return typeof n=="number"||K(n)&&"[object Number]"==hn.call(n)}function Q(n){return typeof n=="string"||!Nn(n)&&K(n)&&"[object String]"==hn.call(n)}function W(n){return typeof n=="string"?n:null==n?"":n+""}function X(n){return null==n?[]:u(n,In(n))}function Y(n){return n}function Z(n,r,e){var u=In(r),o=h(r,u);null!=e||H(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,In(r)));
18
- var i=!(H(e)&&"chain"in e&&!e.chain),c=V(n);return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var nn,tn=1/0,rn=/[&<>"']/g,en=RegExp(rn.source),un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){
19
- return function(t){return null==n?nn:n[t]}}({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,yn=Object.create,bn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return H(t)?yn?yn(t):(n.prototype=t,t=new n,n.prototype=nn,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i;
20
- var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(s),On=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),xn=Y,An=function(n){return function(t,r,e){var u=Object(t);if(!U(t)){var o=g(r);t=In(t),r=function(n){return o(u[n],n,u)}}return r=n(t,r,e),-1<r?u[o?t[r]:r]:nn}}(function(n,t,r){var e=null==n?0:n.length;
21
- if(!e)return-1;r=null==r?0:Fn(r),0>r&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++r<e;)if(t(n[r],r,n)){n=r;break n}n=-1}return n}),En=O(function(n,t,r){return S(n,t,r)}),wn=O(function(n,t){return c(n,1,t)}),kn=O(function(n,t,r){return c(n,Sn(t)||0,r)}),Nn=Array.isArray,Fn=Number,Sn=Number,Tn=N(function(n,t){k(t,_n(t),n)}),Bn=N(function(n,t){k(t,I(t),n)}),Rn=N(function(n,t,r,e){k(t,qn(t),n,e)}),Dn=O(function(n){return n.push(nn,T),Rn.apply(nn,n)}),In=_n,qn=I,$n=function(n){return xn(q(n,nn,$),n+"");
22
- }(function(n,t){return null==n?{}:m(n,t)});o.assignIn=Bn,o.before=J,o.bind=En,o.chain=function(n){return n=o(n),n.__chain__=true,n},o.compact=function(n){return l(n,Boolean)},o.concat=function(){var n=arguments.length;if(!n)return[];for(var r=Array(n-1),e=arguments[0];n--;)r[n-1]=arguments[n];return t(Nn(e)?A(e):[e],p(r,1))},o.create=function(n,t){var r=dn(n);return null==t?r:Tn(r,t)},o.defaults=Dn,o.defer=wn,o.delay=kn,o.filter=function(n,t){return l(n,g(t))},o.flatten=$,o.flattenDeep=function(n){
23
- return(null==n?0:n.length)?p(n,tn):[]},o.iteratee=g,o.keys=In,o.map=function(n,t){return j(n,g(t))},o.matches=function(n){return d(Tn({},n))},o.mixin=Z,o.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments)}},o.once=function(n){return J(2,n)},o.pick=$n,o.slice=function(n,t,r){var e=null==n?0:n.length;return r=r===nn?e:+r,e?x(n,null==t?0:+t,r):[]},o.sortBy=function(n,t){var e=0;return t=g(t),j(j(n,function(n,r,u){return{
24
- value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==nn,o=null===r,i=r===r,c=e!==nn,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r<e||f&&u&&i||!c&&i||!a){r=-1;break n}}r=0}return r||n.index-t.index}),r("value"))},o.tap=function(n,t){return t(n),n},o.thru=function(n,t){return t(n)},o.toArray=function(n){return U(n)?n.length?A(n):[]:X(n)},o.values=X,o.extend=Bn,Z(o,o),o.clone=function(n){return H(n)?Nn(n)?A(n):k(n,_n(n)):n;
25
- },o.escape=function(n){return(n=W(n))&&en.test(n)?n.replace(rn,fn):n},o.every=function(n,t,r){return t=r?nn:t,f(n,g(t))},o.find=An,o.forEach=C,o.has=function(n,t){return null!=n&&pn.call(n,t)},o.head=P,o.identity=Y,o.indexOf=z,o.isArguments=n,o.isArray=Nn,o.isBoolean=function(n){return true===n||false===n||K(n)&&"[object Boolean]"==hn.call(n)},o.isDate=function(n){return K(n)&&"[object Date]"==hn.call(n)},o.isEmpty=function(t){return U(t)&&(Nn(t)||Q(t)||V(t.splice)||n(t))?!t.length:!_n(t).length},o.isEqual=function(n,t){
26
- return y(n,t)},o.isFinite=function(n){return typeof n=="number"&&gn(n)},o.isFunction=V,o.isNaN=function(n){return L(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=L,o.isObject=H,o.isRegExp=function(n){return K(n)&&"[object RegExp]"==hn.call(n)},o.isString=Q,o.isUndefined=function(n){return n===nn},o.last=function(n){var t=null==n?0:n.length;return t?n[t-1]:nn},o.max=function(n){return n&&n.length?a(n,Y,v):nn},o.min=function(n){return n&&n.length?a(n,Y,_):nn},o.noConflict=function(){return on._===this&&(on._=vn),
27
- this},o.noop=function(){},o.reduce=G,o.result=function(n,t,r){return t=null==n?nn:n[t],t===nn&&(t=r),V(t)?t.call(n):t},o.size=function(n){return null==n?0:(n=U(n)?n:_n(n),n.length)},o.some=function(n,t,r){return t=r?nn:t,E(n,g(t))},o.uniqueId=function(n){var t=++sn;return W(n)+t},o.each=C,o.first=P,Z(o,function(){var n={};return s(o,function(t,r){pn.call(o.prototype,r)||(n[r]=t)}),n}(),{chain:false}),o.VERSION="4.17.4",mn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){
28
- var t=(/^(?:replace|split)$/.test(n)?String.prototype:an)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Nn(u)?u:[],n)}return this[r](function(r){return t.apply(Nn(r)?r:[],n)})}}),o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=function(){return w(this.__wrapped__,this.__actions__)},typeof define=="function"&&typeof define.amd=="object"&&define.amd?(on._=o,
29
- define(function(){return o})):cn?((cn.exports=o)._=o,un._=o):on._=o}).call(this);
6
+ ;(function(){function n(n){return H(n)&&pn.call(n,"callee")&&!yn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?Z:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");
7
+ return setTimeout(function(){n.apply(Z,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===Z?i===i:r(i,c)))var c=i,f=o}return f}function l(n,t){var r=[];return mn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function p(n,r,e,u,o){var i=-1,c=n.length;for(e||(e=R),o||(o=[]);++i<c;){var f=n[i];0<r&&e(f)?1<r?p(f,r-1,e,u,o):t(o,f):u||(o[o.length]=f)}return o}function s(n,t){return n&&On(n,t,Dn);
8
+ }function h(n,t){return l(t,function(t){return U(n[t])})}function v(n,t){return n>t}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!H(t)?n!==n&&t!==t:y(n,t,r,e,b,u))}function y(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){
9
+ return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=T(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=J(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=B(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t,
10
+ r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?X:(typeof n=="object"?d:r)(n)}function _(n,t){return n<t}function j(n,t){var r=-1,e=M(n)?Array(n.length):[];return mn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function d(n){var t=_n(n);return function(r){var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&b(n[u],r[u],3)))return false}return true}}function m(n,t){return n=Object(n),C(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function O(n){return xn(I(n,void 0,X),n+"");
11
+ }function x(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function A(n){return x(n,0,n.length)}function E(n,t){var r;return mn(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function w(n,r){return C(r,function(n,r){return r.func.apply(r.thisArg,t([n],r.args))},n)}function k(n,t,r){var e=!r;r||(r={});for(var u=-1,o=t.length;++u<o;){var i=t[u],c=Z;if(c===Z&&(c=n[i]),e)r[i]=c;else{var f=r,a=f[i];pn.call(f,i)&&J(a,c)&&(c!==Z||i in f)||(f[i]=c);
12
+ }}return r}function N(n){return O(function(t,r){var e=-1,u=r.length,o=1<u?r[u-1]:Z,o=3<n.length&&typeof o=="function"?(u--,o):Z;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function F(n){return function(){var t=arguments,r=dn(n.prototype),t=n.apply(r,t);return V(t)?t:r}}function S(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==on&&this instanceof e?u:n;++c<f;)a[c]=r[c];for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");
13
+ var u=F(n);return e}function T(n,t,r,e,u,o){var i=n.length,c=t.length;if(i!=c&&!(1&r&&c>i))return false;for(var c=-1,f=true,a=2&r?[]:Z;++c<i;){var l=n[c],p=t[c];if(void 0!==Z){f=false;break}if(a){if(!E(t,function(n,t){if(!P(a,t)&&(l===n||u(l,n,r,e,o)))return a.push(t)})){f=false;break}}else if(l!==p&&!u(l,p,r,e,o)){f=false;break}}return f}function B(n,t,r,e,u,o){var i=1&r,c=Dn(n),f=c.length,a=Dn(t).length;if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:pn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];
14
+ if(void 0!==Z||s!==h&&!u(s,h,r,e,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),a}function R(t){return Nn(t)||n(t)}function D(n){var t=[];if(null!=n)for(var r in Object(n))t.push(r);return t}function I(n,t,r){return t=jn(t===Z?n.length-1:t,0),function(){for(var e=arguments,u=-1,o=jn(e.length-t,0),i=Array(o);++u<o;)i[u]=e[t+u];for(u=-1,
15
+ o=Array(t+1);++u<t;)o[u]=e[u];return o[t]=r(i),n.apply(this,o)}}function $(n){return(null==n?0:n.length)?p(n,1):[]}function q(n){return n&&n.length?n[0]:Z}function P(n,t,r){var e=null==n?0:n.length;r=typeof r=="number"?0>r?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1}function z(n,t){return mn(n,g(t))}function C(n,t,r){return e(n,g(t),r,3>arguments.length,mn)}function G(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),
16
+ function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=Z),r}}function J(n,t){return n===t||n!==n&&t!==t}function M(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t),t&&!U(n)}function U(n){return!!V(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function V(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function H(n){return null!=n&&typeof n=="object"}function K(n){
17
+ return typeof n=="number"||H(n)&&"[object Number]"==hn.call(n)}function L(n){return typeof n=="string"||!Nn(n)&&H(n)&&"[object String]"==hn.call(n)}function Q(n){return typeof n=="string"?n:null==n?"":n+""}function W(n){return null==n?[]:u(n,Dn(n))}function X(n){return n}function Y(n,r,e){var u=Dn(r),o=h(r,u);null!=e||V(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,Dn(r)));var i=!(V(e)&&"chain"in e&&!e.chain),c=U(n);return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;
18
+ if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var Z,nn=1/0,tn=/[&<>"']/g,rn=RegExp(tn.source),en=/^(?:0|[1-9]\d*)$/,un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){
19
+ return function(t){return null==n?Z:n[t]}}({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,bn=Object.create,yn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return V(t)?bn?bn(t):(n.prototype=t,t=new n,n.prototype=Z,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i;
20
+ var mn=function(n,t){return function(r,e){if(null==r)return r;if(!M(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(s),On=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),xn=X,An=function(n){return function(t,r,e){var u=Object(t);if(!M(t)){var o=g(r);t=Dn(t),r=function(n){return o(u[n],n,u)}}return r=n(t,r,e),-1<r?u[o?t[r]:r]:Z}}(function(n,t,r){var e=null==n?0:n.length;
21
+ if(!e)return-1;r=null==r?0:Fn(r),0>r&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++r<e;)if(t(n[r],r,n)){n=r;break n}n=-1}return n}),En=O(function(n,t,r){return S(n,t,r)}),wn=O(function(n,t){return c(n,1,t)}),kn=O(function(n,t,r){return c(n,Sn(t)||0,r)}),Nn=Array.isArray,Fn=Number,Sn=Number,Tn=N(function(n,t){k(t,_n(t),n)}),Bn=N(function(n,t){k(t,D(t),n)}),Rn=O(function(n,t){n=Object(n);var r,e=-1,u=t.length,o=2<u?t[2]:Z;if(r=o){r=t[0];var i=t[1];if(V(o)){var c=typeof i;if("number"==c){if(c=M(o))var c=o.length,f=typeof i,c=null==c?9007199254740991:c,c=!!c&&("number"==f||"symbol"!=f&&en.test(i))&&-1<i&&0==i%1&&i<c;
22
+ }else c="string"==c&&i in o;r=!!c&&J(o[i],r)}else r=false}for(r&&(u=1);++e<u;)for(o=t[e],r=In(o),i=-1,c=r.length;++i<c;){var f=r[i],a=n[f];(a===Z||J(a,ln[f])&&!pn.call(n,f))&&(n[f]=o[f])}return n}),Dn=_n,In=D,$n=function(n){return xn(I(n,Z,$),n+"")}(function(n,t){return null==n?{}:m(n,t)});o.assignIn=Bn,o.before=G,o.bind=En,o.chain=function(n){return n=o(n),n.__chain__=true,n},o.compact=function(n){return l(n,Boolean)},o.concat=function(){var n=arguments.length;if(!n)return[];for(var r=Array(n-1),e=arguments[0];n--;)r[n-1]=arguments[n];
23
+ return t(Nn(e)?A(e):[e],p(r,1))},o.create=function(n,t){var r=dn(n);return null==t?r:Tn(r,t)},o.defaults=Rn,o.defer=wn,o.delay=kn,o.filter=function(n,t){return l(n,g(t))},o.flatten=$,o.flattenDeep=function(n){return(null==n?0:n.length)?p(n,nn):[]},o.iteratee=g,o.keys=Dn,o.map=function(n,t){return j(n,g(t))},o.matches=function(n){return d(Tn({},n))},o.mixin=Y,o.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments)}},o.once=function(n){
24
+ return G(2,n)},o.pick=$n,o.slice=function(n,t,r){var e=null==n?0:n.length;return r=r===Z?e:+r,e?x(n,null==t?0:+t,r):[]},o.sortBy=function(n,t){var e=0;return t=g(t),j(j(n,function(n,r,u){return{value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==Z,o=null===r,i=r===r,c=e!==Z,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r<e||f&&u&&i||!c&&i||!a){r=-1;break n}}r=0}return r||n.index-t.index}),r("value"))},o.tap=function(n,t){
25
+ return t(n),n},o.thru=function(n,t){return t(n)},o.toArray=function(n){return M(n)?n.length?A(n):[]:W(n)},o.values=W,o.extend=Bn,Y(o,o),o.clone=function(n){return V(n)?Nn(n)?A(n):k(n,_n(n)):n},o.escape=function(n){return(n=Q(n))&&rn.test(n)?n.replace(tn,fn):n},o.every=function(n,t,r){return t=r?Z:t,f(n,g(t))},o.find=An,o.forEach=z,o.has=function(n,t){return null!=n&&pn.call(n,t)},o.head=q,o.identity=X,o.indexOf=P,o.isArguments=n,o.isArray=Nn,o.isBoolean=function(n){return true===n||false===n||H(n)&&"[object Boolean]"==hn.call(n);
26
+ },o.isDate=function(n){return H(n)&&"[object Date]"==hn.call(n)},o.isEmpty=function(t){return M(t)&&(Nn(t)||L(t)||U(t.splice)||n(t))?!t.length:!_n(t).length},o.isEqual=function(n,t){return b(n,t)},o.isFinite=function(n){return typeof n=="number"&&gn(n)},o.isFunction=U,o.isNaN=function(n){return K(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=K,o.isObject=V,o.isRegExp=function(n){return H(n)&&"[object RegExp]"==hn.call(n)},o.isString=L,o.isUndefined=function(n){return n===Z},o.last=function(n){
27
+ var t=null==n?0:n.length;return t?n[t-1]:Z},o.max=function(n){return n&&n.length?a(n,X,v):Z},o.min=function(n){return n&&n.length?a(n,X,_):Z},o.noConflict=function(){return on._===this&&(on._=vn),this},o.noop=function(){},o.reduce=C,o.result=function(n,t,r){return t=null==n?Z:n[t],t===Z&&(t=r),U(t)?t.call(n):t},o.size=function(n){return null==n?0:(n=M(n)?n:_n(n),n.length)},o.some=function(n,t,r){return t=r?Z:t,E(n,g(t))},o.uniqueId=function(n){var t=++sn;return Q(n)+t},o.each=z,o.first=q,Y(o,function(){
28
+ var n={};return s(o,function(t,r){pn.call(o.prototype,r)||(n[r]=t)}),n}(),{chain:false}),o.VERSION="4.17.5",mn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){var t=(/^(?:replace|split)$/.test(n)?String.prototype:an)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Nn(u)?u:[],n)}return this[r](function(r){return t.apply(Nn(r)?r:[],n);
29
+ })}}),o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=function(){return w(this.__wrapped__,this.__actions__)},typeof define=="function"&&typeof define.amd=="object"&&define.amd?(on._=o, define(function(){return o})):cn?((cn.exports=o)._=o,un._=o):on._=o}).call(this);
@@ -12,7 +12,7 @@
12
12
  var undefined;
13
13
 
14
14
  /** Used as the semantic version number. */
15
- var VERSION = '4.17.4';
15
+ var VERSION = '4.17.5';
16
16
 
17
17
  /** Used as the size to enable large array optimizations. */
18
18
  var LARGE_ARRAY_SIZE = 200;
@@ -143,7 +143,6 @@
143
143
  /** Used to match property names within property paths. */
144
144
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
145
145
  reIsPlainProp = /^\w*$/,
146
- reLeadingDot = /^\./,
147
146
  rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
148
147
 
149
148
  /**
@@ -243,8 +242,8 @@
243
242
  reOptMod = rsModifier + '?',
244
243
  rsOptVar = '[' + rsVarRange + ']?',
245
244
  rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
246
- rsOrdLower = '\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)',
247
- rsOrdUpper = '\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)',
245
+ rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])',
246
+ rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])',
248
247
  rsSeq = rsOptVar + reOptMod + rsOptJoin,
249
248
  rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,
250
249
  rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
@@ -451,34 +450,6 @@
451
450
 
452
451
  /*--------------------------------------------------------------------------*/
453
452
 
454
- /**
455
- * Adds the key-value `pair` to `map`.
456
- *
457
- * @private
458
- * @param {Object} map The map to modify.
459
- * @param {Array} pair The key-value pair to add.
460
- * @returns {Object} Returns `map`.
461
- */
462
- function addMapEntry(map, pair) {
463
- // Don't return `map.set` because it's not chainable in IE 11.
464
- map.set(pair[0], pair[1]);
465
- return map;
466
- }
467
-
468
- /**
469
- * Adds `value` to `set`.
470
- *
471
- * @private
472
- * @param {Object} set The set to modify.
473
- * @param {*} value The value to add.
474
- * @returns {Object} Returns `set`.
475
- */
476
- function addSetEntry(set, value) {
477
- // Don't return `set.add` because it's not chainable in IE 11.
478
- set.add(value);
479
- return set;
480
- }
481
-
482
453
  /**
483
454
  * A faster alternative to `Function#apply`, this function invokes `func`
484
455
  * with the `this` binding of `thisArg` and the arguments of `args`.
@@ -1245,6 +1216,20 @@
1245
1216
  return result;
1246
1217
  }
1247
1218
 
1219
+ /**
1220
+ * Gets the value at `key`, unless `key` is "__proto__".
1221
+ *
1222
+ * @private
1223
+ * @param {Object} object The object to query.
1224
+ * @param {string} key The key of the property to get.
1225
+ * @returns {*} Returns the property value.
1226
+ */
1227
+ function safeGet(object, key) {
1228
+ return key == '__proto__'
1229
+ ? undefined
1230
+ : object[key];
1231
+ }
1232
+
1248
1233
  /**
1249
1234
  * Converts `set` to an array of its values.
1250
1235
  *
@@ -2677,7 +2662,7 @@
2677
2662
  if (!cloneableTags[tag]) {
2678
2663
  return object ? value : {};
2679
2664
  }
2680
- result = initCloneByTag(value, tag, baseClone, isDeep);
2665
+ result = initCloneByTag(value, tag, isDeep);
2681
2666
  }
2682
2667
  }
2683
2668
  // Check for circular references and return its corresponding clone.
@@ -2688,6 +2673,22 @@
2688
2673
  }
2689
2674
  stack.set(value, result);
2690
2675
 
2676
+ if (isSet(value)) {
2677
+ value.forEach(function(subValue) {
2678
+ result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
2679
+ });
2680
+
2681
+ return result;
2682
+ }
2683
+
2684
+ if (isMap(value)) {
2685
+ value.forEach(function(subValue, key) {
2686
+ result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
2687
+ });
2688
+
2689
+ return result;
2690
+ }
2691
+
2691
2692
  var keysFunc = isFull
2692
2693
  ? (isFlat ? getAllKeysIn : getAllKeys)
2693
2694
  : (isFlat ? keysIn : keys);
@@ -3615,7 +3616,7 @@
3615
3616
  }
3616
3617
  else {
3617
3618
  var newValue = customizer
3618
- ? customizer(object[key], srcValue, (key + ''), object, source, stack)
3619
+ ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
3619
3620
  : undefined;
3620
3621
 
3621
3622
  if (newValue === undefined) {
@@ -3642,8 +3643,8 @@
3642
3643
  * counterparts.
3643
3644
  */
3644
3645
  function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
3645
- var objValue = object[key],
3646
- srcValue = source[key],
3646
+ var objValue = safeGet(object, key),
3647
+ srcValue = safeGet(source, key),
3647
3648
  stacked = stack.get(srcValue);
3648
3649
 
3649
3650
  if (stacked) {
@@ -4551,20 +4552,6 @@
4551
4552
  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
4552
4553
  }
4553
4554
 
4554
- /**
4555
- * Creates a clone of `map`.
4556
- *
4557
- * @private
4558
- * @param {Object} map The map to clone.
4559
- * @param {Function} cloneFunc The function to clone values.
4560
- * @param {boolean} [isDeep] Specify a deep clone.
4561
- * @returns {Object} Returns the cloned map.
4562
- */
4563
- function cloneMap(map, isDeep, cloneFunc) {
4564
- var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);
4565
- return arrayReduce(array, addMapEntry, new map.constructor);
4566
- }
4567
-
4568
4555
  /**
4569
4556
  * Creates a clone of `regexp`.
4570
4557
  *
@@ -4578,20 +4565,6 @@
4578
4565
  return result;
4579
4566
  }
4580
4567
 
4581
- /**
4582
- * Creates a clone of `set`.
4583
- *
4584
- * @private
4585
- * @param {Object} set The set to clone.
4586
- * @param {Function} cloneFunc The function to clone values.
4587
- * @param {boolean} [isDeep] Specify a deep clone.
4588
- * @returns {Object} Returns the cloned set.
4589
- */
4590
- function cloneSet(set, isDeep, cloneFunc) {
4591
- var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);
4592
- return arrayReduce(array, addSetEntry, new set.constructor);
4593
- }
4594
-
4595
4568
  /**
4596
4569
  * Creates a clone of the `symbol` object.
4597
4570
  *
@@ -6186,7 +6159,7 @@
6186
6159
  */
6187
6160
  function initCloneArray(array) {
6188
6161
  var length = array.length,
6189
- result = array.constructor(length);
6162
+ result = new array.constructor(length);
6190
6163
 
6191
6164
  // Add properties assigned by `RegExp#exec`.
6192
6165
  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
@@ -6213,16 +6186,15 @@
6213
6186
  * Initializes an object clone based on its `toStringTag`.
6214
6187
  *
6215
6188
  * **Note:** This function only supports cloning values with tags of
6216
- * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
6189
+ * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
6217
6190
  *
6218
6191
  * @private
6219
6192
  * @param {Object} object The object to clone.
6220
6193
  * @param {string} tag The `toStringTag` of the object to clone.
6221
- * @param {Function} cloneFunc The function to clone values.
6222
6194
  * @param {boolean} [isDeep] Specify a deep clone.
6223
6195
  * @returns {Object} Returns the initialized clone.
6224
6196
  */
6225
- function initCloneByTag(object, tag, cloneFunc, isDeep) {
6197
+ function initCloneByTag(object, tag, isDeep) {
6226
6198
  var Ctor = object.constructor;
6227
6199
  switch (tag) {
6228
6200
  case arrayBufferTag:
@@ -6241,7 +6213,7 @@
6241
6213
  return cloneTypedArray(object, isDeep);
6242
6214
 
6243
6215
  case mapTag:
6244
- return cloneMap(object, isDeep, cloneFunc);
6216
+ return new Ctor;
6245
6217
 
6246
6218
  case numberTag:
6247
6219
  case stringTag:
@@ -6251,7 +6223,7 @@
6251
6223
  return cloneRegExp(object);
6252
6224
 
6253
6225
  case setTag:
6254
- return cloneSet(object, isDeep, cloneFunc);
6226
+ return new Ctor;
6255
6227
 
6256
6228
  case symbolTag:
6257
6229
  return cloneSymbol(object);
@@ -6298,10 +6270,13 @@
6298
6270
  * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
6299
6271
  */
6300
6272
  function isIndex(value, length) {
6273
+ var type = typeof value;
6301
6274
  length = length == null ? MAX_SAFE_INTEGER : length;
6275
+
6302
6276
  return !!length &&
6303
- (typeof value == 'number' || reIsUint.test(value)) &&
6304
- (value > -1 && value % 1 == 0 && value < length);
6277
+ (type == 'number' ||
6278
+ (type != 'symbol' && reIsUint.test(value))) &&
6279
+ (value > -1 && value % 1 == 0 && value < length);
6305
6280
  }
6306
6281
 
6307
6282
  /**
@@ -6751,11 +6726,11 @@
6751
6726
  */
6752
6727
  var stringToPath = memoizeCapped(function(string) {
6753
6728
  var result = [];
6754
- if (reLeadingDot.test(string)) {
6729
+ if (string.charCodeAt(0) === 46 /* . */) {
6755
6730
  result.push('');
6756
6731
  }
6757
- string.replace(rePropName, function(match, number, quote, string) {
6758
- result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
6732
+ string.replace(rePropName, function(match, number, quote, subString) {
6733
+ result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
6759
6734
  });
6760
6735
  return result;
6761
6736
  });
@@ -10363,9 +10338,11 @@
10363
10338
  function remainingWait(time) {
10364
10339
  var timeSinceLastCall = time - lastCallTime,
10365
10340
  timeSinceLastInvoke = time - lastInvokeTime,
10366
- result = wait - timeSinceLastCall;
10341
+ timeWaiting = wait - timeSinceLastCall;
10367
10342
 
10368
- return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
10343
+ return maxing
10344
+ ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
10345
+ : timeWaiting;
10369
10346
  }
10370
10347
 
10371
10348
  function shouldInvoke(time) {
@@ -12797,9 +12774,35 @@
12797
12774
  * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
12798
12775
  * // => { 'a': 1, 'b': 2 }
12799
12776
  */
12800
- var defaults = baseRest(function(args) {
12801
- args.push(undefined, customDefaultsAssignIn);
12802
- return apply(assignInWith, undefined, args);
12777
+ var defaults = baseRest(function(object, sources) {
12778
+ object = Object(object);
12779
+
12780
+ var index = -1;
12781
+ var length = sources.length;
12782
+ var guard = length > 2 ? sources[2] : undefined;
12783
+
12784
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
12785
+ length = 1;
12786
+ }
12787
+
12788
+ while (++index < length) {
12789
+ var source = sources[index];
12790
+ var props = keysIn(source);
12791
+ var propsIndex = -1;
12792
+ var propsLength = props.length;
12793
+
12794
+ while (++propsIndex < propsLength) {
12795
+ var key = props[propsIndex];
12796
+ var value = object[key];
12797
+
12798
+ if (value === undefined ||
12799
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
12800
+ object[key] = source[key];
12801
+ }
12802
+ }
12803
+ }
12804
+
12805
+ return object;
12803
12806
  });
12804
12807
 
12805
12808
  /**
@@ -13196,6 +13199,11 @@
13196
13199
  * // => { '1': 'c', '2': 'b' }
13197
13200
  */
13198
13201
  var invert = createInverter(function(result, value, key) {
13202
+ if (value != null &&
13203
+ typeof value.toString != 'function') {
13204
+ value = nativeObjectToString.call(value);
13205
+ }
13206
+
13199
13207
  result[value] = key;
13200
13208
  }, constant(identity));
13201
13209
 
@@ -13226,6 +13234,11 @@
13226
13234
  * // => { 'group1': ['a', 'c'], 'group2': ['b'] }
13227
13235
  */
13228
13236
  var invertBy = createInverter(function(result, value, key) {
13237
+ if (value != null &&
13238
+ typeof value.toString != 'function') {
13239
+ value = nativeObjectToString.call(value);
13240
+ }
13241
+
13229
13242
  if (hasOwnProperty.call(result, value)) {
13230
13243
  result[value].push(key);
13231
13244
  } else {