Update Underscore build compat to 1.7.0.

This commit is contained in:
John-David Dalton
2014-08-26 23:56:15 -07:00
parent 3191825ecc
commit 6ad7a20c07
6 changed files with 208 additions and 114 deletions

View File

@@ -3,7 +3,7 @@
* Lo-Dash 3.0.0-pre (Custom Build) <http://lodash.com/> * Lo-Dash 3.0.0-pre (Custom Build) <http://lodash.com/>
* Build: `lodash underscore -o ./dist/lodash.underscore.js` * Build: `lodash underscore -o ./dist/lodash.underscore.js`
* Copyright 2012-2014 The Dojo Foundation <http://dojofoundation.org/> * Copyright 2012-2014 The Dojo Foundation <http://dojofoundation.org/>
* Based on Underscore.js 1.6.0 <http://underscorejs.org/LICENSE> * Based on Underscore.js 1.7.0 <http://underscorejs.org/LICENSE>
* Copyright 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Copyright 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
* Available under MIT license <http://lodash.com/license> * Available under MIT license <http://lodash.com/license>
*/ */
@@ -655,6 +655,30 @@
return false; return false;
} }
/**
* The base implementation of `_.assign` without support for argument juggling,
* multiple sources, and `this` binding.
*
* @private
* @param {Object} object The destination object.
* @param {Object} source The source object.
* @param {Function} [customizer] The function to customize assigning values.
* @returns {Object} Returns the destination object.
*/
function baseAssign(object, source, customizer) {
var index = -1,
props = keys(source),
length = props.length;
while (++index < length) {
var key = props[index];
object[key] = customizer
? customizer(object[key], source[key], key, object, source)
: source[key];
}
return object;
}
/** /**
* The base implementation of `_.bindAll` without support for individual * The base implementation of `_.bindAll` without support for individual
* method name arguments. * method name arguments.
@@ -1215,7 +1239,7 @@
if (func) { if (func) {
var arity = func.length; var arity = func.length;
arity -= args.length; arity = nativeMax(arity - args.length, 0);
} }
return (bitmask & PARTIAL_FLAG) return (bitmask & PARTIAL_FLAG)
? createWrapper(func, bitmask, arity, thisArg, args, holders) ? createWrapper(func, bitmask, arity, thisArg, args, holders)
@@ -4064,18 +4088,48 @@
*/ */
function memoize(func, resolver) { function memoize(func, resolver) {
if (!isFunction(func) || (resolver && !isFunction(resolver))) { if (!isFunction(func) || (resolver && !isFunction(resolver))) {
throw new TypeError(funcErrorText); throw new TypeError(FUNC_ERROR_TEXT);
} }
var cache = {}; var memoized = function() {
return function() {
var key = resolver ? resolver.apply(this, arguments) : arguments[0]; var key = resolver ? resolver.apply(this, arguments) : arguments[0];
if (key == '__proto__') { if (key == '__proto__') {
return func.apply(this, arguments); return func.apply(this, arguments);
} }
var cache = memoized.cache;
return hasOwnProperty.call(cache, key) return hasOwnProperty.call(cache, key)
? cache[key] ? cache[key]
: (cache[key] = func.apply(this, arguments)); : (cache[key] = func.apply(this, arguments));
}; };
memoized.cache = {};
return memoized;
}
/**
* Creates a function that negates the result of the predicate `func`. The
* `func` predicate is invoked with the `this` binding and arguments of the
* created function.
*
* @static
* @memberOf _
* @category Function
* @param {Function} predicate The predicate to negate.
* @returns {Function} Returns the new function.
* @example
*
* function isEven(n) {
* return n % 2 == 0;
* }
*
* _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
* // => [1, 3, 5]
*/
function negate(predicate) {
if (!isFunction(predicate)) {
throw new TypeError(FUNC_ERROR_TEXT);
}
return function() {
return !predicate.apply(this, arguments);
};
} }
/** /**
@@ -4252,10 +4306,7 @@
length = 2; length = 2;
} }
while (++index < length) { while (++index < length) {
var source = args[index]; baseAssign(object, args[index]);
for (var key in source) {
object[key] = source[key];
}
} }
return object; return object;
} }
@@ -4975,14 +5026,19 @@
* }); * });
* // => { 'name': 'fred' } * // => { 'name': 'fred' }
*/ */
function omit(object) { function omit(object, predicate, thisArg) {
if (object == null) { if (object == null) {
return {}; return {};
} }
var iterable = toObject(object), var iterable = toObject(object);
props = arrayMap(baseFlatten(arguments, false, false, 1), String); if (typeof predicate != 'function') {
var props = arrayMap(baseFlatten(arguments, false, false, 1), String);
return pickByArray(iterable, baseDifference(keysIn(iterable), props)); return pickByArray(iterable, baseDifference(keysIn(iterable), props));
}
predicate = baseCallback(predicate, thisArg, 3);
return pickByCallback(iterable, function(value, key, object) {
return !predicate(value, key, object);
});
} }
/** /**
@@ -5039,10 +5095,14 @@
* }); * });
* // => { 'name': 'fred' } * // => { 'name': 'fred' }
*/ */
function pick(object) { function pick(object, predicate, thisArg) {
return object == null if (object == null) {
? {} return {};
: pickByArray(toObject(object), baseFlatten(arguments, false, false, 1)); }
var iterable = toObject(object);
return typeof predicate == 'function'
? pickByCallback(iterable, baseCallback(predicate, thisArg, 3))
: pickByArray(iterable, baseFlatten(arguments, false, false, 1));
} }
/** /**
@@ -5217,12 +5277,12 @@
* };\ * };\
* '); * ');
*/ */
function template(string, data, options) { function template(string, options, otherOptions) {
var _ = lodash, var _ = lodash,
settings = _.templateSettings; settings = _.templateSettings;
string = String(string == null ? '' : string); string = String(string == null ? '' : string);
options = defaults({}, options, settings); options = defaults({}, otherOptions || options, settings);
var index = 0, var index = 0,
source = "__p += '", source = "__p += '",
@@ -5267,7 +5327,7 @@
if (isError(result)) { if (isError(result)) {
throw result; throw result;
} }
return data ? result(data) : result; return result;
} }
/** /**
@@ -5325,6 +5385,44 @@
} }
} }
/**
* Creates a function bound to an optional `thisArg`. If `func` is a property
* name the created callback returns the property value for a given element.
* If `func` is an object the created callback returns `true` for elements
* that contain the equivalent object properties, otherwise it returns `false`.
*
* @static
* @memberOf _
* @alias iteratee
* @category Utility
* @param {*} [func=identity] The value to convert to a callback.
* @param {*} [thisArg] The `this` binding of the created callback.
* @returns {Function} Returns the new function.
* @example
*
* var characters = [
* { 'name': 'barney', 'age': 36 },
* { 'name': 'fred', 'age': 40 }
* ];
*
* // wrap to create custom callback shorthands
* _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
* var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
* if (!match) {
* return callback(func, thisArg);
* }
* return function(object) {
* return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
* };
* });
*
* _.filter(characters, 'age__gt38');
* // => [{ 'name': 'fred', 'age': 40 }]
*/
function callback(func, thisArg) {
return baseCallback(func, thisArg);
}
/** /**
* Creates a function that returns `value`. * Creates a function that returns `value`.
* *
@@ -5486,6 +5584,22 @@
return this; return this;
} }
/**
* A no-operation function.
*
* @static
* @memberOf _
* @category Utility
* @example
*
* var object = { 'name': 'fred' };
* _.noop(object) === undefined;
* // => true
*/
function noop() {
// no operation performed
}
/** /**
* Gets the number of milliseconds that have elapsed since the Unix epoch * Gets the number of milliseconds that have elapsed since the Unix epoch
* (1 January 1970 00:00:00 UTC). * (1 January 1970 00:00:00 UTC).
@@ -5745,6 +5859,7 @@
// add functions that return wrapped values when chaining // add functions that return wrapped values when chaining
lodash.after = after; lodash.after = after;
lodash.before = before;
lodash.bind = bind; lodash.bind = bind;
lodash.bindAll = bindAll; lodash.bindAll = bindAll;
lodash.chain = chain; lodash.chain = chain;
@@ -5772,6 +5887,7 @@
lodash.matches = matches; lodash.matches = matches;
lodash.memoize = memoize; lodash.memoize = memoize;
lodash.mixin = mixin; lodash.mixin = mixin;
lodash.negate = negate;
lodash.omit = omit; lodash.omit = omit;
lodash.once = once; lodash.once = once;
lodash.pairs = pairs; lodash.pairs = pairs;
@@ -5803,6 +5919,7 @@
lodash.compose = flowRight; lodash.compose = flowRight;
lodash.each = forEach; lodash.each = forEach;
lodash.extend = assign; lodash.extend = assign;
lodash.iteratee = callback;
lodash.methods = functions; lodash.methods = functions;
lodash.object = zipObject; lodash.object = zipObject;
lodash.select = filter; lodash.select = filter;
@@ -5843,6 +5960,7 @@
lodash.max = max; lodash.max = max;
lodash.min = min; lodash.min = min;
lodash.noConflict = noConflict; lodash.noConflict = noConflict;
lodash.noop = noop;
lodash.now = now; lodash.now = now;
lodash.random = random; lodash.random = random;
lodash.reduce = reduce; lodash.reduce = reduce;

View File

@@ -1,45 +1,45 @@
/** /**
* @license * @license
* Lo-Dash 3.0.0-pre (Custom Build) lodash.com/license | Underscore.js 1.6.0 underscorejs.org/LICENSE * Lo-Dash 3.0.0-pre (Custom Build) lodash.com/license | Underscore.js 1.7.0 underscorejs.org/LICENSE
* Build: `lodash underscore -o ./dist/lodash.underscore.js` * Build: `lodash underscore -o ./dist/lodash.underscore.js`
*/ */
;(function(){function n(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++t<e;)if(n[t]===r)return t;return-1}function r(n){for(var r=-1,t=n?n.length:0,e=Array(t);++r<t;)e[r]=n[r];return e}function t(n,r){var t;n:{t=n.a;var e=r.a;if(t!==e){if(t>e||typeof t=="undefined"){t=1;break n}if(t<e||typeof e=="undefined"){t=-1;break n}}t=0}return t||n.b-r.b}function e(n){return Yr[n]}function u(n){return"\\"+rt[n]}function o(n){return Zr[n]}function i(n){return n instanceof i?n:new a(n)}function a(n,r){this.__chain__=!!r,this.__wrapped__=n ;(function(){function n(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++t<e;)if(n[t]===r)return t;return-1}function r(n){for(var r=-1,t=n?n.length:0,e=Array(t);++r<t;)e[r]=n[r];return e}function t(n,r){var t;n:{t=n.a;var e=r.a;if(t!==e){if(t>e||typeof t=="undefined"){t=1;break n}if(t<e||typeof e=="undefined"){t=-1;break n}}t=0}return t||n.b-r.b}function e(n){return tt[n]}function u(n){return"\\"+ot[n]}function o(n){return et[n]}function i(n){return n instanceof i?n:new f(n)}function f(n,r){this.__chain__=!!r,this.__wrapped__=n
}function f(n,r){for(var t=-1,e=n.length;++t<e&&r(n[t],t,n)!==Fr;);return n}function c(n,r){for(var t=-1,e=n.length;++t<e;)if(!r(n[t],t,n))return false;return true}function l(n,r){for(var t=-1,e=n.length,u=Array(e);++t<e;)u[t]=r(n[t],t,n);return u}function p(n,r){for(var t=-1,e=n.length,u=-1,o=[];++t<e;){var i=n[t];r(i,t,n)&&(o[++u]=i)}return o}function s(n,r,t,e){var u=-1,o=n.length;for(e&&o&&(t=n[++u]);++u<o;)t=r(t,n[u],u,n);return t}function g(n,r,t,e){var u=n.length;for(e&&u&&(t=n[--u]);u--;)t=r(t,n[u],u,n); }function a(n,r){for(var t=-1,e=n.length;++t<e&&r(n[t],t,n)!==$r;);return n}function c(n,r){for(var t=-1,e=n.length;++t<e;)if(!r(n[t],t,n))return false;return true}function l(n,r){for(var t=-1,e=n.length,u=Array(e);++t<e;)u[t]=r(n[t],t,n);return u}function p(n,r){for(var t=-1,e=n.length,u=-1,o=[];++t<e;){var i=n[t];r(i,t,n)&&(o[++u]=i)}return o}function s(n,r,t,e){var u=-1,o=n.length;for(e&&o&&(t=n[++u]);++u<o;)t=r(t,n[u],u,n);return t}function g(n,r,t,e){var u=n.length;for(e&&u&&(t=n[--u]);u--;)t=r(t,n[u],u,n);
return t}function h(n,r){for(var t=-1,e=n.length;++t<e;)if(r(n[t],t,n))return true;return false}function v(n,r,t){var e=typeof n;if("function"==e){if(typeof r=="undefined")return n;switch(t){case 1:return function(t){return n.call(r,t)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)};case 5:return function(t,e,u,o,i){return n.call(r,t,e,u,o,i)}}return function(){return n.apply(r,arguments)}}return null==n?Ar:"object"==e?xr(n):Er(n)}function y(n){return vr(n)?_t(n):{} return t}function h(n,r){for(var t=-1,e=n.length;++t<e;)if(r(n[t],t,n))return true;return false}function v(n,r,t){var e=typeof n;if("function"==e){if(typeof r=="undefined")return n;switch(t){case 1:return function(t){return n.call(r,t)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)};case 5:return function(t,e,u,o,i){return n.call(r,t,e,u,o,i)}}return function(){return n.apply(r,arguments)}}return null==n?Or:"object"==e?kr(n):Ir(n)}function y(n){return _r(n)?At(n):{}
}function m(n,r){var t=n?n.length:0;if(!t)return[];for(var e=-1,u=U(),o=[];++e<t;){var i=n[e];0>u(r,i)&&o.push(i)}return o}function b(n,r){var t=n?n.length:0;if(typeof t!="number"||-1>=t||t>Br){for(var t=-1,e=Nt(n),u=e.length;++t<u;){var o=e[t];if(r(n[o],o,n)===Fr)break}return n}for(e=-1,u=z(n);++e<t&&r(u[e],e,u)!==Fr;);return n}function _(n,r){var t=n?n.length:0;if(typeof t!="number"||-1>=t||t>Br){for(var t=Nt(n),e=t.length;e--;){var u=t[e];if(r(n[u],u,n)===Fr)break}return n}for(e=z(n);t--&&r(e[t],t,e)!==Fr;);return n }function m(n,r){var t=n?n.length:0;if(!t)return[];for(var e=-1,u=D(),o=[];++e<t;){var i=n[e];0>u(r,i)&&o.push(i)}return o}function b(n,r){var t=n?n.length:0;if(typeof t!="number"||-1>=t||t>Ur)return x(n,r,Dt);for(var e=-1,u=V(n);++e<t&&r(u[e],e,u)!==$r;);return n}function _(n,r){var t=n?n.length:0;if(typeof t!="number"||-1>=t||t>Ur){for(var t=Dt(n),e=t.length;e--;){var u=t[e];if(r(n[u],u,n)===$r)break}return n}for(e=V(n);t--&&r(e[t],t,e)!==$r;);return n}function d(n,r){var t=true;return b(n,function(n,e,u){return(t=!!r(n,e,u))||$r
}function d(n,r){var t=true;return b(n,function(n,e,u){return(t=!!r(n,e,u))||Fr}),t}function j(n,r){var t=[];return b(n,function(n,e,u){r(n,e,u)&&t.push(n)}),t}function w(n,r,t){var e;return t(n,function(n,t,u){return r(n,t,u)?(e=n,Fr):void 0}),e}function A(n,r,t,e){e=(e||0)-1;for(var u=n.length,o=-1,i=[];++e<u;){var a=n[e];if(a&&typeof a=="object"&&typeof a.length=="number"&&($t(a)||sr(a))){r&&(a=A(a,r,t));var f=-1,c=a.length;for(i.length+=c;++f<c;)i[++o]=a[f]}else t||(i[++o]=a)}return i}function x(n,r,t,e){if(n===r)return 0!==n||1/n==1/r; }),t}function j(n,r){var t=[];return b(n,function(n,e,u){r(n,e,u)&&t.push(n)}),t}function w(n,r,t){var e;return t(n,function(n,t,u){return r(n,t,u)?(e=n,$r):void 0}),e}function A(n,r,t,e){e=(e||0)-1;for(var u=n.length,o=-1,i=[];++e<u;){var f=n[e];if(f&&typeof f=="object"&&typeof f.length=="number"&&(Wt(f)||yr(f))){r&&(f=A(f,r,t));var a=-1,c=f.length;for(i.length+=c;++a<c;)i[++o]=f[a]}else t||(i[++o]=f)}return i}function x(n,r,t){var e=-1;t=t(n);for(var u=t.length;++e<u;){var o=t[e];if(r(n[o],o,n)===$r)break
var u=typeof n,o=typeof r;if(n===n&&(null==n||null==r||"function"!=u&&"object"!=u&&"function"!=o&&"object"!=o))return false;if(o=st.call(n),u=st.call(r),o!=u)return false;switch(o){case Vr:case Gr:return+n==+r;case Jr:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case Lr:case Qr:return n==r+""}if(u=Xr[o],!u){if(o!=Kr)return false;var o=n instanceof i,a=r instanceof i;if(o||a)return x(o?n.__wrapped__:n,a?r.__wrapped__:r,t,e);if(o=lt.call(n,"constructor"),a=lt.call(r,"constructor"),o!=a||!o&&(o=n.constructor,a=r.constructor,o!=a&&!(hr(o)&&o instanceof o&&hr(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r))return false }return n}function T(n,r){x(n,r,Ar)}function E(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;var u=typeof n,o=typeof r;if(n===n&&(null==n||null==r||"function"!=u&&"object"!=u&&"function"!=o&&"object"!=o))return false;if(o=yt.call(n),u=yt.call(r),o!=u)return false;switch(o){case Kr:case Lr:return+n==+r;case Xr:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case Zr:case nt:return n==r+""}if(u=rt[o],!u){if(o!=Yr)return false;var o=n instanceof i,f=r instanceof i;if(o||f)return E(o?n.__wrapped__:n,f?r.__wrapped__:r,t,e);if(o=ht.call(n,"constructor"),f=ht.call(r,"constructor"),o!=f||!o&&(o=n.constructor,f=r.constructor,o!=f&&!(br(o)&&o instanceof o&&br(f)&&f instanceof f)&&"constructor"in n&&"constructor"in r))return false
}for(t||(t=[]),e||(e=[]),o=t.length;o--;)if(t[o]==n)return e[o]==r;if(t.push(n),e.push(r),u){if(o=n.length,a=o==r.length)for(;o--&&(a=x(n[o],r[o],t,e)););}else if(u=Nt(n),o=u.length,a=o==Nt(r).length)for(;o--&&(a=u[o],a=lt.call(r,a)&&x(n[a],r[a],t,e)););return t.pop(),e.pop(),a}function T(n,r,t){var e=-1,u=typeof r=="function",o=n?n.length:0,i=[];return typeof o=="number"&&-1<o&&o<=Br&&(i.length=o),b(n,function(n){var o=u?r:null!=n&&n[r];i[++e]=o?o.apply(n,t):Or}),i}function E(n,r){var t=[];return b(n,function(n,e,u){t.push(r(n,e,u)) }for(t||(t=[]),e||(e=[]),o=t.length;o--;)if(t[o]==n)return e[o]==r;if(t.push(n),e.push(r),u){if(o=n.length,f=o==r.length)for(;o--&&(f=E(n[o],r[o],t,e)););}else if(u=Dt(n),o=u.length,f=o==Dt(r).length)for(;o--&&(f=u[o],f=ht.call(r,f)&&E(n[f],r[f],t,e)););return t.pop(),e.pop(),f}function O(n,r,t){var e=-1,u=typeof r=="function",o=n?n.length:0,i=[];return typeof o=="number"&&-1<o&&o<=Ur&&(i.length=o),b(n,function(n){var o=u?r:null!=n&&n[r];i[++e]=o?o.apply(n,t):Fr}),i}function k(n,r){var t=[];return b(n,function(n,e,u){t.push(r(n,e,u))
}),t}function O(n,r,t,e,u){return r&Ir?R(n,r,u,t,e):R(n,r,u,null,null)}function k(n){return 0+vt(Et()*(n-0+1))}function S(n,r,t,e,u){return u(n,function(n,u,o){t=e?(e=false,n):r(t,n,u,o)}),t}function I(n,r){var t;return b(n,function(n,e,u){return(t=r(n,e,u))&&Fr}),!!t}function F(n,r){for(var t=-1,e=U(),u=n.length,o=[],i=r?[]:o;++t<u;){var a=n[t],f=r?r(a,t,n):a;0>e(i,f)&&(r&&i.push(f),o.push(a))}return o}function M(n,r){return function(t,e,u){var o=r?r():{};if(e=v(e,u,3),$t(t)){u=-1;for(var i=t.length;++u<i;){var a=t[u]; }),t}function S(n,r,t,e,u){return n&&Ot(n.length-t.length,0),r&Br?W(n,r,u,t,e):W(n,r,u,null,null)}function I(n){return 0+_t(It()*(n-0+1))}function F(n,r,t,e,u){return u(n,function(n,u,o){t=e?(e=false,n):r(t,n,u,o)}),t}function M(n,r){var t;return b(n,function(n,e,u){return(t=r(n,e,u))&&$r}),!!t}function q(n,r){for(var t=-1,e=D(),u=n.length,o=[],i=r?[]:o;++t<u;){var f=n[t],a=r?r(f,t,n):f;0>e(i,a)&&(r&&i.push(a),o.push(f))}return o}function B(n,r){return function(t,e,u){var o=r?r():{};if(e=v(e,u,3),Wt(t)){u=-1;
n(o,a,e(a,u,t),t)}}else b(t,function(r,t,u){n(o,r,e(r,t,u),u)});return o}}function q(n,r){function t(){return(this instanceof t?e:n).apply(r,arguments)}var e=B(n);return t}function B(n){return function(){var r=y(n.prototype),t=n.apply(r,arguments);return vr(t)?t:r}}function $(n,r,t,e,u){function o(){for(var r=arguments.length,f=r,r=Array(r);f--;)r[f]=arguments[f];if(e){for(var f=r,r=u.length,c=-1,l=At(f.length-r,0),p=-1,s=e.length,g=Array(l+s);++p<s;)g[p]=e[p];for(;++c<r;)g[u[c]]=f[c];for(;l--;)g[p++]=f[c++]; for(var i=t.length;++u<i;){var f=t[u];n(o,f,e(f,u,t),t)}}else b(t,function(r,t,u){n(o,r,e(r,t,u),u)});return o}}function $(n,r){function t(){return(this instanceof t?e:n).apply(r,arguments)}var e=N(n);return t}function N(n){return function(){var r=y(n.prototype),t=n.apply(r,arguments);return _r(t)?t:r}}function R(n,r,t,e,u){function o(){for(var r=arguments.length,a=r,r=Array(r);a--;)r[a]=arguments[a];if(e){for(var a=r,r=u.length,c=-1,l=Ot(a.length-r,0),p=-1,s=e.length,g=Array(l+s);++p<s;)g[p]=e[p];
r=g}return(this instanceof o?a||B(n):n).apply(i?t:this,r)}var i=r&kr,a=!(r&Sr)&&B(n);return o}function N(n,r,t,e){function u(){for(var r=-1,a=arguments.length,f=-1,c=t.length,l=Array(a+c);++f<c;)l[f]=t[f];for(;a--;)l[f++]=arguments[++r];return(this instanceof u?i:n).apply(o?e:this,l)}var o=r&kr,i=B(n);return u}function R(n,r,t,e,u){if(!hr(n))throw new TypeError(Mr);return r&Ir&&!e.length&&(r&=~Ir,e=u=null),r==kr?q(n,t):r!=Ir&&r!=(kr|Ir)||u.length?$(n,r,t,e,u):N(n,r,e,t)}function U(r,t){var e=i.indexOf||P,e=e===P?n:e; for(;++c<r;)g[u[c]]=a[c];for(;l--;)g[p++]=a[c++];r=g}return(this instanceof o?f||N(n):n).apply(i?t:this,r)}var i=r&Mr,f=!(r&qr)&&N(n);return o}function U(n,r,t,e){function u(){for(var r=-1,f=arguments.length,a=-1,c=t.length,l=Array(f+c);++a<c;)l[a]=t[a];for(;f--;)l[a++]=arguments[++r];return(this instanceof u?i:n).apply(o?e:this,l)}var o=r&Mr,i=N(n);return u}function W(n,r,t,e,u){if(!br(n))throw new TypeError(Nr);return r&Br&&!e.length&&(r&=~Br,e=u=null),r==Mr?$(n,t):r!=Br&&r!=(Mr|Br)||u.length?R(n,r,t,e,u):U(n,r,e,t)
return r?e(r,t,void 0):e}function W(n,r){for(var t=-1,e=r.length,u={};++t<e;){var o=r[t];o in n&&(u[o]=n[o])}return u}function D(n){for(var r=-1,t=_r(n),e=t.length,u=[];++r<e;){var o=t[r];lt.call(n,o)&&u.push(o)}return u}function z(n){if(null==n)return[];var r=n.length;return typeof r=="number"&&-1<r&&r<=Br?n=vr(n)?n:Object(n):jr(n)}function C(n,r,t){return null==r||t?n?n[0]:Or:G(n,0,0>r?0:r)}function P(r,t,e){var u=r?r.length:0;if(typeof e=="number")e=0>e?At(u+e,0):e||0;else if(e)return e=H(r,t),u&&r[e]===t?e:-1; }function D(r,t){var e=i.indexOf||H,e=e===H?n:e;return r?e(r,t,void 0):e}function z(n,r){for(var t=-1,e=r.length,u={};++t<e;){var o=r[t];o in n&&(u[o]=n[o])}return u}function C(n,r){var t={};return T(n,function(n,e,u){r(n,e,u)&&(t[e]=n)}),t}function P(n){for(var r=-1,t=Ar(n),e=t.length,u=[];++r<e;){var o=t[r];ht.call(n,o)&&u.push(o)}return u}function V(n){if(null==n)return[];var r=n.length;return typeof r=="number"&&-1<r&&r<=Ur?n=_r(n)?n:Object(n):Tr(n)}function G(n,r,t){return null==r||t?n?n[0]:Fr:K(n,0,0>r?0:r)
return n(r,t,e)}function V(n,r,t){return G(n,null==r||t?1:0>r?0:r)}function G(n,t,e){var u=-1,o=n?n.length:0;if(t=null==t?0:+t||0,0>t&&(t=-t>o?0:o+t),e=typeof e=="undefined"||e>o?o:+e||0,0>e&&(e+=o),e&&e==o&&!t)return r(n);for(o=t>e?0:e-t,e=Array(o);++u<o;)e[u]=n[u+t];return e}function H(n,r,t,e){t=null==t?Ar:v(t,e,1),e=0;var u=n?n.length:e;r=t(r);for(var o=typeof r=="number"||null!=r&&hr(r.valueOf)&&"number"==typeof r.valueOf();e<u;){var i=e+u>>>1,a=t(n[i]),f=a<r;o&&typeof a!="undefined"&&(a=+a,f=a!=a||f),f?e=i+1:u=i }function H(r,t,e){var u=r?r.length:0;if(typeof e=="number")e=0>e?Ot(u+e,0):e||0;else if(e)return e=L(r,t),u&&r[e]===t?e:-1;return n(r,t,e)}function J(n,r,t){return K(n,null==r||t?1:0>r?0:r)}function K(n,t,e){var u=-1,o=n?n.length:0;if(t=null==t?0:+t||0,0>t&&(t=-t>o?0:o+t),e=typeof e=="undefined"||e>o?o:+e||0,0>e&&(e+=o),e&&e==o&&!t)return r(n);for(o=t>e?0:e-t,e=Array(o);++u<o;)e[u]=n[u+t];return e}function L(n,r,t,e){t=null==t?Or:v(t,e,1),e=0;var u=n?n.length:e;r=t(r);for(var o=typeof r=="number"||null!=r&&br(r.valueOf)&&"number"==typeof r.valueOf();e<u;){var i=e+u>>>1,f=t(n[i]),a=f<r;
}return u}function J(r,t,e,u){if(!r||!r.length)return[];var o=typeof t;if("boolean"!=o&&null!=t&&(u=e,e=t,t=false,"number"!=o&&"string"!=o||!u||u[e]!==r||(e=null)),null!=e&&(e=v(e,u,3)),t&&U()==n){t=e;var i;e=-1,u=r.length;for(var o=-1,a=[];++e<u;){var f=r[e],c=t?t(f,e,r):f;e&&i===c||(i=c,a[++o]=f)}r=a}else r=F(r,e);return r}function K(n,r){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=Br||(n=jr(n)),-1<U(n,r)}function L(n,r,t){var e=$t(n)?c:d;return(typeof r!="function"||typeof t!="undefined")&&(r=v(r,t,3)),e(n,r) o&&typeof f!="undefined"&&(f=+f,a=f!=f||a),a?e=i+1:u=i}return u}function Q(r,t,e,u){if(!r||!r.length)return[];var o=typeof t;if("boolean"!=o&&null!=t&&(u=e,e=t,t=false,"number"!=o&&"string"!=o||!u||u[e]!==r||(e=null)),null!=e&&(e=v(e,u,3)),t&&D()==n){t=e;var i;e=-1,u=r.length;for(var o=-1,f=[];++e<u;){var a=r[e],c=t?t(a,e,r):a;e&&i===c||(i=c,f[++o]=a)}r=f}else r=q(r,e);return r}function X(n,r){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=Ur||(n=Tr(n)),-1<D(n,r)}function Y(n,r,t){var e=Wt(n)?c:d;
}function Q(n,r,t){var e=$t(n)?p:j;return r=v(r,t,3),e(n,r)}function X(n,r,t){if($t(n)){var e;n:{e=-1;var u=n?n.length:0;for(r=v(r,t,3);++e<u;)if(r(n[e],e,n))break n;e=-1}return-1<e?n[e]:Or}return r=v(r,t,3),w(n,r,b)}function Y(n,r,t){return typeof r=="function"&&typeof t=="undefined"&&$t(n)?f(n,r):b(n,v(r,t,3))}function Z(n,r,t){return r=v(r,t,3),($t(n)?l:E)(n,r)}function nr(n,r,t){var e=-1/0,u=e,o=typeof r;if("number"!=o&&"string"!=o||!t||t[r]!==n||(r=null),null==r)for(t=-1,n=z(n),o=n.length;++t<o;){var i=n[t]; return(typeof r!="function"||typeof t!="undefined")&&(r=v(r,t,3)),e(n,r)}function Z(n,r,t){var e=Wt(n)?p:j;return r=v(r,t,3),e(n,r)}function nr(n,r,t){if(Wt(n)){var e;n:{e=-1;var u=n?n.length:0;for(r=v(r,t,3);++e<u;)if(r(n[e],e,n))break n;e=-1}return-1<e?n[e]:Fr}return r=v(r,t,3),w(n,r,b)}function rr(n,r,t){return typeof r=="function"&&typeof t=="undefined"&&Wt(n)?a(n,r):b(n,v(r,t,3))}function tr(n,r,t){return r=v(r,t,3),(Wt(n)?l:k)(n,r)}function er(n,r,t){var e=-1/0,u=e,o=typeof r;if("number"!=o&&"string"!=o||!t||t[r]!==n||(r=null),null==r)for(t=-1,n=V(n),o=n.length;++t<o;){var i=n[t];
i>u&&(u=i)}else r=v(r,t,3),b(n,function(n,t,o){t=r(n,t,o),(t>e||-1/0===t&&t===u)&&(e=t,u=n)});return u}function rr(n,r){return Z(n,Er(r))}function tr(n,r,t,e){return($t(n)?s:S)(n,v(r,e,4),t,3>arguments.length,b)}function er(n,r,t,e){return($t(n)?g:S)(n,v(r,e,4),t,3>arguments.length,_)}function ur(n){n=z(n);for(var r=-1,t=n.length,e=Array(t);++r<t;){var u=k(r);r!=u&&(e[r]=e[u]),e[u]=n[r]}return e}function or(n,r,t){var e=$t(n)?h:I;return(typeof r!="function"||typeof t!="undefined")&&(r=v(r,t,3)),e(n,r) i>u&&(u=i)}else r=v(r,t,3),b(n,function(n,t,o){t=r(n,t,o),(t>e||-1/0===t&&t===u)&&(e=t,u=n)});return u}function ur(n,r){return tr(n,Ir(r))}function or(n,r,t,e){return(Wt(n)?s:F)(n,v(r,e,4),t,3>arguments.length,b)}function ir(n,r,t,e){return(Wt(n)?g:F)(n,v(r,e,4),t,3>arguments.length,_)}function fr(n){n=V(n);for(var r=-1,t=n.length,e=Array(t);++r<t;){var u=I(r);r!=u&&(e[r]=e[u]),e[u]=n[r]}return e}function ar(n,r,t){var e=Wt(n)?h:M;return(typeof r!="function"||typeof t!="undefined")&&(r=v(r,t,3)),e(n,r)
}function ir(n,r){return 3>arguments.length?R(n,kr,r):O(n,kr|Ir,G(arguments,2),[],r)}function ar(n,r,t){function e(){var t=r-(Rt()-c);0>=t||t>r?(a&&clearTimeout(a),t=s,a=p=s=Or,t&&(g=Rt(),f=n.apply(l,i),p||a||(i=l=null))):p=setTimeout(e,t)}function u(){p&&clearTimeout(p),a=p=s=Or,(v||h!==r)&&(g=Rt(),f=n.apply(l,i),p||a||(i=l=null))}function o(){if(i=arguments,c=Rt(),l=this,s=v&&(p||!y),false===h)var t=y&&!p;else{a||y||(g=c);var o=h-(c-g),m=0>=o||o>h;m?(a&&(a=clearTimeout(a)),g=c,f=n.apply(l,i)):a||(a=setTimeout(u,o)) }function cr(n,r){var t;if(!br(r))throw new TypeError(Nr);return function(){return 0<--n?t=r.apply(this,arguments):r=null,t}}function lr(n,r){return 3>arguments.length?W(n,Mr,r):S(n,Mr|Br,K(arguments,2),[],r)}function pr(n,r,t){function e(){var t=r-(zt()-c);0>=t||t>r?(f&&clearTimeout(f),t=s,f=p=s=Fr,t&&(g=zt(),a=n.apply(l,i),p||f||(i=l=null))):p=setTimeout(e,t)}function u(){p&&clearTimeout(p),f=p=s=Fr,(v||h!==r)&&(g=zt(),a=n.apply(l,i),p||f||(i=l=null))}function o(){if(i=arguments,c=zt(),l=this,s=v&&(p||!y),false===h)var t=y&&!p;
}return m&&p?p=clearTimeout(p):p||r===h||(p=setTimeout(e,r)),t&&(m=true,f=n.apply(l,i)),!m||p||a||(i=l=null),f}var i,a,f,c,l,p,s,g=0,h=false,v=true;if(!hr(n))throw new TypeError(Mr);if(r=0>r?0:r,true===t)var y=true,v=false;else vr(t)&&(y=t.leading,h="maxWait"in t&&At(+t.maxWait||0,r),v="trailing"in t?t.trailing:v);return o.cancel=function(){p&&clearTimeout(p),a&&clearTimeout(a),a=p=s=Or},o}function fr(n){for(var r=G(arguments,1),t=r,e=fr.placeholder,u=-1,o=t.length,i=-1,a=[];++u<o;)t[u]===e&&(t[u]=$r,a[++i]=u); else{f||y||(g=c);var o=h-(c-g),m=0>=o||o>h;m?(f&&(f=clearTimeout(f)),g=c,a=n.apply(l,i)):f||(f=setTimeout(u,o))}return m&&p?p=clearTimeout(p):p||r===h||(p=setTimeout(e,r)),t&&(m=true,a=n.apply(l,i)),!m||p||f||(i=l=null),a}var i,f,a,c,l,p,s,g=0,h=false,v=true;if(!br(n))throw new TypeError(Nr);if(r=0>r?0:r,true===t)var y=true,v=false;else _r(t)&&(y=t.leading,h="maxWait"in t&&Ot(+t.maxWait||0,r),v="trailing"in t?t.trailing:v);return o.cancel=function(){p&&clearTimeout(p),f&&clearTimeout(f),f=p=s=Fr},o}function sr(n){for(var r=K(arguments,1),t=r,e=sr.placeholder,u=-1,o=t.length,i=-1,f=[];++u<o;)t[u]===e&&(t[u]=Wr,f[++i]=u);
return O(n,Ir,r,a)}function cr(n){if(null==n)return n;var r=arguments,t=0,e=r.length,u=typeof r[2];for("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2);++t<e;){var o,u=r[t];for(o in u)n[o]=u[o]}return n}function lr(n){if(null==n)return n;var r=arguments,t=0,e=r.length,u=typeof r[2];for("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2);++t<e;){var o,u=r[t];for(o in u)"undefined"==typeof n[o]&&(n[o]=u[o])}return n}function pr(n){for(var r=_r(n),t=-1,e=r.length,u=-1,o=[];++t<e;){var i=r[t]; return S(n,Br,r,f)}function gr(n){if(null==n)return n;var r=arguments,t=0,e=r.length,u=typeof r[2];for("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2);++t<e;)for(var u=n,o=r[t],i=-1,f=Dt(o),a=f.length;++i<a;){var c=f[i];u[c]=o[c]}return n}function hr(n){if(null==n)return n;var r=arguments,t=0,e=r.length,u=typeof r[2];for("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2);++t<e;){var o,u=r[t];for(o in u)"undefined"==typeof n[o]&&(n[o]=u[o])}return n}function vr(n){for(var r=Ar(n),t=-1,e=r.length,u=-1,o=[];++t<e;){var i=r[t];
hr(n[i])&&(o[++u]=i)}return o}function sr(n){var r=n&&typeof n=="object"?n.length:Or;return typeof r=="number"&&-1<r&&r<=Br&&st.call(n)==Pr||false}function gr(n){return n&&typeof n=="object"&&st.call(n)==Hr||false}function hr(n){return typeof n=="function"||false}function vr(n){var r=typeof n;return"function"==r||n&&"object"==r||false}function yr(n){return hr(n)?gt.test(ct.call(n)):n&&typeof n=="object"&&Wr.test(n)||false}function mr(n){var r=typeof n;return"number"==r||n&&"object"==r&&st.call(n)==Jr||false}function br(n){return typeof n=="string"||n&&typeof n=="object"&&st.call(n)==Qr||false br(n[i])&&(o[++u]=i)}return o}function yr(n){var r=n&&typeof n=="object"?n.length:Fr;return typeof r=="number"&&-1<r&&r<=Ur&&yt.call(n)==Jr||false}function mr(n){return n&&typeof n=="object"&&yt.call(n)==Qr||false}function br(n){return typeof n=="function"||false}function _r(n){var r=typeof n;return"function"==r||n&&"object"==r||false}function dr(n){return br(n)?mt.test(gt.call(n)):n&&typeof n=="object"&&Pr.test(n)||false}function jr(n){var r=typeof n;return"number"==r||n&&"object"==r&&yt.call(n)==Xr||false}function wr(n){return typeof n=="string"||n&&typeof n=="object"&&yt.call(n)==nt||false
}function _r(n){var r=[];if(!vr(n))return r;for(var t in n)r.push(t);return r}function dr(n){for(var r=-1,t=Nt(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u}function jr(n){for(var r=-1,t=Nt(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function wr(n){try{return n()}catch(r){return gr(r)?r:Error(r)}}function Ar(n){return n}function xr(n){var r=dr(n),t=r.length;return function(n){var e=t;if(null==n)return!e;for(;e--;){var u=r[e];if(n[u[0]]!==u[1])return false}for(e=t;e--;)if(!lt.call(n,r[e][0]))return false; }function Ar(n){var r=[];if(!_r(n))return r;for(var t in n)r.push(t);return r}function xr(n){for(var r=-1,t=Dt(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u}function Tr(n){for(var r=-1,t=Dt(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function Er(n){try{return n()}catch(r){return mr(r)?r:Error(r)}}function Or(n){return n}function kr(n){var r=xr(n),t=r.length;return function(n){var e=t;if(null==n)return!e;for(;e--;){var u=r[e];if(n[u[0]]!==u[1])return false}for(e=t;e--;)if(!ht.call(n,r[e][0]))return false;
return true}}function Tr(n){for(var r=-1,t=pr(n),e=t.length;++r<e;){var u=t[r];i.prototype[u]=function(){var r=i[u]=n[u];return function(){var n=[this.__wrapped__];return yt.apply(n,arguments),n=r.apply(i,n),this.__chain__?new a(n,true):n}}()}}function Er(n){return function(r){return null==r?Or:r[n]}}var Or,kr=1,Sr=2,Ir=32,Fr="__lodash_"+"3.0.0-pre".replace(/[-.]/g,"_")+"__breaker__",Mr="Expected a function",qr=Math.pow(2,32)-1,Br=Math.pow(2,53)-1,$r="__lodash_placeholder__",Nr=0,Rr=/&(?:amp|lt|gt|quot|#x27|#96);/g,Ur=/[&<>"'`]/g,Wr=/^\[object .+?Constructor\]$/,Dr=/($^)/,zr=/[.*+?^${}()|[\]\/\\]/g,Cr=/['\n\r\u2028\u2029\\]/g,Pr="[object Arguments]",Vr="[object Boolean]",Gr="[object Date]",Hr="[object Error]",Jr="[object Number]",Kr="[object Object]",Lr="[object RegExp]",Qr="[object String]",Xr={}; return true}}function Sr(n){for(var r=-1,t=vr(n),e=t.length;++r<e;){var u=t[r];i.prototype[u]=function(){var r=i[u]=n[u];return function(){var n=[this.__wrapped__];return dt.apply(n,arguments),n=r.apply(i,n),this.__chain__?new f(n,true):n}}()}}function Ir(n){return function(r){return null==r?Fr:r[n]}}var Fr,Mr=1,qr=2,Br=32,$r="__lodash_"+"3.0.0-pre".replace(/[-.]/g,"_")+"__breaker__",Nr="Expected a function",Rr=Math.pow(2,32)-1,Ur=Math.pow(2,53)-1,Wr="__lodash_placeholder__",Dr=0,zr=/&(?:amp|lt|gt|quot|#x27|#96);/g,Cr=/[&<>"'`]/g,Pr=/^\[object .+?Constructor\]$/,Vr=/($^)/,Gr=/[.*+?^${}()|[\]\/\\]/g,Hr=/['\n\r\u2028\u2029\\]/g,Jr="[object Arguments]",Kr="[object Boolean]",Lr="[object Date]",Qr="[object Error]",Xr="[object Number]",Yr="[object Object]",Zr="[object RegExp]",nt="[object String]",rt={};
Xr[Pr]=Xr["[object Array]"]=Xr["[object Float32Array]"]=Xr["[object Float64Array]"]=Xr["[object Int8Array]"]=Xr["[object Int16Array]"]=Xr["[object Int32Array]"]=Xr["[object Uint8Array]"]=Xr["[object Uint8ClampedArray]"]=Xr["[object Uint16Array]"]=Xr["[object Uint32Array]"]=true,Xr["[object ArrayBuffer]"]=Xr[Vr]=Xr[Gr]=Xr[Hr]=Xr["[object Function]"]=Xr["[object Map]"]=Xr[Jr]=Xr[Kr]=Xr[Lr]=Xr["[object Set]"]=Xr[Qr]=Xr["[object WeakMap]"]=false;var Yr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#96;"},Zr={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#96;":"`"},nt={"function":true,object:true},rt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},tt=nt[typeof window]&&window||this,et=nt[typeof exports]&&exports&&!exports.nodeType&&exports,ut=nt[typeof module]&&module&&!module.nodeType&&module,ot=et&&ut&&typeof global=="object"&&global; rt[Jr]=rt["[object Array]"]=rt["[object Float32Array]"]=rt["[object Float64Array]"]=rt["[object Int8Array]"]=rt["[object Int16Array]"]=rt["[object Int32Array]"]=rt["[object Uint8Array]"]=rt["[object Uint8ClampedArray]"]=rt["[object Uint16Array]"]=rt["[object Uint32Array]"]=true,rt["[object ArrayBuffer]"]=rt[Kr]=rt[Lr]=rt[Qr]=rt["[object Function]"]=rt["[object Map]"]=rt[Xr]=rt[Yr]=rt[Zr]=rt["[object Set]"]=rt[nt]=rt["[object WeakMap]"]=false;var tt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#96;"},et={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#96;":"`"},ut={"function":true,object:true},ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},it=ut[typeof window]&&window||this,ft=ut[typeof exports]&&exports&&!exports.nodeType&&exports,at=ut[typeof module]&&module&&!module.nodeType&&module,ct=ft&&at&&typeof global=="object"&&global;
!ot||ot.global!==ot&&ot.window!==ot&&ot.self!==ot||(tt=ot);var it=ut&&ut.exports===et&&et,at=Array.prototype,ft=Object.prototype,ct=Function.prototype.toString,lt=ft.hasOwnProperty,pt=tt._,st=ft.toString,gt=RegExp("^"+function(n){return n=null==n?"":n+"",zr.lastIndex=0,zr.test(n)?n.replace(zr,"\\$&"):n}(st).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ht=Math.ceil,vt=Math.floor,yt=at.push,mt=ft.propertyIsEnumerable,bt=at.splice,_t=yr(_t=Object.create)&&_t,dt=yr(dt=Array.isArray)&&dt,jt=tt.isFinite,wt=yr(wt=Object.keys)&&wt,At=Math.max,xt=Math.min,Tt=yr(Tt=Date.now)&&Tt,Et=Math.random,Ot={}; !ct||ct.global!==ct&&ct.window!==ct&&ct.self!==ct||(it=ct);var lt=at&&at.exports===ft&&ft,pt=Array.prototype,st=Object.prototype,gt=Function.prototype.toString,ht=st.hasOwnProperty,vt=it._,yt=st.toString,mt=RegExp("^"+function(n){return n=null==n?"":n+"",Gr.lastIndex=0,Gr.test(n)?n.replace(Gr,"\\$&"):n}(yt).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),bt=Math.ceil,_t=Math.floor,dt=pt.push,jt=st.propertyIsEnumerable,wt=pt.splice,At=dr(At=Object.create)&&At,xt=dr(xt=Array.isArray)&&xt,Tt=it.isFinite,Et=dr(Et=Object.keys)&&Et,Ot=Math.max,kt=Math.min,St=dr(St=Date.now)&&St,It=Math.random,Ft={};
!function(){var n={0:1,length:1};Ot.spliceObjects=(bt.call(n,0,1),!n[0])}(0,0),i.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},_t||(y=function(){function n(){}return function(r){if(vr(r)){n.prototype=r;var t=new n;n.prototype=null}return t||tt.Object()}}());var kt=V,St=C,It=M(function(n,r,t){lt.call(n,t)?++n[t]:n[t]=1}),Ft=M(function(n,r,t){lt.call(n,t)?n[t].push(r):n[t]=[r]}),Mt=M(function(n,r,t){n[t]=r}),qt=M(function(n,r,t){n[t?0:1].push(r) !function(){var n={0:1,length:1};Ft.spliceObjects=(wt.call(n,0,1),!n[0])}(0,0),i.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},At||(y=function(){function n(){}return function(r){if(_r(r)){n.prototype=r;var t=new n;n.prototype=null}return t||it.Object()}}());var Mt=J,qt=G,Bt=B(function(n,r,t){ht.call(n,t)?++n[t]:n[t]=1}),$t=B(function(n,r,t){ht.call(n,t)?n[t].push(r):n[t]=[r]}),Nt=B(function(n,r,t){n[t]=r}),Rt=B(function(n,r,t){n[t?0:1].push(r)
},function(){return[[],[]]}),Bt=fr(function(n,r){var t;if(!hr(r))throw new TypeError(Mr);return function(){return 0<--n?t=r.apply(this,arguments):r=null,t}},2);sr(arguments)||(sr=function(n){var r=n&&typeof n=="object"?n.length:Or;return typeof r=="number"&&-1<r&&r<=Br&&lt.call(n,"callee")&&!mt.call(n,"callee")||false});var $t=dt||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&"[object Array]"==st.call(n)||false};hr(/x/)&&(hr=function(n){return typeof n=="function"&&"[object Function]"==st.call(n) },function(){return[[],[]]}),Ut=sr(cr,2);yr(arguments)||(yr=function(n){var r=n&&typeof n=="object"?n.length:Fr;return typeof r=="number"&&-1<r&&r<=Ur&&ht.call(n,"callee")&&!jt.call(n,"callee")||false});var Wt=xt||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&"[object Array]"==yt.call(n)||false};br(/x/)&&(br=function(n){return typeof n=="function"&&"[object Function]"==yt.call(n)});var Dt=Et?function(n){return _r(n)?Et(n):[]}:P,zt=St||function(){return(new Date).getTime()};f.prototype=i.prototype,lr.placeholder=sr.placeholder=i,i.after=function(n,r){if(!br(r))throw new TypeError(Nr);
});var Nt=wt?function(n){return vr(n)?wt(n):[]}:D,Rt=Tt||function(){return(new Date).getTime()};a.prototype=i.prototype,ir.placeholder=fr.placeholder=i,i.after=function(n,r){if(!hr(r))throw new TypeError(Mr);return n=jt(n=+n)?n:0,function(){return 1>--n?r.apply(this,arguments):void 0}},i.bind=ir,i.bindAll=function(n){for(var r=n,t=1<arguments.length?A(arguments,false,false,1):pr(n),e=-1,u=t.length;++e<u;){var o=t[e];r[o]=R(r[o],kr,r)}return r},i.chain=function(n){return n=i(n),n.__chain__=true,n},i.compact=function(n){for(var r=-1,t=n?n.length:0,e=-1,u=[];++r<t;){var o=n[r]; return n=Tt(n=+n)?n:0,function(){return 1>--n?r.apply(this,arguments):void 0}},i.before=cr,i.bind=lr,i.bindAll=function(n){for(var r=n,t=1<arguments.length?A(arguments,false,false,1):vr(n),e=-1,u=t.length;++e<u;){var o=t[e];r[o]=W(r[o],Mr,r)}return r},i.chain=function(n){return n=i(n),n.__chain__=true,n},i.compact=function(n){for(var r=-1,t=n?n.length:0,e=-1,u=[];++r<t;){var o=n[r];o&&(u[++e]=o)}return u},i.constant=function(n){return function(){return n}},i.countBy=Bt,i.debounce=pr,i.defaults=hr,i.defer=function(n){if(!br(n))throw new TypeError(Nr);
o&&(u[++e]=o)}return u},i.constant=function(n){return function(){return n}},i.countBy=It,i.debounce=ar,i.defaults=lr,i.defer=function(n){if(!hr(n))throw new TypeError(Mr);var r=G(arguments,1);return setTimeout(function(){n.apply(Or,r)},1)},i.delay=function(n,r){if(!hr(n))throw new TypeError(Mr);var t=G(arguments,2);return setTimeout(function(){n.apply(Or,t)},r)},i.difference=function(){for(var n=-1,r=arguments.length;++n<r;){var t=arguments[n];if($t(t)||sr(t))break}return m(arguments[n],A(arguments,false,true,++n)) var r=K(arguments,1);return setTimeout(function(){n.apply(Fr,r)},1)},i.delay=function(n,r){if(!br(n))throw new TypeError(Nr);var t=K(arguments,2);return setTimeout(function(){n.apply(Fr,t)},r)},i.difference=function(){for(var n=-1,r=arguments.length;++n<r;){var t=arguments[n];if(Wt(t)||yr(t))break}return m(arguments[n],A(arguments,false,true,++n))},i.drop=Mt,i.filter=Z,i.flatten=function(n,r,t){if(!n||!n.length)return[];var e=typeof r;return"number"!=e&&"string"!=e||!t||t[r]!==n||(r=false),A(n,!r)},i.forEach=rr,i.functions=vr,i.groupBy=$t,i.indexBy=Nt,i.initial=function(n,r,t){var e=n?n.length:0;
},i.drop=kt,i.filter=Q,i.flatten=function(n,r,t){if(!n||!n.length)return[];var e=typeof r;return"number"!=e&&"string"!=e||!t||t[r]!==n||(r=false),A(n,!r)},i.forEach=Y,i.functions=pr,i.groupBy=Ft,i.indexBy=Mt,i.initial=function(n,r,t){var e=n?n.length:0;return(null==r||t)&&(r=1),r=e-(r||0),G(n,0,0>r?0:r)},i.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];($t(e)||sr(e))&&n.push(e)}var t=n.length,u=n[0],o=-1,i=U(),a=u?u.length:0,f=[];n:for(;++o<a;)if(e=u[o],0>i(f,e)){for(r=t;--r;)if(0>i(n[r],e))continue n; return(null==r||t)&&(r=1),r=e-(r||0),K(n,0,0>r?0:r)},i.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];(Wt(e)||yr(e))&&n.push(e)}var t=n.length,u=n[0],o=-1,i=D(),f=u?u.length:0,a=[];n:for(;++o<f;)if(e=u[o],0>i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},i.invert=function(n){for(var r=-1,t=Dt(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u},i.invoke=function(n,r){return O(n,r,K(arguments,2))},i.keys=Dt,i.map=tr,i.matches=kr,i.memoize=function(n,r){function t(){var e=r?r.apply(this,arguments):arguments[0];
f.push(e)}return f},i.invert=function(n){for(var r=-1,t=Nt(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u},i.invoke=function(n,r){return T(n,r,G(arguments,2))},i.keys=Nt,i.map=Z,i.matches=xr,i.memoize=function(n,r){if(!hr(n)||r&&!hr(r))throw new TypeError(funcErrorText);var t={};return function(){var e=r?r.apply(this,arguments):arguments[0];return"__proto__"==e?n.apply(this,arguments):lt.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},i.mixin=Tr,i.omit=function(n){if(null==n)return{};var r=vr(n)?n:Object(n),t=l(A(arguments,false,false,1),String); if("__proto__"==e)return n.apply(this,arguments);var u=t.cache;return ht.call(u,e)?u[e]:u[e]=n.apply(this,arguments)}if(!br(n)||r&&!br(r))throw new TypeError(Nr);return t.cache={},t},i.mixin=Sr,i.negate=function(n){if(!br(n))throw new TypeError(Nr);return function(){return!n.apply(this,arguments)}},i.omit=function(n,r,t){if(null==n)return{};var e=_r(n)?n:Object(n);if(typeof r!="function"){var u=l(A(arguments,false,false,1),String);return z(e,m(Ar(e),u))}return r=v(r,t,3),C(e,function(n,t,e){return!r(n,t,e)
return W(r,m(_r(r),t))},i.once=Bt,i.pairs=dr,i.partial=fr,i.partition=qt,i.pick=function(n){return null==n?{}:W(vr(n)?n:Object(n),A(arguments,false,false,1))},i.pluck=rr,i.property=Er,i.range=function(n,r,t){n=+n||0;var e=typeof r;"number"!=e&&"string"!=e||!t||t[r]!==n||(r=t=null),t=+t||1,null==r?(r=n,n=0):r=+r||0,e=-1,r=At(ht((r-n)/(t||1)),0);for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},i.reject=function(n,r,t){var e=$t(n)?p:j;return r=v(r,t,3),e(n,function(n,t,e){return!r(n,t,e)})},i.rest=V,i.shuffle=ur,i.sortBy=function(n,r,e){var u=-1,o=n&&n.length,i=Array(0>o?0:o>>>0); })},i.once=Ut,i.pairs=xr,i.partial=sr,i.partition=Rt,i.pick=function(n,r,t){if(null==n)return{};var e=_r(n)?n:Object(n);return typeof r=="function"?C(e,v(r,t,3)):z(e,A(arguments,false,false,1))},i.pluck=ur,i.property=Ir,i.range=function(n,r,t){n=+n||0;var e=typeof r;"number"!=e&&"string"!=e||!t||t[r]!==n||(r=t=null),t=+t||1,null==r?(r=n,n=0):r=+r||0,e=-1,r=Ot(bt((r-n)/(t||1)),0);for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},i.reject=function(n,r,t){var e=Wt(n)?p:j;return r=v(r,t,3),e(n,function(n,t,e){return!r(n,t,e)
for(r=v(r,e,3),b(n,function(n,t,e){i[++u]={a:r(n,t,e),b:u,c:n}}),o=i.length,i.sort(t);o--;)i[o]=i[o].c;return i},i.take=St,i.tap=function(n,r){return r(n),n},i.throttle=function(n,r,t){var e=true,u=true;if(!hr(n))throw new TypeError(funcErrorText);return false===t?e=false:vr(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),ar(n,r,{leading:e,maxWait:r,trailing:u})},i.times=function(n,r,t){n=jt(n=+n)&&-1<n?n:0,r=v(r,t,1),t=-1;for(var e=Array(xt(n,qr));++t<n;)t<qr?e[t]=r(t):r(t);return e},i.toArray=function(n){var t=n?n.length:0; })},i.rest=J,i.shuffle=fr,i.sortBy=function(n,r,e){var u=-1,o=n&&n.length,i=Array(0>o?0:o>>>0);for(r=v(r,e,3),b(n,function(n,t,e){i[++u]={a:r(n,t,e),b:u,c:n}}),o=i.length,i.sort(t);o--;)i[o]=i[o].c;return i},i.take=qt,i.tap=function(n,r){return r(n),n},i.throttle=function(n,r,t){var e=true,u=true;if(!br(n))throw new TypeError(funcErrorText);return false===t?e=false:_r(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),pr(n,r,{leading:e,maxWait:r,trailing:u})},i.times=function(n,r,t){n=Tt(n=+n)&&-1<n?n:0,r=v(r,t,1),t=-1;
return typeof t=="number"&&-1<t&&t<=Br?r(n):jr(n)},i.union=function(){return F(A(arguments,false,true))},i.uniq=J,i.values=jr,i.where=function(n,r){return Q(n,xr(r))},i.without=function(n){return m(n,G(arguments,1))},i.wrap=function(n,r){return O(r,Ir,[n],[])},i.zip=function(){for(var n=arguments.length,r=Array(n);n--;)r[n]=arguments[n];for(var n=-1,t=vr(t=nr(r,"length"))&&t.length||0,e=Array(t);++n<t;)e[n]=rr(r,n);return e},i.collect=Z,i.compose=function(){var n=arguments,r=n.length-1;if(0>r)return function(){}; for(var e=Array(kt(n,Rr));++t<n;)t<Rr?e[t]=r(t):r(t);return e},i.toArray=function(n){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=Ur?r(n):Tr(n)},i.union=function(){return q(A(arguments,false,true))},i.uniq=Q,i.values=Tr,i.where=function(n,r){return Z(n,kr(r))},i.without=function(n){return m(n,K(arguments,1))},i.wrap=function(n,r){return S(r,Br,[n],[])},i.zip=function(){for(var n=arguments.length,r=Array(n);n--;)r[n]=arguments[n];for(var n=-1,t=_r(t=er(r,"length"))&&t.length||0,e=Array(t);++n<t;)e[n]=ur(r,n);
if(!c(n,hr))throw new TypeError(Mr);return function(){for(var t=r,e=n[t].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},i.each=Y,i.extend=cr,i.methods=pr,i.object=function(n,r){var t=-1,e=n?n.length:0,u={};for(r||!e||$t(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},i.select=Q,i.tail=V,i.unique=J,i.clone=function(n){return vr(n)?$t(n)?r(n):cr({},n):n},i.contains=K,i.escape=function(n){return n=null==n?"":n+"",Ur.lastIndex=0,Ur.test(n)?n.replace(Ur,e):n},i.every=L,i.find=X,i.findWhere=function(n,r){return X(n,xr(r)) return e},i.collect=tr,i.compose=function(){var n=arguments,r=n.length-1;if(0>r)return function(){};if(!c(n,br))throw new TypeError(Nr);return function(){for(var t=r,e=n[t].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},i.each=rr,i.extend=gr,i.iteratee=function(n,r){return v(n,r)},i.methods=vr,i.object=function(n,r){var t=-1,e=n?n.length:0,u={};for(r||!e||Wt(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},i.select=Z,i.tail=J,i.unique=Q,i.clone=function(n){return _r(n)?Wt(n)?r(n):gr({},n):n
},i.first=C,i.has=function(n,r){return n?lt.call(n,r):false},i.identity=Ar,i.indexOf=P,i.isArguments=sr,i.isArray=$t,i.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&st.call(n)==Vr||false},i.isDate=function(n){return n&&typeof n=="object"&&st.call(n)==Gr||false},i.isElement=function(n){return n&&1===n.nodeType||false},i.isEmpty=function(n){if(null==n)return true;var r=n.length;return typeof r=="number"&&-1<r&&r<=Br&&($t(n)||br(n)||sr(n))?!r:!Nt(n).length},i.isEqual=function(n,r){return x(n,r) },i.contains=X,i.escape=function(n){return n=null==n?"":n+"",Cr.lastIndex=0,Cr.test(n)?n.replace(Cr,e):n},i.every=Y,i.find=nr,i.findWhere=function(n,r){return nr(n,kr(r))},i.first=G,i.has=function(n,r){return n?ht.call(n,r):false},i.identity=Or,i.indexOf=H,i.isArguments=yr,i.isArray=Wt,i.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&yt.call(n)==Kr||false},i.isDate=function(n){return n&&typeof n=="object"&&yt.call(n)==Lr||false},i.isElement=function(n){return n&&1===n.nodeType||false},i.isEmpty=function(n){if(null==n)return true;
},i.isFinite=function(n){return n=parseFloat(jt(n)&&n),n==n},i.isFunction=hr,i.isNaN=function(n){return mr(n)&&n!=+n},i.isNull=function(n){return null===n},i.isNumber=mr,i.isObject=vr,i.isRegExp=function(n){return vr(n)&&st.call(n)==Lr||false},i.isString=br,i.isUndefined=function(n){return typeof n=="undefined"},i.last=function(n,r,t){var e=n?n.length:0;return null==r||t?n?n[e-1]:Or:(r=e-(r||0),G(n,0>r?0:r))},i.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?At(e+t,0):xt(t||0,e-1))+1);e--;)if(n[e]===r)return e; var r=n.length;return typeof r=="number"&&-1<r&&r<=Ur&&(Wt(n)||wr(n)||yr(n))?!r:!Dt(n).length},i.isEqual=function(n,r){return E(n,r)},i.isFinite=function(n){return n=parseFloat(Tt(n)&&n),n==n},i.isFunction=br,i.isNaN=function(n){return jr(n)&&n!=+n},i.isNull=function(n){return null===n},i.isNumber=jr,i.isObject=_r,i.isRegExp=function(n){return _r(n)&&yt.call(n)==Zr||false},i.isString=wr,i.isUndefined=function(n){return typeof n=="undefined"},i.last=function(n,r,t){var e=n?n.length:0;return null==r||t?n?n[e-1]:Fr:(r=e-(r||0),K(n,0>r?0:r))
return-1},i.max=nr,i.min=function(n,r,t){var e=1/0,u=e,o=typeof r;if("number"!=o&&"string"!=o||!t||t[r]!==n||(r=null),null==r)for(t=-1,n=z(n),o=n.length;++t<o;){var i=n[t];i<u&&(u=i)}else r=v(r,t,3),b(n,function(n,t,o){t=r(n,t,o),(t<e||1/0===t&&t===u)&&(e=t,u=n)});return u},i.noConflict=function(){return tt._=pt,this},i.now=Rt,i.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+vt(Et()*(r-n+1))},i.reduce=tr,i.reduceRight=er,i.result=function(n,r){if(null!=n){var t=n[r]; },i.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Ot(e+t,0):kt(t||0,e-1))+1);e--;)if(n[e]===r)return e;return-1},i.max=er,i.min=function(n,r,t){var e=1/0,u=e,o=typeof r;if("number"!=o&&"string"!=o||!t||t[r]!==n||(r=null),null==r)for(t=-1,n=V(n),o=n.length;++t<o;){var i=n[t];i<u&&(u=i)}else r=v(r,t,3),b(n,function(n,t,o){t=r(n,t,o),(t<e||1/0===t&&t===u)&&(e=t,u=n)});return u},i.noConflict=function(){return it._=vt,this},i.noop=function(){},i.now=zt,i.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+_t(It()*(r-n+1))
return hr(t)?n[r]():t}},i.size=function(n){var r=n?n.length:0;return typeof r=="number"&&-1<r&&r<=Br?r:Nt(n).length},i.some=or,i.sortedIndex=H,i.template=function(n,r,t){var e=i,o=e.templateSettings;n=(null==n?"":n)+"",t=lr({},t,o);var a=0,f="__p+='",o=t.variable;if(n.replace(RegExp((t.escape||Dr).source+"|"+(t.interpolate||Dr).source+"|"+(t.evaluate||Dr).source+"|$","g"),function(r,t,e,o,i){return f+=n.slice(a,i).replace(Cr,u),t&&(f+="'+_.escape("+t+")+'"),o&&(f+="';"+o+";\n__p+='"),e&&(f+="'+((__t=("+e+"))==null?'':__t)+'"),a=i+r.length,r },i.reduce=or,i.reduceRight=ir,i.result=function(n,r){if(null!=n){var t=n[r];return br(t)?n[r]():t}},i.size=function(n){var r=n?n.length:0;return typeof r=="number"&&-1<r&&r<=Ur?r:Dt(n).length},i.some=ar,i.sortedIndex=L,i.template=function(n,r,t){var e=i,o=e.templateSettings;n=(null==n?"":n)+"",r=hr({},t||r,o);var f=0,a="__p+='";if(t=r.variable,n.replace(RegExp((r.escape||Vr).source+"|"+(r.interpolate||Vr).source+"|"+(r.evaluate||Vr).source+"|$","g"),function(r,t,e,o,i){return a+=n.slice(f,i).replace(Hr,u),t&&(a+="'+_.escape("+t+")+'"),o&&(a+="';"+o+";\n__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),f=i+r.length,r
}),f+="';",o||(f="with(obj||{}){"+f+"}"),f="function("+(o||"obj")+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+f+"return __p}",t=wr(function(){return Function("_","return "+f)(e)}),t.source=f,gr(t))throw t;return r?t(r):t},i.unescape=function(n){return n=null==n?"":n+"",Rr.lastIndex=0,Rr.test(n)?n.replace(Rr,o):n},i.uniqueId=function(n){var r=++Nr+"";return n?n+r:r},i.all=L,i.any=or,i.detect=X,i.foldl=tr,i.foldr=er,i.head=C,i.include=K,i.inject=tr,i.sample=function(n,r,t){return null==r||t?(n=z(n),r=n.length,0<r?n[k(r-1)]:Or):(n=ur(n),n.length=xt(0>r?0:+r||0,n.length),n) }),a+="';",t||(a="with(obj||{}){"+a+"}"),a="function("+(t||"obj")+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}",r=Er(function(){return Function("_","return "+a)(e)}),r.source=a,mr(r))throw r;return r},i.unescape=function(n){return n=null==n?"":n+"",zr.lastIndex=0,zr.test(n)?n.replace(zr,o):n},i.uniqueId=function(n){var r=++Dr+"";return n?n+r:r},i.all=Y,i.any=ar,i.detect=nr,i.foldl=or,i.foldr=ir,i.head=G,i.include=X,i.inject=or,i.sample=function(n,r,t){return null==r||t?(n=V(n),r=n.length,0<r?n[I(r-1)]:Fr):(n=fr(n),n.length=kt(0>r?0:+r||0,n.length),n)
},Tr(cr({},i)),i.VERSION="3.0.0-pre",i.prototype.chain=function(){return this.__chain__=true,this},i.prototype.value=function(){return this.__wrapped__},f("pop push reverse shift sort splice unshift".split(" "),function(n){var r=at[n];i.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Ot.spliceObjects||0!==n.length||delete n[0],this}}),f(["concat","join","slice"],function(n){var r=at[n];i.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new a(n),n.__chain__=true),n },Sr(gr({},i)),i.VERSION="3.0.0-pre",i.prototype.chain=function(){return this.__chain__=true,this},i.prototype.value=function(){return this.__wrapped__},a("pop push reverse shift sort splice unshift".split(" "),function(n){var r=pt[n];i.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Ft.spliceObjects||0!==n.length||delete n[0],this}}),a(["concat","join","slice"],function(n){var r=pt[n];i.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new f(n),n.__chain__=true),n
}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(tt._=i, define("underscore",function(){return i})):et&&ut?it?(ut.exports=i)._=i:et._=i:tt._=i}).call(this); }}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(it._=i, define("underscore",function(){return i})):ft&&at?lt?(at.exports=i)._=i:ft._=i:it._=i}).call(this);

View File

@@ -2,7 +2,7 @@
* @license * @license
* Lo-Dash 3.0.0-pre <http://lodash.com/> * Lo-Dash 3.0.0-pre <http://lodash.com/>
* Copyright 2012-2014 The Dojo Foundation <http://dojofoundation.org/> * Copyright 2012-2014 The Dojo Foundation <http://dojofoundation.org/>
* Based on Underscore.js 1.6.0 <http://underscorejs.org/LICENSE> * Based on Underscore.js 1.7.0 <http://underscorejs.org/LICENSE>
* Copyright 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Copyright 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
* Available under MIT license <http://lodash.com/license> * Available under MIT license <http://lodash.com/license>
*/ */

View File

@@ -44,15 +44,6 @@
QUnit.config.asyncRetries = 10; QUnit.config.asyncRetries = 10;
QUnit.config.hidepassed = true; QUnit.config.hidepassed = true;
// excuse tests we intentionally fail or those with problems
QUnit.config.excused = {
'Backbone.Router': {
'#1695 - hashChange to pushState with search.': [
'Expected 1 assertions, but 0 were run'
]
}
};
// load Lo-Dash // load Lo-Dash
if (!ui.isModularize) { if (!ui.isModularize) {
document.write('<script src="' + ui.buildPath + '"><\/script>'); document.write('<script src="' + ui.buildPath + '"><\/script>');

View File

@@ -42,8 +42,12 @@
// excuse tests we intentionally fail or those with problems // excuse tests we intentionally fail or those with problems
QUnit.config.excused = { QUnit.config.excused = {
'Arrays': { 'Arrays': {
'drop': [
'alias for rest'
],
'first': [ 'first': [
'can pass an index to first', 'can pass an index to first',
'[1,2]',
'0' '0'
], ],
'flatten': [ 'flatten': [
@@ -66,11 +70,16 @@
'can pass an index to last', 'can pass an index to last',
'0' '0'
], ],
'lastIndexOf': [
'[0,-1,-1]'
],
'rest': [ 'rest': [
'working rest(0)', 'working rest(0)',
'rest can take an index', 'rest can take an index',
'aliased as drop and works on arguments object', 'works on arguments object'
'aliased as tail and works on arguments object', ],
'take': [
'alias for first'
] ]
}, },
'Chaining': { 'Chaining': {
@@ -85,6 +94,9 @@
] ]
}, },
'Collections': { 'Collections': {
'filter': [
'OO-filter'
],
'map': [ 'map': [
'OO-style doubled numbers' 'OO-style doubled numbers'
], ],
@@ -105,18 +117,6 @@
'bindAll': [ 'bindAll': [
'throws an error for bindAll with no functions named' 'throws an error for bindAll with no functions named'
], ],
'memoize': [
'{"bar":"BAR","foo":"FOO"}',
'"BAR"',
'"FOO"'
],
'negate': true,
'partial': [
'can partially apply with placeholders',
'accepts more arguments than the number of placeholders',
'accepts fewer arguments than the number of placeholders',
'unfilled placeholders are undefined'
],
'throttle repeatedly with results': true, 'throttle repeatedly with results': true,
'more throttle does not trigger leading call when leading is set to false': true, 'more throttle does not trigger leading call when leading is set to false': true,
'throttle does not trigger trailing call when trailing is set to false': true, 'throttle does not trigger trailing call when trailing is set to false': true,
@@ -135,21 +135,13 @@
'is not fooled by sparse arrays; see issue #95', 'is not fooled by sparse arrays; see issue #95',
'[]' '[]'
], ],
'omit': [ 'matches': [
'can accept a predicate' 'spec can be a function',
], 'inherited and own properties are checked on the test object',
'pick': [ 'doesnt fasley match constructor on undefined/null'
'can accept a predicate and context'
] ]
}, },
'Utility': { 'Utility': {
'_.escape': [
'"&lt;a href=&quot;http://moe.com&quot;&gt;Curly &amp; Moe&#x27;s&lt;/a&gt;"'
],
'_.unescape': [
'"<a href=\\"http://moe.com\\">Curly & Moe&#039;s</a>"'
],
'noop': true,
'now': [ 'now': [
'Produces the correct time in milliseconds' 'Produces the correct time in milliseconds'
], ],
@@ -179,29 +171,22 @@
} }
// only excuse for non-Underscore builds // only excuse for non-Underscore builds
if (/\bunderscore\b/i.test(ui.buildPath)) { if (/\bunderscore\b/i.test(ui.buildPath)) {
if (!ui.isModularize) {
delete QUnit.config.excused.Functions.partial;
}
QUnit.config.excused.Arrays.intersection.shift(); QUnit.config.excused.Arrays.intersection.shift();
delete QUnit.config.excused.Arrays.drop;
delete QUnit.config.excused.Arrays.first; delete QUnit.config.excused.Arrays.first;
delete QUnit.config.excused.Arrays.flatten; delete QUnit.config.excused.Arrays.flatten;
delete QUnit.config.excused.Arrays.initial; delete QUnit.config.excused.Arrays.initial;
delete QUnit.config.excused.Arrays.last; delete QUnit.config.excused.Arrays.last;
delete QUnit.config.excused.Arrays.rest; delete QUnit.config.excused.Arrays.rest;
delete QUnit.config.excused.Arrays.take;
delete QUnit.config.excused.Chaining; delete QUnit.config.excused.Chaining;
delete QUnit.config.excused.Collections.filter;
delete QUnit.config.excused.Collections.map; delete QUnit.config.excused.Collections.map;
delete QUnit.config.excused.Objects.isFinite; delete QUnit.config.excused.Objects.isFinite;
delete QUnit.config.excused.Objects.keys; delete QUnit.config.excused.Objects.keys;
delete QUnit.config.excused.Utility['_.escape'];
delete QUnit.config.excused.Utility['_.templateSettings.variable']; delete QUnit.config.excused.Utility['_.templateSettings.variable'];
delete QUnit.config.excused.Utility['_.unescape']; } else {
} QUnit.config.excused.Objects.matches.shift();
// only execuse edge features for the Underscore build
else {
delete QUnit.config.excused.Functions.memoize;
delete QUnit.config.excused.Functions.negate;
delete QUnit.config.excused.Objects.pick;
delete QUnit.config.excused.Utility.noop;
} }
// load test scripts // load test scripts
document.write(ui.urlParams.loader != 'none' document.write(ui.urlParams.loader != 'none'

View File

@@ -537,8 +537,8 @@
test('indexBy', function() { test('indexBy', function() {
var parity = _.indexBy([1, 2, 3, 4, 5], function(num){ return num % 2 === 0; }); var parity = _.indexBy([1, 2, 3, 4, 5], function(num){ return num % 2 === 0; });
equal(parity.true, 4); equal(parity['true'], 4);
equal(parity.false, 5); equal(parity['false'], 5);
var list = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']; var list = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten'];
var grouped = _.indexBy(list, 'length'); var grouped = _.indexBy(list, 'length');
@@ -555,8 +555,8 @@
test('countBy', function() { test('countBy', function() {
var parity = _.countBy([1, 2, 3, 4, 5], function(num){ return num % 2 === 0; }); var parity = _.countBy([1, 2, 3, 4, 5], function(num){ return num % 2 === 0; });
equal(parity.true, 2); equal(parity['true'], 2);
equal(parity.false, 3); equal(parity['false'], 3);
var list = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']; var list = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten'];
var grouped = _.countBy(list, 'length'); var grouped = _.countBy(list, 'length');