Simplify iteratorTemplate.

This commit is contained in:
John-David Dalton
2013-12-14 00:29:40 -08:00
parent 60a1374fb4
commit e3b4b2f667
7 changed files with 314 additions and 446 deletions

211
dist/lodash.compat.js vendored
View File

@@ -126,21 +126,6 @@
'writable': false
};
/** Used as the data object for `iteratorTemplate` */
var iteratorData = {
'args': '',
'array': null,
'bottom': '',
'firstArg': '',
'init': '',
'keys': null,
'loop': '',
'shadowedProps': null,
'support': null,
'top': '',
'useHas': false
};
/** Used to determine if values are of the language type Object */
var objectTypes = {
'boolean': false,
@@ -892,91 +877,58 @@
*/
var iteratorTemplate = function(obj) {
var __p = 'var index, iterable = ' +
(obj.firstArg) +
', result = ' +
var __p = 'var result = ' +
(obj.init) +
';\nif (!iterable) return result;\n' +
';\nif (!(object && objectTypes[typeof object])) return result;\n' +
(obj.top) +
';';
if (obj.array) {
__p += '\nvar length = iterable.length; index = -1;\nif (' +
(obj.array) +
') { ';
if (support.unindexedChars) {
__p += '\n if (isString(iterable)) {\n iterable = iterable.split(\'\')\n } ';
}
__p += '\n while (++index < length) {\n ' +
if (support.nonEnumArgs) {
__p += '\nvar length = object.length;\nif (length && isArguments(object)) {\n key = -1;\n while (++key < length) {\n key += \'\';\n ' +
(obj.loop) +
';\n }\n}\nelse { ';
} else if (support.nonEnumArgs) {
__p += '\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += \'\';\n ' +
(obj.loop) +
';\n }\n } else { ';
';\n }\n return result\n}';
}
if (support.enumPrototypes) {
__p += '\n var skipProto = typeof iterable == \'function\';\n ';
__p += '\nvar skipProto = typeof object == \'function\';\n';
}
if (support.enumErrorProps) {
__p += '\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ';
__p += '\nvar skipErrorProps = object === errorProto || object instanceof Error;\n';
}
var conditions = []; if (support.enumPrototypes) { conditions.push('!(skipProto && index == "prototype")'); } if (support.enumErrorProps) { conditions.push('!(skipErrorProps && (index == "message" || index == "name"))'); }
if (obj.useHas && obj.keys) {
__p += '\n var ownIndex = -1,\n ownProps = keys(iterable),\n length = ownProps.length;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n';
if (conditions.length) {
var conditions = [];
if (support.enumPrototypes) { conditions.push('!(skipProto && key == \'prototype\')'); }
if (support.enumErrorProps) { conditions.push('!(skipErrorProps && (key == \'message\' || key == \'name\'))'); }
__p += '\nfor (var key in object) {\n';
if (obj.useHas) { conditions.push('hasOwnProperty.call(object, key)'); }
if (conditions.length) {
__p += ' if (' +
(conditions.join(' && ')) +
') {\n ';
}
__p +=
(obj.loop) +
'; ';
'; ';
if (conditions.length) {
__p += '\n }';
}
__p += '\n } ';
} else {
__p += '\n for (index in iterable) {\n';
if (obj.useHas) { conditions.push("hasOwnProperty.call(iterable, index)"); } if (conditions.length) {
__p += ' if (' +
(conditions.join(' && ')) +
') {\n ';
}
__p +=
(obj.loop) +
'; ';
if (conditions.length) {
__p += '\n }';
}
__p += '\n } ';
__p += '\n}\n';
if (support.nonEnumShadows) {
__p += '\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ';
for (k = 0; k < 7; k++) {
__p += '\n index = \'' +
(obj.shadowedProps[k]) +
'\';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))';
if (!obj.useHas) {
__p += ' || (!nonEnum[index] && iterable[index] !== objectProto[index])';
__p += '\nif (object !== objectProto) {\n var ctor = object.constructor,\n isProto = object === (ctor && ctor.prototype),\n className = object === stringProto ? stringClass : object === errorProto ? errorClass : toString.call(object),\n nonEnum = nonEnumProps[className];\n ';
for (var index = 0; index < 7; index++) {
__p += '\n key = \'' +
(obj.shadowedProps[index]) +
'\';\n if ((!(isProto && nonEnum[key]) && hasOwnProperty.call(object, key))';
if (!obj.useHas) {
__p += ' || (!nonEnum[key] && object[key] !== objectProto[key])';
}
__p += ') {\n ' +
__p += ') {\n ' +
(obj.loop) +
';\n } ';
';\n } ';
}
__p += '\n } ';
}
}
if (obj.array || support.nonEnumArgs) {
__p += '\n}';
}
__p +=
(obj.bottom) +
';\nreturn result';
__p += '\nreturn result';
return __p
};
@@ -1285,6 +1237,40 @@
return result;
}
/**
* Iterates `arguments` objects, arrays, objects, and strings consistently
* across environments, executing the callback for each element in the
* collection. The callback is bound to `thisArg` and invoked with three
* arguments; (value, index|key, collection). Callbacks may exit iteration
* early by explicitly returning `false`.
*
* @private
* @param {Array|Object|string} collection The collection to iterate over.
* @param {Function} [callback=identity] The function called per iteration.
* @param {*} [thisArg] The `this` binding of `callback`.
* @returns {Array|Object|string} Returns `collection`.
*/
function baseEach(collection, callback, thisArg) {
var index = -1,
iterable = collection,
length = collection ? collection.length : 0;
callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
if (typeof length == 'number') {
if (support.unindexedChars && isString(iterable)) {
iterable = iterable.split('');
}
while (++index < length) {
if (callback(iterable[index], index, collection) === false) {
break;
}
}
} else {
forOwn(collection, callback);
}
return collection;
}
/**
* The base implementation of `_.flatten` without support for callback
* shorthands or `thisArg` binding.
@@ -1741,47 +1727,27 @@
* Creates compiled iteration functions.
*
* @private
* @param {...Object} [options] The compile options object(s).
* @param {string} [options.array] Code to determine if the iterable is an array or array-like.
* @param {boolean} [options.useHas] Specify using `hasOwnProperty` checks in the object loop.
* @param {Function} [options.keys] A reference to `_.keys` for use in own property iteration.
* @param {Object} [options] The compile options object.
* @param {string} [options.args] A comma separated string of iteration function arguments.
* @param {string} [options.top] Code to execute before the iteration branches.
* @param {string} [options.loop] Code to execute in the object loop.
* @param {string} [options.bottom] Code to execute after the iteration branches.
* @param {boolean} [options.useHas] Specify using `hasOwnProperty` checks in the object loop.
* @returns {Function} Returns the compiled function.
*/
function createIterator() {
// data properties
iteratorData.shadowedProps = shadowedProps;
// iterator options
iteratorData.array = iteratorData.bottom = iteratorData.loop = iteratorData.top = '';
iteratorData.init = 'iterable';
iteratorData.useHas = true;
// merge options into a template data object
for (var object, index = 0; object = arguments[index]; index++) {
for (var key in object) {
iteratorData[key] = object[key];
}
}
var args = iteratorData.args;
iteratorData.firstArg = /^[^,]+/.exec(args)[0];
function createIterator(options) {
options.shadowedProps = shadowedProps;
// create the function factory
var factory = Function(
'baseCreateCallback, errorClass, errorProto, hasOwnProperty, ' +
'indicatorObject, isArguments, isArray, isString, keys, objectProto, ' +
'objectTypes, nonEnumProps, stringClass, stringProto, toString',
'return function(' + args + ') {\n' + iteratorTemplate(iteratorData) + '\n}'
'baseCreateCallback, errorClass, errorProto, hasOwnProperty, isArguments, ' +
'objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString',
'return function(' + options.args + ') {\n' + iteratorTemplate(options) + '\n}'
);
// return the compiled function
return factory(
baseCreateCallback, errorClass, errorProto, hasOwnProperty,
indicatorObject, isArguments, isArray, isString, iteratorData.keys, objectProto,
objectTypes, nonEnumProps, stringClass, stringProto, toString
baseCreateCallback, errorClass, errorProto, hasOwnProperty, isArguments,
objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString
);
}
@@ -1948,7 +1914,8 @@
'args': 'object',
'init': '[]',
'top': 'if (!(objectTypes[typeof object])) return result',
'loop': 'result.push(index)'
'loop': 'result.push(key)',
'useHas': true
});
/**
@@ -1975,15 +1942,6 @@
return nativeKeys(object);
};
/** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */
var eachIteratorOptions = {
'args': 'collection, callback, thisArg',
'top': "callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",
'array': "typeof length == 'number'",
'keys': keys,
'loop': 'if (callback(iterable[index], index, collection) === false) return result'
};
/**
* Used to convert characters to HTML entities:
*
@@ -2007,22 +1965,6 @@
var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g'),
reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g');
/**
* A function compiled to iterate `arguments` objects, arrays, objects, and
* strings consistenly across environments, executing the callback for each
* element in the collection. The callback is bound to `thisArg` and invoked
* with three arguments; (value, index|key, collection). Callbacks may exit
* iteration early by explicitly returning `false`.
*
* @private
* @type Function
* @param {Array|Object|string} collection The collection to iterate over.
* @param {Function} [callback=identity] The function called per iteration.
* @param {*} [thisArg] The `this` binding of `callback`.
* @returns {Array|Object|string} Returns `collection`.
*/
var baseEach = createIterator(eachIteratorOptions);
/*--------------------------------------------------------------------------*/
/**
@@ -2034,7 +1976,6 @@
*
* @static
* @memberOf _
* @type Function
* @alias extend
* @category Objects
* @param {Object} object The destination object.
@@ -2220,7 +2161,6 @@
*
* @static
* @memberOf _
* @type Function
* @category Objects
* @param {Object} object The destination object.
* @param {...Object} [source] The source objects.
@@ -2393,9 +2333,11 @@
* });
* // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
*/
var forIn = createIterator(eachIteratorOptions, {
'top': 'if (!objectTypes[typeof iterable]) return result;\n' + eachIteratorOptions.top,
'array': false,
var forIn = createIterator({
'args': 'object, callback, thisArg',
'init': 'object',
'top': "callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",
'loop': 'if (callback(object[key], key, object) === false) return result',
'useHas': false
});
@@ -2452,7 +2394,6 @@
*
* @static
* @memberOf _
* @type Function
* @category Objects
* @param {Object} object The object to iterate over.
* @param {Function} [callback=identity] The function called per iteration.
@@ -3751,7 +3692,7 @@
} else if (support.unindexedChars && isString(collection)) {
iterable = collection.split('');
}
baseEach(collection, function(value, key, collection) {
baseEach(iterable, function(value, key) {
key = props ? props[--length] : --length;
return callback(iterable[key], key, collection);
});

View File

@@ -3,60 +3,59 @@
* Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE
* Build: `lodash -o ./dist/lodash.compat.js`
*/
;(function(){function n(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++e<r;)if(n[e]===t)return e;return-1}function t(t,e){var r=typeof e;if(t=t.l,"boolean"==r||null==e)return t[e]?0:-1;"number"!=r&&"string"!=r&&(r="object");var u="number"==r?e:b+e;return t=(t=t[r])&&t[u],"object"==r?t&&-1<n(t,e)?0:-1:t?0:-1}function e(n){var t=this.l,e=typeof n;if("boolean"==e||null==n)t[n]=true;else{"number"!=e&&"string"!=e&&(e="object");var r="number"==e?n:b+n,t=t[e]||(t[e]={});"object"==e?(t[r]||(t[r]=[])).push(n):t[r]=true
}}function r(n){return n.charCodeAt(0)}function u(n,t){for(var e=n.m,r=t.m,u=-1,o=e.length;++u<o;){var a=e[u],i=r[u];if(a!==i){if(a>i||typeof a=="undefined")return 1;if(a<i||typeof i=="undefined")return-1}}return n.n-t.n}function o(n){var t=-1,r=n.length,u=n[0],o=n[r/2|0],a=n[r-1];if(u&&typeof u=="object"&&o&&typeof o=="object"&&a&&typeof a=="object")return false;for(u=f(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=f(),o.k=n,o.l=u,o.push=e;++t<r;)o.push(n[t]);return o}function a(n){return"\\"+Y[n]
}function i(){return v.pop()||[]}function f(){return y.pop()||{k:null,l:null,m:null,"false":false,n:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,o:null}}function l(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function c(n){n.length=0,v.length<w&&v.push(n)}function p(n){var t=n.l;t&&p(t),n.k=n.l=n.m=n.object=n.number=n.string=n.o=null,y.length<w&&y.push(n)}function s(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=Array(0>e?0:e);++r<e;)u[r]=n[t+r];
return u}function g(e){function v(n){return n&&typeof n=="object"&&!Ve(n)&&Oe.call(n,"__wrapped__")?n:new y(n)}function y(n,t){this.__chain__=!!t,this.__wrapped__=n}function w(n){function t(){if(r){var n=s(r);Se.apply(n,arguments)}if(this instanceof t){var o=nt(e.prototype),n=e.apply(o,n||arguments);return Ot(n)?n:o}return e.apply(u,n||arguments)}var e=n[0],r=n[2],u=n[4];return Me(t,n),t}function Y(n,t,e,r,u){if(e){var o=e(n);if(typeof o!="undefined")return o}if(!Ot(n))return n;var a=_e.call(n);if(!V[a]||!Je.nodeClass&&l(n))return n;
var f=Ke[a];switch(a){case L:case z:return new f(+n);case K:case M:return new f(n);case J:return o=f(n.source,S.exec(n)),o.lastIndex=n.lastIndex,o}if(a=Ve(n),t){var p=!r;r||(r=i()),u||(u=i());for(var g=r.length;g--;)if(r[g]==n)return u[g];o=a?f(n.length):{}}else o=a?s(n):bt({},n);return a&&(Oe.call(n,"index")&&(o.index=n.index),Oe.call(n,"input")&&(o.input=n.input)),t?(r.push(n),u.push(o),(a?tr:wt)(n,function(n,a){o[a]=Y(n,t,e,r,u)}),p&&(c(r),c(u)),o):o}function nt(n){return Ot(n)?Pe(n):{}}function tt(n,t,e){if(typeof n!="function")return Yt;
if(typeof t=="undefined"||!("prototype"in n))return n;var r=n.__bindData__;if(typeof r=="undefined"&&(Je.funcNames&&(r=!n.name),r=r||!Je.funcDecomp,!r)){var u=ke.call(n);Je.funcNames||(r=!A.test(u)),r||(r=R.test(u),Me(n,r))}if(false===r||true!==r&&1&r[1])return n;switch(e){case 1:return function(e){return n.call(t,e)};case 2:return function(e,r){return n.call(t,e,r)};case 3:return function(e,r,u){return n.call(t,e,r,u)};case 4:return function(e,r,u,o){return n.call(t,e,r,u,o)}}return Qt(n,t)}function et(n){function t(){var n=f?a:this;
if(u){var h=s(u);Se.apply(h,arguments)}return(o||c)&&(h||(h=s(arguments)),o&&Se.apply(h,o),c&&h.length<i)?(r|=16,et([e,p?r:-4&r,h,null,a,i])):(h||(h=arguments),l&&(e=n[g]),this instanceof t?(n=nt(e.prototype),h=e.apply(n,h),Ot(h)?h:n):e.apply(n,h))}var e=n[0],r=n[1],u=n[2],o=n[3],a=n[4],i=n[5],f=1&r,l=2&r,c=4&r,p=8&r,g=e;return Me(t,n),t}function rt(e,r){var u=-1,a=ht(),i=e?e.length:0,f=i>=_&&a===n,l=[];if(f){var c=o(r);c?(a=t,r=c):f=false}for(;++u<i;)c=e[u],0>a(r,c)&&l.push(c);return f&&p(r),l}function ot(n,t,e,r){r=(r||0)-1;
for(var u=n?n.length:0,o=[];++r<u;){var a=n[r];if(a&&typeof a=="object"&&typeof a.length=="number"&&(Ve(a)||dt(a))){t||(a=ot(a,t,e));var i=-1,f=a.length,l=o.length;for(o.length+=f;++i<f;)o[l++]=a[i]}else e||o.push(a)}return o}function at(n,t,e,r,u,o){if(e){var a=e(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;if(n===n&&!(n&&X[typeof n]||t&&X[typeof t]))return false;if(null==n||null==t)return n===t;var f=_e.call(n),p=_e.call(t);if(f==F&&(f=G),p==F&&(p=G),f!=p)return false;switch(f){case L:case z:return+n==+t;
case K:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case J:case M:return n==pe(t)}if(p=f==$,!p){var s=Oe.call(n,"__wrapped__"),g=Oe.call(t,"__wrapped__");if(s||g)return at(s?n.__wrapped__:n,g?t.__wrapped__:t,e,r,u,o);if(f!=G||!Je.nodeClass&&(l(n)||l(t)))return false;if(f=!Je.argsObject&&dt(n)?le:n.constructor,s=!Je.argsObject&&dt(t)?le:t.constructor,f!=s&&!(Et(f)&&f instanceof f&&Et(s)&&s instanceof s)&&"constructor"in n&&"constructor"in t)return false}for(f=!u,u||(u=i()),o||(o=i()),s=u.length;s--;)if(u[s]==n)return o[s]==t;
var h=0,a=true;if(u.push(n),o.push(t),p){if(s=n.length,h=t.length,(a=h==s)||r)for(;h--;)if(p=s,g=t[h],r)for(;p--&&!(a=at(n[p],g,e,r,u,o)););else if(!(a=at(n[h],g,e,r,u,o)))break}else er(t,function(t,i,f){return Oe.call(f,i)?(h++,a=Oe.call(n,i)&&at(n[i],t,e,r,u,o)):void 0}),a&&!r&&er(n,function(n,t,e){return Oe.call(e,t)?a=-1<--h:void 0});return u.pop(),o.pop(),f&&(c(u),c(o)),a}function it(n,t,e,r,u){(Ve(t)?Tt:wt)(t,function(t,o){var a,i,f=t,l=n[o];if(t&&((i=Ve(t))||rr(t))){for(f=r.length;f--;)if(a=r[f]==t){l=u[f];
break}if(!a){var c;e&&(f=e(l,t),c=typeof f!="undefined")&&(l=f),c||(l=i?Ve(l)?l:[]:rr(l)?l:{}),r.push(t),u.push(l),c||it(l,t,e,r,u)}}else e&&(f=e(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);n[o]=l})}function ft(n,t){return n+Ce(qe()*(t-n+1))}function lt(e,r,u){var a=-1,f=ht(),l=e?e.length:0,s=[],g=!r&&l>=_&&f===n,h=u||g?i():s;for(g&&(h=o(h),f=t);++a<l;){var v=e[a],y=u?u(v,a,e):v;(r?!a||h[h.length-1]!==y:0>f(h,y))&&((u||g)&&h.push(y),s.push(v))}return g?(c(h.k),p(h)):u&&c(h),s}function ct(n){return function(t,e,r){var u={};
if(e=v.createCallback(e,r,3),Ve(t)){r=-1;for(var o=t.length;++r<o;){var a=t[r];n(u,a,e(a,r,t),t)}}else tr(t,function(t,r,o){n(u,t,e(t,r,o),o)});return u}}function pt(n,t,e,r,u,o){var a=1&t,i=4&t,f=16&t,l=32&t;if(!(2&t||Et(n)))throw new se;f&&!e.length&&(t&=-17,f=e=false),l&&!r.length&&(t&=-33,l=r=false);var c=n&&n.__bindData__;return c&&true!==c?(c=s(c),c[2]&&(c[2]=s(c[2])),c[3]&&(c[3]=s(c[3])),!a||1&c[1]||(c[4]=u),!a&&1&c[1]&&(t|=8),!i||4&c[1]||(c[5]=o),f&&Se.apply(c[2]||(c[2]=[]),e),l&&De.apply(c[3]||(c[3]=[]),r),c[1]|=t,pt.apply(null,c)):(1==t||17===t?w:et)([n,t,e,r,u,o])
}function st(){Q.h=B,Q.b=Q.c=Q.g=Q.i="",Q.e="t",Q.j=true;for(var n,t=0;n=arguments[t];t++)for(var e in n)Q[e]=n[e];t=Q.a,Q.d=/^[^,]+/.exec(t)[0],n=ae,t="return function("+t+"){",e=Q;var r="var n,t="+e.d+",E="+e.e+";if(!t)return E;"+e.i+";";e.b?(r+="var u=t.length;n=-1;if("+e.b+"){",Je.unindexedChars&&(r+="if(s(t)){t=t.split('')}"),r+="while(++n<u){"+e.g+";}}else{"):Je.nonEnumArgs&&(r+="var u=t.length;n=-1;if(u&&p(t)){while(++n<u){n+='';"+e.g+";}}else{"),Je.enumPrototypes&&(r+="var G=typeof t=='function';"),Je.enumErrorProps&&(r+="var F=t===k||t instanceof Error;");
var u=[];if(Je.enumPrototypes&&u.push('!(G&&n=="prototype")'),Je.enumErrorProps&&u.push('!(F&&(n=="message"||n=="name"))'),e.j&&e.f)r+="var C=-1,D=v(t),u=D.length;while(++C<u){n=D[C];",u.length&&(r+="if("+u.join("&&")+"){"),r+=e.g+";",u.length&&(r+="}"),r+="}";else if(r+="for(n in t){",e.j&&u.push("m.call(t, n)"),u.length&&(r+="if("+u.join("&&")+"){"),r+=e.g+";",u.length&&(r+="}"),r+="}",Je.nonEnumShadows){for(r+="if(t!==A){var i=t.constructor,r=t===(i&&i.prototype),f=t===J?I:t===k?j:L.call(t),x=y[f];",k=0;7>k;k++)r+="n='"+e.h[k]+"';if((!(r&&x[n])&&m.call(t,n))",e.j||(r+="||(!x[n]&&t[n]!==A[n])"),r+="){"+e.g+"}";
r+="}"}return(e.b||Je.nonEnumArgs)&&(r+="}"),r+=e.c+";return E",n("d,j,k,m,o,p,q,s,v,A,B,y,I,J,L",t+r+"}")(tt,W,he,Oe,d,dt,Ve,At,Q.f,ve,X,Ge,M,ye,_e)}function gt(n){return Xe[n]}function ht(){var t=(t=v.indexOf)===Gt?n:t;return t}function vt(n){return typeof n=="function"&&we.test(ke.call(n))}function yt(n){var t,e;return!n||_e.call(n)!=G||(t=n.constructor,Et(t)&&!(t instanceof t))||!Je.argsClass&&dt(n)||!Je.nodeClass&&l(n)?false:Je.ownLast?(er(n,function(n,t,r){return e=Oe.call(r,t),false}),false!==e):(er(n,function(n,t){e=t
}),typeof e=="undefined"||Oe.call(n,e))}function mt(n){return Ye[n]}function dt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&_e.call(n)==F||false}function bt(n,t,e){var r=arguments,u=0,o=typeof e=="number"?2:r.length;if(3<o&&"function"==typeof r[o-2])var a=tt(r[--o-1],r[o--],2);else 2<o&&"function"==typeof r[o-1]&&(a=r[--o]);for(;++u<o;)if(t=r[u],Ot(t))for(var i=-1,f=He(t),l=f.length;++i<l;){var c=f[i];n[c]=a?a(n[c],t[c]):t[c]}return n}function _t(n,t,e){for(var r=arguments,u=0,o=typeof e=="number"?2:r.length;++u<o;)if(t=r[u],Ot(t))for(var a=-1,i=He(t),f=i.length;++a<f;){var l=i[a];
"undefined"==typeof n[l]&&(n[l]=t[l])}return n}function wt(n,t,e){var r=-1,u=He(n),o=u.length;for(t=t&&typeof e=="undefined"?t:tt(t,e,3);++r<o&&(e=u[r],false!==t(n[e],e,n)););return n}function jt(n,t,e){var r=He(n),u=r.length;for(t=tt(t,e,3);u--&&(e=r[u],false!==t(n[e],e,n)););return n}function xt(n){var t=[];return er(n,function(n,e){Et(n)&&t.push(e)}),t.sort()}function Ct(n,t){for(var e=-1,r=He(n),u=r.length,o={};++e<u;){var a=r[e],i=n[a];t&&Oe.call(o,i)?("string"==typeof o[i]&&(o[i]=[o[i]]),o[i].push(a)):o[i]=a
}return o}function kt(n){return n&&typeof n=="object"&&1===n.nodeType&&(Je.nodeClass?-1<_e.call(n).indexOf("Element"):l(n))||false}function Et(n){return typeof n=="function"}function Ot(n){return!(!n||!X[typeof n])}function St(n){return typeof n=="number"||n&&typeof n=="object"&&_e.call(n)==K||false}function At(n){return typeof n=="string"||n&&typeof n=="object"&&_e.call(n)==M||false}function It(n){for(var t=-1,e=He(n),r=e.length,u=re(r);++t<r;)u[t]=n[e[t]];return u}function Nt(n,t,e){var r=-1,u=ht(),o=n?n.length:0,a=false;
return e=(0>e?Le(0,o+e):e)||0,Ve(n)?a=-1<u(n,t,e):typeof o=="number"?a=-1<(At(n)?n.indexOf(t,e):u(n,t,e)):tr(n,function(n){return++r<e?void 0:!(a=n===t)}),a}function Dt(n,t,e){var r=true;if(t=v.createCallback(t,e,3),Ve(n)){e=-1;for(var u=n.length;++e<u&&(r=!!t(n[e],e,n)););}else tr(n,function(n,e,u){return r=!!t(n,e,u)});return r}function Rt(n,t,e){var r=[];if(t=v.createCallback(t,e,3),Ve(n)){e=-1;for(var u=n.length;++e<u;){var o=n[e];t(o,e,n)&&r.push(o)}}else tr(n,function(n,e,u){t(n,e,u)&&r.push(n)
});return r}function Pt(n,t,e){if(t=v.createCallback(t,e,3),!Ve(n)){var r;return tr(n,function(n,e,u){return t(n,e,u)?(r=n,false):void 0}),r}e=-1;for(var u=n.length;++e<u;){var o=n[e];if(t(o,e,n))return o}}function Tt(n,t,e){if(t&&typeof e=="undefined"&&Ve(n)){e=-1;for(var r=n.length;++e<r&&false!==t(n[e],e,n););}else tr(n,t,e);return n}function Bt(n,t,e){var r=n,u=n?n.length:0;if(t=t&&typeof e=="undefined"?t:tt(t,e,3),Ve(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=He(n),u=o.length;
else Je.unindexedChars&&At(n)&&(r=n.split(""));tr(n,function(n,e,a){return e=o?o[--u]:--u,t(r[e],e,a)})}return n}function Ft(n,t,e){var r=-1,u=n?n.length:0,o=re(typeof u=="number"?u:0);if(t=v.createCallback(t,e,3),Ve(n))for(;++r<u;)o[r]=t(n[r],r,n);else tr(n,function(n,e,u){o[++r]=t(n,e,u)});return o}function $t(n,t,e){var u=-1/0,o=u;if(typeof t!="function"&&e&&e[t]===n&&(t=null),null==t&&Ve(n)){e=-1;for(var a=n.length;++e<a;){var i=n[e];i>o&&(o=i)}}else t=null==t&&At(n)?r:v.createCallback(t,e,3),tr(n,function(n,e,r){e=t(n,e,r),e>u&&(u=e,o=n)
});return o}function Lt(n,t,e,r){var u=3>arguments.length;if(t=v.createCallback(t,r,4),Ve(n)){var o=-1,a=n.length;for(u&&(e=n[++o]);++o<a;)e=t(e,n[o],o,n)}else tr(n,function(n,r,o){e=u?(u=false,n):t(e,n,r,o)});return e}function zt(n,t,e,r){var u=3>arguments.length;return t=v.createCallback(t,r,4),Bt(n,function(n,r,o){e=u?(u=false,n):t(e,n,r,o)}),e}function Wt(n){var t=-1,e=n?n.length:0,r=re(typeof e=="number"?e:0);return Tt(n,function(n){var e=ft(0,++t);r[t]=r[e],r[e]=n}),r}function qt(n,t,e){var r;if(t=v.createCallback(t,e,3),Ve(n)){e=-1;
for(var u=n.length;++e<u&&!(r=t(n[e],e,n)););}else tr(n,function(n,e,u){return!(r=t(n,e,u))});return!!r}function Kt(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=v.createCallback(t,e,3);++o<u&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[0]:h;return s(n,0,ze(Le(0,r),u))}function Gt(t,e,r){if(typeof r=="number"){var u=t?t.length:0;r=0>r?Le(0,u+r):r||0}else if(r)return r=Mt(t,e),t[r]===e?r:-1;return n(t,e,r)}function Jt(n,t,e){if(typeof t!="number"&&null!=t){var r=0,u=-1,o=n?n.length:0;
for(t=v.createCallback(t,e,3);++u<o&&t(n[u],u,n);)r++}else r=null==t||e?1:Le(0,t);return s(n,r)}function Mt(n,t,e,r){var u=0,o=n?n.length:u;for(e=e?v.createCallback(e,r,1):Yt,t=e(t);u<o;)r=u+o>>>1,e(n[r])<t?u=r+1:o=r;return u}function Vt(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=typeof t!="function"&&r&&r[t]===n?null:t,t=false),null!=e&&(e=v.createCallback(e,r,3)),lt(n,t,e)}function Ut(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,e=n?$t(ir(n,"length")):0,r=re(0>e?0:e);++t<e;)r[t]=ir(n,t);
return r}function Ht(n,t){var e=-1,r=n?n.length:0,u={};for(t||!r||Ve(n[0])||(t=[]);++e<r;){var o=n[e];t?u[o]=t[e]:o&&(u[o[0]]=o[1])}return u}function Qt(n,t){return 2<arguments.length?pt(n,17,s(arguments,2),null,t):pt(n,1,null,null,t)}function Xt(n,t,e){var r,u,o,a,i,f,l,c=0,p=false,s=true;if(!Et(n))throw new se;if(t=Le(0,t)||0,true===e)var g=true,s=false;else Ot(e)&&(g=e.leading,p="maxWait"in e&&(Le(t,e.maxWait)||0),s="trailing"in e?e.trailing:s);var v=function(){var e=t-(fr()-a);0<e?f=Ie(v,e):(u&&xe(u),e=l,u=f=l=h,e&&(c=fr(),o=n.apply(i,r),f||u||(r=i=null)))
},y=function(){f&&xe(f),u=f=l=h,(s||p!==t)&&(c=fr(),o=n.apply(i,r),f||u||(r=i=null))};return function(){if(r=arguments,a=fr(),i=this,l=s&&(f||!g),false===p)var e=g&&!f;else{u||g||(c=a);var h=p-(a-c),m=0>=h;m?(u&&(u=xe(u)),c=a,o=n.apply(i,r)):u||(u=Ie(y,h))}return m&&f?f=xe(f):f||t===p||(f=Ie(v,t)),e&&(m=true,o=n.apply(i,r)),!m||f||u||(r=i=null),o}}function Yt(n){return n}function Zt(n,t,e){var r=true,u=t&&xt(t);t&&(e||u.length)||(null==e&&(e=t),o=y,t=n,n=v,u=xt(t)),false===e?r=false:Ot(e)&&"chain"in e&&(r=e.chain);
var o=n,a=Et(o);Tt(u,function(e){var u=n[e]=t[e];a&&(o.prototype[e]=function(){var t=this.__chain__,e=this.__wrapped__,a=[e];if(Se.apply(a,arguments),a=u.apply(n,a),r||t){if(e===a&&Ot(a))return this;a=new o(a),a.__chain__=t}return a})})}function ne(){}function te(n){return function(t){return t[n]}}function ee(){return this.__wrapped__}e=e?ut.defaults(Z.Object(),e,ut.pick(Z,T)):Z;var re=e.Array,ue=e.Boolean,oe=e.Date,ae=e.Function,ie=e.Math,fe=e.Number,le=e.Object,ce=e.RegExp,pe=e.String,se=e.TypeError,ge=[],he=e.Error.prototype,ve=le.prototype,ye=pe.prototype,me=e.window,de=me&&me.document,be=e._,_e=ve.toString,we=ce("^"+pe(_e).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),je=ie.ceil,xe=e.clearTimeout,Ce=ie.floor,ke=ae.prototype.toString,Ee=vt(Ee=le.getPrototypeOf)&&Ee,Oe=ve.hasOwnProperty,Se=ge.push,Ae=ve.propertyIsEnumerable,Ie=e.setTimeout,Ne=ge.splice,De=ge.unshift,Re=function(){try{var n={},t=vt(t=le.defineProperty)&&t,e=t(n,n,n)&&t
}catch(r){}return e}(),Pe=vt(Pe=le.create)&&Pe,Te=vt(Te=re.isArray)&&Te,Be=e.isFinite,Fe=e.isNaN,$e=vt($e=le.keys)&&$e,Le=ie.max,ze=ie.min,We=e.parseInt,qe=ie.random,Ke={};Ke[$]=re,Ke[L]=ue,Ke[z]=oe,Ke[q]=ae,Ke[G]=le,Ke[K]=fe,Ke[J]=ce,Ke[M]=pe;var Ge={};Ge[$]=Ge[z]=Ge[K]={constructor:true,toLocaleString:true,toString:true,valueOf:true},Ge[L]=Ge[M]={constructor:true,toString:true,valueOf:true},Ge[W]=Ge[q]=Ge[J]={constructor:true,toString:true},Ge[G]={constructor:true},function(){for(var n=B.length;n--;){var t,e=B[n];
for(t in Ge)Oe.call(Ge,t)&&!Oe.call(Ge[t],e)&&(Ge[t][e]=false)}}(),y.prototype=v.prototype;var Je=v.support={};!function(){var n=function(){this.x=1},t={0:1,length:1},r=[];n.prototype={valueOf:1,y:1};for(var u in new n)r.push(u);for(u in arguments);Je.argsClass=_e.call(arguments)==F,Je.argsObject=arguments.constructor==le&&!(arguments instanceof re),Je.dom=!!de&&typeof de=="object"&&we.test(xe)&&we.test(Ie),Je.enumErrorProps=Ae.call(he,"message")||Ae.call(he,"name"),Je.enumPrototypes=Ae.call(n,"prototype"),Je.funcDecomp=!vt(e.WinRTError)&&R.test(g),Je.funcNames=typeof ae.name=="string",Je.nonEnumArgs=0!=u,Je.nonEnumShadows=!/valueOf/.test(r),Je.ownLast="x"!=r[0],Je.spliceObjects=(ge.splice.call(t,0,1),!t[0]),Je.unindexedChars="xx"!="x"[0]+le("x")[0];
try{Je.nodeClass=!(_e.call(de)==G&&!({toString:0}+""))}catch(o){Je.nodeClass=true}}(1),v.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:I,variable:"",imports:{_:v}},Pe||(nt=function(){function n(){}return function(t){if(Ot(t)){n.prototype=t;var r=new n;n.prototype=null}return r||e.Object()}}());var Me=Re?function(n,t){H.value=t,Re(n,"__bindData__",H)}:ne;Je.argsClass||(dt=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Oe.call(n,"callee")&&!Ae.call(n,"callee")||false});var Ve=Te||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&_e.call(n)==$||false
},Ue=st({a:"z",e:"[]",i:"if(!(B[typeof z]))return E",g:"E.push(n)"}),He=$e?function(n){return Ot(n)?Je.enumPrototypes&&typeof n=="function"||Je.nonEnumArgs&&n.length&&dt(n)?Ue(n):$e(n):[]}:Ue,Qe={a:"g,e,K",i:"e=e&&typeof K=='undefined'?e:d(e,K,3)",b:"typeof u=='number'",v:He,g:"if(e(t[n],n,g)===false)return E"},Xe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ye=Ct(Xe),Ze=ce("("+He(Ye).join("|")+")","g"),nr=ce("["+He(Xe).join("")+"]","g"),tr=st(Qe),er=st(Qe,{i:"if(!B[typeof t])return E;"+Qe.i,b:false,j:false});
Je.dom||(kt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!rr(n)||false}),Et(/x/)&&(Et=function(n){return typeof n=="function"&&_e.call(n)==q});var rr=Ee?function(n){if(!n||_e.call(n)!=G||!Je.argsClass&&dt(n))return false;var t=n.valueOf,e=vt(t)&&(e=Ee(t))&&Ee(e);return e?n==e||Ee(n)==e:yt(n)}:yt,ur=ct(function(n,t,e){Oe.call(n,e)?n[e]++:n[e]=1}),or=ct(function(n,t,e){(Oe.call(n,e)?n[e]:n[e]=[]).push(t)}),ar=ct(function(n,t,e){n[e]=t}),ir=Ft,fr=vt(fr=oe.now)&&fr||function(){return(new oe).getTime()
},lr=8==We(j+"08")?We:function(n,t){return We(At(n)?n.replace(N,""):n,t||0)};return v.after=function(n,t){if(!Et(t))throw new se;return function(){return 1>--n?t.apply(this,arguments):void 0}},v.assign=bt,v.at=function(n){var t=arguments,e=-1,r=ot(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:r.length,u=re(t);for(Je.unindexedChars&&At(n)&&(n=n.split(""));++e<t;)u[e]=n[r[e]];return u},v.bind=Qt,v.bindAll=function(n){for(var t=1<arguments.length?ot(arguments,true,false,1):xt(n),e=-1,r=t.length;++e<r;){var u=t[e];
n[u]=pt(n[u],1,null,null,n)}return n},v.bindKey=function(n,t){return 2<arguments.length?pt(t,19,s(arguments,2),null,n):pt(t,3,null,null,n)},v.chain=function(n){return n=new y(n),n.__chain__=true,n},v.compact=function(n){for(var t=-1,e=n?n.length:0,r=0,u=[];++t<e;){var o=n[t];o&&(u[r++]=o)}return u},v.compose=function(){for(var n=arguments,t=n.length;t--;)if(!Et(n[t]))throw new se;return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},v.constant=function(n){return function(){return n
}},v.countBy=ur,v.create=function(n,t){var e=nt(n);return t?bt(e,t):e},v.createCallback=function(n,t,e){var r=typeof n;if(null==n||"function"==r)return tt(n,t,e);if("object"!=r)return te(n);var u=He(n),o=u[0],a=n[o];return 1!=u.length||a!==a||Ot(a)?function(t){for(var e=u.length,r=false;e--&&(r=at(t[u[e]],n[u[e]],null,true)););return r}:function(n){return n=n[o],a===n&&(0!==a||1/a==1/n)}},v.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,pt(n,4,null,null,null,t)},v.debounce=Xt,v.defaults=_t,v.defer=function(n){if(!Et(n))throw new se;
var t=s(arguments,1);return Ie(function(){n.apply(h,t)},1)},v.delay=function(n,t){if(!Et(n))throw new se;var e=s(arguments,2);return Ie(function(){n.apply(h,e)},t)},v.difference=function(n){return rt(n,ot(arguments,true,true,1))},v.filter=Rt,v.flatten=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=typeof t!="function"&&r&&r[t]===n?null:t,t=false),null!=e&&(n=Ft(n,e,r)),ot(n,t)},v.forEach=Tt,v.forEachRight=Bt,v.forIn=er,v.forInRight=function(n,t,e){var r=[];er(n,function(n,t){r.push(t,n)});
var u=r.length;for(t=tt(t,e,3);u--&&false!==t(r[u--],r[u],n););return n},v.forOwn=wt,v.forOwnRight=jt,v.functions=xt,v.groupBy=or,v.indexBy=ar,v.initial=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=v.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else r=null==t||e?1:t||r;return s(n,0,ze(Le(0,u-r),u))},v.intersection=function(){for(var e=[],r=-1,u=arguments.length,a=i(),f=ht(),l=f===n,s=i();++r<u;){var g=arguments[r];(Ve(g)||dt(g))&&(e.push(g),a.push(l&&g.length>=_&&o(r?e[r]:s)))
}var l=e[0],h=-1,v=l?l.length:0,y=[];n:for(;++h<v;){var m=a[0],g=l[h];if(0>(m?t(m,g):f(s,g))){for(r=u,(m||s).push(g);--r;)if(m=a[r],0>(m?t(m,g):f(e[r],g)))continue n;y.push(g)}}for(;u--;)(m=a[u])&&p(m);return c(a),c(s),y},v.invert=Ct,v.invoke=function(n,t){var e=s(arguments,2),r=-1,u=typeof t=="function",o=n?n.length:0,a=re(typeof o=="number"?o:0);return Tt(n,function(n){a[++r]=(u?t:n[t]).apply(n,e)}),a},v.keys=He,v.map=Ft,v.mapValues=function(n,t,e){var r={};return t=v.createCallback(t,e,3),wt(n,function(n,e,u){r[e]=t(n,e,u)
}),r},v.max=$t,v.memoize=function(n,t){if(!Et(n))throw new se;var e=function(){var r=e.cache,u=t?t.apply(this,arguments):b+arguments[0];return Oe.call(r,u)?r[u]:r[u]=n.apply(this,arguments)};return e.cache={},e},v.merge=function(n){var t=arguments,e=2;if(!Ot(n))return n;if("number"!=typeof t[2]&&(e=t.length),3<e&&"function"==typeof t[e-2])var r=tt(t[--e-1],t[e--],2);else 2<e&&"function"==typeof t[e-1]&&(r=t[--e]);for(var t=s(arguments,1,e),u=-1,o=i(),a=i();++u<e;)it(n,t[u],r,o,a);return c(o),c(a),n
},v.min=function(n,t,e){var u=1/0,o=u;if(typeof t!="function"&&e&&e[t]===n&&(t=null),null==t&&Ve(n)){e=-1;for(var a=n.length;++e<a;){var i=n[e];i<o&&(o=i)}}else t=null==t&&At(n)?r:v.createCallback(t,e,3),tr(n,function(n,e,r){e=t(n,e,r),e<u&&(u=e,o=n)});return o},v.omit=function(n,t,e){var r={};if(typeof t!="function"){var u=[];er(n,function(n,t){u.push(t)});for(var u=rt(u,ot(arguments,true,false,1)),o=-1,a=u.length;++o<a;){var i=u[o];r[i]=n[i]}}else t=v.createCallback(t,e,3),er(n,function(n,e,u){t(n,e,u)||(r[e]=n)
});return r},v.once=function(n){var t,e;if(!Et(n))throw new se;return function(){return t?e:(t=true,e=n.apply(this,arguments),n=null,e)}},v.pairs=function(n){for(var t=-1,e=He(n),r=e.length,u=re(r);++t<r;){var o=e[t];u[t]=[o,n[o]]}return u},v.partial=function(n){return pt(n,16,s(arguments,1))},v.partialRight=function(n){return pt(n,32,null,s(arguments,1))},v.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=-1,o=ot(arguments,true,false,1),a=Ot(n)?o.length:0;++u<a;){var i=o[u];i in n&&(r[i]=n[i])
}else t=v.createCallback(t,e,3),er(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},v.pluck=ir,v.property=te,v.pull=function(n){for(var t=arguments,e=0,r=t.length,u=n?n.length:0;++e<r;)for(var o=-1,a=t[e];++o<u;)n[o]===a&&(Ne.call(n,o--,1),u--);return n},v.range=function(n,t,e){n=+n||0,e=typeof e=="number"?e:+e||1,null==t&&(t=n,n=0);var r=-1;t=Le(0,je((t-n)/(e||1)));for(var u=re(t);++r<t;)u[r]=n,n+=e;return u},v.reject=function(n,t,e){return t=v.createCallback(t,e,3),Rt(n,function(n,e,r){return!t(n,e,r)
})},v.remove=function(n,t,e){var r=-1,u=n?n.length:0,o=[];for(t=v.createCallback(t,e,3);++r<u;)e=n[r],t(e,r,n)&&(o.push(e),Ne.call(n,r--,1),u--);return o},v.rest=Jt,v.shuffle=Wt,v.sortBy=function(n,t,e){var r=-1,o=Ve(t),a=n?n.length:0,l=re(typeof a=="number"?a:0);for(o||(t=v.createCallback(t,e,3)),Tt(n,function(n,e,u){var a=l[++r]=f();o?a.m=Ft(t,function(t){return n[t]}):(a.m=i())[0]=t(n,e,u),a.n=r,a.o=n}),a=l.length,l.sort(u);a--;)n=l[a],l[a]=n.o,o||c(n.m),p(n);return l},v.tap=function(n,t){return t(n),n
},v.throttle=function(n,t,e){var r=true,u=true;if(!Et(n))throw new se;return false===e?r=false:Ot(e)&&(r="leading"in e?e.leading:r,u="trailing"in e?e.trailing:u),U.leading=r,U.maxWait=t,U.trailing=u,Xt(n,t,U)},v.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=re(n);for(t=tt(t,e,1);++r<n;)u[r]=t(r);return u},v.toArray=function(n){return n&&typeof n.length=="number"?Je.unindexedChars&&At(n)?n.split(""):s(n):It(n)},v.transform=function(n,t,e,r){var u=Ve(n);if(null==e)if(u)e=[];else{var o=n&&n.constructor;e=nt(o&&o.prototype)
}return t&&(t=v.createCallback(t,r,4),(u?tr:wt)(n,function(n,r,u){return t(e,n,r,u)})),e},v.union=function(){return lt(ot(arguments,true,true))},v.uniq=Vt,v.values=It,v.where=Rt,v.without=function(n){return rt(n,s(arguments,1))},v.wrap=function(n,t){return pt(t,16,[n])},v.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var e=arguments[n];if(Ve(e)||dt(e))var r=r?rt(r,e).concat(rt(e,r)):e}return r?lt(r):[]},v.zip=Ut,v.zipObject=Ht,v.collect=Ft,v.drop=Jt,v.each=Tt,v.eachRight=Bt,v.extend=bt,v.methods=xt,v.object=Ht,v.select=Rt,v.tail=Jt,v.unique=Vt,v.unzip=Ut,Zt(bt({},v)),v.clone=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=t,t=false),Y(n,t,typeof e=="function"&&tt(e,r,1))
},v.cloneDeep=function(n,t,e){return Y(n,true,typeof t=="function"&&tt(t,e,1))},v.contains=Nt,v.escape=function(n){return null==n?"":pe(n).replace(nr,gt)},v.every=Dt,v.find=Pt,v.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=v.createCallback(t,e,3);++r<u;)if(t(n[r],r,n))return r;return-1},v.findKey=function(n,t,e){var r;return t=v.createCallback(t,e,3),wt(n,function(n,e,u){return t(n,e,u)?(r=e,false):void 0}),r},v.findLast=function(n,t,e){var r;return t=v.createCallback(t,e,3),Bt(n,function(n,e,u){return t(n,e,u)?(r=n,false):void 0
}),r},v.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=v.createCallback(t,e,3);r--;)if(t(n[r],r,n))return r;return-1},v.findLastKey=function(n,t,e){var r;return t=v.createCallback(t,e,3),jt(n,function(n,e,u){return t(n,e,u)?(r=e,false):void 0}),r},v.has=function(n,t){return n?Oe.call(n,t):false},v.identity=Yt,v.indexOf=Gt,v.isArguments=dt,v.isArray=Ve,v.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&_e.call(n)==L||false},v.isDate=function(n){return n&&typeof n=="object"&&_e.call(n)==z||false
},v.isElement=kt,v.isEmpty=function(n){var t=true;if(!n)return t;var e=_e.call(n),r=n.length;return e==$||e==M||(Je.argsClass?e==F:dt(n))||e==G&&typeof r=="number"&&Et(n.splice)?!r:(wt(n,function(){return t=false}),t)},v.isEqual=function(n,t,e,r){return at(n,t,typeof e=="function"&&tt(e,r,2))},v.isFinite=function(n){return Be(n)&&!Fe(parseFloat(n))},v.isFunction=Et,v.isNaN=function(n){return St(n)&&n!=+n},v.isNull=function(n){return null===n},v.isNumber=St,v.isObject=Ot,v.isPlainObject=rr,v.isRegExp=function(n){return n&&X[typeof n]&&_e.call(n)==J||false
},v.isString=At,v.isUndefined=function(n){return typeof n=="undefined"},v.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?Le(0,r+e):ze(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},v.mixin=Zt,v.noConflict=function(){return e._=be,this},v.noop=ne,v.now=fr,v.parseInt=lr,v.random=function(n,t,e){var r=null==n,u=null==t;return null==e&&(typeof n=="boolean"&&u?(e=n,n=1):u||typeof t!="boolean"||(e=t,u=true)),r&&u&&(t=1),n=+n||0,u?(t=n,n=0):t=+t||0,e||n%1||t%1?(e=qe(),ze(n+e*(t-n+parseFloat("1e-"+((e+"").length-1))),t)):ft(n,t)
},v.reduce=Lt,v.reduceRight=zt,v.result=function(n,t){if(n){var e=n[t];return Et(e)?n[t]():e}},v.runInContext=g,v.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:He(n).length},v.some=qt,v.sortedIndex=Mt,v.template=function(n,t,e){var r=v.templateSettings;n=pe(n||""),e=_t({},e,r);var u,o=_t({},e.imports,r.imports),r=He(o),o=It(o),i=0,f=e.interpolate||D,l="__p+='",f=ce((e.escape||D).source+"|"+f.source+"|"+(f===I?O:D).source+"|"+(e.evaluate||D).source+"|$","g");n.replace(f,function(t,e,r,o,f,c){return r||(r=o),l+=n.slice(i,c).replace(P,a),e&&(l+="'+__e("+e+")+'"),f&&(u=true,l+="';"+f+";\n__p+='"),r&&(l+="'+((__t=("+r+"))==null?'':__t)+'"),i=c+t.length,t
}),l+="';",f=e=e.variable,f||(e="obj",l="with("+e+"){"+l+"}"),l=(u?l.replace(x,""):l).replace(C,"$1").replace(E,"$1;"),l="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=ae(r,"return "+l).apply(h,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},v.unescape=function(n){return null==n?"":(n=pe(n),0>n.indexOf(";")?n:n.replace(Ze,mt))},v.uniqueId=function(n){var t=++m;
return pe(null==n?"":n)+t},v.all=Dt,v.any=qt,v.detect=Pt,v.findWhere=Pt,v.foldl=Lt,v.foldr=zt,v.include=Nt,v.inject=Lt,Zt(function(){var n={};return wt(v,function(t,e){v.prototype[e]||(n[e]=t)}),n}(),false),v.first=Kt,v.last=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=v.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[u-1]:h;return s(n,Le(0,u-r))},v.sample=function(n,t,e){return n&&typeof n.length!="number"?n=It(n):Je.unindexedChars&&At(n)&&(n=n.split("")),null==t||e?n?n[ft(0,n.length-1)]:h:(n=Wt(n),n.length=ze(Le(0,t),n.length),n)
},v.take=Kt,v.head=Kt,wt(v,function(n,t){var e="sample"!==t;v.prototype[t]||(v.prototype[t]=function(t,r){var u=this.__chain__,o=n(this.__wrapped__,t,r);return u||null!=t&&(!r||e&&typeof t=="function")?new y(o,u):o})}),v.VERSION="2.4.1",v.prototype.chain=function(){return this.__chain__=true,this},v.prototype.toString=function(){return pe(this.__wrapped__)},v.prototype.value=ee,v.prototype.valueOf=ee,tr(["join","pop","shift"],function(n){var t=ge[n];v.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments);
return n?new y(e,n):e}}),tr(["push","reverse","sort","unshift"],function(n){var t=ge[n];v.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),tr(["concat","slice","splice"],function(n){var t=ge[n];v.prototype[n]=function(){return new y(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Je.spliceObjects||tr(["pop","shift","splice"],function(n){var t=ge[n],e="splice"==n;v.prototype[n]=function(){var n=this.__chain__,r=this.__wrapped__,u=t.apply(r,arguments);return 0===r.length&&delete r[0],n||e?new y(u,n):u
}}),v}var h,v=[],y=[],m=0,d={},b=+new Date+"",_=75,w=40,j=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",x=/\b__p\+='';/g,C=/\b(__p\+=)''\+/g,E=/(__e\(.*?\)|\b__t\))\+'';/g,O=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,S=/\w*$/,A=/^\s*function[ \n\r\t]+\w/,I=/<%=([\s\S]+?)%>/g,N=RegExp("^["+j+"]*0+(?=.$)"),D=/($^)/,R=/\bthis\b/,P=/['\n\r\t\u2028\u2029\\]/g,T="Array Boolean Date Error Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),B="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),F="[object Arguments]",$="[object Array]",L="[object Boolean]",z="[object Date]",W="[object Error]",q="[object Function]",K="[object Number]",G="[object Object]",J="[object RegExp]",M="[object String]",V={};
V[q]=false,V[F]=V[$]=V[L]=V[z]=V[K]=V[G]=V[J]=V[M]=true;var U={leading:false,maxWait:0,trailing:false},H={configurable:false,enumerable:false,value:null,writable:false},Q={a:"",b:null,c:"",d:"",e:"",v:null,g:"",h:null,support:null,i:"",j:false},X={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Z=X[typeof window]&&window||this,nt=X[typeof exports]&&exports&&!exports.nodeType&&exports,tt=X[typeof module]&&module&&!module.nodeType&&module,et=tt&&tt.exports===nt&&nt,rt=X[typeof global]&&global;
!rt||rt.global!==rt&&rt.window!==rt||(Z=rt);var ut=g();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Z._=ut, define(function(){return ut})):nt&&tt?et?(tt.exports=ut)._=ut:nt._=ut:Z._=ut}).call(this);
;(function(){function n(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++r<e;)if(n[r]===t)return r;return-1}function t(t,r){var e=typeof r;if(t=t.h,"boolean"==e||null==r)return t[r]?0:-1;"number"!=e&&"string"!=e&&(e="object");var u="number"==e?r:d+r;return t=(t=t[e])&&t[u],"object"==e?t&&-1<n(t,r)?0:-1:t?0:-1}function r(n){var t=this.h,r=typeof n;if("boolean"==r||null==n)t[n]=true;else{"number"!=r&&"string"!=r&&(r="object");var e="number"==r?n:d+n,t=t[r]||(t[r]={});"object"==r?(t[e]||(t[e]=[])).push(n):t[e]=true
}}function e(n){return n.charCodeAt(0)}function u(n,t){for(var r=n.i,e=t.i,u=-1,o=r.length;++u<o;){var a=r[u],i=e[u];if(a!==i){if(a>i||typeof a=="undefined")return 1;if(a<i||typeof i=="undefined")return-1}}return n.j-t.j}function o(n){var t=-1,e=n.length,u=n[0],o=n[e/2|0],a=n[e-1];if(u&&typeof u=="object"&&o&&typeof o=="object"&&a&&typeof a=="object")return false;for(u=f(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=f(),o.g=n,o.h=u,o.push=r;++t<e;)o.push(n[t]);return o}function a(n){return"\\"+J[n]
}function i(){return v.pop()||[]}function f(){return y.pop()||{g:null,h:null,i:null,"false":false,j:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,k:null}}function l(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function c(n){n.length=0,v.length<_&&v.push(n)}function p(n){var t=n.h;t&&p(t),n.g=n.h=n.i=n.object=n.number=n.string=n.k=null,y.length<_&&y.push(n)}function s(n,t,r){t||(t=0),typeof r=="undefined"&&(r=n?n.length:0);var e=-1;r=r-t||0;for(var u=Array(0>r?0:r);++e<r;)u[e]=n[t+e];
return u}function g(r){function v(n){return n&&typeof n=="object"&&!Vr(n)&&kr.call(n,"__wrapped__")?n:new y(n)}function y(n,t){this.__chain__=!!t,this.__wrapped__=n}function _(n){function t(){if(e){var n=s(e);Or.apply(n,arguments)}if(this instanceof t){var o=X(r.prototype),n=r.apply(o,n||arguments);return kt(n)?n:o}return r.apply(u,n||arguments)}var r=n[0],e=n[2],u=n[4];return Mr(t,n),t}function J(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined")return o}if(!kt(n))return n;var a=dr.call(n);if(!V[a]||!Kr.nodeClass&&l(n))return n;
var f=Wr[a];switch(a){case F:case q:return new f(+n);case W:case M:return new f(n);case K:return o=f(n.source,O.exec(n)),o.lastIndex=n.lastIndex,o}if(a=Vr(n),t){var p=!e;e||(e=i()),u||(u=i());for(var g=e.length;g--;)if(e[g]==n)return u[g];o=a?f(n.length):{}}else o=a?s(n):mt({},n);return a&&(kr.call(n,"index")&&(o.index=n.index),kr.call(n,"input")&&(o.input=n.input)),t?(e.push(n),u.push(o),(a?rt:bt)(n,function(n,a){o[a]=J(n,t,r,e,u)}),p&&(c(e),c(u)),o):o}function X(n){return kt(n)?Rr(n):{}}function Y(n,t,r){if(typeof n!="function")return Qt;
if(typeof t=="undefined"||!("prototype"in n))return n;var e=n.__bindData__;if(typeof e=="undefined"&&(Kr.funcNames&&(e=!n.name),e=e||!Kr.funcDecomp,!e)){var u=xr.call(n);Kr.funcNames||(e=!E.test(u)),e||(e=N.test(u),Mr(n,e))}if(false===e||true!==e&&1&e[1])return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return Ht(n,t)}function Z(n){function t(){var n=f?a:this;
if(u){var h=s(u);Or.apply(h,arguments)}return(o||c)&&(h||(h=s(arguments)),o&&Or.apply(h,o),c&&h.length<i)?(e|=16,Z([r,p?e:-4&e,h,null,a,i])):(h||(h=arguments),l&&(r=n[g]),this instanceof t?(n=X(r.prototype),h=r.apply(n,h),kt(h)?h:n):r.apply(n,h))}var r=n[0],e=n[1],u=n[2],o=n[3],a=n[4],i=n[5],f=1&e,l=2&e,c=4&e,p=8&e,g=r;return Mr(t,n),t}function nt(r,e){var u=-1,a=st(),i=r?r.length:0,f=i>=b&&a===n,l=[];if(f){var c=o(e);c?(a=t,e=c):f=false}for(;++u<i;)c=r[u],0>a(e,c)&&l.push(c);return f&&p(e),l}function rt(n,t,r){var e=-1,u=n,o=n?n.length:0;
if(t=t&&typeof r=="undefined"?t:Y(t,r,3),typeof o=="number")for(Kr.unindexedChars&&Et(u)&&(u=u.split(""));++e<o&&false!==t(u[e],e,n););else bt(n,t);return n}function et(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var a=n[e];if(a&&typeof a=="object"&&typeof a.length=="number"&&(Vr(a)||yt(a))){t||(a=et(a,t,r));var i=-1,f=a.length,l=o.length;for(o.length+=f;++i<f;)o[l++]=a[i]}else r||o.push(a)}return o}function ut(n,t,r,e,u,o){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;
if(n===n&&!(n&&H[typeof n]||t&&H[typeof t]))return false;if(null==n||null==t)return n===t;var f=dr.call(n),p=dr.call(t);if(f==D&&(f=z),p==D&&(p=z),f!=p)return false;switch(f){case F:case q:return+n==+t;case W:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case K:case M:return n==lr(t)}if(p=f==$,!p){var s=kr.call(n,"__wrapped__"),g=kr.call(t,"__wrapped__");if(s||g)return ut(s?n.__wrapped__:n,g?t.__wrapped__:t,r,e,u,o);if(f!=z||!Kr.nodeClass&&(l(n)||l(t)))return false;if(f=!Kr.argsObject&&yt(n)?ir:n.constructor,s=!Kr.argsObject&&yt(t)?ir:t.constructor,f!=s&&!(Ct(f)&&f instanceof f&&Ct(s)&&s instanceof s)&&"constructor"in n&&"constructor"in t)return false
}for(f=!u,u||(u=i()),o||(o=i()),s=u.length;s--;)if(u[s]==n)return o[s]==t;var h=0,a=true;if(u.push(n),o.push(t),p){if(s=n.length,h=t.length,(a=h==s)||e)for(;h--;)if(p=s,g=t[h],e)for(;p--&&!(a=ut(n[p],g,r,e,u,o)););else if(!(a=ut(n[h],g,r,e,u,o)))break}else Yr(t,function(t,i,f){return kr.call(f,i)?(h++,a=kr.call(n,i)&&ut(n[i],t,r,e,u,o)):void 0}),a&&!e&&Yr(n,function(n,t,r){return kr.call(r,t)?a=-1<--h:void 0});return u.pop(),o.pop(),f&&(c(u),c(o)),a}function ot(n,t,r,e,u){(Vr(t)?Pt:bt)(t,function(t,o){var a,i,f=t,l=n[o];
if(t&&((i=Vr(t))||Zr(t))){for(f=e.length;f--;)if(a=e[f]==t){l=u[f];break}if(!a){var c;r&&(f=r(l,t),c=typeof f!="undefined")&&(l=f),c||(l=i?Vr(l)?l:[]:Zr(l)?l:{}),e.push(t),u.push(l),c||ot(l,t,r,e,u)}}else r&&(f=r(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);n[o]=l})}function at(n,t){return n+jr(Lr()*(t-n+1))}function it(r,e,u){var a=-1,f=st(),l=r?r.length:0,s=[],g=!e&&l>=b&&f===n,h=u||g?i():s;for(g&&(h=o(h),f=t);++a<l;){var v=r[a],y=u?u(v,a,r):v;(e?!a||h[h.length-1]!==y:0>f(h,y))&&((u||g)&&h.push(y),s.push(v))
}return g?(c(h.g),p(h)):u&&c(h),s}function ft(n){return function(t,r,e){var u={};if(r=v.createCallback(r,e,3),Vr(t)){e=-1;for(var o=t.length;++e<o;){var a=t[e];n(u,a,r(a,e,t),t)}}else rt(t,function(t,e,o){n(u,t,r(t,e,o),o)});return u}}function lt(n,t,r,e,u,o){var a=1&t,i=4&t,f=16&t,l=32&t;if(!(2&t||Ct(n)))throw new cr;f&&!r.length&&(t&=-17,f=r=false),l&&!e.length&&(t&=-33,l=e=false);var c=n&&n.__bindData__;return c&&true!==c?(c=s(c),c[2]&&(c[2]=s(c[2])),c[3]&&(c[3]=s(c[3])),!a||1&c[1]||(c[4]=u),!a&&1&c[1]&&(t|=8),!i||4&c[1]||(c[5]=o),f&&Or.apply(c[2]||(c[2]=[]),r),l&&Ar.apply(c[3]||(c[3]=[]),e),c[1]|=t,lt.apply(null,c)):(1==t||17===t?_:Z)([n,t,r,e,u,o])
}function ct(n){n.d=T;var t=ur,r="return function("+n.a+"){",e="var s="+n.b+";if(!(p&&r[typeof p]))return s;"+n.e+";";Kr.nonEnumArgs&&(e+="var m=p.length;if(m&&j(p)){l=-1;while(++l<m){l+='';"+n.c+";}return s}"),Kr.enumPrototypes&&(e+="var u=typeof p=='function';"),Kr.enumErrorProps&&(e+="var t=p===g||p instanceof Error;");var u=[];if(Kr.enumPrototypes&&u.push("!(u&&l=='prototype')"),Kr.enumErrorProps&&u.push("!(t&&(l=='message'||l=='name'))"),e+="for(var l in p){",n.f&&u.push("h.call(p,l)"),u.length&&(e+="if("+u.join("&&")+"){"),e+=n.c+";",u.length&&(e+="}"),e+="}",Kr.nonEnumShadows){for(e+="if(p!==q){var e=p.constructor,k=p===(e&&e.prototype),c=p===w?v:p===g?f:y.call(p),n=o[c];",u=0;7>u;u++)e+="l='"+n.d[u]+"';if((!(k&&n[l])&&h.call(p,l))",n.f||(e+="||(!n[l]&&p[l]!==q[l])"),e+="){"+n.c+"}";
e+="}"}return t("a,f,g,h,j,q,r,o,v,w,y",r+(e+"return s")+"}")(Y,B,sr,kr,yt,gr,H,zr,M,hr,dr)}function pt(n){return Hr[n]}function st(){var t=(t=v.indexOf)===zt?n:t;return t}function gt(n){return typeof n=="function"&&br.test(xr.call(n))}function ht(n){var t,r;return!n||dr.call(n)!=z||(t=n.constructor,Ct(t)&&!(t instanceof t))||!Kr.argsClass&&yt(n)||!Kr.nodeClass&&l(n)?false:Kr.ownLast?(Yr(n,function(n,t,e){return r=kr.call(e,t),false}),false!==r):(Yr(n,function(n,t){r=t}),typeof r=="undefined"||kr.call(n,r))
}function vt(n){return Jr[n]}function yt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&dr.call(n)==D||false}function mt(n,t,r){var e=arguments,u=0,o=typeof r=="number"?2:e.length;if(3<o&&"function"==typeof e[o-2])var a=Y(e[--o-1],e[o--],2);else 2<o&&"function"==typeof e[o-1]&&(a=e[--o]);for(;++u<o;)if(t=e[u],kt(t))for(var i=-1,f=Gr(t),l=f.length;++i<l;){var c=f[i];n[c]=a?a(n[c],t[c]):t[c]}return n}function dt(n,t,r){for(var e=arguments,u=0,o=typeof r=="number"?2:e.length;++u<o;)if(t=e[u],kt(t))for(var a=-1,i=Gr(t),f=i.length;++a<f;){var l=i[a];
"undefined"==typeof n[l]&&(n[l]=t[l])}return n}function bt(n,t,r){var e=-1,u=Gr(n),o=u.length;for(t=t&&typeof r=="undefined"?t:Y(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n)););return n}function _t(n,t,r){var e=Gr(n),u=e.length;for(t=Y(t,r,3);u--&&(r=e[u],false!==t(n[r],r,n)););return n}function wt(n){var t=[];return Yr(n,function(n,r){Ct(n)&&t.push(r)}),t.sort()}function jt(n,t){for(var r=-1,e=Gr(n),u=e.length,o={};++r<u;){var a=e[r],i=n[a];t&&kr.call(o,i)?("string"==typeof o[i]&&(o[i]=[o[i]]),o[i].push(a)):o[i]=a
}return o}function xt(n){return n&&typeof n=="object"&&1===n.nodeType&&(Kr.nodeClass?-1<dr.call(n).indexOf("Element"):l(n))||false}function Ct(n){return typeof n=="function"}function kt(n){return!(!n||!H[typeof n])}function Ot(n){return typeof n=="number"||n&&typeof n=="object"&&dr.call(n)==W||false}function Et(n){return typeof n=="string"||n&&typeof n=="object"&&dr.call(n)==M||false}function St(n){for(var t=-1,r=Gr(n),e=r.length,u=tr(e);++t<e;)u[t]=n[r[t]];return u}function It(n,t,r){var e=-1,u=st(),o=n?n.length:0,a=false;
return r=(0>r?Fr(0,o+r):r)||0,Vr(n)?a=-1<u(n,t,r):typeof o=="number"?a=-1<(Et(n)?n.indexOf(t,r):u(n,t,r)):rt(n,function(n){return++e<r?void 0:!(a=n===t)}),a}function At(n,t,r){var e=true;if(t=v.createCallback(t,r,3),Vr(n)){r=-1;for(var u=n.length;++r<u&&(e=!!t(n[r],r,n)););}else rt(n,function(n,r,u){return e=!!t(n,r,u)});return e}function Nt(n,t,r){var e=[];if(t=v.createCallback(t,r,3),Vr(n)){r=-1;for(var u=n.length;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}}else rt(n,function(n,r,u){t(n,r,u)&&e.push(n)
});return e}function Rt(n,t,r){if(t=v.createCallback(t,r,3),!Vr(n)){var e;return rt(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e}r=-1;for(var u=n.length;++r<u;){var o=n[r];if(t(o,r,n))return o}}function Pt(n,t,r){if(t&&typeof r=="undefined"&&Vr(n)){r=-1;for(var e=n.length;++r<e&&false!==t(n[r],r,n););}else rt(n,t,r);return n}function Tt(n,t,r){var e=n,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:Y(t,r,3),Vr(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=Gr(n),u=o.length;
else Kr.unindexedChars&&Et(n)&&(e=n.split(""));rt(e,function(r,a){return a=o?o[--u]:--u,t(e[a],a,n)})}return n}function Dt(n,t,r){var e=-1,u=n?n.length:0,o=tr(typeof u=="number"?u:0);if(t=v.createCallback(t,r,3),Vr(n))for(;++e<u;)o[e]=t(n[e],e,n);else rt(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function $t(n,t,r){var u=-1/0,o=u;if(typeof t!="function"&&r&&r[t]===n&&(t=null),null==t&&Vr(n)){r=-1;for(var a=n.length;++r<a;){var i=n[r];i>o&&(o=i)}}else t=null==t&&Et(n)?e:v.createCallback(t,r,3),rt(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,o=n)
});return o}function Ft(n,t,r,e){var u=3>arguments.length;if(t=v.createCallback(t,e,4),Vr(n)){var o=-1,a=n.length;for(u&&(r=n[++o]);++o<a;)r=t(r,n[o],o,n)}else rt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)});return r}function qt(n,t,r,e){var u=3>arguments.length;return t=v.createCallback(t,e,4),Tt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function Bt(n){var t=-1,r=n?n.length:0,e=tr(typeof r=="number"?r:0);return Pt(n,function(n){var r=at(0,++t);e[t]=e[r],e[r]=n}),e}function Lt(n,t,r){var e;if(t=v.createCallback(t,r,3),Vr(n)){r=-1;
for(var u=n.length;++r<u&&!(e=t(n[r],r,n)););}else rt(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function Wt(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=v.createCallback(t,r,3);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[0]:h;return s(n,0,qr(Fr(0,e),u))}function zt(t,r,e){if(typeof e=="number"){var u=t?t.length:0;e=0>e?Fr(0,u+e):e||0}else if(e)return e=Mt(t,r),t[e]===r?e:-1;return n(t,r,e)}function Kt(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;
for(t=v.createCallback(t,r,3);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:Fr(0,t);return s(n,e)}function Mt(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?v.createCallback(r,e,1):Qt,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function Vt(n,t,r,e){return typeof t!="boolean"&&null!=t&&(e=r,r=typeof t!="function"&&e&&e[t]===n?null:t,t=false),null!=r&&(r=v.createCallback(r,e,3)),it(n,t,r)}function Ut(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?$t(ee(n,"length")):0,e=tr(0>r?0:r);++t<r;)e[t]=ee(n,t);
return e}function Gt(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||Vr(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Ht(n,t){return 2<arguments.length?lt(n,17,s(arguments,2),null,t):lt(n,1,null,null,t)}function Jt(n,t,r){var e,u,o,a,i,f,l,c=0,p=false,s=true;if(!Ct(n))throw new cr;if(t=Fr(0,t)||0,true===r)var g=true,s=false;else kt(r)&&(g=r.leading,p="maxWait"in r&&(Fr(t,r.maxWait)||0),s="trailing"in r?r.trailing:s);var v=function(){var r=t-(ue()-a);0<r?f=Sr(v,r):(u&&wr(u),r=l,u=f=l=h,r&&(c=ue(),o=n.apply(i,e),f||u||(e=i=null)))
},y=function(){f&&wr(f),u=f=l=h,(s||p!==t)&&(c=ue(),o=n.apply(i,e),f||u||(e=i=null))};return function(){if(e=arguments,a=ue(),i=this,l=s&&(f||!g),false===p)var r=g&&!f;else{u||g||(c=a);var h=p-(a-c),m=0>=h;m?(u&&(u=wr(u)),c=a,o=n.apply(i,e)):u||(u=Sr(y,h))}return m&&f?f=wr(f):f||t===p||(f=Sr(v,t)),r&&(m=true,o=n.apply(i,e)),!m||f||u||(e=i=null),o}}function Qt(n){return n}function Xt(n,t,r){var e=true,u=t&&wt(t);t&&(r||u.length)||(null==r&&(r=t),o=y,t=n,n=v,u=wt(t)),false===r?e=false:kt(r)&&"chain"in r&&(e=r.chain);
var o=n,a=Ct(o);Pt(u,function(r){var u=n[r]=t[r];a&&(o.prototype[r]=function(){var t=this.__chain__,r=this.__wrapped__,a=[r];if(Or.apply(a,arguments),a=u.apply(n,a),e||t){if(r===a&&kt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Yt(){}function Zt(n){return function(t){return t[n]}}function nr(){return this.__wrapped__}r=r?tt.defaults(Q.Object(),r,tt.pick(Q,P)):Q;var tr=r.Array,rr=r.Boolean,er=r.Date,ur=r.Function,or=r.Math,ar=r.Number,ir=r.Object,fr=r.RegExp,lr=r.String,cr=r.TypeError,pr=[],sr=r.Error.prototype,gr=ir.prototype,hr=lr.prototype,vr=r.window,yr=vr&&vr.document,mr=r._,dr=gr.toString,br=fr("^"+lr(dr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),_r=or.ceil,wr=r.clearTimeout,jr=or.floor,xr=ur.prototype.toString,Cr=gt(Cr=ir.getPrototypeOf)&&Cr,kr=gr.hasOwnProperty,Or=pr.push,Er=gr.propertyIsEnumerable,Sr=r.setTimeout,Ir=pr.splice,Ar=pr.unshift,Nr=function(){try{var n={},t=gt(t=ir.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),Rr=gt(Rr=ir.create)&&Rr,Pr=gt(Pr=tr.isArray)&&Pr,Tr=r.isFinite,Dr=r.isNaN,$r=gt($r=ir.keys)&&$r,Fr=or.max,qr=or.min,Br=r.parseInt,Lr=or.random,Wr={};Wr[$]=tr,Wr[F]=rr,Wr[q]=er,Wr[L]=ur,Wr[z]=ir,Wr[W]=ar,Wr[K]=fr,Wr[M]=lr;var zr={};zr[$]=zr[q]=zr[W]={constructor:true,toLocaleString:true,toString:true,valueOf:true},zr[F]=zr[M]={constructor:true,toString:true,valueOf:true},zr[B]=zr[L]=zr[K]={constructor:true,toString:true},zr[z]={constructor:true},function(){for(var n=T.length;n--;){var t,r=T[n];
for(t in zr)kr.call(zr,t)&&!kr.call(zr[t],r)&&(zr[t][r]=false)}}(),y.prototype=v.prototype;var Kr=v.support={};!function(){var n=function(){this.x=1},t={0:1,length:1},e=[];n.prototype={valueOf:1,y:1};for(var u in new n)e.push(u);for(u in arguments);Kr.argsClass=dr.call(arguments)==D,Kr.argsObject=arguments.constructor==ir&&!(arguments instanceof tr),Kr.dom=!!yr&&typeof yr=="object"&&br.test(wr)&&br.test(Sr),Kr.enumErrorProps=Er.call(sr,"message")||Er.call(sr,"name"),Kr.enumPrototypes=Er.call(n,"prototype"),Kr.funcDecomp=!gt(r.WinRTError)&&N.test(g),Kr.funcNames=typeof ur.name=="string",Kr.nonEnumArgs=0!=u,Kr.nonEnumShadows=!/valueOf/.test(e),Kr.ownLast="x"!=e[0],Kr.spliceObjects=(pr.splice.call(t,0,1),!t[0]),Kr.unindexedChars="xx"!="x"[0]+ir("x")[0];
try{Kr.nodeClass=!(dr.call(yr)==z&&!({toString:0}+""))}catch(o){Kr.nodeClass=true}}(1),v.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:S,variable:"",imports:{_:v}},Rr||(X=function(){function n(){}return function(t){if(kt(t)){n.prototype=t;var e=new n;n.prototype=null}return e||r.Object()}}());var Mr=Nr?function(n,t){G.value=t,Nr(n,"__bindData__",G)}:Yt;Kr.argsClass||(yt=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&kr.call(n,"callee")&&!Er.call(n,"callee")||false});var Vr=Pr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&dr.call(n)==$||false
},Ur=ct({a:"p",b:"[]",e:"if(!(r[typeof p]))return s",c:"s.push(l)",f:true}),Gr=$r?function(n){return kt(n)?Kr.enumPrototypes&&typeof n=="function"||Kr.nonEnumArgs&&n.length&&yt(n)?Ur(n):$r(n):[]}:Ur,Hr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Jr=jt(Hr),Qr=fr("("+Gr(Jr).join("|")+")","g"),Xr=fr("["+Gr(Hr).join("")+"]","g"),Yr=ct({a:"p,b,x",b:"p",e:"b=b&&typeof x=='undefined'?b:a(b,x,3)",c:"if(b(p[l],l,p)===false)return s",f:false});Kr.dom||(xt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!Zr(n)||false
}),Ct(/x/)&&(Ct=function(n){return typeof n=="function"&&dr.call(n)==L});var Zr=Cr?function(n){if(!n||dr.call(n)!=z||!Kr.argsClass&&yt(n))return false;var t=n.valueOf,r=gt(t)&&(r=Cr(t))&&Cr(r);return r?n==r||Cr(n)==r:ht(n)}:ht,ne=ft(function(n,t,r){kr.call(n,r)?n[r]++:n[r]=1}),te=ft(function(n,t,r){(kr.call(n,r)?n[r]:n[r]=[]).push(t)}),re=ft(function(n,t,r){n[r]=t}),ee=Dt,ue=gt(ue=er.now)&&ue||function(){return(new er).getTime()},oe=8==Br(w+"08")?Br:function(n,t){return Br(Et(n)?n.replace(I,""):n,t||0)
};return v.after=function(n,t){if(!Ct(t))throw new cr;return function(){return 1>--n?t.apply(this,arguments):void 0}},v.assign=mt,v.at=function(n){var t=arguments,r=-1,e=et(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:e.length,u=tr(t);for(Kr.unindexedChars&&Et(n)&&(n=n.split(""));++r<t;)u[r]=n[e[r]];return u},v.bind=Ht,v.bindAll=function(n){for(var t=1<arguments.length?et(arguments,true,false,1):wt(n),r=-1,e=t.length;++r<e;){var u=t[r];n[u]=lt(n[u],1,null,null,n)}return n},v.bindKey=function(n,t){return 2<arguments.length?lt(t,19,s(arguments,2),null,n):lt(t,3,null,null,n)
},v.chain=function(n){return n=new y(n),n.__chain__=true,n},v.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var o=n[t];o&&(u[e++]=o)}return u},v.compose=function(){for(var n=arguments,t=n.length;t--;)if(!Ct(n[t]))throw new cr;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},v.constant=function(n){return function(){return n}},v.countBy=ne,v.create=function(n,t){var r=X(n);return t?mt(r,t):r},v.createCallback=function(n,t,r){var e=typeof n;
if(null==n||"function"==e)return Y(n,t,r);if("object"!=e)return Zt(n);var u=Gr(n),o=u[0],a=n[o];return 1!=u.length||a!==a||kt(a)?function(t){for(var r=u.length,e=false;r--&&(e=ut(t[u[r]],n[u[r]],null,true)););return e}:function(n){return n=n[o],a===n&&(0!==a||1/a==1/n)}},v.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,lt(n,4,null,null,null,t)},v.debounce=Jt,v.defaults=dt,v.defer=function(n){if(!Ct(n))throw new cr;var t=s(arguments,1);return Sr(function(){n.apply(h,t)},1)},v.delay=function(n,t){if(!Ct(n))throw new cr;
var r=s(arguments,2);return Sr(function(){n.apply(h,r)},t)},v.difference=function(n){return nt(n,et(arguments,true,true,1))},v.filter=Nt,v.flatten=function(n,t,r,e){return typeof t!="boolean"&&null!=t&&(e=r,r=typeof t!="function"&&e&&e[t]===n?null:t,t=false),null!=r&&(n=Dt(n,r,e)),et(n,t)},v.forEach=Pt,v.forEachRight=Tt,v.forIn=Yr,v.forInRight=function(n,t,r){var e=[];Yr(n,function(n,t){e.push(t,n)});var u=e.length;for(t=Y(t,r,3);u--&&false!==t(e[u--],e[u],n););return n},v.forOwn=bt,v.forOwnRight=_t,v.functions=wt,v.groupBy=te,v.indexBy=re,v.initial=function(n,t,r){var e=0,u=n?n.length:0;
if(typeof t!="number"&&null!=t){var o=u;for(t=v.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else e=null==t||r?1:t||e;return s(n,0,qr(Fr(0,u-e),u))},v.intersection=function(){for(var r=[],e=-1,u=arguments.length,a=i(),f=st(),l=f===n,s=i();++e<u;){var g=arguments[e];(Vr(g)||yt(g))&&(r.push(g),a.push(l&&g.length>=b&&o(e?r[e]:s)))}var l=r[0],h=-1,v=l?l.length:0,y=[];n:for(;++h<v;){var m=a[0],g=l[h];if(0>(m?t(m,g):f(s,g))){for(e=u,(m||s).push(g);--e;)if(m=a[e],0>(m?t(m,g):f(r[e],g)))continue n;y.push(g)
}}for(;u--;)(m=a[u])&&p(m);return c(a),c(s),y},v.invert=jt,v.invoke=function(n,t){var r=s(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=tr(typeof o=="number"?o:0);return Pt(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},v.keys=Gr,v.map=Dt,v.mapValues=function(n,t,r){var e={};return t=v.createCallback(t,r,3),bt(n,function(n,r,u){e[r]=t(n,r,u)}),e},v.max=$t,v.memoize=function(n,t){if(!Ct(n))throw new cr;var r=function(){var e=r.cache,u=t?t.apply(this,arguments):d+arguments[0];return kr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)
};return r.cache={},r},v.merge=function(n){var t=arguments,r=2;if(!kt(n))return n;if("number"!=typeof t[2]&&(r=t.length),3<r&&"function"==typeof t[r-2])var e=Y(t[--r-1],t[r--],2);else 2<r&&"function"==typeof t[r-1]&&(e=t[--r]);for(var t=s(arguments,1,r),u=-1,o=i(),a=i();++u<r;)ot(n,t[u],e,o,a);return c(o),c(a),n},v.min=function(n,t,r){var u=1/0,o=u;if(typeof t!="function"&&r&&r[t]===n&&(t=null),null==t&&Vr(n)){r=-1;for(var a=n.length;++r<a;){var i=n[r];i<o&&(o=i)}}else t=null==t&&Et(n)?e:v.createCallback(t,r,3),rt(n,function(n,r,e){r=t(n,r,e),r<u&&(u=r,o=n)
});return o},v.omit=function(n,t,r){var e={};if(typeof t!="function"){var u=[];Yr(n,function(n,t){u.push(t)});for(var u=nt(u,et(arguments,true,false,1)),o=-1,a=u.length;++o<a;){var i=u[o];e[i]=n[i]}}else t=v.createCallback(t,r,3),Yr(n,function(n,r,u){t(n,r,u)||(e[r]=n)});return e},v.once=function(n){var t,r;if(!Ct(n))throw new cr;return function(){return t?r:(t=true,r=n.apply(this,arguments),n=null,r)}},v.pairs=function(n){for(var t=-1,r=Gr(n),e=r.length,u=tr(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u
},v.partial=function(n){return lt(n,16,s(arguments,1))},v.partialRight=function(n){return lt(n,32,null,s(arguments,1))},v.pick=function(n,t,r){var e={};if(typeof t!="function")for(var u=-1,o=et(arguments,true,false,1),a=kt(n)?o.length:0;++u<a;){var i=o[u];i in n&&(e[i]=n[i])}else t=v.createCallback(t,r,3),Yr(n,function(n,r,u){t(n,r,u)&&(e[r]=n)});return e},v.pluck=ee,v.property=Zt,v.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,a=t[r];++o<u;)n[o]===a&&(Ir.call(n,o--,1),u--);
return n},v.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,null==t&&(t=n,n=0);var e=-1;t=Fr(0,_r((t-n)/(r||1)));for(var u=tr(t);++e<t;)u[e]=n,n+=r;return u},v.reject=function(n,t,r){return t=v.createCallback(t,r,3),Nt(n,function(n,r,e){return!t(n,r,e)})},v.remove=function(n,t,r){var e=-1,u=n?n.length:0,o=[];for(t=v.createCallback(t,r,3);++e<u;)r=n[e],t(r,e,n)&&(o.push(r),Ir.call(n,e--,1),u--);return o},v.rest=Kt,v.shuffle=Bt,v.sortBy=function(n,t,r){var e=-1,o=Vr(t),a=n?n.length:0,l=tr(typeof a=="number"?a:0);
for(o||(t=v.createCallback(t,r,3)),Pt(n,function(n,r,u){var a=l[++e]=f();o?a.i=Dt(t,function(t){return n[t]}):(a.i=i())[0]=t(n,r,u),a.j=e,a.k=n}),a=l.length,l.sort(u);a--;)n=l[a],l[a]=n.k,o||c(n.i),p(n);return l},v.tap=function(n,t){return t(n),n},v.throttle=function(n,t,r){var e=true,u=true;if(!Ct(n))throw new cr;return false===r?e=false:kt(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),U.leading=e,U.maxWait=t,U.trailing=u,Jt(n,t,U)},v.times=function(n,t,r){n=-1<(n=+n)?n:0;var e=-1,u=tr(n);
for(t=Y(t,r,1);++e<n;)u[e]=t(e);return u},v.toArray=function(n){return n&&typeof n.length=="number"?Kr.unindexedChars&&Et(n)?n.split(""):s(n):St(n)},v.transform=function(n,t,r,e){var u=Vr(n);if(null==r)if(u)r=[];else{var o=n&&n.constructor;r=X(o&&o.prototype)}return t&&(t=v.createCallback(t,e,4),(u?rt:bt)(n,function(n,e,u){return t(r,n,e,u)})),r},v.union=function(){return it(et(arguments,true,true))},v.uniq=Vt,v.values=St,v.where=Nt,v.without=function(n){return nt(n,s(arguments,1))},v.wrap=function(n,t){return lt(t,16,[n])
},v.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(Vr(r)||yt(r))var e=e?nt(e,r).concat(nt(r,e)):r}return e?it(e):[]},v.zip=Ut,v.zipObject=Gt,v.collect=Dt,v.drop=Kt,v.each=Pt,v.eachRight=Tt,v.extend=mt,v.methods=wt,v.object=Gt,v.select=Nt,v.tail=Kt,v.unique=Vt,v.unzip=Ut,Xt(mt({},v)),v.clone=function(n,t,r,e){return typeof t!="boolean"&&null!=t&&(e=r,r=t,t=false),J(n,t,typeof r=="function"&&Y(r,e,1))},v.cloneDeep=function(n,t,r){return J(n,true,typeof t=="function"&&Y(t,r,1))
},v.contains=It,v.escape=function(n){return null==n?"":lr(n).replace(Xr,pt)},v.every=At,v.find=Rt,v.findIndex=function(n,t,r){var e=-1,u=n?n.length:0;for(t=v.createCallback(t,r,3);++e<u;)if(t(n[e],e,n))return e;return-1},v.findKey=function(n,t,r){var e;return t=v.createCallback(t,r,3),bt(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},v.findLast=function(n,t,r){var e;return t=v.createCallback(t,r,3),Tt(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e},v.findLastIndex=function(n,t,r){var e=n?n.length:0;
for(t=v.createCallback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},v.findLastKey=function(n,t,r){var e;return t=v.createCallback(t,r,3),_t(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},v.has=function(n,t){return n?kr.call(n,t):false},v.identity=Qt,v.indexOf=zt,v.isArguments=yt,v.isArray=Vr,v.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&dr.call(n)==F||false},v.isDate=function(n){return n&&typeof n=="object"&&dr.call(n)==q||false},v.isElement=xt,v.isEmpty=function(n){var t=true;
if(!n)return t;var r=dr.call(n),e=n.length;return r==$||r==M||(Kr.argsClass?r==D:yt(n))||r==z&&typeof e=="number"&&Ct(n.splice)?!e:(bt(n,function(){return t=false}),t)},v.isEqual=function(n,t,r,e){return ut(n,t,typeof r=="function"&&Y(r,e,2))},v.isFinite=function(n){return Tr(n)&&!Dr(parseFloat(n))},v.isFunction=Ct,v.isNaN=function(n){return Ot(n)&&n!=+n},v.isNull=function(n){return null===n},v.isNumber=Ot,v.isObject=kt,v.isPlainObject=Zr,v.isRegExp=function(n){return n&&H[typeof n]&&dr.call(n)==K||false
},v.isString=Et,v.isUndefined=function(n){return typeof n=="undefined"},v.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?Fr(0,e+r):qr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},v.mixin=Xt,v.noConflict=function(){return r._=mr,this},v.noop=Yt,v.now=ue,v.parseInt=oe,v.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(typeof n=="boolean"&&u?(r=n,n=1):u||typeof t!="boolean"||(r=t,u=true)),e&&u&&(t=1),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Lr(),qr(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):at(n,t)
},v.reduce=Ft,v.reduceRight=qt,v.result=function(n,t){if(n){var r=n[t];return Ct(r)?n[t]():r}},v.runInContext=g,v.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Gr(n).length},v.some=Lt,v.sortedIndex=Mt,v.template=function(n,t,r){var e=v.templateSettings;n=lr(n||""),r=dt({},r,e);var u,o=dt({},r.imports,e.imports),e=Gr(o),o=St(o),i=0,f=r.interpolate||A,l="__p+='",f=fr((r.escape||A).source+"|"+f.source+"|"+(f===S?k:A).source+"|"+(r.evaluate||A).source+"|$","g");n.replace(f,function(t,r,e,o,f,c){return e||(e=o),l+=n.slice(i,c).replace(R,a),r&&(l+="'+__e("+r+")+'"),f&&(u=true,l+="';"+f+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),i=c+t.length,t
}),l+="';",f=r=r.variable,f||(r="obj",l="with("+r+"){"+l+"}"),l=(u?l.replace(j,""):l).replace(x,"$1").replace(C,"$1;"),l="function("+r+"){"+(f?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=ur(e,"return "+l).apply(h,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},v.unescape=function(n){return null==n?"":(n=lr(n),0>n.indexOf(";")?n:n.replace(Qr,vt))},v.uniqueId=function(n){var t=++m;
return lr(null==n?"":n)+t},v.all=At,v.any=Lt,v.detect=Rt,v.findWhere=Rt,v.foldl=Ft,v.foldr=qt,v.include=It,v.inject=Ft,Xt(function(){var n={};return bt(v,function(t,r){v.prototype[r]||(n[r]=t)}),n}(),false),v.first=Wt,v.last=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=v.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[u-1]:h;return s(n,Fr(0,u-e))},v.sample=function(n,t,r){return n&&typeof n.length!="number"?n=St(n):Kr.unindexedChars&&Et(n)&&(n=n.split("")),null==t||r?n?n[at(0,n.length-1)]:h:(n=Bt(n),n.length=qr(Fr(0,t),n.length),n)
},v.take=Wt,v.head=Wt,bt(v,function(n,t){var r="sample"!==t;v.prototype[t]||(v.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new y(o,u):o})}),v.VERSION="2.4.1",v.prototype.chain=function(){return this.__chain__=true,this},v.prototype.toString=function(){return lr(this.__wrapped__)},v.prototype.value=nr,v.prototype.valueOf=nr,rt(["join","pop","shift"],function(n){var t=pr[n];v.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);
return n?new y(r,n):r}}),rt(["push","reverse","sort","unshift"],function(n){var t=pr[n];v.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),rt(["concat","slice","splice"],function(n){var t=pr[n];v.prototype[n]=function(){return new y(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Kr.spliceObjects||rt(["pop","shift","splice"],function(n){var t=pr[n],r="splice"==n;v.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new y(u,n):u
}}),v}var h,v=[],y=[],m=0,d=+new Date+"",b=75,_=40,w=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",j=/\b__p\+='';/g,x=/\b(__p\+=)''\+/g,C=/(__e\(.*?\)|\b__t\))\+'';/g,k=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,O=/\w*$/,E=/^\s*function[ \n\r\t]+\w/,S=/<%=([\s\S]+?)%>/g,I=RegExp("^["+w+"]*0+(?=.$)"),A=/($^)/,N=/\bthis\b/,R=/['\n\r\t\u2028\u2029\\]/g,P="Array Boolean Date Error Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),T="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),D="[object Arguments]",$="[object Array]",F="[object Boolean]",q="[object Date]",B="[object Error]",L="[object Function]",W="[object Number]",z="[object Object]",K="[object RegExp]",M="[object String]",V={};
V[L]=false,V[D]=V[$]=V[F]=V[q]=V[W]=V[z]=V[K]=V[M]=true;var U={leading:false,maxWait:0,trailing:false},G={configurable:false,enumerable:false,value:null,writable:false},H={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},J={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Q=H[typeof window]&&window||this,X=H[typeof exports]&&exports&&!exports.nodeType&&exports,Y=H[typeof module]&&module&&!module.nodeType&&module,Z=Y&&Y.exports===X&&X,nt=H[typeof global]&&global;!nt||nt.global!==nt&&nt.window!==nt||(Q=nt);
var tt=g();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Q._=tt, define(function(){return tt})):X&&Y?Z?(Y.exports=tt)._=tt:X._=tt:Q._=tt}).call(this);

28
dist/lodash.js vendored
View File

@@ -1602,14 +1602,14 @@
* @returns {Array} Returns an array of property names.
*/
var shimKeys = function(object) {
var index, iterable = object, result = [];
if (!iterable) return result;
var result = [];
if (!(object && objectTypes[typeof object])) return result;
if (!(objectTypes[typeof object])) return result;
for (index in iterable) {
if (hasOwnProperty.call(iterable, index)) {
result.push(index);
for (var key in object) {
if (hasOwnProperty.call(object, key)) {
result.push(key);
}
}
}
return result
};
@@ -1667,7 +1667,6 @@
*
* @static
* @memberOf _
* @type Function
* @alias extend
* @category Objects
* @param {Object} object The destination object.
@@ -1853,7 +1852,6 @@
*
* @static
* @memberOf _
* @type Function
* @category Objects
* @param {Object} object The destination object.
* @param {...Object} [source] The source objects.
@@ -2026,14 +2024,13 @@
* });
* // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
*/
var forIn = function(collection, callback, thisArg) {
var index, iterable = collection, result = iterable;
if (!iterable) return result;
if (!objectTypes[typeof iterable]) return result;
var forIn = function(object, callback, thisArg) {
var result = object;
if (!(object && objectTypes[typeof object])) return result;
callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
for (index in iterable) {
if (callback(iterable[index], index, collection) === false) return result;
}
for (var key in object) {
if (callback(object[key], key, object) === false) return result;
}
return result
};
@@ -2090,7 +2087,6 @@
*
* @static
* @memberOf _
* @type Function
* @category Objects
* @param {Object} object The object to iterate over.
* @param {Function} [callback=identity] The function called per iteration.

68
dist/lodash.min.js vendored
View File

@@ -3,53 +3,53 @@
* Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE
* Build: `lodash modern -o ./dist/lodash.js`
*/
;(function(){function n(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++e<r;)if(n[e]===t)return e;return-1}function t(t,e){var r=typeof e;if(t=t.l,"boolean"==r||null==e)return t[e]?0:-1;"number"!=r&&"string"!=r&&(r="object");var u="number"==r?e:m+e;return t=(t=t[r])&&t[u],"object"==r?t&&-1<n(t,e)?0:-1:t?0:-1}function e(n){var t=this.l,e=typeof n;if("boolean"==e||null==n)t[n]=true;else{"number"!=e&&"string"!=e&&(e="object");var r="number"==e?n:m+n,t=t[e]||(t[e]={});"object"==e?(t[r]||(t[r]=[])).push(n):t[r]=true
}}function r(n){return n.charCodeAt(0)}function u(n,t){for(var e=n.m,r=t.m,u=-1,o=e.length;++u<o;){var i=e[u],a=r[u];if(i!==a){if(i>a||typeof i=="undefined")return 1;if(i<a||typeof a=="undefined")return-1}}return n.n-t.n}function o(n){var t=-1,r=n.length,u=n[0],o=n[r/2|0],i=n[r-1];if(u&&typeof u=="object"&&o&&typeof o=="object"&&i&&typeof i=="object")return false;for(u=f(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=f(),o.k=n,o.l=u,o.push=e;++t<r;)o.push(n[t]);return o}function i(n){return"\\"+U[n]
}function a(){return h.pop()||[]}function f(){return g.pop()||{k:null,l:null,m:null,"false":false,n:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,o:null}}function l(n){n.length=0,h.length<d&&h.push(n)}function c(n){var t=n.l;t&&c(t),n.k=n.l=n.m=n.object=n.number=n.string=n.o=null,g.length<d&&g.push(n)}function p(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=Array(0>e?0:e);++r<e;)u[r]=n[t+r];return u}function s(e){function h(n,t,e){var r;
if(!n||!V[typeof n])return n;t=t&&typeof e=="undefined"?t:X(t,e,3);for(r in n)if(false===t(n[r],r,n))break;return n}function g(n){var t,e=[];if(!n||!V[typeof n])return e;for(t in n)_e.call(n,t)&&e.push(t);return e}function d(n){return n&&typeof n=="object"&&!We(n)&&_e.call(n,"__wrapped__")?n:new U(n)}function U(n,t){this.__chain__=!!t,this.__wrapped__=n}function H(n){function t(){if(r){var n=p(r);we.apply(n,arguments)}if(this instanceof t){var o=Q(e.prototype),n=e.apply(o,n||arguments);return jt(n)?n:o
}return e.apply(u,n||arguments)}var e=n[0],r=n[2],u=n[4];return Be(t,n),t}function J(n,t,e,r,u){if(e){var o=e(n);if(typeof o!="undefined")return o}if(!jt(n))return n;var i=ve.call(n);if(!K[i])return n;var f=$e[i];switch(i){case $:case F:return new f(+n);case W:case P:return new f(n);case z:return o=f(n.source,C.exec(n)),o.lastIndex=n.lastIndex,o}if(i=We(n),t){var c=!r;r||(r=a()),u||(u=a());for(var s=r.length;s--;)if(r[s]==n)return u[s];o=i?f(n.length):{}}else o=i?p(n):ht({},n);return i&&(_e.call(n,"index")&&(o.index=n.index),_e.call(n,"input")&&(o.input=n.input)),t?(r.push(n),u.push(o),(i?Rt:yt)(n,function(n,i){o[i]=J(n,t,e,r,u)
;(function(){function n(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++e<r;)if(n[e]===t)return e;return-1}function t(t,e){var r=typeof e;if(t=t.h,"boolean"==r||null==e)return t[e]?0:-1;"number"!=r&&"string"!=r&&(r="object");var u="number"==r?e:m+e;return t=(t=t[r])&&t[u],"object"==r?t&&-1<n(t,e)?0:-1:t?0:-1}function e(n){var t=this.h,e=typeof n;if("boolean"==e||null==n)t[n]=true;else{"number"!=e&&"string"!=e&&(e="object");var r="number"==e?n:m+n,t=t[e]||(t[e]={});"object"==e?(t[r]||(t[r]=[])).push(n):t[r]=true
}}function r(n){return n.charCodeAt(0)}function u(n,t){for(var e=n.i,r=t.i,u=-1,o=e.length;++u<o;){var i=e[u],a=r[u];if(i!==a){if(i>a||typeof i=="undefined")return 1;if(i<a||typeof a=="undefined")return-1}}return n.j-t.j}function o(n){var t=-1,r=n.length,u=n[0],o=n[r/2|0],i=n[r-1];if(u&&typeof u=="object"&&o&&typeof o=="object"&&i&&typeof i=="object")return false;for(u=f(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=f(),o.g=n,o.h=u,o.push=e;++t<r;)o.push(n[t]);return o}function i(n){return"\\"+U[n]
}function a(){return v.pop()||[]}function f(){return g.pop()||{g:null,h:null,i:null,"false":false,j:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,k:null}}function l(n){n.length=0,v.length<d&&v.push(n)}function c(n){var t=n.h;t&&c(t),n.g=n.h=n.i=n.object=n.number=n.string=n.k=null,g.length<d&&g.push(n)}function p(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=Array(0>e?0:e);++r<e;)u[r]=n[t+r];return u}function s(e){function v(n,t,e){if(!n||!V[typeof n])return n;
t=t&&typeof e=="undefined"?t:X(t,e,3);for(var r in n)if(false===t(n[r],r,n))break;return n}function g(n){var t=[];if(!n||!V[typeof n]||!V[typeof n])return t;for(var e in n)_e.call(n,e)&&t.push(e);return t}function d(n){return n&&typeof n=="object"&&!We(n)&&_e.call(n,"__wrapped__")?n:new U(n)}function U(n,t){this.__chain__=!!t,this.__wrapped__=n}function H(n){function t(){if(r){var n=p(r);we.apply(n,arguments)}if(this instanceof t){var o=Q(e.prototype),n=e.apply(o,n||arguments);return jt(n)?n:o}return e.apply(u,n||arguments)
}var e=n[0],r=n[2],u=n[4];return Be(t,n),t}function J(n,t,e,r,u){if(e){var o=e(n);if(typeof o!="undefined")return o}if(!jt(n))return n;var i=he.call(n);if(!K[i])return n;var f=$e[i];switch(i){case $:case F:return new f(+n);case W:case P:return new f(n);case z:return o=f(n.source,C.exec(n)),o.lastIndex=n.lastIndex,o}if(i=We(n),t){var c=!r;r||(r=a()),u||(u=a());for(var s=r.length;s--;)if(r[s]==n)return u[s];o=i?f(n.length):{}}else o=i?p(n):vt({},n);return i&&(_e.call(n,"index")&&(o.index=n.index),_e.call(n,"input")&&(o.input=n.input)),t?(r.push(n),u.push(o),(i?Rt:yt)(n,function(n,i){o[i]=J(n,t,e,r,u)
}),c&&(l(r),l(u)),o):o}function Q(n){return jt(n)?Oe(n):{}}function X(n,t,e){if(typeof n!="function")return Gt;if(typeof t=="undefined"||!("prototype"in n))return n;var r=n.__bindData__;if(typeof r=="undefined"&&(Fe.funcNames&&(r=!n.name),r=r||!Fe.funcDecomp,!r)){var u=be.call(n);Fe.funcNames||(r=!O.test(u)),r||(r=R.test(u),Be(n,r))}if(false===r||true!==r&&1&r[1])return n;switch(e){case 1:return function(e){return n.call(t,e)};case 2:return function(e,r){return n.call(t,e,r)};case 3:return function(e,r,u){return n.call(t,e,r,u)
};case 4:return function(e,r,u,o){return n.call(t,e,r,u,o)}}return Vt(n,t)}function Z(n){function t(){var n=f?i:this;if(u){var h=p(u);we.apply(h,arguments)}return(o||c)&&(h||(h=p(arguments)),o&&we.apply(h,o),c&&h.length<a)?(r|=16,Z([e,s?r:-4&r,h,null,i,a])):(h||(h=arguments),l&&(e=n[v]),this instanceof t?(n=Q(e.prototype),h=e.apply(n,h),jt(h)?h:n):e.apply(n,h))}var e=n[0],r=n[1],u=n[2],o=n[3],i=n[4],a=n[5],f=1&r,l=2&r,c=4&r,s=8&r,v=e;return Be(t,n),t}function nt(e,r){var u=-1,i=lt(),a=e?e.length:0,f=a>=b&&i===n,l=[];
if(f){var p=o(r);p?(i=t,r=p):f=false}for(;++u<a;)p=e[u],0>i(r,p)&&l.push(p);return f&&c(r),l}function tt(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,o=[];++r<u;){var i=n[r];if(i&&typeof i=="object"&&typeof i.length=="number"&&(We(i)||vt(i))){t||(i=tt(i,t,e));var a=-1,f=i.length,l=o.length;for(o.length+=f;++a<f;)o[l++]=i[a]}else e||o.push(i)}return o}function et(n,t,e,r,u,o){if(e){var i=e(n,t);if(typeof i!="undefined")return!!i}if(n===t)return 0!==n||1/n==1/t;if(n===n&&!(n&&V[typeof n]||t&&V[typeof t]))return false;
if(null==n||null==t)return n===t;var f=ve.call(n),c=ve.call(t);if(f==A&&(f=q),c==A&&(c=q),f!=c)return false;switch(f){case $:case F:return+n==+t;case W:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case z:case P:return n==ie(t)}if(c=f==D,!c){var p=_e.call(n,"__wrapped__"),s=_e.call(t,"__wrapped__");if(p||s)return et(p?n.__wrapped__:n,s?t.__wrapped__:t,e,r,u,o);if(f!=q)return false;if(f=n.constructor,p=t.constructor,f!=p&&!(wt(f)&&f instanceof f&&wt(p)&&p instanceof p)&&"constructor"in n&&"constructor"in t)return false
}for(f=!u,u||(u=a()),o||(o=a()),p=u.length;p--;)if(u[p]==n)return o[p]==t;var v=0,i=true;if(u.push(n),o.push(t),c){if(p=n.length,v=t.length,(i=v==p)||r)for(;v--;)if(c=p,s=t[v],r)for(;c--&&!(i=et(n[c],s,e,r,u,o)););else if(!(i=et(n[v],s,e,r,u,o)))break}else h(t,function(t,a,f){return _e.call(f,a)?(v++,i=_e.call(n,a)&&et(n[a],t,e,r,u,o)):void 0}),i&&!r&&h(n,function(n,t,e){return _e.call(e,t)?i=-1<--v:void 0});return u.pop(),o.pop(),f&&(l(u),l(o)),i}function rt(n,t,e,r,u){(We(t)?Rt:yt)(t,function(t,o){var i,a,f=t,l=n[o];
if(t&&((a=We(t))||Me(t))){for(f=r.length;f--;)if(i=r[f]==t){l=u[f];break}if(!i){var c;e&&(f=e(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?We(l)?l:[]:Me(l)?l:{}),r.push(t),u.push(l),c||rt(l,t,e,r,u)}}else e&&(f=e(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);n[o]=l})}function ut(n,t){return n+me(De()*(t-n+1))}function ot(e,r,u){var i=-1,f=lt(),p=e?e.length:0,s=[],v=!r&&p>=b&&f===n,h=u||v?a():s;for(v&&(h=o(h),f=t);++i<p;){var g=e[i],y=u?u(g,i,e):g;(r?!i||h[h.length-1]!==y:0>f(h,y))&&((u||v)&&h.push(y),s.push(g))
}return v?(l(h.k),c(h)):u&&l(h),s}function it(n){return function(t,e,r){var u={};e=d.createCallback(e,r,3),r=-1;var o=t?t.length:0;if(typeof o=="number")for(;++r<o;){var i=t[r];n(u,i,e(i,r,t),t)}else yt(t,function(t,r,o){n(u,t,e(t,r,o),o)});return u}}function at(n,t,e,r,u,o){var i=1&t,a=4&t,f=16&t,l=32&t;if(!(2&t||wt(n)))throw new ae;f&&!e.length&&(t&=-17,f=e=false),l&&!r.length&&(t&=-33,l=r=false);var c=n&&n.__bindData__;return c&&true!==c?(c=p(c),c[2]&&(c[2]=p(c[2])),c[3]&&(c[3]=p(c[3])),!i||1&c[1]||(c[4]=u),!i&&1&c[1]&&(t|=8),!a||4&c[1]||(c[5]=o),f&&we.apply(c[2]||(c[2]=[]),e),l&&xe.apply(c[3]||(c[3]=[]),r),c[1]|=t,at.apply(null,c)):(1==t||17===t?H:Z)([n,t,e,r,u,o])
}function ft(n){return ze[n]}function lt(){var t=(t=d.indexOf)===qt?n:t;return t}function ct(n){return typeof n=="function"&&he.test(be.call(n))}function pt(n){var t,e;return n&&ve.call(n)==q&&(t=n.constructor,!wt(t)||t instanceof t)?(h(n,function(n,t){e=t}),typeof e=="undefined"||_e.call(n,e)):false}function st(n){return Pe[n]}function vt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ve.call(n)==A||false}function ht(n,t,e){var r=arguments,u=0,o=typeof e=="number"?2:r.length;if(3<o&&"function"==typeof r[o-2])var i=X(r[--o-1],r[o--],2);
};case 4:return function(e,r,u,o){return n.call(t,e,r,u,o)}}return Vt(n,t)}function Z(n){function t(){var n=f?i:this;if(u){var v=p(u);we.apply(v,arguments)}return(o||c)&&(v||(v=p(arguments)),o&&we.apply(v,o),c&&v.length<a)?(r|=16,Z([e,s?r:-4&r,v,null,i,a])):(v||(v=arguments),l&&(e=n[h]),this instanceof t?(n=Q(e.prototype),v=e.apply(n,v),jt(v)?v:n):e.apply(n,v))}var e=n[0],r=n[1],u=n[2],o=n[3],i=n[4],a=n[5],f=1&r,l=2&r,c=4&r,s=8&r,h=e;return Be(t,n),t}function nt(e,r){var u=-1,i=lt(),a=e?e.length:0,f=a>=b&&i===n,l=[];
if(f){var p=o(r);p?(i=t,r=p):f=false}for(;++u<a;)p=e[u],0>i(r,p)&&l.push(p);return f&&c(r),l}function tt(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,o=[];++r<u;){var i=n[r];if(i&&typeof i=="object"&&typeof i.length=="number"&&(We(i)||ht(i))){t||(i=tt(i,t,e));var a=-1,f=i.length,l=o.length;for(o.length+=f;++a<f;)o[l++]=i[a]}else e||o.push(i)}return o}function et(n,t,e,r,u,o){if(e){var i=e(n,t);if(typeof i!="undefined")return!!i}if(n===t)return 0!==n||1/n==1/t;if(n===n&&!(n&&V[typeof n]||t&&V[typeof t]))return false;
if(null==n||null==t)return n===t;var f=he.call(n),c=he.call(t);if(f==A&&(f=q),c==A&&(c=q),f!=c)return false;switch(f){case $:case F:return+n==+t;case W:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case z:case P:return n==ie(t)}if(c=f==D,!c){var p=_e.call(n,"__wrapped__"),s=_e.call(t,"__wrapped__");if(p||s)return et(p?n.__wrapped__:n,s?t.__wrapped__:t,e,r,u,o);if(f!=q)return false;if(f=n.constructor,p=t.constructor,f!=p&&!(wt(f)&&f instanceof f&&wt(p)&&p instanceof p)&&"constructor"in n&&"constructor"in t)return false
}for(f=!u,u||(u=a()),o||(o=a()),p=u.length;p--;)if(u[p]==n)return o[p]==t;var h=0,i=true;if(u.push(n),o.push(t),c){if(p=n.length,h=t.length,(i=h==p)||r)for(;h--;)if(c=p,s=t[h],r)for(;c--&&!(i=et(n[c],s,e,r,u,o)););else if(!(i=et(n[h],s,e,r,u,o)))break}else v(t,function(t,a,f){return _e.call(f,a)?(h++,i=_e.call(n,a)&&et(n[a],t,e,r,u,o)):void 0}),i&&!r&&v(n,function(n,t,e){return _e.call(e,t)?i=-1<--h:void 0});return u.pop(),o.pop(),f&&(l(u),l(o)),i}function rt(n,t,e,r,u){(We(t)?Rt:yt)(t,function(t,o){var i,a,f=t,l=n[o];
if(t&&((a=We(t))||Me(t))){for(f=r.length;f--;)if(i=r[f]==t){l=u[f];break}if(!i){var c;e&&(f=e(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?We(l)?l:[]:Me(l)?l:{}),r.push(t),u.push(l),c||rt(l,t,e,r,u)}}else e&&(f=e(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);n[o]=l})}function ut(n,t){return n+me(De()*(t-n+1))}function ot(e,r,u){var i=-1,f=lt(),p=e?e.length:0,s=[],h=!r&&p>=b&&f===n,v=u||h?a():s;for(h&&(v=o(v),f=t);++i<p;){var g=e[i],y=u?u(g,i,e):g;(r?!i||v[v.length-1]!==y:0>f(v,y))&&((u||h)&&v.push(y),s.push(g))
}return h?(l(v.g),c(v)):u&&l(v),s}function it(n){return function(t,e,r){var u={};e=d.createCallback(e,r,3),r=-1;var o=t?t.length:0;if(typeof o=="number")for(;++r<o;){var i=t[r];n(u,i,e(i,r,t),t)}else yt(t,function(t,r,o){n(u,t,e(t,r,o),o)});return u}}function at(n,t,e,r,u,o){var i=1&t,a=4&t,f=16&t,l=32&t;if(!(2&t||wt(n)))throw new ae;f&&!e.length&&(t&=-17,f=e=false),l&&!r.length&&(t&=-33,l=r=false);var c=n&&n.__bindData__;return c&&true!==c?(c=p(c),c[2]&&(c[2]=p(c[2])),c[3]&&(c[3]=p(c[3])),!i||1&c[1]||(c[4]=u),!i&&1&c[1]&&(t|=8),!a||4&c[1]||(c[5]=o),f&&we.apply(c[2]||(c[2]=[]),e),l&&xe.apply(c[3]||(c[3]=[]),r),c[1]|=t,at.apply(null,c)):(1==t||17===t?H:Z)([n,t,e,r,u,o])
}function ft(n){return ze[n]}function lt(){var t=(t=d.indexOf)===qt?n:t;return t}function ct(n){return typeof n=="function"&&ve.test(be.call(n))}function pt(n){var t,e;return n&&he.call(n)==q&&(t=n.constructor,!wt(t)||t instanceof t)?(v(n,function(n,t){e=t}),typeof e=="undefined"||_e.call(n,e)):false}function st(n){return Pe[n]}function ht(n){return n&&typeof n=="object"&&typeof n.length=="number"&&he.call(n)==A||false}function vt(n,t,e){var r=arguments,u=0,o=typeof e=="number"?2:r.length;if(3<o&&"function"==typeof r[o-2])var i=X(r[--o-1],r[o--],2);
else 2<o&&"function"==typeof r[o-1]&&(i=r[--o]);for(;++u<o;)if(t=r[u],jt(t))for(var a=-1,f=qe(t),l=f.length;++a<l;){var c=f[a];n[c]=i?i(n[c],t[c]):t[c]}return n}function gt(n,t,e){for(var r=arguments,u=0,o=typeof e=="number"?2:r.length;++u<o;)if(t=r[u],jt(t))for(var i=-1,a=qe(t),f=a.length;++i<f;){var l=a[i];"undefined"==typeof n[l]&&(n[l]=t[l])}return n}function yt(n,t,e){var r=-1,u=qe(n),o=u.length;for(t=t&&typeof e=="undefined"?t:X(t,e,3);++r<o&&(e=u[r],false!==t(n[e],e,n)););return n}function mt(n,t,e){var r=qe(n),u=r.length;
for(t=X(t,e,3);u--&&(e=r[u],false!==t(n[e],e,n)););return n}function bt(n){var t=[];return h(n,function(n,e){wt(n)&&t.push(e)}),t.sort()}function dt(n,t){for(var e=-1,r=qe(n),u=r.length,o={};++e<u;){var i=r[e],a=n[i];t&&_e.call(o,a)?("string"==typeof o[a]&&(o[a]=[o[a]]),o[a].push(i)):o[a]=i}return o}function _t(n){return n&&typeof n=="object"&&1===n.nodeType&&-1<ve.call(n).indexOf("Element")||false}function wt(n){return typeof n=="function"}function jt(n){return!(!n||!V[typeof n])}function kt(n){return typeof n=="number"||n&&typeof n=="object"&&ve.call(n)==W||false
}function xt(n){return typeof n=="string"||n&&typeof n=="object"&&ve.call(n)==P||false}function Ct(n){for(var t=-1,e=qe(n),r=e.length,u=Yt(r);++t<r;)u[t]=n[e[t]];return u}function Ot(n,t,e){var r=-1,u=lt(),o=n?n.length:0,i=false;return e=(0>e?Se(0,o+e):e)||0,We(n)?i=-1<u(n,t,e):typeof o=="number"?i=-1<(xt(n)?n.indexOf(t,e):u(n,t,e)):yt(n,function(n){return++r<e?void 0:!(i=n===t)}),i}function Et(n,t,e){var r=true;t=d.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&(r=!!t(n[e],e,n)););else yt(n,function(n,e,u){return r=!!t(n,e,u)
for(t=X(t,e,3);u--&&(e=r[u],false!==t(n[e],e,n)););return n}function bt(n){var t=[];return v(n,function(n,e){wt(n)&&t.push(e)}),t.sort()}function dt(n,t){for(var e=-1,r=qe(n),u=r.length,o={};++e<u;){var i=r[e],a=n[i];t&&_e.call(o,a)?("string"==typeof o[a]&&(o[a]=[o[a]]),o[a].push(i)):o[a]=i}return o}function _t(n){return n&&typeof n=="object"&&1===n.nodeType&&-1<he.call(n).indexOf("Element")||false}function wt(n){return typeof n=="function"}function jt(n){return!(!n||!V[typeof n])}function kt(n){return typeof n=="number"||n&&typeof n=="object"&&he.call(n)==W||false
}function xt(n){return typeof n=="string"||n&&typeof n=="object"&&he.call(n)==P||false}function Ct(n){for(var t=-1,e=qe(n),r=e.length,u=Yt(r);++t<r;)u[t]=n[e[t]];return u}function Ot(n,t,e){var r=-1,u=lt(),o=n?n.length:0,i=false;return e=(0>e?Se(0,o+e):e)||0,We(n)?i=-1<u(n,t,e):typeof o=="number"?i=-1<(xt(n)?n.indexOf(t,e):u(n,t,e)):yt(n,function(n){return++r<e?void 0:!(i=n===t)}),i}function Et(n,t,e){var r=true;t=d.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&(r=!!t(n[e],e,n)););else yt(n,function(n,e,u){return r=!!t(n,e,u)
});return r}function Nt(n,t,e){var r=[];t=d.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u;){var o=n[e];t(o,e,n)&&r.push(o)}else yt(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function It(n,t,e){t=d.createCallback(t,e,3),e=-1;var r=n?n.length:0;if(typeof r!="number"){var u;return yt(n,function(n,e,r){return t(n,e,r)?(u=n,false):void 0}),u}for(;++e<r;){var o=n[e];if(t(o,e,n))return o}}function Rt(n,t,e){var r=-1,u=n?n.length:0;if(t=t&&typeof e=="undefined"?t:X(t,e,3),typeof u=="number")for(;++r<u&&false!==t(n[r],r,n););else yt(n,t);
return n}function St(n,t,e){var r=n?n.length:0;if(t=t&&typeof e=="undefined"?t:X(t,e,3),typeof r=="number")for(;r--&&false!==t(n[r],r,n););else{var u=qe(n),r=u.length;yt(n,function(n,e,o){return e=u?u[--r]:--r,t(o[e],e,o)})}return n}function Tt(n,t,e){var r=-1,u=n?n.length:0;if(t=d.createCallback(t,e,3),typeof u=="number")for(var o=Yt(u);++r<u;)o[r]=t(n[r],r,n);else o=[],yt(n,function(n,e,u){o[++r]=t(n,e,u)});return o}function At(n,t,e){var u=-1/0,o=u;if(typeof t!="function"&&e&&e[t]===n&&(t=null),null==t&&We(n)){e=-1;
for(var i=n.length;++e<i;){var a=n[e];a>o&&(o=a)}}else t=null==t&&xt(n)?r:d.createCallback(t,e,3),Rt(n,function(n,e,r){e=t(n,e,r),e>u&&(u=e,o=n)});return o}function Dt(n,t,e,r){if(!n)return e;var u=3>arguments.length;t=d.createCallback(t,r,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(e=n[++o]);++o<i;)e=t(e,n[o],o,n);else yt(n,function(n,r,o){e=u?(u=false,n):t(e,n,r,o)});return e}function $t(n,t,e,r){var u=3>arguments.length;return t=d.createCallback(t,r,4),St(n,function(n,r,o){e=u?(u=false,n):t(e,n,r,o)
}),e}function Ft(n){var t=-1,e=n?n.length:0,r=Yt(typeof e=="number"?e:0);return Rt(n,function(n){var e=ut(0,++t);r[t]=r[e],r[e]=n}),r}function Bt(n,t,e){var r;t=d.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&!(r=t(n[e],e,n)););else yt(n,function(n,e,u){return!(r=t(n,e,u))});return!!r}function Wt(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=d.createCallback(t,e,3);++o<u&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[0]:v;return p(n,0,Te(Se(0,r),u))
}),e}function Ft(n){var t=-1,e=n?n.length:0,r=Yt(typeof e=="number"?e:0);return Rt(n,function(n){var e=ut(0,++t);r[t]=r[e],r[e]=n}),r}function Bt(n,t,e){var r;t=d.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&!(r=t(n[e],e,n)););else yt(n,function(n,e,u){return!(r=t(n,e,u))});return!!r}function Wt(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=d.createCallback(t,e,3);++o<u&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[0]:h;return p(n,0,Te(Se(0,r),u))
}function qt(t,e,r){if(typeof r=="number"){var u=t?t.length:0;r=0>r?Se(0,u+r):r||0}else if(r)return r=Pt(t,e),t[r]===e?r:-1;return n(t,e,r)}function zt(n,t,e){if(typeof t!="number"&&null!=t){var r=0,u=-1,o=n?n.length:0;for(t=d.createCallback(t,e,3);++u<o&&t(n[u],u,n);)r++}else r=null==t||e?1:Se(0,t);return p(n,r)}function Pt(n,t,e,r){var u=0,o=n?n.length:u;for(e=e?d.createCallback(e,r,1):Gt,t=e(t);u<o;)r=u+o>>>1,e(n[r])<t?u=r+1:o=r;return u}function Kt(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=typeof t!="function"&&r&&r[t]===n?null:t,t=false),null!=e&&(e=d.createCallback(e,r,3)),ot(n,t,e)
}function Lt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,e=n?At(He(n,"length")):0,r=Yt(0>e?0:e);++t<e;)r[t]=He(n,t);return r}function Mt(n,t){var e=-1,r=n?n.length:0,u={};for(t||!r||We(n[0])||(t=[]);++e<r;){var o=n[e];t?u[o]=t[e]:o&&(u[o[0]]=o[1])}return u}function Vt(n,t){return 2<arguments.length?at(n,17,p(arguments,2),null,t):at(n,1,null,null,t)}function Ut(n,t,e){function r(){c&&ye(c),i=c=p=v,(g||h!==t)&&(s=Je(),a=n.apply(l,o),c||i||(o=l=null))}function u(){var e=t-(Je()-f);0<e?c=je(u,e):(i&&ye(i),e=p,i=c=p=v,e&&(s=Je(),a=n.apply(l,o),c||i||(o=l=null)))
}var o,i,a,f,l,c,p,s=0,h=false,g=true;if(!wt(n))throw new ae;if(t=Se(0,t)||0,true===e)var y=true,g=false;else jt(e)&&(y=e.leading,h="maxWait"in e&&(Se(t,e.maxWait)||0),g="trailing"in e?e.trailing:g);return function(){if(o=arguments,f=Je(),l=this,p=g&&(c||!y),false===h)var e=y&&!c;else{i||y||(s=f);var v=h-(f-s),m=0>=v;m?(i&&(i=ye(i)),s=f,a=n.apply(l,o)):i||(i=je(r,v))}return m&&c?c=ye(c):c||t===h||(c=je(u,t)),e&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function Gt(n){return n}function Ht(n,t,e){var r=true,u=t&&bt(t);
t&&(e||u.length)||(null==e&&(e=t),o=U,t=n,n=d,u=bt(t)),false===e?r=false:jt(e)&&"chain"in e&&(r=e.chain);var o=n,i=wt(o);Rt(u,function(e){var u=n[e]=t[e];i&&(o.prototype[e]=function(){var t=this.__chain__,e=this.__wrapped__,i=[e];if(we.apply(i,arguments),i=u.apply(n,i),r||t){if(e===i&&jt(i))return this;i=new o(i),i.__chain__=t}return i})})}function Jt(){}function Qt(n){return function(t){return t[n]}}function Xt(){return this.__wrapped__}e=e?Y.defaults(G.Object(),e,Y.pick(G,T)):G;var Yt=e.Array,Zt=e.Boolean,ne=e.Date,te=e.Function,ee=e.Math,re=e.Number,ue=e.Object,oe=e.RegExp,ie=e.String,ae=e.TypeError,fe=[],le=ue.prototype,ce=e.window,pe=ce&&ce.document,se=e._,ve=le.toString,he=oe("^"+ie(ve).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),ge=ee.ceil,ye=e.clearTimeout,me=ee.floor,be=te.prototype.toString,de=ct(de=ue.getPrototypeOf)&&de,_e=le.hasOwnProperty,we=fe.push,je=e.setTimeout,ke=fe.splice,xe=fe.unshift,Ce=function(){try{var n={},t=ct(t=ue.defineProperty)&&t,e=t(n,n,n)&&t
}catch(r){}return e}(),Oe=ct(Oe=ue.create)&&Oe,Ee=ct(Ee=Yt.isArray)&&Ee,Ne=e.isFinite,Ie=e.isNaN,Re=ct(Re=ue.keys)&&Re,Se=ee.max,Te=ee.min,Ae=e.parseInt,De=ee.random,$e={};$e[D]=Yt,$e[$]=Zt,$e[F]=ne,$e[B]=te,$e[q]=ue,$e[W]=re,$e[z]=oe,$e[P]=ie,U.prototype=d.prototype;var Fe=d.support={};Fe.dom=!!pe&&typeof pe=="object"&&he.test(ye)&&he.test(je),Fe.funcDecomp=!ct(e.WinRTError)&&R.test(s),Fe.funcNames=typeof te.name=="string",d.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:E,variable:"",imports:{_:d}},Oe||(Q=function(){function n(){}return function(t){if(jt(t)){n.prototype=t;
var r=new n;n.prototype=null}return r||e.Object()}}());var Be=Ce?function(n,t){M.value=t,Ce(n,"__bindData__",M)}:Jt,We=Ee||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ve.call(n)==D||false},qe=Re?function(n){return jt(n)?Re(n):[]}:g,ze={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Pe=dt(ze),Ke=oe("("+qe(Pe).join("|")+")","g"),Le=oe("["+qe(ze).join("")+"]","g");Fe.dom||(_t=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!Me(n)||false});var Me=de?function(n){if(!n||ve.call(n)!=q)return false;
var t=n.valueOf,e=ct(t)&&(e=de(t))&&de(e);return e?n==e||de(n)==e:pt(n)}:pt,Ve=it(function(n,t,e){_e.call(n,e)?n[e]++:n[e]=1}),Ue=it(function(n,t,e){(_e.call(n,e)?n[e]:n[e]=[]).push(t)}),Ge=it(function(n,t,e){n[e]=t}),He=Tt,Je=ct(Je=ne.now)&&Je||function(){return(new ne).getTime()},Qe=8==Ae(_+"08")?Ae:function(n,t){return Ae(xt(n)?n.replace(N,""):n,t||0)};return d.after=function(n,t){if(!wt(t))throw new ae;return function(){return 1>--n?t.apply(this,arguments):void 0}},d.assign=ht,d.at=function(n){for(var t=arguments,e=-1,r=tt(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:r.length,u=Yt(t);++e<t;)u[e]=n[r[e]];
}function Lt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,e=n?At(He(n,"length")):0,r=Yt(0>e?0:e);++t<e;)r[t]=He(n,t);return r}function Mt(n,t){var e=-1,r=n?n.length:0,u={};for(t||!r||We(n[0])||(t=[]);++e<r;){var o=n[e];t?u[o]=t[e]:o&&(u[o[0]]=o[1])}return u}function Vt(n,t){return 2<arguments.length?at(n,17,p(arguments,2),null,t):at(n,1,null,null,t)}function Ut(n,t,e){function r(){c&&ye(c),i=c=p=h,(g||v!==t)&&(s=Je(),a=n.apply(l,o),c||i||(o=l=null))}function u(){var e=t-(Je()-f);0<e?c=je(u,e):(i&&ye(i),e=p,i=c=p=h,e&&(s=Je(),a=n.apply(l,o),c||i||(o=l=null)))
}var o,i,a,f,l,c,p,s=0,v=false,g=true;if(!wt(n))throw new ae;if(t=Se(0,t)||0,true===e)var y=true,g=false;else jt(e)&&(y=e.leading,v="maxWait"in e&&(Se(t,e.maxWait)||0),g="trailing"in e?e.trailing:g);return function(){if(o=arguments,f=Je(),l=this,p=g&&(c||!y),false===v)var e=y&&!c;else{i||y||(s=f);var h=v-(f-s),m=0>=h;m?(i&&(i=ye(i)),s=f,a=n.apply(l,o)):i||(i=je(r,h))}return m&&c?c=ye(c):c||t===v||(c=je(u,t)),e&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function Gt(n){return n}function Ht(n,t,e){var r=true,u=t&&bt(t);
t&&(e||u.length)||(null==e&&(e=t),o=U,t=n,n=d,u=bt(t)),false===e?r=false:jt(e)&&"chain"in e&&(r=e.chain);var o=n,i=wt(o);Rt(u,function(e){var u=n[e]=t[e];i&&(o.prototype[e]=function(){var t=this.__chain__,e=this.__wrapped__,i=[e];if(we.apply(i,arguments),i=u.apply(n,i),r||t){if(e===i&&jt(i))return this;i=new o(i),i.__chain__=t}return i})})}function Jt(){}function Qt(n){return function(t){return t[n]}}function Xt(){return this.__wrapped__}e=e?Y.defaults(G.Object(),e,Y.pick(G,T)):G;var Yt=e.Array,Zt=e.Boolean,ne=e.Date,te=e.Function,ee=e.Math,re=e.Number,ue=e.Object,oe=e.RegExp,ie=e.String,ae=e.TypeError,fe=[],le=ue.prototype,ce=e.window,pe=ce&&ce.document,se=e._,he=le.toString,ve=oe("^"+ie(he).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),ge=ee.ceil,ye=e.clearTimeout,me=ee.floor,be=te.prototype.toString,de=ct(de=ue.getPrototypeOf)&&de,_e=le.hasOwnProperty,we=fe.push,je=e.setTimeout,ke=fe.splice,xe=fe.unshift,Ce=function(){try{var n={},t=ct(t=ue.defineProperty)&&t,e=t(n,n,n)&&t
}catch(r){}return e}(),Oe=ct(Oe=ue.create)&&Oe,Ee=ct(Ee=Yt.isArray)&&Ee,Ne=e.isFinite,Ie=e.isNaN,Re=ct(Re=ue.keys)&&Re,Se=ee.max,Te=ee.min,Ae=e.parseInt,De=ee.random,$e={};$e[D]=Yt,$e[$]=Zt,$e[F]=ne,$e[B]=te,$e[q]=ue,$e[W]=re,$e[z]=oe,$e[P]=ie,U.prototype=d.prototype;var Fe=d.support={};Fe.dom=!!pe&&typeof pe=="object"&&ve.test(ye)&&ve.test(je),Fe.funcDecomp=!ct(e.WinRTError)&&R.test(s),Fe.funcNames=typeof te.name=="string",d.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:E,variable:"",imports:{_:d}},Oe||(Q=function(){function n(){}return function(t){if(jt(t)){n.prototype=t;
var r=new n;n.prototype=null}return r||e.Object()}}());var Be=Ce?function(n,t){M.value=t,Ce(n,"__bindData__",M)}:Jt,We=Ee||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&he.call(n)==D||false},qe=Re?function(n){return jt(n)?Re(n):[]}:g,ze={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Pe=dt(ze),Ke=oe("("+qe(Pe).join("|")+")","g"),Le=oe("["+qe(ze).join("")+"]","g");Fe.dom||(_t=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!Me(n)||false});var Me=de?function(n){if(!n||he.call(n)!=q)return false;
var t=n.valueOf,e=ct(t)&&(e=de(t))&&de(e);return e?n==e||de(n)==e:pt(n)}:pt,Ve=it(function(n,t,e){_e.call(n,e)?n[e]++:n[e]=1}),Ue=it(function(n,t,e){(_e.call(n,e)?n[e]:n[e]=[]).push(t)}),Ge=it(function(n,t,e){n[e]=t}),He=Tt,Je=ct(Je=ne.now)&&Je||function(){return(new ne).getTime()},Qe=8==Ae(_+"08")?Ae:function(n,t){return Ae(xt(n)?n.replace(N,""):n,t||0)};return d.after=function(n,t){if(!wt(t))throw new ae;return function(){return 1>--n?t.apply(this,arguments):void 0}},d.assign=vt,d.at=function(n){for(var t=arguments,e=-1,r=tt(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:r.length,u=Yt(t);++e<t;)u[e]=n[r[e]];
return u},d.bind=Vt,d.bindAll=function(n){for(var t=1<arguments.length?tt(arguments,true,false,1):bt(n),e=-1,r=t.length;++e<r;){var u=t[e];n[u]=at(n[u],1,null,null,n)}return n},d.bindKey=function(n,t){return 2<arguments.length?at(t,19,p(arguments,2),null,n):at(t,3,null,null,n)},d.chain=function(n){return n=new U(n),n.__chain__=true,n},d.compact=function(n){for(var t=-1,e=n?n.length:0,r=0,u=[];++t<e;){var o=n[t];o&&(u[r++]=o)}return u},d.compose=function(){for(var n=arguments,t=n.length;t--;)if(!wt(n[t]))throw new ae;
return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},d.constant=function(n){return function(){return n}},d.countBy=Ve,d.create=function(n,t){var e=Q(n);return t?ht(e,t):e},d.createCallback=function(n,t,e){var r=typeof n;if(null==n||"function"==r)return X(n,t,e);if("object"!=r)return Qt(n);var u=qe(n),o=u[0],i=n[o];return 1!=u.length||i!==i||jt(i)?function(t){for(var e=u.length,r=false;e--&&(r=et(t[u[e]],n[u[e]],null,true)););return r}:function(n){return n=n[o],i===n&&(0!==i||1/i==1/n)
}},d.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,at(n,4,null,null,null,t)},d.debounce=Ut,d.defaults=gt,d.defer=function(n){if(!wt(n))throw new ae;var t=p(arguments,1);return je(function(){n.apply(v,t)},1)},d.delay=function(n,t){if(!wt(n))throw new ae;var e=p(arguments,2);return je(function(){n.apply(v,e)},t)},d.difference=function(n){return nt(n,tt(arguments,true,true,1))},d.filter=Nt,d.flatten=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=typeof t!="function"&&r&&r[t]===n?null:t,t=false),null!=e&&(n=Tt(n,e,r)),tt(n,t)
},d.forEach=Rt,d.forEachRight=St,d.forIn=h,d.forInRight=function(n,t,e){var r=[];h(n,function(n,t){r.push(t,n)});var u=r.length;for(t=X(t,e,3);u--&&false!==t(r[u--],r[u],n););return n},d.forOwn=yt,d.forOwnRight=mt,d.functions=bt,d.groupBy=Ue,d.indexBy=Ge,d.initial=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=d.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else r=null==t||e?1:t||r;return p(n,0,Te(Se(0,u-r),u))},d.intersection=function(){for(var e=[],r=-1,u=arguments.length,i=a(),f=lt(),p=f===n,s=a();++r<u;){var v=arguments[r];
(We(v)||vt(v))&&(e.push(v),i.push(p&&v.length>=b&&o(r?e[r]:s)))}var p=e[0],h=-1,g=p?p.length:0,y=[];n:for(;++h<g;){var m=i[0],v=p[h];if(0>(m?t(m,v):f(s,v))){for(r=u,(m||s).push(v);--r;)if(m=i[r],0>(m?t(m,v):f(e[r],v)))continue n;y.push(v)}}for(;u--;)(m=i[u])&&c(m);return l(i),l(s),y},d.invert=dt,d.invoke=function(n,t){var e=p(arguments,2),r=-1,u=typeof t=="function",o=n?n.length:0,i=Yt(typeof o=="number"?o:0);return Rt(n,function(n){i[++r]=(u?t:n[t]).apply(n,e)}),i},d.keys=qe,d.map=Tt,d.mapValues=function(n,t,e){var r={};
return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},d.constant=function(n){return function(){return n}},d.countBy=Ve,d.create=function(n,t){var e=Q(n);return t?vt(e,t):e},d.createCallback=function(n,t,e){var r=typeof n;if(null==n||"function"==r)return X(n,t,e);if("object"!=r)return Qt(n);var u=qe(n),o=u[0],i=n[o];return 1!=u.length||i!==i||jt(i)?function(t){for(var e=u.length,r=false;e--&&(r=et(t[u[e]],n[u[e]],null,true)););return r}:function(n){return n=n[o],i===n&&(0!==i||1/i==1/n)
}},d.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,at(n,4,null,null,null,t)},d.debounce=Ut,d.defaults=gt,d.defer=function(n){if(!wt(n))throw new ae;var t=p(arguments,1);return je(function(){n.apply(h,t)},1)},d.delay=function(n,t){if(!wt(n))throw new ae;var e=p(arguments,2);return je(function(){n.apply(h,e)},t)},d.difference=function(n){return nt(n,tt(arguments,true,true,1))},d.filter=Nt,d.flatten=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=typeof t!="function"&&r&&r[t]===n?null:t,t=false),null!=e&&(n=Tt(n,e,r)),tt(n,t)
},d.forEach=Rt,d.forEachRight=St,d.forIn=v,d.forInRight=function(n,t,e){var r=[];v(n,function(n,t){r.push(t,n)});var u=r.length;for(t=X(t,e,3);u--&&false!==t(r[u--],r[u],n););return n},d.forOwn=yt,d.forOwnRight=mt,d.functions=bt,d.groupBy=Ue,d.indexBy=Ge,d.initial=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=d.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else r=null==t||e?1:t||r;return p(n,0,Te(Se(0,u-r),u))},d.intersection=function(){for(var e=[],r=-1,u=arguments.length,i=a(),f=lt(),p=f===n,s=a();++r<u;){var h=arguments[r];
(We(h)||ht(h))&&(e.push(h),i.push(p&&h.length>=b&&o(r?e[r]:s)))}var p=e[0],v=-1,g=p?p.length:0,y=[];n:for(;++v<g;){var m=i[0],h=p[v];if(0>(m?t(m,h):f(s,h))){for(r=u,(m||s).push(h);--r;)if(m=i[r],0>(m?t(m,h):f(e[r],h)))continue n;y.push(h)}}for(;u--;)(m=i[u])&&c(m);return l(i),l(s),y},d.invert=dt,d.invoke=function(n,t){var e=p(arguments,2),r=-1,u=typeof t=="function",o=n?n.length:0,i=Yt(typeof o=="number"?o:0);return Rt(n,function(n){i[++r]=(u?t:n[t]).apply(n,e)}),i},d.keys=qe,d.map=Tt,d.mapValues=function(n,t,e){var r={};
return t=d.createCallback(t,e,3),yt(n,function(n,e,u){r[e]=t(n,e,u)}),r},d.max=At,d.memoize=function(n,t){function e(){var r=e.cache,u=t?t.apply(this,arguments):m+arguments[0];return _e.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}if(!wt(n))throw new ae;return e.cache={},e},d.merge=function(n){var t=arguments,e=2;if(!jt(n))return n;if("number"!=typeof t[2]&&(e=t.length),3<e&&"function"==typeof t[e-2])var r=X(t[--e-1],t[e--],2);else 2<e&&"function"==typeof t[e-1]&&(r=t[--e]);for(var t=p(arguments,1,e),u=-1,o=a(),i=a();++u<e;)rt(n,t[u],r,o,i);
return l(o),l(i),n},d.min=function(n,t,e){var u=1/0,o=u;if(typeof t!="function"&&e&&e[t]===n&&(t=null),null==t&&We(n)){e=-1;for(var i=n.length;++e<i;){var a=n[e];a<o&&(o=a)}}else t=null==t&&xt(n)?r:d.createCallback(t,e,3),Rt(n,function(n,e,r){e=t(n,e,r),e<u&&(u=e,o=n)});return o},d.omit=function(n,t,e){var r={};if(typeof t!="function"){var u=[];h(n,function(n,t){u.push(t)});for(var u=nt(u,tt(arguments,true,false,1)),o=-1,i=u.length;++o<i;){var a=u[o];r[a]=n[a]}}else t=d.createCallback(t,e,3),h(n,function(n,e,u){t(n,e,u)||(r[e]=n)
return l(o),l(i),n},d.min=function(n,t,e){var u=1/0,o=u;if(typeof t!="function"&&e&&e[t]===n&&(t=null),null==t&&We(n)){e=-1;for(var i=n.length;++e<i;){var a=n[e];a<o&&(o=a)}}else t=null==t&&xt(n)?r:d.createCallback(t,e,3),Rt(n,function(n,e,r){e=t(n,e,r),e<u&&(u=e,o=n)});return o},d.omit=function(n,t,e){var r={};if(typeof t!="function"){var u=[];v(n,function(n,t){u.push(t)});for(var u=nt(u,tt(arguments,true,false,1)),o=-1,i=u.length;++o<i;){var a=u[o];r[a]=n[a]}}else t=d.createCallback(t,e,3),v(n,function(n,e,u){t(n,e,u)||(r[e]=n)
});return r},d.once=function(n){var t,e;if(!wt(n))throw new ae;return function(){return t?e:(t=true,e=n.apply(this,arguments),n=null,e)}},d.pairs=function(n){for(var t=-1,e=qe(n),r=e.length,u=Yt(r);++t<r;){var o=e[t];u[t]=[o,n[o]]}return u},d.partial=function(n){return at(n,16,p(arguments,1))},d.partialRight=function(n){return at(n,32,null,p(arguments,1))},d.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=-1,o=tt(arguments,true,false,1),i=jt(n)?o.length:0;++u<i;){var a=o[u];a in n&&(r[a]=n[a])
}else t=d.createCallback(t,e,3),h(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},d.pluck=He,d.property=Qt,d.pull=function(n){for(var t=arguments,e=0,r=t.length,u=n?n.length:0;++e<r;)for(var o=-1,i=t[e];++o<u;)n[o]===i&&(ke.call(n,o--,1),u--);return n},d.range=function(n,t,e){n=+n||0,e=typeof e=="number"?e:+e||1,null==t&&(t=n,n=0);var r=-1;t=Se(0,ge((t-n)/(e||1)));for(var u=Yt(t);++r<t;)u[r]=n,n+=e;return u},d.reject=function(n,t,e){return t=d.createCallback(t,e,3),Nt(n,function(n,e,r){return!t(n,e,r)
})},d.remove=function(n,t,e){var r=-1,u=n?n.length:0,o=[];for(t=d.createCallback(t,e,3);++r<u;)e=n[r],t(e,r,n)&&(o.push(e),ke.call(n,r--,1),u--);return o},d.rest=zt,d.shuffle=Ft,d.sortBy=function(n,t,e){var r=-1,o=We(t),i=n?n.length:0,p=Yt(typeof i=="number"?i:0);for(o||(t=d.createCallback(t,e,3)),Rt(n,function(n,e,u){var i=p[++r]=f();o?i.m=Tt(t,function(t){return n[t]}):(i.m=a())[0]=t(n,e,u),i.n=r,i.o=n}),i=p.length,p.sort(u);i--;)n=p[i],p[i]=n.o,o||l(n.m),c(n);return p},d.tap=function(n,t){return t(n),n
}else t=d.createCallback(t,e,3),v(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},d.pluck=He,d.property=Qt,d.pull=function(n){for(var t=arguments,e=0,r=t.length,u=n?n.length:0;++e<r;)for(var o=-1,i=t[e];++o<u;)n[o]===i&&(ke.call(n,o--,1),u--);return n},d.range=function(n,t,e){n=+n||0,e=typeof e=="number"?e:+e||1,null==t&&(t=n,n=0);var r=-1;t=Se(0,ge((t-n)/(e||1)));for(var u=Yt(t);++r<t;)u[r]=n,n+=e;return u},d.reject=function(n,t,e){return t=d.createCallback(t,e,3),Nt(n,function(n,e,r){return!t(n,e,r)
})},d.remove=function(n,t,e){var r=-1,u=n?n.length:0,o=[];for(t=d.createCallback(t,e,3);++r<u;)e=n[r],t(e,r,n)&&(o.push(e),ke.call(n,r--,1),u--);return o},d.rest=zt,d.shuffle=Ft,d.sortBy=function(n,t,e){var r=-1,o=We(t),i=n?n.length:0,p=Yt(typeof i=="number"?i:0);for(o||(t=d.createCallback(t,e,3)),Rt(n,function(n,e,u){var i=p[++r]=f();o?i.i=Tt(t,function(t){return n[t]}):(i.i=a())[0]=t(n,e,u),i.j=r,i.k=n}),i=p.length,p.sort(u);i--;)n=p[i],p[i]=n.k,o||l(n.i),c(n);return p},d.tap=function(n,t){return t(n),n
},d.throttle=function(n,t,e){var r=true,u=true;if(!wt(n))throw new ae;return false===e?r=false:jt(e)&&(r="leading"in e?e.leading:r,u="trailing"in e?e.trailing:u),L.leading=r,L.maxWait=t,L.trailing=u,Ut(n,t,L)},d.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=Yt(n);for(t=X(t,e,1);++r<n;)u[r]=t(r);return u},d.toArray=function(n){return n&&typeof n.length=="number"?p(n):Ct(n)},d.transform=function(n,t,e,r){var u=We(n);if(null==e)if(u)e=[];else{var o=n&&n.constructor;e=Q(o&&o.prototype)}return t&&(t=d.createCallback(t,r,4),(u?Rt:yt)(n,function(n,r,u){return t(e,n,r,u)
})),e},d.union=function(){return ot(tt(arguments,true,true))},d.uniq=Kt,d.values=Ct,d.where=Nt,d.without=function(n){return nt(n,p(arguments,1))},d.wrap=function(n,t){return at(t,16,[n])},d.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var e=arguments[n];if(We(e)||vt(e))var r=r?nt(r,e).concat(nt(e,r)):e}return r?ot(r):[]},d.zip=Lt,d.zipObject=Mt,d.collect=Tt,d.drop=zt,d.each=Rt,d.eachRight=St,d.extend=ht,d.methods=bt,d.object=Mt,d.select=Nt,d.tail=zt,d.unique=Kt,d.unzip=Lt,Ht(ht({},d)),d.clone=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=t,t=false),J(n,t,typeof e=="function"&&X(e,r,1))
})),e},d.union=function(){return ot(tt(arguments,true,true))},d.uniq=Kt,d.values=Ct,d.where=Nt,d.without=function(n){return nt(n,p(arguments,1))},d.wrap=function(n,t){return at(t,16,[n])},d.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var e=arguments[n];if(We(e)||ht(e))var r=r?nt(r,e).concat(nt(e,r)):e}return r?ot(r):[]},d.zip=Lt,d.zipObject=Mt,d.collect=Tt,d.drop=zt,d.each=Rt,d.eachRight=St,d.extend=vt,d.methods=bt,d.object=Mt,d.select=Nt,d.tail=zt,d.unique=Kt,d.unzip=Lt,Ht(vt({},d)),d.clone=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=t,t=false),J(n,t,typeof e=="function"&&X(e,r,1))
},d.cloneDeep=function(n,t,e){return J(n,true,typeof t=="function"&&X(t,e,1))},d.contains=Ot,d.escape=function(n){return null==n?"":ie(n).replace(Le,ft)},d.every=Et,d.find=It,d.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=d.createCallback(t,e,3);++r<u;)if(t(n[r],r,n))return r;return-1},d.findKey=function(n,t,e){var r;return t=d.createCallback(t,e,3),yt(n,function(n,e,u){return t(n,e,u)?(r=e,false):void 0}),r},d.findLast=function(n,t,e){var r;return t=d.createCallback(t,e,3),St(n,function(n,e,u){return t(n,e,u)?(r=n,false):void 0
}),r},d.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=d.createCallback(t,e,3);r--;)if(t(n[r],r,n))return r;return-1},d.findLastKey=function(n,t,e){var r;return t=d.createCallback(t,e,3),mt(n,function(n,e,u){return t(n,e,u)?(r=e,false):void 0}),r},d.has=function(n,t){return n?_e.call(n,t):false},d.identity=Gt,d.indexOf=qt,d.isArguments=vt,d.isArray=We,d.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&ve.call(n)==$||false},d.isDate=function(n){return n&&typeof n=="object"&&ve.call(n)==F||false
},d.isElement=_t,d.isEmpty=function(n){var t=true;if(!n)return t;var e=ve.call(n),r=n.length;return e==D||e==P||e==A||e==q&&typeof r=="number"&&wt(n.splice)?!r:(yt(n,function(){return t=false}),t)},d.isEqual=function(n,t,e,r){return et(n,t,typeof e=="function"&&X(e,r,2))},d.isFinite=function(n){return Ne(n)&&!Ie(parseFloat(n))},d.isFunction=wt,d.isNaN=function(n){return kt(n)&&n!=+n},d.isNull=function(n){return null===n},d.isNumber=kt,d.isObject=jt,d.isPlainObject=Me,d.isRegExp=function(n){return n&&typeof n=="object"&&ve.call(n)==z||false
}),r},d.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=d.createCallback(t,e,3);r--;)if(t(n[r],r,n))return r;return-1},d.findLastKey=function(n,t,e){var r;return t=d.createCallback(t,e,3),mt(n,function(n,e,u){return t(n,e,u)?(r=e,false):void 0}),r},d.has=function(n,t){return n?_e.call(n,t):false},d.identity=Gt,d.indexOf=qt,d.isArguments=ht,d.isArray=We,d.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&he.call(n)==$||false},d.isDate=function(n){return n&&typeof n=="object"&&he.call(n)==F||false
},d.isElement=_t,d.isEmpty=function(n){var t=true;if(!n)return t;var e=he.call(n),r=n.length;return e==D||e==P||e==A||e==q&&typeof r=="number"&&wt(n.splice)?!r:(yt(n,function(){return t=false}),t)},d.isEqual=function(n,t,e,r){return et(n,t,typeof e=="function"&&X(e,r,2))},d.isFinite=function(n){return Ne(n)&&!Ie(parseFloat(n))},d.isFunction=wt,d.isNaN=function(n){return kt(n)&&n!=+n},d.isNull=function(n){return null===n},d.isNumber=kt,d.isObject=jt,d.isPlainObject=Me,d.isRegExp=function(n){return n&&typeof n=="object"&&he.call(n)==z||false
},d.isString=xt,d.isUndefined=function(n){return typeof n=="undefined"},d.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?Se(0,r+e):Te(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},d.mixin=Ht,d.noConflict=function(){return e._=se,this},d.noop=Jt,d.now=Je,d.parseInt=Qe,d.random=function(n,t,e){var r=null==n,u=null==t;return null==e&&(typeof n=="boolean"&&u?(e=n,n=1):u||typeof t!="boolean"||(e=t,u=true)),r&&u&&(t=1),n=+n||0,u?(t=n,n=0):t=+t||0,e||n%1||t%1?(e=De(),Te(n+e*(t-n+parseFloat("1e-"+((e+"").length-1))),t)):ut(n,t)
},d.reduce=Dt,d.reduceRight=$t,d.result=function(n,t){if(n){var e=n[t];return wt(e)?n[t]():e}},d.runInContext=s,d.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:qe(n).length},d.some=Bt,d.sortedIndex=Pt,d.template=function(n,t,e){var r=d.templateSettings;n=ie(n||""),e=gt({},e,r);var u,o=gt({},e.imports,r.imports),r=qe(o),o=Ct(o),a=0,f=e.interpolate||I,l="__p+='",f=oe((e.escape||I).source+"|"+f.source+"|"+(f===E?x:I).source+"|"+(e.evaluate||I).source+"|$","g");n.replace(f,function(t,e,r,o,f,c){return r||(r=o),l+=n.slice(a,c).replace(S,i),e&&(l+="'+__e("+e+")+'"),f&&(u=true,l+="';"+f+";\n__p+='"),r&&(l+="'+((__t=("+r+"))==null?'':__t)+'"),a=c+t.length,t
}),l+="';",f=e=e.variable,f||(e="obj",l="with("+e+"){"+l+"}"),l=(u?l.replace(w,""):l).replace(j,"$1").replace(k,"$1;"),l="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=te(r,"return "+l).apply(v,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},d.unescape=function(n){return null==n?"":(n=ie(n),0>n.indexOf(";")?n:n.replace(Ke,st))},d.uniqueId=function(n){var t=++y;
return ie(null==n?"":n)+t},d.all=Et,d.any=Bt,d.detect=It,d.findWhere=It,d.foldl=Dt,d.foldr=$t,d.include=Ot,d.inject=Dt,Ht(function(){var n={};return yt(d,function(t,e){d.prototype[e]||(n[e]=t)}),n}(),false),d.first=Wt,d.last=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=d.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[u-1]:v;return p(n,Se(0,u-r))},d.sample=function(n,t,e){return n&&typeof n.length!="number"&&(n=Ct(n)),null==t||e?n?n[ut(0,n.length-1)]:v:(n=Ft(n),n.length=Te(Se(0,t),n.length),n)
}),l+="';",f=e=e.variable,f||(e="obj",l="with("+e+"){"+l+"}"),l=(u?l.replace(w,""):l).replace(j,"$1").replace(k,"$1;"),l="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=te(r,"return "+l).apply(h,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},d.unescape=function(n){return null==n?"":(n=ie(n),0>n.indexOf(";")?n:n.replace(Ke,st))},d.uniqueId=function(n){var t=++y;
return ie(null==n?"":n)+t},d.all=Et,d.any=Bt,d.detect=It,d.findWhere=It,d.foldl=Dt,d.foldr=$t,d.include=Ot,d.inject=Dt,Ht(function(){var n={};return yt(d,function(t,e){d.prototype[e]||(n[e]=t)}),n}(),false),d.first=Wt,d.last=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=d.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[u-1]:h;return p(n,Se(0,u-r))},d.sample=function(n,t,e){return n&&typeof n.length!="number"&&(n=Ct(n)),null==t||e?n?n[ut(0,n.length-1)]:h:(n=Ft(n),n.length=Te(Se(0,t),n.length),n)
},d.take=Wt,d.head=Wt,yt(d,function(n,t){var e="sample"!==t;d.prototype[t]||(d.prototype[t]=function(t,r){var u=this.__chain__,o=n(this.__wrapped__,t,r);return u||null!=t&&(!r||e&&typeof t=="function")?new U(o,u):o})}),d.VERSION="2.4.1",d.prototype.chain=function(){return this.__chain__=true,this},d.prototype.toString=function(){return ie(this.__wrapped__)},d.prototype.value=Xt,d.prototype.valueOf=Xt,Rt(["join","pop","shift"],function(n){var t=fe[n];d.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments);
return n?new U(e,n):e}}),Rt(["push","reverse","sort","unshift"],function(n){var t=fe[n];d.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Rt(["concat","slice","splice"],function(n){var t=fe[n];d.prototype[n]=function(){return new U(t.apply(this.__wrapped__,arguments),this.__chain__)}}),d}var v,h=[],g=[],y=0,m=+new Date+"",b=75,d=40,_=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",w=/\b__p\+='';/g,j=/\b(__p\+=)''\+/g,k=/(__e\(.*?\)|\b__t\))\+'';/g,x=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,C=/\w*$/,O=/^\s*function[ \n\r\t]+\w/,E=/<%=([\s\S]+?)%>/g,N=RegExp("^["+_+"]*0+(?=.$)"),I=/($^)/,R=/\bthis\b/,S=/['\n\r\t\u2028\u2029\\]/g,T="Array Boolean Date Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),A="[object Arguments]",D="[object Array]",$="[object Boolean]",F="[object Date]",B="[object Function]",W="[object Number]",q="[object Object]",z="[object RegExp]",P="[object String]",K={};
return n?new U(e,n):e}}),Rt(["push","reverse","sort","unshift"],function(n){var t=fe[n];d.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Rt(["concat","slice","splice"],function(n){var t=fe[n];d.prototype[n]=function(){return new U(t.apply(this.__wrapped__,arguments),this.__chain__)}}),d}var h,v=[],g=[],y=0,m=+new Date+"",b=75,d=40,_=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",w=/\b__p\+='';/g,j=/\b(__p\+=)''\+/g,k=/(__e\(.*?\)|\b__t\))\+'';/g,x=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,C=/\w*$/,O=/^\s*function[ \n\r\t]+\w/,E=/<%=([\s\S]+?)%>/g,N=RegExp("^["+_+"]*0+(?=.$)"),I=/($^)/,R=/\bthis\b/,S=/['\n\r\t\u2028\u2029\\]/g,T="Array Boolean Date Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),A="[object Arguments]",D="[object Array]",$="[object Boolean]",F="[object Date]",B="[object Function]",W="[object Number]",q="[object Object]",z="[object RegExp]",P="[object String]",K={};
K[B]=false,K[A]=K[D]=K[$]=K[F]=K[W]=K[q]=K[z]=K[P]=true;var L={leading:false,maxWait:0,trailing:false},M={configurable:false,enumerable:false,value:null,writable:false},V={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},U={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},G=V[typeof window]&&window||this,H=V[typeof exports]&&exports&&!exports.nodeType&&exports,J=V[typeof module]&&module&&!module.nodeType&&module,Q=J&&J.exports===H&&H,X=V[typeof global]&&global;!X||X.global!==X&&X.window!==X||(G=X);
var Y=s();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(G._=Y, define(function(){return Y})):H&&J?Q?(J.exports=Y)._=Y:H._=Y:G._=Y}).call(this);

View File

@@ -949,14 +949,14 @@
* @returns {Array} Returns an array of property names.
*/
var shimKeys = function(object) {
var index, iterable = object, result = [];
if (!iterable) return result;
var result = [];
if (!(object && objectTypes[typeof object])) return result;
if (!(objectTypes[typeof object])) return result;
for (index in iterable) {
if (hasOwnProperty.call(iterable, index)) {
result.push(index);
for (var key in object) {
if (hasOwnProperty.call(object, key)) {
result.push(key);
}
}
}
return result
};
@@ -1014,7 +1014,6 @@
*
* @static
* @memberOf _
* @type Function
* @alias extend
* @category Objects
* @param {Object} object The destination object.
@@ -1040,10 +1039,10 @@
return object;
}
for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {
var iterable = arguments[argsIndex];
if (iterable) {
for (var key in iterable) {
object[key] = iterable[key];
var source = arguments[argsIndex];
if (source) {
for (var key in source) {
object[key] = source[key];
}
}
}
@@ -1103,7 +1102,6 @@
*
* @static
* @memberOf _
* @type Function
* @category Objects
* @param {Object} object The destination object.
* @param {...Object} [source] The source objects.
@@ -1121,11 +1119,11 @@
return object;
}
for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {
var iterable = arguments[argsIndex];
if (iterable) {
for (var key in iterable) {
var source = arguments[argsIndex];
if (source) {
for (var key in source) {
if (typeof object[key] == 'undefined') {
object[key] = iterable[key];
object[key] = source[key];
}
}
}
@@ -1164,13 +1162,12 @@
* });
* // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
*/
var forIn = function(collection, callback) {
var index, iterable = collection, result = iterable;
if (!iterable) return result;
if (!objectTypes[typeof iterable]) return result;
for (index in iterable) {
if (callback(iterable[index], index, collection) === indicatorObject) return result;
}
var forIn = function(object, callback) {
var result = object;
if (!(object && objectTypes[typeof object])) return result;
for (var key in object) {
if (callback(object[key], key, object) === indicatorObject) return result;
}
return result
};
@@ -1182,7 +1179,6 @@
*
* @static
* @memberOf _
* @type Function
* @category Objects
* @param {Object} object The object to iterate over.
* @param {Function} [callback=identity] The function called per iteration.

View File

@@ -3,37 +3,37 @@
* Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE
* Build: `lodash underscore exports="amd,commonjs,global,node" -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,r){for(var t=n.m,e=r.m,u=-1,o=t.length;++u<o;){var i=t[u],f=e[u];if(i!==f){if(i>f||typeof i=="undefined")return 1;if(i<f||typeof f=="undefined")return-1}}return n.n-r.n}function t(n){return"\\"+mr[n]}function e(n,r,t){r||(r=0),typeof t=="undefined"&&(t=n?n.length:0);var e=-1;t=t-r||0;for(var u=Array(0>t?0:t);++e<t;)u[e]=n[r+e];return u}function u(n){return n instanceof u?n:new o(n)}function o(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,r){for(var t=n.i,e=r.i,u=-1,o=t.length;++u<o;){var i=t[u],f=e[u];if(i!==f){if(i>f||typeof i=="undefined")return 1;if(i<f||typeof f=="undefined")return-1}}return n.j-r.j}function t(n){return"\\"+mr[n]}function e(n,r,t){r||(r=0),typeof t=="undefined"&&(t=n?n.length:0);var e=-1;t=t-r||0;for(var u=Array(0>t?0:t);++e<t;)u[e]=n[r+e];return u}function u(n){return n instanceof u?n:new o(n)}function o(n,r){this.__chain__=!!r,this.__wrapped__=n
}function i(n){function r(){if(u){var n=e(u);Fr.apply(n,arguments)}if(this instanceof r){var i=f(t.prototype),n=t.apply(i,n||arguments);return S(n)?n:i}return t.apply(o,n||arguments)}var t=n[0],u=n[2],o=n[4];return r}function f(n){return S(n)?qr(n):{}}function a(n,r,t){if(typeof n!="function")return Z;if(typeof r=="undefined"||!("prototype"in n))return n;switch(t){case 1:return function(t){return n.call(r,t)};case 2:return function(t,e){return n.call(r,t,e)};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)}}return Q(n,r)}function l(n){function r(){var n=p?a:this;if(o){var y=e(o);Fr.apply(y,arguments)}return(i||g)&&(y||(y=e(arguments)),i&&Fr.apply(y,i),g&&y.length<c)?(u|=16,l([t,h?u:-4&u,y,null,a,c])):(y||(y=arguments),s&&(t=n[v]),this instanceof r?(n=f(t.prototype),y=t.apply(n,y),S(y)?y:n):t.apply(n,y))}var t=n[0],u=n[1],o=n[2],i=n[3],a=n[4],c=n[5],p=1&u,s=2&u,g=4&u,h=8&u,v=t;return r}function c(n,r){for(var t=-1,e=m(),u=n?n.length:0,o=[];++t<u;){var i=n[t];
0>e(r,i)&&o.push(i)}return o}function p(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof i.length=="number"&&(Ur(i)||b(i))){r||(i=p(i,r,t));var f=-1,a=i.length,l=o.length;for(o.length+=a;++f<a;)o[l++]=i[f]}else t||o.push(i)}return o}function s(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(n===n&&!(n&&yr[typeof n]||r&&yr[typeof r]))return false;if(null==n||null==r)return n===r;var o=Ar.call(n),i=Ar.call(r);if(o!=i)return false;switch(o){case cr:case pr:return+n==+r;
case sr:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case hr:case vr:return n==r+""}if(i=o==lr,!i){var f=n instanceof u,a=r instanceof u;if(f||a)return s(f?n.__wrapped__:n,a?r.__wrapped__:r,t,e);if(o!=gr)return false;if(o=n.constructor,f=r.constructor,o!=f&&!(O(o)&&o instanceof o&&O(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;var l=true,c=0;if(t.push(n),e.push(r),i){if(c=r.length,l=c==n.length)for(;c--&&(l=s(n[c],r[c],t,e)););}else Qr(r,function(r,u,o){return kr.call(o,u)?(c++,!(l=kr.call(n,u)&&s(n[u],r,t,e))&&ur):void 0
}),l&&Qr(n,function(n,r,t){return kr.call(t,r)?!(l=-1<--c)&&ur:void 0});return t.pop(),e.pop(),l}function g(n,r,t){for(var e=-1,u=m(),o=n?n.length:0,i=[],f=t?[]:i;++e<o;){var a=n[e],l=t?t(a,e,n):a;(r?!e||f[f.length-1]!==l:0>u(f,l))&&(t&&f.push(l),i.push(a))}return i}function h(n){return function(r,t,e){var u={};t=Y(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++e<o;){var i=r[e];n(u,i,t(i,e,r),r)}else x(r,function(r,e,o){n(u,r,t(r,e,o),o)});return u}}function v(n,r,t,e,u,o){var f=16&r,a=32&r;
if(!(2&r||O(n)))throw new TypeError;return f&&!t.length&&(r&=-17,t=false),a&&!e.length&&(r&=-33,e=false),(1==r||17===r?i:l)([n,r,t,e,u,o])}function y(n){return Hr[n]}function m(){var r=(r=u.indexOf)===H?n:r;return r}function _(n){return typeof n=="function"&&Or.test(Rr.call(n))}function d(n){return Jr[n]}function b(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ar.call(n)==ar||false}function w(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)n[u]=e[u]
}return n}function j(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)"undefined"==typeof n[u]&&(n[u]=e[u])}return n}function x(n,r){for(var t=-1,e=Gr(n),u=e.length;++t<u;){var o=e[t];if(r(n[o],o,n)===ur)break}return n}function T(n){var r=[];return Qr(n,function(n,t){O(n)&&r.push(t)}),r.sort()}function E(n,r){for(var t=-1,e=Gr(n),u=e.length,o={};++t<u;){var i=e[t],f=n[i];r&&kr.call(o,f)?("string"==typeof o[f]&&(o[f]=[o[f]]),o[f].push(i)):o[f]=i}return o
}function A(n){if(!n)return true;if(Ur(n)||R(n))return!n.length;for(var r in n)if(kr.call(n,r))return false;return true}function O(n){return typeof n=="function"}function S(n){return!(!n||!yr[typeof n])}function N(n){return typeof n=="number"||n&&typeof n=="object"&&Ar.call(n)==sr||false}function R(n){return typeof n=="string"||n&&typeof n=="object"&&Ar.call(n)==vr||false}function k(n){for(var r=-1,t=Gr(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function F(n,r){var t=m(),e=n?n.length:0,u=false;return e&&typeof e=="number"?u=-1<t(n,r):x(n,function(n){return(u=n===r)&&ur
case sr:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case hr:case vr:return n==r+""}if(i=o==lr,!i){var f=n instanceof u,a=r instanceof u;if(f||a)return s(f?n.__wrapped__:n,a?r.__wrapped__:r,t,e);if(o!=gr)return false;if(o=n.constructor,f=r.constructor,o!=f&&!(O(o)&&o instanceof o&&O(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;var l=true,c=0;if(t.push(n),e.push(r),i){if(c=r.length,l=c==n.length)for(;c--&&(l=s(n[c],r[c],t,e)););}else Qr(r,function(r,u,o){return Rr.call(o,u)?(c++,!(l=Rr.call(n,u)&&s(n[u],r,t,e))&&ur):void 0
}),l&&Qr(n,function(n,r,t){return Rr.call(t,r)?!(l=-1<--c)&&ur:void 0});return t.pop(),e.pop(),l}function g(n,r,t){for(var e=-1,u=m(),o=n?n.length:0,i=[],f=t?[]:i;++e<o;){var a=n[e],l=t?t(a,e,n):a;(r?!e||f[f.length-1]!==l:0>u(f,l))&&(t&&f.push(l),i.push(a))}return i}function h(n){return function(r,t,e){var u={};t=Y(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++e<o;){var i=r[e];n(u,i,t(i,e,r),r)}else x(r,function(r,e,o){n(u,r,t(r,e,o),o)});return u}}function v(n,r,t,e,u,o){var f=16&r,a=32&r;
if(!(2&r||O(n)))throw new TypeError;return f&&!t.length&&(r&=-17,t=false),a&&!e.length&&(r&=-33,e=false),(1==r||17===r?i:l)([n,r,t,e,u,o])}function y(n){return Hr[n]}function m(){var r=(r=u.indexOf)===H?n:r;return r}function _(n){return typeof n=="function"&&Or.test(Nr.call(n))}function d(n){return Jr[n]}function b(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ar.call(n)==ar||false}function w(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)n[u]=e[u]
}return n}function j(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)"undefined"==typeof n[u]&&(n[u]=e[u])}return n}function x(n,r){for(var t=-1,e=Gr(n),u=e.length;++t<u;){var o=e[t];if(r(n[o],o,n)===ur)break}return n}function T(n){var r=[];return Qr(n,function(n,t){O(n)&&r.push(t)}),r.sort()}function E(n,r){for(var t=-1,e=Gr(n),u=e.length,o={};++t<u;){var i=e[t],f=n[i];r&&Rr.call(o,f)?("string"==typeof o[f]&&(o[f]=[o[f]]),o[f].push(i)):o[f]=i}return o
}function A(n){if(!n)return true;if(Ur(n)||N(n))return!n.length;for(var r in n)if(Rr.call(n,r))return false;return true}function O(n){return typeof n=="function"}function S(n){return!(!n||!yr[typeof n])}function k(n){return typeof n=="number"||n&&typeof n=="object"&&Ar.call(n)==sr||false}function N(n){return typeof n=="string"||n&&typeof n=="object"&&Ar.call(n)==vr||false}function R(n){for(var r=-1,t=Gr(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function F(n,r){var t=m(),e=n?n.length:0,u=false;return e&&typeof e=="number"?u=-1<t(n,r):x(n,function(n){return(u=n===r)&&ur
}),u}function B(n,r,t){var e=true;r=Y(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&(e=!!r(n[t],t,n)););else x(n,function(n,t,u){return!(e=!!r(n,t,u))&&ur});return e}function q(n,r,t){var e=[];r=Y(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u;){var o=n[t];r(o,t,n)&&e.push(o)}else x(n,function(n,t,u){r(n,t,u)&&e.push(n)});return e}function D(n,r,t){r=Y(r,t,3),t=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return x(n,function(n,t,e){return r(n,t,e)?(u=n,ur):void 0
}),u}for(;++t<e;){var o=n[t];if(r(o,t,n))return o}}function I(n,r,t){var e=-1,u=n?n.length:0;if(r=r&&typeof t=="undefined"?r:a(r,t,3),typeof u=="number")for(;++e<u&&r(n[e],e,n)!==ur;);else x(n,r)}function M(n,r){var t=n?n.length:0;if(typeof t=="number")for(;t--&&false!==r(n[t],t,n););else{var e=Gr(n),t=e.length;x(n,function(n,u,o){return u=e?e[--t]:--t,false===r(o[u],u,o)&&ur})}}function $(n,r,t){var e=-1,u=n?n.length:0;if(r=Y(r,t,3),typeof u=="number")for(var o=Array(u);++e<u;)o[e]=r(n[e],e,n);else o=[],x(n,function(n,t,u){o[++e]=r(n,t,u)
});return o}function W(n,r,t){var e=-1/0,u=e;typeof r!="function"&&t&&t[r]===n&&(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t>u&&(u=t);else r=Y(r,t,3),I(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function z(n,r,t,e){if(!n)return t;var u=3>arguments.length;r=Y(r,e,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(t=n[++o]);++o<i;)t=r(t,n[o],o,n);else x(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)});return t}function C(n,r,t,e){var u=3>arguments.length;
return r=Y(r,e,4),M(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function P(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return I(n,function(n){var t;t=++r,t=0+Nr(Cr()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function U(n,r,t){var e;r=Y(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&!(e=r(n[t],t,n)););else x(n,function(n,t,u){return(e=r(n,t,u))&&ur});return!!e}function V(n,r,t){return t&&A(r)?tr:(t?D:q)(n,r)}function G(n,r,t){var u=0,o=n?n.length:0;if(typeof r!="number"&&null!=r){var i=-1;
return r=Y(r,e,4),M(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function P(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return I(n,function(n){var t;t=++r,t=0+kr(Cr()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function U(n,r,t){var e;r=Y(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&!(e=r(n[t],t,n)););else x(n,function(n,t,u){return(e=r(n,t,u))&&ur});return!!e}function V(n,r,t){return t&&A(r)?tr:(t?D:q)(n,r)}function G(n,r,t){var u=0,o=n?n.length:0;if(typeof r!="number"&&null!=r){var i=-1;
for(r=Y(r,t,3);++i<o&&r(n[i],i,n);)u++}else if(u=r,null==u||t)return n?n[0]:tr;return e(n,0,zr(Wr(0,u),o))}function H(r,t,e){if(typeof e=="number"){var u=r?r.length:0;e=0>e?Wr(0,u+e):e||0}else if(e)return e=K(r,t),r[e]===t?e:-1;return n(r,t,e)}function J(n,r,t){if(typeof r!="number"&&null!=r){var u=0,o=-1,i=n?n.length:0;for(r=Y(r,t,3);++o<i&&r(n[o],o,n);)u++}else u=null==r||t?1:Wr(0,r);return e(n,u)}function K(n,r,t,e){var u=0,o=n?n.length:u;for(t=t?Y(t,e,1):Z,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;
return u}function L(n,r,t,e){return typeof r!="boolean"&&null!=r&&(e=t,t=typeof r!="function"&&e&&e[r]===n?null:r,r=false),null!=t&&(t=Y(t,e,3)),g(n,r,t)}function Q(n,r){return 2<arguments.length?v(n,17,e(arguments,2),null,r):v(n,1,null,null,r)}function X(n,r,t){var e,u,o,i,f,a,l,c=0,p=false,s=true;if(!O(n))throw new TypeError;if(r=Wr(0,r)||0,true===t)var g=true,s=false;else S(t)&&(g=t.leading,p="maxWait"in t&&(Wr(r,t.maxWait)||0),s="trailing"in t?t.trailing:s);var h=function(){var t=r-(rt()-i);0<t?a=setTimeout(h,t):(u&&clearTimeout(u),t=l,u=a=l=tr,t&&(c=rt(),o=n.apply(f,e),a||u||(e=f=null)))
},v=function(){a&&clearTimeout(a),u=a=l=tr,(s||p!==r)&&(c=rt(),o=n.apply(f,e),a||u||(e=f=null))};return function(){if(e=arguments,i=rt(),f=this,l=s&&(a||!g),false===p)var t=g&&!a;else{u||g||(c=i);var y=p-(i-c),m=0>=y;m?(u&&(u=clearTimeout(u)),c=i,o=n.apply(f,e)):u||(u=setTimeout(v,y))}return m&&a?a=clearTimeout(a):a||r===p||(a=setTimeout(h,r)),t&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o}}function Y(n,r,t){var e=typeof n;if(null==n||"function"==e)return a(n,r,t);if("object"!=e)return rr(n);var u=Gr(n);
return function(r){for(var t=u.length,e=false;t--&&(e=r[u[t]]===n[u[t]]););return e}}function Z(n){return n}function nr(n){I(T(n),function(r){var t=u[r]=n[r];u.prototype[r]=function(){var n=[this.__wrapped__];return Fr.apply(n,arguments),n=t.apply(u,n),this.__chain__?new o(n,true):n}})}function rr(n){return function(r){return r[n]}}var tr,er=0,ur={},or=+new Date+"",ir=/($^)/,fr=/['\n\r\t\u2028\u2029\\]/g,ar="[object Arguments]",lr="[object Array]",cr="[object Boolean]",pr="[object Date]",sr="[object Number]",gr="[object Object]",hr="[object RegExp]",vr="[object String]",yr={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},mr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},_r=yr[typeof window]&&window||this,dr=yr[typeof exports]&&exports&&!exports.nodeType&&exports,br=yr[typeof module]&&module&&!module.nodeType&&module,wr=br&&br.exports===dr&&dr,jr=yr[typeof global]&&global;
!jr||jr.global!==jr&&jr.window!==jr||(_r=jr);var xr=[],Tr=Object.prototype,Er=_r._,Ar=Tr.toString,Or=RegExp("^"+(Ar+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Sr=Math.ceil,Nr=Math.floor,Rr=Function.prototype.toString,kr=Tr.hasOwnProperty,Fr=xr.push,Br=Tr.propertyIsEnumerable,qr=_(qr=Object.create)&&qr,Dr=_(Dr=Array.isArray)&&Dr,Ir=_r.isFinite,Mr=_r.isNaN,$r=_($r=Object.keys)&&$r,Wr=Math.max,zr=Math.min,Cr=Math.random;o.prototype=u.prototype;var Pr={};!function(){var n={0:1,length:1};
Pr.spliceObjects=(xr.splice.call(n,0,1),!n[0])}(1),u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},qr||(f=function(){function n(){}return function(r){if(S(r)){n.prototype=r;var t=new n;n.prototype=null}return t||_r.Object()}}()),b(arguments)||(b=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&kr.call(n,"callee")&&!Br.call(n,"callee")||false});var Ur=Dr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ar.call(n)==lr||false
},Vr=function(n){var r,t=[];if(!n||!yr[typeof n])return t;for(r in n)kr.call(n,r)&&t.push(r);return t},Gr=$r?function(n){return S(n)?$r(n):[]}:Vr,Hr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Jr=E(Hr),Kr=RegExp("("+Gr(Jr).join("|")+")","g"),Lr=RegExp("["+Gr(Hr).join("")+"]","g"),Qr=function(n,r){var t;if(!n||!yr[typeof n])return n;for(t in n)if(r(n[t],t,n)===ur)break;return n};O(/x/)&&(O=function(n){return typeof n=="function"&&"[object Function]"==Ar.call(n)});var Xr=h(function(n,r,t){kr.call(n,t)?n[t]++:n[t]=1
}),Yr=h(function(n,r,t){(kr.call(n,t)?n[t]:n[t]=[]).push(r)}),Zr=h(function(n,r,t){n[t]=r}),nt=$,rt=_(rt=Date.now)&&rt||function(){return(new Date).getTime()};u.after=function(n,r){if(!O(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},u.bind=Q,u.bindAll=function(n){for(var r=1<arguments.length?p(arguments,true,false,1):T(n),t=-1,e=r.length;++t<e;){var u=r[t];n[u]=v(n[u],1,null,null,n)}return n},u.chain=function(n){return n=new o(n),n.__chain__=true,n},u.compact=function(n){for(var r=-1,t=n?n.length:0,e=0,u=[];++r<t;){var o=n[r];
!jr||jr.global!==jr&&jr.window!==jr||(_r=jr);var xr=[],Tr=Object.prototype,Er=_r._,Ar=Tr.toString,Or=RegExp("^"+(Ar+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Sr=Math.ceil,kr=Math.floor,Nr=Function.prototype.toString,Rr=Tr.hasOwnProperty,Fr=xr.push,Br=Tr.propertyIsEnumerable,qr=_(qr=Object.create)&&qr,Dr=_(Dr=Array.isArray)&&Dr,Ir=_r.isFinite,Mr=_r.isNaN,$r=_($r=Object.keys)&&$r,Wr=Math.max,zr=Math.min,Cr=Math.random;o.prototype=u.prototype;var Pr={};!function(){var n={0:1,length:1};
Pr.spliceObjects=(xr.splice.call(n,0,1),!n[0])}(1),u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},qr||(f=function(){function n(){}return function(r){if(S(r)){n.prototype=r;var t=new n;n.prototype=null}return t||_r.Object()}}()),b(arguments)||(b=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Rr.call(n,"callee")&&!Br.call(n,"callee")||false});var Ur=Dr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ar.call(n)==lr||false
},Vr=function(n){var r=[];if(!n||!yr[typeof n]||!yr[typeof n])return r;for(var t in n)Rr.call(n,t)&&r.push(t);return r},Gr=$r?function(n){return S(n)?$r(n):[]}:Vr,Hr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Jr=E(Hr),Kr=RegExp("("+Gr(Jr).join("|")+")","g"),Lr=RegExp("["+Gr(Hr).join("")+"]","g"),Qr=function(n,r){if(!n||!yr[typeof n])return n;for(var t in n)if(r(n[t],t,n)===ur)break;return n};O(/x/)&&(O=function(n){return typeof n=="function"&&"[object Function]"==Ar.call(n)});var Xr=h(function(n,r,t){Rr.call(n,t)?n[t]++:n[t]=1
}),Yr=h(function(n,r,t){(Rr.call(n,t)?n[t]:n[t]=[]).push(r)}),Zr=h(function(n,r,t){n[t]=r}),nt=$,rt=_(rt=Date.now)&&rt||function(){return(new Date).getTime()};u.after=function(n,r){if(!O(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},u.bind=Q,u.bindAll=function(n){for(var r=1<arguments.length?p(arguments,true,false,1):T(n),t=-1,e=r.length;++t<e;){var u=r[t];n[u]=v(n[u],1,null,null,n)}return n},u.chain=function(n){return n=new o(n),n.__chain__=true,n},u.compact=function(n){for(var r=-1,t=n?n.length:0,e=0,u=[];++r<t;){var o=n[r];
o&&(u[e++]=o)}return u},u.compose=function(){for(var n=arguments,r=n.length;r--;)if(!O(n[r]))throw new TypeError;return function(){for(var r=arguments,t=n.length;t--;)r=[n[t].apply(this,r)];return r[0]}},u.countBy=Xr,u.debounce=X,u.defaults=j,u.defer=function(n){if(!O(n))throw new TypeError;var r=e(arguments,1);return setTimeout(function(){n.apply(tr,r)},1)},u.delay=function(n,r){if(!O(n))throw new TypeError;var t=e(arguments,2);return setTimeout(function(){n.apply(tr,t)},r)},u.difference=function(n){return c(n,p(arguments,true,true,1))
},u.filter=q,u.flatten=function(n,r){return p(n,r)},u.forEach=I,u.functions=T,u.groupBy=Yr,u.indexBy=Zr,u.initial=function(n,r,t){var u=0,o=n?n.length:0;if(typeof r!="number"&&null!=r){var i=o;for(r=Y(r,t,3);i--&&r(n[i],i,n);)u++}else u=null==r||t?1:r||u;return e(n,0,zr(Wr(0,o-u),o))},u.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];(Ur(e)||b(e))&&n.push(e)}var u=n[0],o=-1,i=m(),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},u.invert=E,u.invoke=function(n,r){var t=e(arguments,2),u=-1,o=typeof r=="function",i=n?n.length:0,f=Array(typeof i=="number"?i:0);return I(n,function(n){f[++u]=(o?r:n[r]).apply(n,t)}),f},u.keys=Gr,u.map=$,u.max=W,u.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):or+arguments[0];return kr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},u.min=function(n,r,t){var e=1/0,u=e;typeof r!="function"&&t&&t[r]===n&&(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t<u&&(u=t);
a.push(e)}return a},u.invert=E,u.invoke=function(n,r){var t=e(arguments,2),u=-1,o=typeof r=="function",i=n?n.length:0,f=Array(typeof i=="number"?i:0);return I(n,function(n){f[++u]=(o?r:n[r]).apply(n,t)}),f},u.keys=Gr,u.map=$,u.max=W,u.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):or+arguments[0];return Rr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},u.min=function(n,r,t){var e=1/0,u=e;typeof r!="function"&&t&&t[r]===n&&(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t<u&&(u=t);
else r=Y(r,t,3),I(n,function(n,t,o){t=r(n,t,o),t<e&&(e=t,u=n)});return u},u.omit=function(n){var r=[];Qr(n,function(n,t){r.push(t)});for(var r=c(r,p(arguments,true,false,1)),t=-1,e=r.length,u={};++t<e;){var o=r[t];u[o]=n[o]}return u},u.once=function(n){var r,t;if(!O(n))throw new TypeError;return function(){return r?t:(r=true,t=n.apply(this,arguments),n=null,t)}},u.pairs=function(n){for(var r=-1,t=Gr(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},u.partial=function(n){return v(n,16,e(arguments,1))
},u.pick=function(n){for(var r=-1,t=p(arguments,true,false,1),e=t.length,u={};++r<e;){var o=t[r];o in n&&(u[o]=n[o])}return u},u.pluck=nt,u.range=function(n,r,t){n=+n||0,t=+t||1,null==r&&(r=n,n=0);var e=-1;r=Wr(0,Sr((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},u.reject=function(n,r,t){return r=Y(r,t,3),q(n,function(n,t,e){return!r(n,t,e)})},u.rest=J,u.shuffle=P,u.sortBy=function(n,t,e){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);for(t=Y(t,e,3),I(n,function(n,r,e){i[++u]={m:[t(n,r,e)],n:u,o:n}
}),o=i.length,i.sort(r);o--;)i[o]=i[o].o;return i},u.tap=function(n,r){return r(n),n},u.throttle=function(n,r,t){var e=true,u=true;if(!O(n))throw new TypeError;return false===t?e=false:S(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),t={},t.leading=e,t.maxWait=r,t.trailing=u,X(n,r,t)},u.times=function(n,r,t){n=-1<(n=+n)?n:0;var e=-1,u=Array(n);for(r=a(r,t,1);++e<n;)u[e]=r(e);return u},u.toArray=function(n){return Ur(n)?e(n):n&&typeof n.length=="number"?$(n):k(n)},u.union=function(){return g(p(arguments,true,true))
},u.uniq=L,u.values=k,u.where=V,u.without=function(n){return c(n,e(arguments,1))},u.wrap=function(n,r){return v(r,16,[n])},u.zip=function(){for(var n=-1,r=W(nt(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=nt(arguments,n);return t},u.collect=$,u.drop=J,u.each=I,u.extend=w,u.methods=T,u.object=function(n,r){var t=-1,e=n?n.length:0,u={};for(r||!e||Ur(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},u.select=q,u.tail=J,u.unique=L,u.clone=function(n){return S(n)?Ur(n)?e(n):w({},n):n
},u.contains=F,u.escape=function(n){return null==n?"":(n+"").replace(Lr,y)},u.every=B,u.find=D,u.has=function(n,r){return n?kr.call(n,r):false},u.identity=Z,u.indexOf=H,u.isArguments=b,u.isArray=Ur,u.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Ar.call(n)==cr||false},u.isDate=function(n){return n&&typeof n=="object"&&Ar.call(n)==pr||false},u.isElement=function(n){return n&&1===n.nodeType||false},u.isEmpty=A,u.isEqual=function(n,r){return s(n,r)},u.isFinite=function(n){return Ir(n)&&!Mr(parseFloat(n))
},u.isFunction=O,u.isNaN=function(n){return N(n)&&n!=+n},u.isNull=function(n){return null===n},u.isNumber=N,u.isObject=S,u.isRegExp=function(n){return n&&yr[typeof n]&&Ar.call(n)==hr||false},u.isString=R,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Wr(0,e+t):zr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},u.mixin=nr,u.noConflict=function(){return _r._=Er,this},u.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+Nr(Cr()*(r-n+1))
},u.pick=function(n){for(var r=-1,t=p(arguments,true,false,1),e=t.length,u={};++r<e;){var o=t[r];o in n&&(u[o]=n[o])}return u},u.pluck=nt,u.range=function(n,r,t){n=+n||0,t=+t||1,null==r&&(r=n,n=0);var e=-1;r=Wr(0,Sr((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},u.reject=function(n,r,t){return r=Y(r,t,3),q(n,function(n,t,e){return!r(n,t,e)})},u.rest=J,u.shuffle=P,u.sortBy=function(n,t,e){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);for(t=Y(t,e,3),I(n,function(n,r,e){i[++u]={i:[t(n,r,e)],j:u,k:n}
}),o=i.length,i.sort(r);o--;)i[o]=i[o].k;return i},u.tap=function(n,r){return r(n),n},u.throttle=function(n,r,t){var e=true,u=true;if(!O(n))throw new TypeError;return false===t?e=false:S(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),t={},t.leading=e,t.maxWait=r,t.trailing=u,X(n,r,t)},u.times=function(n,r,t){n=-1<(n=+n)?n:0;var e=-1,u=Array(n);for(r=a(r,t,1);++e<n;)u[e]=r(e);return u},u.toArray=function(n){return Ur(n)?e(n):n&&typeof n.length=="number"?$(n):R(n)},u.union=function(){return g(p(arguments,true,true))
},u.uniq=L,u.values=R,u.where=V,u.without=function(n){return c(n,e(arguments,1))},u.wrap=function(n,r){return v(r,16,[n])},u.zip=function(){for(var n=-1,r=W(nt(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=nt(arguments,n);return t},u.collect=$,u.drop=J,u.each=I,u.extend=w,u.methods=T,u.object=function(n,r){var t=-1,e=n?n.length:0,u={};for(r||!e||Ur(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},u.select=q,u.tail=J,u.unique=L,u.clone=function(n){return S(n)?Ur(n)?e(n):w({},n):n
},u.contains=F,u.escape=function(n){return null==n?"":(n+"").replace(Lr,y)},u.every=B,u.find=D,u.has=function(n,r){return n?Rr.call(n,r):false},u.identity=Z,u.indexOf=H,u.isArguments=b,u.isArray=Ur,u.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Ar.call(n)==cr||false},u.isDate=function(n){return n&&typeof n=="object"&&Ar.call(n)==pr||false},u.isElement=function(n){return n&&1===n.nodeType||false},u.isEmpty=A,u.isEqual=function(n,r){return s(n,r)},u.isFinite=function(n){return Ir(n)&&!Mr(parseFloat(n))
},u.isFunction=O,u.isNaN=function(n){return k(n)&&n!=+n},u.isNull=function(n){return null===n},u.isNumber=k,u.isObject=S,u.isRegExp=function(n){return n&&yr[typeof n]&&Ar.call(n)==hr||false},u.isString=N,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Wr(0,e+t):zr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},u.mixin=nr,u.noConflict=function(){return _r._=Er,this},u.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+kr(Cr()*(r-n+1))
},u.reduce=z,u.reduceRight=C,u.result=function(n,r){if(n){var t=n[r];return O(t)?n[r]():t}},u.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Gr(n).length},u.some=U,u.sortedIndex=K,u.template=function(n,r,e){var o=u,i=o.templateSettings;n=(n||"")+"",e=j({},e,i);var f=0,a="__p+='",i=e.variable;n.replace(RegExp((e.escape||ir).source+"|"+(e.interpolate||ir).source+"|"+(e.evaluate||ir).source+"|$","g"),function(r,e,u,o,i){return a+=n.slice(f,i).replace(fr,t),e&&(a+="'+_.escape("+e+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+r.length,r
}),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var l=Function("_","return "+a)(o)}catch(c){throw c.source=a,c}return r?l(r):(l.source=a,l)},u.unescape=function(n){return null==n?"":(n+="",0>n.indexOf(";")?n:n.replace(Kr,d))},u.uniqueId=function(n){var r=++er+"";return n?n+r:r},u.all=B,u.any=U,u.detect=D,u.findWhere=function(n,r){return V(n,r,true)},u.foldl=z,u.foldr=C,u.include=F,u.inject=z,u.first=G,u.last=function(n,r,t){var u=0,o=n?n.length:0;
if(typeof r!="number"&&null!=r){var i=o;for(r=Y(r,t,3);i--&&r(n[i],i,n);)u++}else if(u=r,null==u||t)return n?n[o-1]:tr;return e(n,Wr(0,o-u))},u.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=k(n)),null==r||t?n?n[0+Nr(Cr()*(n.length-1-0+1))]:tr:(n=P(n),n.length=zr(Wr(0,r),n.length),n)},u.take=G,u.head=G,nr(w({},u)),u.VERSION="2.4.1",u.prototype.chain=function(){return this.__chain__=true,this},u.prototype.value=function(){return this.__wrapped__},I("pop push reverse shift sort splice unshift".split(" "),function(n){var r=xr[n];
if(typeof r!="number"&&null!=r){var i=o;for(r=Y(r,t,3);i--&&r(n[i],i,n);)u++}else if(u=r,null==u||t)return n?n[o-1]:tr;return e(n,Wr(0,o-u))},u.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=R(n)),null==r||t?n?n[0+kr(Cr()*(n.length-1-0+1))]:tr:(n=P(n),n.length=zr(Wr(0,r),n.length),n)},u.take=G,u.head=G,nr(w({},u)),u.VERSION="2.4.1",u.prototype.chain=function(){return this.__chain__=true,this},u.prototype.value=function(){return this.__wrapped__},I("pop push reverse shift sort splice unshift".split(" "),function(n){var r=xr[n];
u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Pr.spliceObjects||0!==n.length||delete n[0],this}}),I(["concat","join","slice"],function(n){var r=xr[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(_r._=u, define(function(){return u})):dr&&br?wr?(br.exports=u)._=u:dr._=u:_r._=u}).call(this);

260
lodash.js
View File

@@ -125,21 +125,6 @@
'writable': false
};
/** Used as the data object for `iteratorTemplate` */
var iteratorData = {
'args': '',
'array': null,
'bottom': '',
'firstArg': '',
'init': '',
'keys': null,
'loop': '',
'shadowedProps': null,
'support': null,
'top': '',
'useHas': false
};
/** Used to determine if values are of the language type Object */
var objectTypes = {
'boolean': false,
@@ -890,110 +875,72 @@
* @returns {string} Returns the interpolated text.
*/
var iteratorTemplate = template(
// the `iterable` may be reassigned by the `top` snippet
'var index, iterable = <%= firstArg %>, ' +
// assign the `result` variable an initial value
'result = <%= init %>;\n' +
// exit early if the first argument is falsey
'if (!iterable) return result;\n' +
'var result = <%= init %>;\n' +
// exit early if the first argument is not an object
'if (!(object && objectTypes[typeof object])) return result;\n' +
// add code before the iteration branches
'<%= top %>;' +
// array-like iteration:
'<% if (array) { %>\n' +
'var length = iterable.length; index = -1;\n' +
'if (<%= array %>) {' +
// add support for accessing string characters by index if needed
' <% if (support.unindexedChars) { %>\n' +
' if (isString(iterable)) {\n' +
" iterable = iterable.split('')\n" +
' }' +
' <% } %>\n' +
// iterate over the array-like value
' while (++index < length) {\n' +
// add support for iterating over `arguments` objects if needed
'<% if (support.nonEnumArgs) { %>\n' +
'var length = object.length;\n' +
'if (length && isArguments(object)) {\n' +
' key = -1;\n' +
' while (++key < length) {\n' +
" key += '';\n" +
' <%= loop %>;\n' +
' }\n' +
'}\n' +
'else {' +
// object iteration:
// add support for iterating over `arguments` objects if needed
' <% } else if (support.nonEnumArgs) { %>\n' +
' var length = iterable.length; index = -1;\n' +
' if (length && isArguments(iterable)) {\n' +
' while (++index < length) {\n' +
" index += '';\n" +
' <%= loop %>;\n' +
' }\n' +
' } else {' +
' <% } %>' +
' return result\n' +
'}' +
'<% } %>' +
// avoid iterating over `prototype` properties in older Firefox, Opera, and Safari
' <% if (support.enumPrototypes) { %>\n' +
" var skipProto = typeof iterable == 'function';\n" +
' <% } %>' +
'<% if (support.enumPrototypes) { %>\n' +
"var skipProto = typeof object == 'function';\n" +
'<% } %>' +
// avoid iterating over `Error.prototype` properties in older IE and Safari
' <% if (support.enumErrorProps) { %>\n' +
' var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n' +
' <% } %>' +
'<% if (support.enumErrorProps) { %>\n' +
'var skipErrorProps = object === errorProto || object instanceof Error;\n' +
'<% } %>' +
// define conditions used in the loop
' <%' +
' var conditions = [];' +
' if (support.enumPrototypes) { conditions.push(\'!(skipProto && index == "prototype")\'); }' +
' if (support.enumErrorProps) { conditions.push(\'!(skipErrorProps && (index == "message" || index == "name"))\'); }' +
' %>' +
// iterate own properties using `Object.keys`
' <% if (useHas && keys) { %>\n' +
' var ownIndex = -1,\n' +
' ownProps = keys(iterable),\n' +
' length = ownProps.length;\n\n' +
' while (++ownIndex < length) {\n' +
' index = ownProps[ownIndex];\n<%' +
" if (conditions.length) { %> if (<%= conditions.join(' && ') %>) {\n <% } %>" +
' <%= loop %>;' +
' <% if (conditions.length) { %>\n }<% } %>\n' +
' }' +
'<%' +
'var conditions = [];\n' +
"if (support.enumPrototypes) { conditions.push('!(skipProto && key == \\'prototype\\')'); }\n" +
"if (support.enumErrorProps) { conditions.push('!(skipErrorProps && (key == \\'message\\' || key == \\'name\\'))'); }" +
'%>\n' +
// else using a for-in loop
' <% } else { %>\n' +
' for (index in iterable) {\n<%' +
' if (useHas) { conditions.push("hasOwnProperty.call(iterable, index)"); }' +
" if (conditions.length) { %> if (<%= conditions.join(' && ') %>) {\n <% } %>" +
' <%= loop %>;' +
' <% if (conditions.length) { %>\n }<% } %>\n' +
' }' +
'for (var key in object) {\n<%' +
" if (useHas) { conditions.push('hasOwnProperty.call(object, key)'); }\n" +
" if (conditions.length) { %> if (<%= conditions.join(' && ') %>) {\n <% } %>" +
' <%= loop %>;' +
' <% if (conditions.length) { %>\n }<% } %>\n' +
'}\n' +
// Because IE < 9 can't set the `[[Enumerable]]` attribute of an
// existing property and the `constructor` property of a prototype
// defaults to non-enumerable, Lo-Dash skips the `constructor`
// property when it infers it's iterating over a `prototype` object.
' <% if (support.nonEnumShadows) { %>\n\n' +
' if (iterable !== objectProto) {\n' +
" var ctor = iterable.constructor,\n" +
' isProto = iterable === (ctor && ctor.prototype),\n' +
' className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n' +
' nonEnum = nonEnumProps[className];\n' +
' <% for (k = 0; k < 7; k++) { %>\n' +
" index = '<%= shadowedProps[k] %>';\n" +
' if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))<%' +
' if (!useHas) { %> || (!nonEnum[index] && iterable[index] !== objectProto[index])<% }' +
' %>) {\n' +
' <%= loop %>;\n' +
' }' +
' <% } %>\n' +
'<% if (support.nonEnumShadows) { %>\n' +
'if (object !== objectProto) {\n' +
" var ctor = object.constructor,\n" +
' isProto = object === (ctor && ctor.prototype),\n' +
' className = object === stringProto ? stringClass : object === errorProto ? errorClass : toString.call(object),\n' +
' nonEnum = nonEnumProps[className];\n' +
' <% for (var index = 0; index < 7; index++) { %>\n' +
" key = '<%= shadowedProps[index] %>';\n" +
' if ((!(isProto && nonEnum[key]) && hasOwnProperty.call(object, key))<%' +
' if (!useHas) { %> || (!nonEnum[key] && object[key] !== objectProto[key])<% }' +
' %>) {\n' +
' <%= loop %>;\n' +
' }' +
' <% } %>' +
' <% } %>' +
' <% if (array || support.nonEnumArgs) { %>\n}<% } %>\n' +
' <% } %>\n' +
'}' +
'<% } %>\n' +
// add code to the bottom of the iteration function
'<%= bottom %>;\n' +
// finally, return the `result`
'return result'
);
@@ -1301,6 +1248,41 @@
return result;
}
/**
* Iterates `arguments` objects, arrays, objects, and strings consistently
* across environments, executing the callback for each element in the
* collection. The callback is bound to `thisArg` and invoked with three
* arguments; (value, index|key, collection). Callbacks may exit iteration
* early by explicitly returning `false`.
*
* @private
* @param {Array|Object|string} collection The collection to iterate over.
* @param {Function} [callback=identity] The function called per iteration.
* @param {*} [thisArg] The `this` binding of `callback`.
* @returns {Array|Object|string} Returns `collection`.
*/
function baseEach(collection, callback, thisArg) {
var index = -1,
iterable = collection,
length = collection ? collection.length : 0;
callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
if (typeof length == 'number') {
if (support.unindexedChars && isString(iterable)) {
iterable = iterable.split('');
}
while (++index < length) {
if (callback(iterable[index], index, collection) === false) {
break;
}
}
} else {
forOwn(collection, callback);
}
return collection;
}
/**
* The base implementation of `_.flatten` without support for callback
* shorthands or `thisArg` binding.
@@ -1757,48 +1739,28 @@
* Creates compiled iteration functions.
*
* @private
* @param {...Object} [options] The compile options object(s).
* @param {string} [options.array] Code to determine if the iterable is an array or array-like.
* @param {boolean} [options.useHas] Specify using `hasOwnProperty` checks in the object loop.
* @param {Function} [options.keys] A reference to `_.keys` for use in own property iteration.
* @param {Object} [options] The compile options object.
* @param {string} [options.args] A comma separated string of iteration function arguments.
* @param {string} [options.top] Code to execute before the iteration branches.
* @param {string} [options.loop] Code to execute in the object loop.
* @param {string} [options.bottom] Code to execute after the iteration branches.
* @param {boolean} [options.useHas] Specify using `hasOwnProperty` checks in the object loop.
* @returns {Function} Returns the compiled function.
*/
function createIterator() {
// data properties
iteratorData.shadowedProps = shadowedProps;
iteratorData.support = support;
// iterator options
iteratorData.array = iteratorData.bottom = iteratorData.loop = iteratorData.top = '';
iteratorData.init = 'iterable';
iteratorData.useHas = true;
// merge options into a template data object
for (var object, index = 0; object = arguments[index]; index++) {
for (var key in object) {
iteratorData[key] = object[key];
}
}
var args = iteratorData.args;
iteratorData.firstArg = /^[^,]+/.exec(args)[0];
function createIterator(options) {
options.shadowedProps = shadowedProps;
options.support = support;
// create the function factory
var factory = Function(
'baseCreateCallback, errorClass, errorProto, hasOwnProperty, ' +
'indicatorObject, isArguments, isArray, isString, keys, objectProto, ' +
'objectTypes, nonEnumProps, stringClass, stringProto, toString',
'return function(' + args + ') {\n' + iteratorTemplate(iteratorData) + '\n}'
'baseCreateCallback, errorClass, errorProto, hasOwnProperty, isArguments, ' +
'objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString',
'return function(' + options.args + ') {\n' + iteratorTemplate(options) + '\n}'
);
// return the compiled function
return factory(
baseCreateCallback, errorClass, errorProto, hasOwnProperty,
indicatorObject, isArguments, isArray, isString, iteratorData.keys, objectProto,
objectTypes, nonEnumProps, stringClass, stringProto, toString
baseCreateCallback, errorClass, errorProto, hasOwnProperty, isArguments,
objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString
);
}
@@ -1965,7 +1927,8 @@
'args': 'object',
'init': '[]',
'top': 'if (!(objectTypes[typeof object])) return result',
'loop': 'result.push(index)'
'loop': 'result.push(key)',
'useHas': true
});
/**
@@ -1992,15 +1955,6 @@
return nativeKeys(object);
};
/** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */
var eachIteratorOptions = {
'args': 'collection, callback, thisArg',
'top': "callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",
'array': "typeof length == 'number'",
'keys': keys,
'loop': 'if (callback(iterable[index], index, collection) === false) return result'
};
/**
* Used to convert characters to HTML entities:
*
@@ -2024,22 +1978,6 @@
var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g'),
reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g');
/**
* A function compiled to iterate `arguments` objects, arrays, objects, and
* strings consistenly across environments, executing the callback for each
* element in the collection. The callback is bound to `thisArg` and invoked
* with three arguments; (value, index|key, collection). Callbacks may exit
* iteration early by explicitly returning `false`.
*
* @private
* @type Function
* @param {Array|Object|string} collection The collection to iterate over.
* @param {Function} [callback=identity] The function called per iteration.
* @param {*} [thisArg] The `this` binding of `callback`.
* @returns {Array|Object|string} Returns `collection`.
*/
var baseEach = createIterator(eachIteratorOptions);
/*--------------------------------------------------------------------------*/
/**
@@ -2051,7 +1989,6 @@
*
* @static
* @memberOf _
* @type Function
* @alias extend
* @category Objects
* @param {Object} object The destination object.
@@ -2237,7 +2174,6 @@
*
* @static
* @memberOf _
* @type Function
* @category Objects
* @param {Object} object The destination object.
* @param {...Object} [source] The source objects.
@@ -2410,9 +2346,11 @@
* });
* // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
*/
var forIn = createIterator(eachIteratorOptions, {
'top': 'if (!objectTypes[typeof iterable]) return result;\n' + eachIteratorOptions.top,
'array': false,
var forIn = createIterator({
'args': 'object, callback, thisArg',
'init': 'object',
'top': "callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",
'loop': 'if (callback(object[key], key, object) === false) return result',
'useHas': false
});
@@ -2469,7 +2407,6 @@
*
* @static
* @memberOf _
* @type Function
* @category Objects
* @param {Object} object The object to iterate over.
* @param {Function} [callback=identity] The function called per iteration.
@@ -3768,7 +3705,7 @@
} else if (support.unindexedChars && isString(collection)) {
iterable = collection.split('');
}
baseEach(collection, function(value, key, collection) {
baseEach(iterable, function(value, key) {
key = props ? props[--length] : --length;
return callback(iterable[key], key, collection);
});
@@ -7238,7 +7175,6 @@
}
// add pseudo private property to be used and removed during the build process
lodash._baseEach = baseEach;
lodash._iteratorTemplate = iteratorTemplate;
lodash._shimKeys = shimKeys;