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/>
* Build: `lodash underscore -o ./dist/lodash.underscore.js`
* 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
* Available under MIT license <http://lodash.com/license>
*/
@@ -655,6 +655,30 @@
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
* method name arguments.
@@ -1215,7 +1239,7 @@
if (func) {
var arity = func.length;
arity -= args.length;
arity = nativeMax(arity - args.length, 0);
}
return (bitmask & PARTIAL_FLAG)
? createWrapper(func, bitmask, arity, thisArg, args, holders)
@@ -4064,18 +4088,48 @@
*/
function memoize(func, resolver) {
if (!isFunction(func) || (resolver && !isFunction(resolver))) {
throw new TypeError(funcErrorText);
throw new TypeError(FUNC_ERROR_TEXT);
}
var cache = {};
return function() {
var memoized = function() {
var key = resolver ? resolver.apply(this, arguments) : arguments[0];
if (key == '__proto__') {
return func.apply(this, arguments);
}
var cache = memoized.cache;
return hasOwnProperty.call(cache, key)
? cache[key]
: (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;
}
while (++index < length) {
var source = args[index];
for (var key in source) {
object[key] = source[key];
}
baseAssign(object, args[index]);
}
return object;
}
@@ -4975,15 +5026,20 @@
* });
* // => { 'name': 'fred' }
*/
function omit(object) {
function omit(object, predicate, thisArg) {
if (object == null) {
return {};
}
var iterable = toObject(object),
props = arrayMap(baseFlatten(arguments, false, false, 1), String);
var iterable = toObject(object);
if (typeof predicate != 'function') {
var props = arrayMap(baseFlatten(arguments, false, false, 1), String);
return pickByArray(iterable, baseDifference(keysIn(iterable), props));
}
predicate = baseCallback(predicate, thisArg, 3);
return pickByCallback(iterable, function(value, key, object) {
return !predicate(value, key, object);
});
}
/**
* Creates a two dimensional array of a given object's key-value pairs,
@@ -5039,10 +5095,14 @@
* });
* // => { 'name': 'fred' }
*/
function pick(object) {
return object == null
? {}
: pickByArray(toObject(object), baseFlatten(arguments, false, false, 1));
function pick(object, predicate, thisArg) {
if (object == null) {
return {};
}
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,
settings = _.templateSettings;
string = String(string == null ? '' : string);
options = defaults({}, options, settings);
options = defaults({}, otherOptions || options, settings);
var index = 0,
source = "__p += '",
@@ -5267,7 +5327,7 @@
if (isError(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`.
*
@@ -5486,6 +5584,22 @@
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
* (1 January 1970 00:00:00 UTC).
@@ -5745,6 +5859,7 @@
// add functions that return wrapped values when chaining
lodash.after = after;
lodash.before = before;
lodash.bind = bind;
lodash.bindAll = bindAll;
lodash.chain = chain;
@@ -5772,6 +5887,7 @@
lodash.matches = matches;
lodash.memoize = memoize;
lodash.mixin = mixin;
lodash.negate = negate;
lodash.omit = omit;
lodash.once = once;
lodash.pairs = pairs;
@@ -5803,6 +5919,7 @@
lodash.compose = flowRight;
lodash.each = forEach;
lodash.extend = assign;
lodash.iteratee = callback;
lodash.methods = functions;
lodash.object = zipObject;
lodash.select = filter;
@@ -5843,6 +5960,7 @@
lodash.max = max;
lodash.min = min;
lodash.noConflict = noConflict;
lodash.noop = noop;
lodash.now = now;
lodash.random = random;
lodash.reduce = reduce;

View File

@@ -1,45 +1,45 @@
/**
* @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`
*/
;(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 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);
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):{}
}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 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;
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
}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))
}),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];
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++];
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;
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;
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
}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)
}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];
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)
}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))
}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);
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];
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
}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;
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={};
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;
!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={};
!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(){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)
});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];
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))
},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;
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);
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);
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;
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(){};
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))
},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.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;
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];
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
}),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)
},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
}}),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);
;(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 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?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=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
}),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
}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,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 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;
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];
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)
}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)
}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;
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;
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 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 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;
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 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];
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 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 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={};
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;
!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};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[[],[]]}),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);
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);
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;
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];
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)
})},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)
})},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;
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);
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.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;
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))
},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))
},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
}),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)
},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?(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
* Lo-Dash 3.0.0-pre <http://lodash.com/>
* 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
* Available under MIT license <http://lodash.com/license>
*/

View File

@@ -44,15 +44,6 @@
QUnit.config.asyncRetries = 10;
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
if (!ui.isModularize) {
document.write('<script src="' + ui.buildPath + '"><\/script>');

View File

@@ -42,8 +42,12 @@
// excuse tests we intentionally fail or those with problems
QUnit.config.excused = {
'Arrays': {
'drop': [
'alias for rest'
],
'first': [
'can pass an index to first',
'[1,2]',
'0'
],
'flatten': [
@@ -66,11 +70,16 @@
'can pass an index to last',
'0'
],
'lastIndexOf': [
'[0,-1,-1]'
],
'rest': [
'working rest(0)',
'rest can take an index',
'aliased as drop and works on arguments object',
'aliased as tail and works on arguments object',
'works on arguments object'
],
'take': [
'alias for first'
]
},
'Chaining': {
@@ -85,6 +94,9 @@
]
},
'Collections': {
'filter': [
'OO-filter'
],
'map': [
'OO-style doubled numbers'
],
@@ -105,18 +117,6 @@
'bindAll': [
'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,
'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,
@@ -135,21 +135,13 @@
'is not fooled by sparse arrays; see issue #95',
'[]'
],
'omit': [
'can accept a predicate'
],
'pick': [
'can accept a predicate and context'
'matches': [
'spec can be a function',
'inherited and own properties are checked on the test object',
'doesnt fasley match constructor on undefined/null'
]
},
'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': [
'Produces the correct time in milliseconds'
],
@@ -179,29 +171,22 @@
}
// only excuse for non-Underscore builds
if (/\bunderscore\b/i.test(ui.buildPath)) {
if (!ui.isModularize) {
delete QUnit.config.excused.Functions.partial;
}
QUnit.config.excused.Arrays.intersection.shift();
delete QUnit.config.excused.Arrays.drop;
delete QUnit.config.excused.Arrays.first;
delete QUnit.config.excused.Arrays.flatten;
delete QUnit.config.excused.Arrays.initial;
delete QUnit.config.excused.Arrays.last;
delete QUnit.config.excused.Arrays.rest;
delete QUnit.config.excused.Arrays.take;
delete QUnit.config.excused.Chaining;
delete QUnit.config.excused.Collections.filter;
delete QUnit.config.excused.Collections.map;
delete QUnit.config.excused.Objects.isFinite;
delete QUnit.config.excused.Objects.keys;
delete QUnit.config.excused.Utility['_.escape'];
delete QUnit.config.excused.Utility['_.templateSettings.variable'];
delete QUnit.config.excused.Utility['_.unescape'];
}
// 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;
} else {
QUnit.config.excused.Objects.matches.shift();
}
// load test scripts
document.write(ui.urlParams.loader != 'none'

View File

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