Rebuild dist.

This commit is contained in:
John-David Dalton
2014-07-15 23:54:00 -07:00
parent ccb3012e5a
commit 210dac058d
6 changed files with 846 additions and 711 deletions

464
dist/lodash.compat.js vendored
View File

@@ -116,10 +116,10 @@
/** Used to assign default `context` object properties */
var contextProps = [
'Array', 'ArrayBuffer', 'Date', 'Error', 'Float32Array', 'Float64Array',
'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Math', 'Number', 'Object',
'RegExp', 'Set', 'String', '_', 'clearTimeout', 'document', 'isFinite', 'isNaN',
'parseInt', 'setTimeout', 'TypeError', 'Uint8Array', 'Uint8ClampedArray',
'Uint16Array', 'Uint32Array', 'window', 'WinRTError'
'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Math', 'Number',
'Object', 'RegExp', 'Set', 'String', '_', 'clearTimeout', 'document',
'isFinite', 'parseInt', 'setTimeout', 'TypeError', 'Uint8Array',
'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'window', 'WinRTError'
];
/** Used to fix the JScript `[[DontEnum]]` bug */
@@ -586,7 +586,7 @@
/*--------------------------------------------------------------------------*/
/**
* Create a new `lodash` function using the given `context` object.
* Create a new pristine `lodash` function using the given `context` object.
*
* @static
* @memberOf _
@@ -595,19 +595,22 @@
* @returns {Function} Returns a new `lodash` function.
* @example
*
* _.mixin({ 'add': function(a, b) { return a + b; } }, false);
*
* var lodash = _.runInContext();
* lodash.mixin({ 'sub': function(a, b) { return a - b; } }, false);
*
* lodash.mixin({
* 'exists': function(value) {
* return value != null;
* }
* }, false);
*
* _.isFunction(lodash.exists);
* _.isFunction(_.add);
* // => true
*
* _.isFunction(_.exists);
* _.isFunction(_.sub);
* // => false
*
* lodash.isFunction(lodash.add);
* // => false
*
* lodash.isFunction(lodash.sub);
* // => true
*/
function runInContext(context) {
// Avoid issues with some ES3 environments that attempt to use values, named
@@ -1193,7 +1196,7 @@
* @param {Array} array The array to iterate over.
* @param {Function} iterator The function called per iteration.
* @param {*} [accumulator] The initial value.
* @param {boolean} [initFromArray=false] Specify using the first element of
* @param {boolean} [initFromArray=false] Specify using the last element of
* `array` as the initial value.
* @returns {*} Returns the accumulated value.
*/
@@ -1299,51 +1302,57 @@
* @returns {Function} Returns the new function.
*/
function baseCallback(func, thisArg, argCount) {
if (typeof func != 'function') {
var type = typeof func;
if (type == 'function') {
if (typeof thisArg == 'undefined') {
return func;
}
var data = func[EXPANDO];
if (typeof data == 'undefined') {
if (support.funcNames) {
data = !func.name;
}
data = data || !support.funcDecomp;
if (!data) {
var source = fnToString.call(func);
if (!support.funcNames) {
data = !reFuncName.test(source);
}
if (!data) {
// checks if `func` references the `this` keyword and stores the result
data = reThis.test(source) || isNative(func);
setData(func, data);
}
}
}
// exit early if there are no `this` references or `func` is bound
if (data === false || (data !== true && data[1] & BIND_FLAG)) {
return func;
}
switch (argCount) {
case 1: return function(value) {
return func.call(thisArg, value);
};
case 3: return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
case 4: return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
case 5: return function(value, other, key, object, source) {
return func.call(thisArg, value, other, key, object, source);
};
}
return function() {
return func.apply(thisArg, arguments);
};
}
if (func == null) {
return identity;
}
if (typeof thisArg == 'undefined') {
return func;
}
var data = func[EXPANDO];
if (typeof data == 'undefined') {
if (support.funcNames) {
data = !func.name;
}
data = data || !support.funcDecomp;
if (!data) {
var source = fnToString.call(func);
if (!support.funcNames) {
data = !reFuncName.test(source);
}
if (!data) {
// checks if `func` references the `this` keyword and stores the result
data = reThis.test(source) || isNative(func);
setData(func, data);
}
}
}
// exit early if there are no `this` references or `func` is bound
if (data === false || (data !== true && data[1] & BIND_FLAG)) {
return func;
}
switch (argCount) {
case 1: return function(value) {
return func.call(thisArg, value);
};
case 3: return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
case 4: return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
case 5: return function(value, other, key, object, source) {
return func.call(thisArg, value, other, key, object, source);
};
}
return function() {
return func.apply(thisArg, arguments);
};
// handle "_.pluck" and "_.where" style callback shorthands
return type == 'object' ? matches(func) : property(func);
}
/**
@@ -1418,7 +1427,7 @@
if (Ctor instanceof Ctor) {
Ctor = ctorByClass[className];
}
return new Ctor(cloneBuffer(value.buffer));
return new Ctor(cloneBuffer(value.buffer), value.byteOffset, value.length);
case numberClass:
case stringClass:
@@ -1607,7 +1616,7 @@
}
var index = -1,
indexOf = getIndexOf(),
prereq = indexOf === baseIndexOf,
prereq = indexOf == baseIndexOf,
isLarge = prereq && createCache && values && values.length >= 200,
isCommon = prereq && !isLarge,
result = [],
@@ -2306,7 +2315,7 @@
* @param {Array|Object|string} collection The collection to iterate over.
* @param {Function} iterator The function called per iteration.
* @param {*} accumulator The initial value.
* @param {boolean} initFromCollection Specify using the first element
* @param {boolean} initFromCollection Specify using the first or last element
* of `collection` as the initial value.
* @param {Function} eachFunc The function to iterate over `collection`.
* @returns {*} Returns the accumulated value.
@@ -2377,18 +2386,14 @@
*
* @private
* @param {Array} array The array to inspect.
* @param {boolean} [isSorted=false] Specify the array is sorted.
* @param {Function} [iterator] The function called per iteration.
* @returns {Array} Returns the new duplicate-value-free array.
*/
function baseUniq(array, isSorted, iterator) {
var length = array ? array.length : 0;
if (!length) {
return [];
}
function baseUniq(array, iterator) {
var index = -1,
indexOf = getIndexOf(),
prereq = !isSorted && indexOf === baseIndexOf,
length = array.length,
prereq = indexOf == baseIndexOf,
isLarge = prereq && createCache && length >= 200,
isCommon = prereq && !isLarge,
result = [];
@@ -2397,7 +2402,7 @@
var seen = createCache();
indexOf = cacheIndexOf;
} else {
seen = (iterator && !isSorted) ? [] : result;
seen = iterator ? [] : result;
}
outer:
while (++index < length) {
@@ -2416,12 +2421,6 @@
}
result.push(value);
}
else if (isSorted) {
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
}
else if (indexOf(seen, computed) < 0) {
if (iterator || isLarge) {
seen.push(computed);
@@ -2531,7 +2530,7 @@
function createAggregator(setter, initializer) {
return function(collection, iterator, thisArg) {
var result = initializer ? initializer() : {};
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
if (isArray(collection)) {
var index = -1,
@@ -2808,6 +2807,21 @@
return baseCreateWrapper([func, bitmask, arity, thisArg, partialArgs, partialRightArgs, partialHolders, partialRightHolders]);
}
/**
* Gets the appropriate "callback" function. If the `_.callback` method is
* customized this function returns the custom method, otherwise it returns
* the `baseCallback` function. If arguments are provided the chosen function
* is executed with the arguments and its result is returned.
*
* @private
* @returns {Function} Returns the chosen function or its result.
*/
function getCallback(func, thisArg, argCount) {
var result = lodash.callback || callback;
result = result === callback ? baseCallback : result;
return arguments.length ? result(func, thisArg, argCount) : result;
}
/**
* Finds the indexes of all placeholder elements in `array`.
*
@@ -2831,14 +2845,16 @@
/**
* Gets the appropriate "indexOf" function. If the `_.indexOf` method is
* customized this function returns the custom method, otherwise it returns
* the `baseIndexOf` function.
* the `baseIndexOf` function. If arguments are provided the chosen function
* is executed with the arguments and its result is returned.
*
* @private
* @returns {Function} Returns the "indexOf" function.
* @returns {Function|number} Returns the chosen function or its result.
*/
function getIndexOf() {
function getIndexOf(collection, target, fromIndex) {
var result = lodash.indexOf || indexOf;
return result === indexOf ? baseIndexOf : result;
result = result === indexOf ? baseIndexOf : result;
return collection ? result(collection, target, fromIndex) : result;
}
/**
@@ -2867,6 +2883,18 @@
: (value && type == 'object' && reHostCtor.test(toString.call(value))) || false;
}
/**
* Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
*
* @private
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` if suitable for strict
* equality comparisons, else `false`.
*/
function isStrictComparable(value) {
return value === value && (value === 0 ? (1 / value > 0) : !isObject(value));
}
/**
* Creates a clone of the given array buffer.
*
@@ -2983,6 +3011,33 @@
return result;
}
/**
* An implementation of `_.uniq` optimized for sorted arrays without support
* for callback shorthands and `this` binding.
*
* @private
* @param {Array} array The array to inspect.
* @param {Function} [iterator] The function called per iteration.
* @returns {Array} Returns the new duplicate-value-free array.
*/
function sortedUniq(array, iterator) {
var seen,
index = -1,
length = array.length,
result = [];
while (++index < length) {
var value = array[index],
computed = iterator ? iterator(value, index, array) : value;
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
}
return result;
}
/**
* Converts `collection` to an array if it is not an array-like value.
*
@@ -3196,7 +3251,7 @@
var length = array ? array.length : 0,
index = length;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (index-- && predicate(array[index], index, array)) { }
return slice(array, 0, index + 1);
}
@@ -3244,7 +3299,7 @@
var index = -1,
length = array ? array.length : 0;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (++index < length && predicate(array[index], index, array)) { }
return slice(array, index);
}
@@ -3294,7 +3349,7 @@
var index = -1,
length = array ? array.length : 0;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (++index < length) {
if (predicate(array[index], index, array)) {
return index;
@@ -3347,7 +3402,7 @@
function findLastIndex(array, predicate, thisArg) {
var length = array ? array.length : 0;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (length--) {
if (predicate(array[length], length, array)) {
return length;
@@ -3487,7 +3542,7 @@
argsLength = arguments.length,
caches = [],
indexOf = getIndexOf(),
prereq = createCache && indexOf === baseIndexOf;
prereq = createCache && indexOf == baseIndexOf;
while (++argsIndex < argsLength) {
var value = arguments[argsIndex];
@@ -3691,7 +3746,7 @@
length = array ? array.length : 0,
result = [];
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (++index < length) {
var value = array[index];
if (predicate(value, index, array)) {
@@ -3806,7 +3861,7 @@
* // => 1
*/
function sortedIndex(array, value, iterator, thisArg) {
iterator = iterator == null ? identity : lodash.callback(iterator, thisArg, 1);
iterator = iterator == null ? identity : getCallback(iterator, thisArg, 1);
return baseSortedIndex(array, value, iterator);
}
@@ -3832,7 +3887,7 @@
* // => 4
*/
function sortedLastIndex(array, value, iterator, thisArg) {
iterator = iterator == null ? identity : lodash.callback(iterator, thisArg, 1);
iterator = iterator == null ? identity : getCallback(iterator, thisArg, 1);
return baseSortedIndex(array, value, iterator, true);
}
@@ -3941,7 +3996,7 @@
var length = array ? array.length : 0,
index = length;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (index-- && predicate(array[index], index, array)) { }
return slice(array, index + 1);
}
@@ -3989,7 +4044,7 @@
var index = -1,
length = array ? array.length : 0;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (++index < length && predicate(array[index], index, array)) { }
return slice(array, 0, index);
}
@@ -4073,9 +4128,11 @@
}
}
if (iterator != null) {
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
}
return baseUniq(array, isSorted, iterator);
return (isSorted && getIndexOf() == baseIndexOf)
? sortedUniq(array, iterator)
: baseUniq(array, iterator);
}
/**
@@ -4180,7 +4237,7 @@
/**
* Creates an object composed from arrays of property names and values. Provide
* either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`
* either a single two dimensional array, e.g. `[[key1, value1], [key2, value2]]`
* or two arrays, one of property names and one of corresponding values.
*
* @static
@@ -4413,8 +4470,7 @@
? nativeContains.call(collection, target, fromIndex)
: collection.indexOf(target, fromIndex) > -1;
}
var indexOf = getIndexOf();
return indexOf(collection, target, fromIndex) > -1;
return getIndexOf(collection, target, fromIndex) > -1;
}
/**
@@ -4498,7 +4554,7 @@
*/
function every(collection, predicate, thisArg) {
if (typeof predicate != 'function' || typeof thisArg != 'undefined') {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
}
var func = isArray(collection) ? arrayEvery : baseEvery;
return func(collection, predicate);
@@ -4545,7 +4601,7 @@
* // => [{ 'name': 'barney', 'age': 36 }]
*/
function filter(collection, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
var func = isArray(collection) ? arrayFilter : baseFilter;
return func(collection, predicate);
@@ -4599,7 +4655,7 @@
var index = findIndex(collection, predicate, thisArg);
return index > -1 ? collection[index] : undefined;
}
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return baseFind(collection, predicate, baseEach);
}
@@ -4622,7 +4678,7 @@
* // => 3
*/
function findLast(collection, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return baseFind(collection, predicate, baseEachRight);
}
@@ -4861,7 +4917,7 @@
* // => ['barney', 'fred']
*/
function map(collection, iterator, thisArg) {
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
var func = isArray(collection) ? arrayMap : baseMap;
return func(collection, iterator);
@@ -4919,20 +4975,25 @@
if ((type == 'number' || type == 'string') && thisArg && thisArg[iterator] === collection) {
iterator = null;
}
if (iterator == null && isArray(collection)) {
var noIterator = iterator == null,
isArr = noIterator && isArray(collection),
isStr = !isArr && isString(collection);
if (noIterator && !isStr) {
var index = -1,
length = collection.length;
iterable = toIterable(collection),
length = iterable.length;
while (++index < length) {
var value = collection[index];
var value = iterable[index];
if (value > result) {
result = value;
}
}
} else {
iterator = (iterator == null && isString(collection))
iterator = (noIterator && isStr)
? charAtCallback
: lodash.callback(iterator, thisArg, 3);
: getCallback(iterator, thisArg, 3);
baseEach(collection, function(value, index, collection) {
var current = iterator(value, index, collection);
@@ -4997,20 +5058,25 @@
if ((type == 'number' || type == 'string') && thisArg && thisArg[iterator] === collection) {
iterator = null;
}
if (iterator == null && isArray(collection)) {
var noIterator = iterator == null,
isArr = noIterator && isArray(collection),
isStr = !isArr && isString(collection);
if (noIterator && !isStr) {
var index = -1,
length = collection.length;
iterable = toIterable(collection),
length = iterable.length;
while (++index < length) {
var value = collection[index];
var value = iterable[index];
if (value < result) {
result = value;
}
}
} else {
iterator = (iterator == null && isString(collection))
iterator = (noIterator && isStr)
? charAtCallback
: lodash.callback(iterator, thisArg, 3);
: getCallback(iterator, thisArg, 3);
baseEach(collection, function(value, index, collection) {
var current = iterator(value, index, collection);
@@ -5124,7 +5190,7 @@
*/
function reduce(collection, iterator, accumulator, thisArg) {
var func = isArray(collection) ? arrayReduce : baseReduce;
return func(collection, lodash.callback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEach);
return func(collection, getCallback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEach);
}
/**
@@ -5148,7 +5214,7 @@
*/
function reduceRight(collection, iterator, accumulator, thisArg) {
var func = isArray(collection) ? arrayReduceRight : baseReduce;
return func(collection, lodash.callback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEachRight);
return func(collection, getCallback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEachRight);
}
/**
@@ -5190,7 +5256,7 @@
* // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
*/
function reject(collection, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return filter(collection, negate(predicate));
}
@@ -5327,7 +5393,7 @@
*/
function some(collection, predicate, thisArg) {
if (typeof predicate != 'function' || typeof thisArg != 'undefined') {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
}
var func = isArray(collection) ? arraySome : baseSome;
return func(collection, predicate);
@@ -5392,7 +5458,7 @@
result.length = length;
}
if (!multi) {
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
}
baseEach(collection, function(value, key, collection) {
if (multi) {
@@ -6488,7 +6554,7 @@
* // => 'fred'
*/
function findKey(object, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return baseFind(object, predicate, baseForOwn, true);
}
@@ -6534,7 +6600,7 @@
* // => 'pebbles'
*/
function findLastKey(object, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return baseFind(object, predicate, baseForOwnRight, true);
}
@@ -6740,7 +6806,7 @@
}
/**
* Checks if `value` is an `arguments` object.
* Checks if `value` is classified as an `arguments` object.
*
* @static
* @memberOf _
@@ -6762,19 +6828,20 @@
// fallback for environments without a `[[Class]]` for `arguments` objects
if (!support.argsClass) {
isArguments = function(value) {
return (value && typeof value == 'object' && typeof value.length == 'number' &&
var length = (value && typeof value == 'object') ? value.length : undefined;
return (typeof length == 'number' && length > -1 && length <= MAX_SAFE_INTEGER &&
hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee')) || false;
};
}
/**
* Checks if `value` is an array.
* Checks if `value` is classified as an `Array` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isArray([1, 2, 3]);
@@ -6789,13 +6856,13 @@
};
/**
* Checks if `value` is a boolean value.
* Checks if `value` is classified as a boolean primitive or object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a boolean value, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isBoolean(false);
@@ -6810,13 +6877,13 @@
}
/**
* Checks if `value` is a `Date` object.
* Checks if `value` is classified as a `Date` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a date object, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isDate(new Date);
@@ -6938,23 +7005,9 @@
*/
function isEqual(value, other, customizer, thisArg) {
customizer = typeof customizer == 'function' && baseCallback(customizer, thisArg, 3);
if (!customizer) {
// exit early for identical values
if (value === other) {
// treat `-0` vs. `+0` as not equal
return value !== 0 || (1 / value == 1 / other);
}
var valType = typeof value,
othType = typeof other;
// exit early for unlike primitive values
if (value === value && (value == null || other == null ||
(valType != 'function' && valType != 'object' && othType != 'function' && othType != 'object'))) {
return false;
}
}
return baseIsEqual(value, other, customizer);
return (!customizer && isStrictComparable(value) && isStrictComparable(other))
? value === other
: baseIsEqual(value, other, customizer);
}
/**
@@ -6979,7 +7032,7 @@
}
/**
* Checks if `value` is a finite number.
* Checks if `value` is a finite primitive number.
*
* Note: This method is based on ES6 `Number.isFinite`. See the
* [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite)
@@ -6989,7 +7042,7 @@
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is finite, else `false`.
* @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
* @example
*
* _.isFinite(10);
@@ -7012,13 +7065,13 @@
};
/**
* Checks if `value` is a function.
* Checks if `value` is classified as a `Function` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isFunction(_);
@@ -7121,16 +7174,16 @@
}
/**
* Checks if `value` is a `Number` primitive or object.
* Checks if `value` is classified as a `Number` primitive or object.
*
* Note: `NaN` is considered a number. See the [ES5 spec](http://es5.github.io/#x8.5)
* for more details.
* Note: To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified
* as numbers, use the `_.isFinite` method.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a number, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isNumber(8.4);
@@ -7192,13 +7245,13 @@
};
/**
* Checks if `value` is a `RegExp` object.
* Checks if `value` is classified as a `RegExp` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a regexp object, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isRegExp(/abc/);
@@ -7212,13 +7265,13 @@
}
/**
* Checks if `value` is a `String` primitive or object.
* Checks if `value` is classified as a `String` primitive or object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a string, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isString('abc');
@@ -7398,7 +7451,7 @@
*/
function mapValues(object, iterator, thisArg) {
var result = {};
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
baseForOwn(object, function(value, key, object) {
result[key] = iterator(value, key, object);
@@ -7491,7 +7544,7 @@
return {};
}
if (typeof predicate == 'function') {
return basePick(object, negate(lodash.callback(predicate, thisArg, 3)));
return basePick(object, negate(getCallback(predicate, thisArg, 3)));
}
var omitProps = baseFlatten(arguments, false, false, 1);
return basePick(Object(object), baseDifference(keysIn(object), arrayMap(omitProps, String)));
@@ -7499,7 +7552,7 @@
/**
* Creates a two dimensional array of a given object's key-value pairs,
* i.e. `[[key1, value1], [key2, value2]]`.
* e.g. `[[key1, value1], [key2, value2]]`.
*
* @static
* @memberOf _
@@ -7557,7 +7610,7 @@
}
return basePick(Object(object),
typeof predicate == 'function'
? lodash.callback(predicate, thisArg, 3)
? getCallback(predicate, thisArg, 3)
: baseFlatten(arguments, false, false, 1)
);
}
@@ -7608,7 +7661,7 @@
}
}
if (iterator) {
iterator = lodash.callback(iterator, thisArg, 4);
iterator = getCallback(iterator, thisArg, 4);
(isArr ? arrayEach : baseForOwn)(object, function(value, index, object) {
return iterator(accumulator, value, index, object);
});
@@ -7768,7 +7821,11 @@
* // => 'fred, barney, &amp; pebbles'
*/
function escape(string) {
return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar);
// reset `lastIndex` because in IE < 9 `String#replace` does not
string = string == null ? '' : String(string);
return (reUnescapedHtml.lastIndex = 0, reUnescapedHtml.test(string))
? string.replace(reUnescapedHtml, escapeHtmlChar)
: string;
}
/**
@@ -7786,7 +7843,10 @@
* // => '\[lodash\]\(http://lodash\.com\)'
*/
function escapeRegExp(string) {
return string == null ? '' : String(string).replace(reRegExpChars, '\\$&');
string = string == null ? '' : String(string);
return (reRegExpChars.lastIndex = 0, reRegExpChars.test(string))
? string.replace(reRegExpChars, '\\$&')
: string;
}
/**
@@ -7937,6 +7997,9 @@
return result;
}
string = String(string);
// leverage the exponentiation by squaring algorithm for a faster repeat
// http://en.wikipedia.org/wiki/Exponentiation_by_squaring
do {
if (n % 2) {
result += string;
@@ -8007,7 +8070,7 @@
* properties may be accessed as free variables in the template. If a setting
* object is provided it overrides `_.templateSettings` for the template.
*
* Note: In the development build, `_.template` utilizes sourceURLs for easier debugging.
* Note: In the development build `_.template` utilizes sourceURLs for easier debugging.
* See the [HTML5 Rocks article on sourcemaps](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
* for more details.
*
@@ -8046,22 +8109,27 @@
* compiled({ 'people': ['fred', 'barney'] });
* // => '<li>fred</li><li>barney</li>'
*
* // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
* var compiled = _.template('hello ${ name }');
* compiled({ 'name': 'pebbles' });
* // => 'hello pebbles'
*
* // using the internal `print` function in "evaluate" delimiters
* var compiled = _.template('<% print("hello " + name); %>!');
* compiled({ 'name': 'barney' });
* // => 'hello barney!'
*
* // using a custom template delimiters
* // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
* var compiled = _.template('hello ${ name }');
* compiled({ 'name': 'pebbles' });
* // => 'hello pebbles'
*
* // using custom template delimiters
* _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
* var compiled = _.template('hello {{ name }}!');
* compiled({ 'name': 'mustache' });
* // => 'hello mustache!'
*
* // using backslashes to treat delimiters as plain text
* var compiled = _.template('<%= "\\<%- value %\\>" %>');
* compiled({ 'value': 'ignored' });
* // => '<%- value %>'
*
* // using the `imports` option to import `jQuery` as `jq`
* var text = '<% jq.each(people, function(name) { %><li><%- name %></li><% }); %>';
* var compiled = _.template(text, { 'imports': { 'jq': jQuery } });
@@ -8377,11 +8445,10 @@
* // => 'fred, barney & pebbles'
*/
function unescape(string) {
if (string == null) {
return '';
}
string = String(string);
return string.indexOf(';') < 0 ? string : string.replace(reEscapedHtml, unescapeHtmlChar);
string = string == null ? '' : String(string);
return (reEscapedHtml.lastIndex = 0, reEscapedHtml.test(string))
? string.replace(reEscapedHtml, unescapeHtmlChar)
: string;
}
/*--------------------------------------------------------------------------*/
@@ -8425,7 +8492,6 @@
* @category Utility
* @param {*} [func=identity] The value to convert to a callback.
* @param {*} [thisArg] The `this` binding of the created callback.
* @param {number} [argCount] The number of arguments the callback accepts.
* @returns {Function} Returns the new function.
* @example
*
@@ -8435,9 +8501,12 @@
* ];
*
* // wrap to create custom callback shorthands
* _.callback = _.wrap(_.callback, function(func, callback, thisArg) {
* var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
* return !match ? func(callback, thisArg) : function(object) {
* _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
* var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
* if (!match) {
* return callback(func, thisArg);
* }
* return function(object) {
* return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
* };
* });
@@ -8445,18 +8514,8 @@
* _.filter(characters, 'age__gt38');
* // => [{ 'name': 'fred', 'age': 40 }]
*/
function callback(func, thisArg, argCount) {
var type = typeof func,
isFunc = type == 'function';
if (isFunc && typeof thisArg == 'undefined') {
return func;
}
if (isFunc || func == null) {
return baseCallback(func, thisArg, argCount);
}
// handle "_.pluck" and "_.where" style callback shorthands
return type == 'object' ? matches(func) : property(func);
function callback(func, thisArg) {
return baseCallback(func, thisArg);
}
/**
@@ -8525,17 +8584,28 @@
*/
function matches(source) {
var props = keys(source),
length = props.length,
index = length,
modes = Array(length),
length = props.length;
if (length == 1) {
var key = props[0],
value = source[key];
if (isStrictComparable(value)) {
return function(object) {
return object != null && value === object[key] && hasOwnProperty.call(object, key);
};
}
}
var index = length,
flags = Array(length),
vals = Array(length);
while (index--) {
var value = source[props[index]],
isDeep = value !== value || (value === 0 && 1 / value < 0) || isObject(value);
value = source[props[index]];
var isStrict = isStrictComparable(value);
modes[index] = isDeep;
vals[index] = isDeep ? baseClone(value, isDeep) : value;
flags[index] = isStrict;
vals[index] = isStrict ? value : baseClone(value, false);
}
return function(object) {
index = length;
@@ -8543,13 +8613,13 @@
return !index;
}
while (index--) {
if (modes[index] ? !hasOwnProperty.call(object, props[index]) : vals[index] !== object[props[index]]) {
if (flags[index] ? vals[index] !== object[props[index]] : !hasOwnProperty.call(object, props[index])) {
return false;
}
}
index = length;
while (index--) {
if (modes[index] ? !baseIsEqual(vals[index], object[props[index]], null, true) : !hasOwnProperty.call(object, props[index])) {
if (flags[index] ? !hasOwnProperty.call(object, props[index]) : !baseIsEqual(vals[index], object[props[index]], null, true)) {
return false;
}
}

View File

@@ -4,70 +4,70 @@
* Build: `lodash -o ./dist/lodash.compat.js`
*/
;(function(){function n(n,t){for(var r=-1,e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function t(n,t){if(n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return 0}function r(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 e(n,t){return n.has(t)?0:-1}function u(n){return n.charCodeAt(0)}function o(n,t){for(var r=-1,e=n.length;++r<e&&-1<t.indexOf(n.charAt(r)););return r}function i(n,t){for(var r=n.length;r--&&-1<t.indexOf(n.charAt(r)););return r
}function a(n,r){return t(n.a,r.a)||n.b-r.b}function f(n,r){for(var e=-1,u=n.a,o=r.a,i=u.length;++e<i;){var a=t(u[e],o[e]);if(a)return a}return n.b-r.b}function c(n){return function(t){for(var r=-1,e=(t=null!=t&&(t+"").replace(K,l).match(G))?t.length:0,u="";++r<e;)u=n(u,t[r],r,t);return u}}function l(n){return Ot[n]}function s(n){return kt[n]}function p(n){return"\\"+Ct[n]}function h(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function g(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);
if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break}return t}function v(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function y(n){return Et[n]}function m(l){function K(n){if(n&&typeof n=="object"){if(n instanceof G)return n;!ku(n)&&Ve.call(n,"__wrapped__")&&(n=n.__wrapped__)
}return new G(n)}function G(n,t){this.__chain__=!!t,this.__wrapped__=n}function kt(n,t){for(var r=-1,e=n?n.length:0;++r<e&&false!==t(n[r],r,n););return n}function Et(n,t){for(var r=-1,e=n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function Ot(n,t){for(var r=-1,e=n?n.length:0,u=we(e);++r<e;)u[r]=t(n[r],r,n);return u}function It(n,t){for(var r=-1,e=n.length,u=[];++r<e;){var o=n[r];t(o,r,n)&&u.push(o)}return u}function Ct(n,t,r,e){var u=-1,o=n.length;for(e&&o&&(r=n[++u]);++u<o;)r=t(r,n[u],u,n);return r
}function Rt(n,t,r,e){var u=n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function Ft(n,t){for(var r=-1,e=n.length;++r<e;)if(t(n[r],r,n))return true;return false}function Tt(n,t){return typeof n=="undefined"?t:n}function Lt(n,t,r,e){return typeof n!="undefined"&&Ve.call(e,r)?n:t}function Nt(n,t,r){for(var e=-1,u=Iu(t),o=u.length;++e<o;){var i=u[e];n[i]=r?r(n[i],t[i],i,n,t):t[i]}return n}function Wt(n,t,r){if(typeof n!="function")return me;if(typeof t=="undefined")return n;var e=n[O];if(typeof e=="undefined"&&(yu.funcNames&&(e=!n.name),e=e||!yu.funcDecomp,!e)){var u=Ne.call(n);
yu.funcNames||(e=!z.test(u)),e||(e=J.test(u)||Ar(n),du(n,e))}if(false===e||true!==e&&e[1]&_)return n;switch(r){case 1:return function(r){return n.call(t,r)};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)};case 5:return function(r,e,u,o,i){return n.call(t,r,e,u,o,i)}}return function(){return n.apply(t,arguments)}}function Pt(n,t,r,e,u){var o=r?r(n):d;if(typeof o!="undefined")return o;var i=ku(n),a=!t;if(i){if(o=a?Fr(n):n.constructor(n.length),"string"==typeof n[0]&&Ve.call(n,"index")&&(o.index=n.index,o.input=n.input),a)return o
}else{if(!ae(n))return n;var f=Pe.call(n);if(!jt[f]||!yu.nodeClass&&h(n))return n;var c=f==tt||!yu.argsClass&&ee(n),l=!c&&f==ft;if(a&&(c||l)&&(o=Nt({},n),l))return o;var s=n.constructor;if(f!=ft||ie(s)&&s instanceof s||(s=Oe),t&&(c||l))o=new s;else switch(f){case st:return xr(n);case et:case ut:return new s(+n);case pt:case ht:case gt:case vt:case yt:case mt:case dt:case bt:case _t:return s instanceof s&&(s=gu[f]),new s(xr(n.buffer));case at:case lt:return new s(n);case ct:return o=s(n.source,M.exec(n)),o.lastIndex=n.lastIndex,o
}}if(c&&(o.length=n.length),a)return o;for(e||(e=[]),u||(u=[]),a=e.length;a--;)if(e[a]==n)return u[a];return e.push(n),u.push(o),(i?kt:Ht)(n,function(n,i){var a=r?r(n,i):d;o[i]=typeof a=="undefined"?Pt(n,t,null,e,u):a}),o}function $t(n){return ae(n)?eu(n):{}}function Bt(n){function t(){for(var n=arguments.length,m=n,d=we(n);m--;)d[m]=arguments[m];if(a){for(var m=e.length,b=-1,j=au(d.length-m,0),A=-1,x=a.length,O=we(j+x);++A<x;)O[A]=a[A];for(;++b<m;)O[e[b]]=d[b];for(;j--;)O[A++]=d[b++];d=O}if(f){for(var m=-1,b=c.length,j=-1,I=au(d.length-b,0),A=-1,x=f.length,O=we(I+x);++j<I;)O[j]=d[j];
for(I=j;++A<x;)O[I+A]=f[A];for(;++m<b;)O[I+c[m]]=d[j++];d=O}return(p||h)&&(m=_r(d),n-=m.length,n<o)?(r|=p?k:E,r&=~(p?E:k),g||(r&=~(_|w)),n=[u,r,au(o-n,0),i],n[p?4:5]=d,n[p?6:7]=m,Bt(n)):(n=l?i:this,s&&(u=n[y]),(this instanceof t?v||yr(u):u).apply(n,d))}var r=n[1];if(r==_)return du(vr(n),n);var e=n[6];if((r==k||r==(_|k))&&!e.length)return du(dr(n),n);var u=n[0],o=n[2],i=n[3],a=n[4],f=n[5],c=n[7],l=r&_,s=r&w,p=r&j,h=r&A,g=r&x,v=!s&&yr(u),y=u;return du(t,n)}function Dt(n,t,r){return typeof r!="number"&&(r=+r||(n?n.length:0)),br(n,t,r)
}function Mt(n,t){var u=n?n.length:0;if(!u)return[];var o=-1,i=wr(),a=i===r,f=a&&mu&&t&&200<=t.length,a=a&&!f,c=[],l=t?t.length:0;f&&(i=e,t=mu(t));n:for(;++o<u;)if(f=n[o],a){for(var s=l;s--;)if(t[s]===f)continue n;c.push(f)}else 0>i(t,f)&&c.push(f);return c}function zt(n,t){var r=n?n.length:0;if(typeof r!="number"||-1>=r||r>S)return Ht(n,t);for(var e=-1,u=Or(n);++e<r&&false!==t(u[e],e,n););return n}function qt(n,t){var r=n?n.length:0;if(typeof r!="number"||-1>=r||r>S)return Qt(n,t);for(var e=Or(n);r--&&false!==t(e[r],r,n););return n
}function Zt(n,t){var r=true;return zt(n,function(n,e,u){return r=!!t(n,e,u)}),r}function Kt(n,t){var r=[];return zt(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function Vt(n,t,r,e){var u;return r(n,function(n,r,o){return t(n,r,o)?(u=e?r:n,false):void 0}),u}function Yt(n,t,r,e){e=(e||0)-1;for(var u=n.length,o=0,i=[];++e<u;){var a=n[e];if(a&&typeof a=="object"&&typeof a.length=="number"&&(ku(a)||ee(a))){t&&(a=Yt(a,t,r));var f=-1,c=a.length;for(i.length+=c;++f<c;)i[o++]=a[f]}else r||(i[o++]=a)}return i}function Jt(n,t,r){var e=-1;
r=r(n);for(var u=r.length;++e<u;){var o=r[e];if(false===t(n[o],o,n))break}return n}function Xt(n,t,r){r=r(n);for(var e=r.length;e--;){var u=r[e];if(false===t(n[u],u,n))break}return n}function Gt(n,t){Jt(n,t,se)}function Ht(n,t){return Jt(n,t,Iu)}function Qt(n,t){return Xt(n,t,Iu)}function nr(n,t){for(var r=-1,e=t(n),u=e.length,o=[];++r<u;){var i=e[r];ie(n[i])&&o.push(i)}return o}function tr(n,t,r,e,u,o){var i=r&&!u?r(n,t):d;if(typeof i!="undefined")return!!i;if(n===t)return 0!==n||1/n==1/t;var a=typeof n,f=typeof t;
if(n===n&&(null==n||null==t||"function"!=a&&"object"!=a&&"function"!=f&&"object"!=f))return false;var c=Pe.call(n),l=c==tt,a=Pe.call(t),i=a==tt;if(l&&(c=ft),i&&(a=ft),c!=a)return false;if(f=wt[c],a=c==ot,f){var l=n.length,s=t.length;if(l!=s&&(!e||s<=l))return false}else{if(!a&&(c!=ft||!yu.nodeClass&&(h(n)||h(t)))){switch(c){case et:case ut:return+n==+t;case at:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case ct:case lt:return n==Ce(t)}return false}var p=Ve.call(n,"__wrapped__"),c=Ve.call(t,"__wrapped__");if(p||c)return tr(p?n.__wrapped__:n,c?t.__wrapped__:t,r,e,u,o);
if(yu.argsClass||(l=ee(n),i=ee(t)),p=l?Oe:n.constructor,c=i?Oe:t.constructor,a){if(p.prototype.name!=c.prototype.name)return false}else{var s=!l&&Ve.call(n,"constructor"),g=!i&&Ve.call(t,"constructor");if(s!=g||!(s||p==c||ie(p)&&p instanceof p&&ie(c)&&c instanceof c)&&"constructor"in n&&"constructor"in t)return false}if(p=a?["message","name"]:Iu(n),c=a?p:Iu(t),l&&p.push("length"),i&&c.push("length"),l=p.length,s=c.length,l!=s&&!e)return false}for(u||(u=[]),o||(o=[]),c=u.length;c--;)if(u[c]==n)return o[c]==t;
if(u.push(n),o.push(t),i=true,f)for(;i&&++c<l;)if(f=n[c],e)for(a=s;a--&&!(i=tr(f,t[a],r,e,u,o)););else g=t[c],i=r?r(f,g,c):d,typeof i=="undefined"&&(i=tr(f,g,r,e,u,o));else for(;i&&++c<l;)s=p[c],(i=a||Ve.call(t,s))&&(f=n[s],g=t[s],i=r?r(f,g,s):d,typeof i=="undefined"&&(i=tr(f,g,r,e,u,o)));return u.pop(),o.pop(),!!i}function rr(n,t,r){var e=-1,u=typeof t=="function",o=n?n.length:0,i=[];return typeof o=="number"&&-1<o&&o<=S&&(i.length=o),zt(n,function(n){var o=u?t:null!=n&&n[t];i[++e]=o?o.apply(n,r):d
}),i}function er(n,t){var r=[];return zt(n,function(n,e,u){r.push(t(n,e,u))}),r}function ur(n,t,r,e,u){var o=jr(t);return(o?kt:Ht)(t,function(t,i,a){var f=t&&jr(t),c=t&&Ou(t),l=n[i];if(f||c){for(e||(e=[]),u||(u=[]),c=e.length;c--;)if(e[c]==t)return void(n[i]=u[c]);a=r?r(l,t,i,n,a):d,(c=typeof a=="undefined")&&(a=f?ku(l)?l:[]:Ou(l)?l:{}),e.push(t),u.push(a),c&&ur(a,t,r,e,u),n[i]=a}else a=r?r(l,t,i,n,a):d,typeof a=="undefined"&&(a=t),(o||typeof a!="undefined")&&(n[i]=a)}),n}function or(n,t,r,e){if(n)var u=n[O],u=u?u[2]:n.length,u=u-r.length;
var o=t&k;return br(n,t,u,e,o&&r,!o&&r)}function ir(n,t){var r={};if(typeof t=="function")return Gt(n,function(n,e,u){t(n,e,u)&&(r[e]=n)}),r;for(var e=-1,u=t.length;++e<u;){var o=t[e];o in n&&(r[o]=n[o])}return r}function ar(n,t){return n+Ze(pu()*(t-n+1))}function fr(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function cr(n,t){var r;return zt(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function lr(n,t,r,e){var u=0,o=n?n.length:u;for(t=r(t);u<o;){var i=u+o>>>1,a=r(n[i]);(e?a<=t:a<t)?u=i+1:o=i
}return o}function sr(n,t,u){var o=n?n.length:0;if(!o)return[];var i=-1,a=wr(),f=!t&&a===r,c=f&&mu&&200<=o,f=f&&!c,l=[];if(c)var s=mu(),a=e;else s=u&&!t?[]:l;n:for(;++i<o;){var p=n[i],h=u?u(p,i,n):p;if(f){for(var g=s.length;g--;)if(s[g]===h)continue n;u&&s.push(h),l.push(p)}else t?i&&s===h||(s=h,l.push(p)):0>a(s,h)&&((u||c)&&s.push(h),l.push(p))}return l}function pr(n,t){for(var r=-1,e=t(n),u=e.length,o=we(u);++r<u;)o[r]=n[e[r]];return o}function hr(n,t){return function(r,e,u){var o=t?t():{};if(e=K.callback(e,u,3),ku(r)){u=-1;
for(var i=r.length;++u<i;){var a=r[u];n(o,a,e(a,u,r),r)}}else zt(r,function(t,r,u){n(o,t,e(t,r,u),u)});return o}}function gr(n){return function(t){var r=arguments,e=r.length;if(null==t||2>e)return t;var u=typeof r[2];if("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2),3<e&&"function"==typeof r[e-2])var o=Wt(r[--e-1],r[e--],5);else 2<e&&"function"==typeof r[e-1]&&(o=r[--e]);for(u=0;++u<e;)n(t,r[u],o);return t}}function vr(n){function t(){return(this instanceof t?u:r).apply(e,arguments)}var r=n[0],e=n[3],u=yr(r);
return t}function yr(n){return function(){var t=$t(n.prototype),r=n.apply(t,arguments);return ae(r)?r:t}}function mr(n,t,r){return n=n.length,t=+t,n<t&&ou(t)?(t-=n,r=null==r?" ":Ce(r),ge(r,Me(t/r.length)).slice(0,t)):""}function dr(n){function t(){for(var n=0,a=arguments.length,f=-1,c=u.length,l=we(a+c);++f<c;)l[f]=u[f];for(;a--;)l[f++]=arguments[n++];return(this instanceof t?i:r).apply(o?e:this,l)}var r=n[0],e=n[3],u=n[4],o=n[1]&_,i=yr(r);return t}function br(n,t,r,e,u,o){var i=t&_,a=t&w,f=t&k,c=t&E;
if(!a&&!ie(n))throw new Se(I);f&&!u.length&&(t&=~k,f=u=false),c&&!o.length&&(t&=~E,c=o=false);var l=!a&&n[O];if(l&&true!==l)return l=Fr(l),l[4]&&(l[4]=Fr(l[4])),l[5]&&(l[5]=Fr(l[5])),typeof r=="number"&&(l[2]=r),n=l[1]&_,i&&!n&&(l[3]=e),!i&&n&&(t|=x),f&&(l[4]?Ye.apply(l[4],u):l[4]=u),c&&(l[5]?nu.apply(l[5],o):l[5]=o),l[1]|=t,br.apply(d,l);if(f)var s=_r(u);if(c)var p=_r(o);return null==r&&(r=a?0:n.length),r=au(r,0),Bt([n,t,r,e,u,o,s,p])}function _r(n){for(var t=-1,r=n.length,e=[];++t<r;)n[t]===K&&e.push(t);
return e}function wr(){var n=K.indexOf||Sr;return n===Sr?r:n}function jr(n){return n&&typeof n=="object"&&typeof n.length=="number"&&wt[Pe.call(n)]||false}function Ar(n){var t=typeof n;return"function"==t?$e.test(Ne.call(n)):n&&"object"==t&&Z.test(Pe.call(n))||false}function xr(n){return De.call(n,0)}function kr(n){var t,r;return!n||Pe.call(n)!=ft||!Ve.call(n,"constructor")&&(t=n.constructor,ie(t)&&!(t instanceof t))||!yu.argsClass&&ee(n)||!yu.nodeClass&&h(n)?false:yu.ownLast?(Gt(n,function(n,t,e){return r=Ve.call(e,t),false
}),false!==r):(Gt(n,function(n,t){r=t}),typeof r=="undefined"||Ve.call(n,r))}function Er(n){for(var t,r=-1,e=se(n),u=e.length,o=u&&n.length,i=o-1,a=[],o=typeof o=="number"&&0<o&&(ku(n)||yu.nonEnumArgs&&ee(n)||yu.nonEnumStrings&&le(n));++r<u;){var f=e[r];(o&&(t=+f,-1<t&&t<=i&&0==t%1)||Ve.call(n,f))&&a.push(f)}return a}function Or(n){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=S?yu.unindexedChars&&le(n)?n.split(""):n||[]:pe(n)}function Ir(n,t,r){var e=-1,u=n?n.length:0;for(t=K.callback(t,r,3);++e<u;)if(t(n[e],e,n))return e;
return-1}function Cr(n){return n?n[0]:d}function Sr(n,t,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?au(u+e,0):e||0;else if(e)return e=Ur(n,t),u&&n[e]===t?e:-1;return r(n,t,e)}function Rr(n){return Fr(n,1)}function Fr(n,t,r){var e=-1,u=n?n.length:0;for(t=null==t?0:+t||0,0>t?t=au(u+t,0):t>u&&(t=u),r=typeof r=="undefined"?u:+r||0,0>r?r=au(u+r,0):r>u&&(r=u),u=t>r?0:r-t,r=we(u);++e<u;)r[e]=n[t+e];return r}function Ur(n,t,r,e){return r=null==r?me:K.callback(r,e,1),lr(n,t,r)}function Tr(n,t,r,e){return r=null==r?me:K.callback(r,e,1),lr(n,t,r,true)
}function Lr(n,t,r,e){if(!n||!n.length)return[];var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(r=K.callback(r,e,3)),sr(n,t,r)}function Nr(n){for(var t=-1,r=ae(r=Kr(n,"length"))&&r.length||0,e=we(r);++t<r;)e[t]=Vr(n,t);return e}function Wr(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||ku(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Pr(){return this.__wrapped__}function $r(n,t,r){var e=n?n.length:0;
return typeof e=="number"&&-1<e&&e<=S||(n=pe(n),e=n.length),r=typeof r=="number"?0>r?au(e+r,0):r||0:0,typeof n=="string"||!ku(n)&&le(n)?r<e?ru?ru.call(n,t,r):-1<n.indexOf(t,r):false:-1<wr()(n,t,r)}function Br(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=K.callback(t,r,3)),(ku(n)?Et:Zt)(n,t)}function Dr(n,t,r){return t=K.callback(t,r,3),(ku(n)?It:Kt)(n,t)}function Mr(n,t,r){return ku(n)?(t=Ir(n,t,r),-1<t?n[t]:d):(t=K.callback(t,r,3),Vt(n,t,zt))}function zr(n,t,r){return typeof t=="function"&&typeof r=="undefined"&&ku(n)?kt(n,t):zt(n,Wt(t,r,3))
}function qr(n,t,r){if(typeof t=="function"&&typeof r=="undefined"&&ku(n))for(r=n?n.length:0;r--&&false!==t(n[r],r,n););else n=qt(n,Wt(t,r,3));return n}function Zr(n,t,r){return t=K.callback(t,r,3),(ku(n)?Ot:er)(n,t)}function Kr(n,t,r){var e=-1/0,o=e,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&ku(n))for(r=-1,i=n.length;++r<i;){var a=n[r];a>o&&(o=a)}else t=null==t&&le(n)?u:K.callback(t,r,3),zt(n,function(n,r,u){r=t(n,r,u),(r>e||-1/0===r&&r===o)&&(e=r,o=n)});return o}function Vr(n,t){return Zr(n,_e(t))
}function Yr(n,t,r,e){return(ku(n)?Ct:fr)(n,K.callback(t,e,4),r,3>arguments.length,zt)}function Jr(n,t,r,e){return(ku(n)?Rt:fr)(n,K.callback(t,e,4),r,3>arguments.length,qt)}function Xr(n){n=Or(n);for(var t=-1,r=n.length,e=we(r);++t<r;){var u=ar(0,t);t!=u&&(e[t]=e[u]),e[u]=n[t]}return e}function Gr(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=K.callback(t,r,3)),(ku(n)?Ft:cr)(n,t)}function Hr(n,t){var r;if(!ie(t))throw new Se(I);return function(){return 0<--n?r=t.apply(this,arguments):t=null,r
}}function Qr(n,t,r){function e(){var r=t-(Uu()-c);0>=r||r>t?(a&&ze(a),r=p,a=s=p=d,r&&(h=Uu(),f=n.apply(l,i),s||a||(i=l=null))):s=Ge(e,r)}function u(){s&&ze(s),a=s=p=d,(v||g!==t)&&(h=Uu(),f=n.apply(l,i),s||a||(i=l=null))}function o(){if(i=arguments,c=Uu(),l=this,p=v&&(s||!y),false===g)var r=y&&!s;else{a||y||(h=c);var o=g-(c-h),m=0>=o||o>g;m?(a&&(a=ze(a)),h=c,f=n.apply(l,i)):a||(a=Ge(u,o))}return m&&s?s=ze(s):s||t===g||(s=Ge(e,t)),r&&(m=true,f=n.apply(l,i)),!m||s||a||(i=l=null),f}var i,a,f,c,l,s,p,h=0,g=false,v=true;
if(!ie(n))throw new Se(I);if(t=0>t?0:t,true===r)var y=true,v=false;else ae(r)&&(y=r.leading,g="maxWait"in r&&au(+r.maxWait||0,t),v="trailing"in r?r.trailing:v);return o.cancel=function(){s&&ze(s),a&&ze(a),a=s=p=d},o}function ne(n){if(!ie(n))throw new Se(I);return function(){return!n.apply(this,arguments)}}function te(n){return or(n,k,Fr(arguments,1))}function re(n){return nr(n,se)}function ee(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Pe.call(n)==tt||false}function ue(n){return n&&typeof n=="object"&&1===n.nodeType&&(yu.nodeClass?-1<Pe.call(n).indexOf("Element"):h(n))||false
}function oe(n){return n&&typeof n=="object"&&Pe.call(n)==ot||false}function ie(n){return typeof n=="function"||false}function ae(n){var t=typeof n;return"function"==t||n&&"object"==t||false}function fe(n){var t=typeof n;return"number"==t||n&&"object"==t&&Pe.call(n)==at||false}function ce(n){return ae(n)&&Pe.call(n)==ct||false}function le(n){return typeof n=="string"||n&&typeof n=="object"&&Pe.call(n)==lt||false}function se(n){if(null==n)return[];n=Oe(n);for(var t,r=n.length,r=typeof r=="number"&&0<r&&(ku(n)||yu.nonEnumStrings&&le(n)||yu.nonEnumArgs&&ee(n))&&r||0,e=n.constructor,u=-1,o=e&&n===e.prototype,i=r-1,e=we(r),a=0<r,f=yu.enumErrorProps&&(n===Fe||n instanceof Ae),c=yu.enumPrototypes&&typeof n=="function";++u<r;)e[u]=Ce(u);
for(var l in n)o&&"constructor"==l||c&&"prototype"==l||f&&("message"==l||"name"==l)||a&&(t=+l,-1<t&&t<=i&&0==t%1)||e.push(l);if(yu.nonEnumShadows&&n!==Ue){if(u=-1,r=nt.length,o){t=n===Te?lt:n===Fe?ot:Pe.call(n);var s=vu[t]}for(;++u<r;)l=nt[u],s&&s[l]||!Ve.call(n,l)||e.push(l)}return e}function pe(n){return pr(n,Iu)}function he(n){return null==n?"":Ce(n).replace(Y,"\\$&")}function ge(n,t){var r="";if(t=+t,1>t||null==n||!ou(t))return r;n=Ce(n);do t%2&&(r+=n),t=Ze(t/2),n+=n;while(t);return r}function ve(n,t){return(n=null==n?"":Ce(n))?null==t?n.slice(g(n),v(n)+1):(t=Ce(t),n.slice(o(n,t),i(n,t)+1)):n
}function ye(n){try{return n()}catch(t){return oe(t)?t:Ae(t)}}function me(n){return n}function de(n){for(var t=Iu(n),r=t.length,e=r,u=we(r),o=we(r);e--;){var i=n[t[e]],a=i!==i||0===i&&0>1/i||ae(i);u[e]=a,o[e]=a?Pt(i,a):i}return function(n){if(e=r,null==n)return!e;for(;e--;)if(u[e]?!Ve.call(n,t[e]):o[e]!==n[t[e]])return false;for(e=r;e--;)if(u[e]?!tr(o[e],n[t[e]],null,true):!Ve.call(n,t[e]))return false;return true}}function be(n,t,r){var e=true,u=t&&nr(t,Iu);t&&(r||u.length)||(null==r&&(r=t),t=n,n=this,u=nr(t,Iu)),false===r?e=false:ae(r)&&"chain"in r&&(e=r.chain),r=-1;
for(var o=ie(n),i=u?u.length:0;++r<i;){var a=u[r],f=n[a]=t[a];o&&(n.prototype[a]=function(t){return function(){var r=this.__chain__,u=this.__wrapped__,o=[u];if(Ye.apply(o,arguments),o=t.apply(n,o),e||r){if(u===o&&ae(o))return this;o=new n(o),o.__chain__=r}return o}}(f))}return n}function _e(n){return function(t){return null==t?d:t[n]}}l=l?Ut.defaults(St.Object(),l,Ut.pick(St,Q)):St;var we=l.Array,je=l.Date,Ae=l.Error,xe=l.Function,ke=l.Math,Ee=l.Number,Oe=l.Object,Ie=l.RegExp,Ce=l.String,Se=l.TypeError,Re=we.prototype,Fe=Ae.prototype,Ue=Oe.prototype,Te=Ce.prototype,Le=(Le=l.window)&&Le.document,Ne=xe.prototype.toString,We=l._,Pe=Ue.toString,$e=Ie("^"+he(Pe).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Be=Ar(Be=l.ArrayBuffer)&&Be,De=Ar(De=Be&&new Be(0).slice)&&De,Me=ke.ceil,ze=l.clearTimeout,qe=Ar(qe=l.Float64Array)&&qe,Ze=ke.floor,Ke=Ar(Ke=Oe.getPrototypeOf)&&Ke,Ve=Ue.hasOwnProperty,Ye=Re.push,Je=Ue.propertyIsEnumerable,Xe=Ar(Xe=l.Set)&&Xe,Ge=l.setTimeout,He=Re.splice,Qe=Ar(Qe=l.Uint8Array)&&Qe,nu=Re.unshift,tu=function(){try{var n={},t=Ar(t=Oe.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),ru=Ar(ru=Te.contains)&&ru,eu=Ar(eu=Oe.create)&&eu,uu=Ar(uu=we.isArray)&&uu,ou=l.isFinite,iu=Ar(iu=Oe.keys)&&iu,au=ke.max,fu=ke.min,cu=Ar(cu=je.now)&&cu,lu=Ar(lu=Ee.isFinite)&&lu,su=l.parseInt,pu=ke.random,hu=qe&&qe.BYTES_PER_ELEMENT,gu={};gu[pt]=l.Float32Array,gu[ht]=l.Float64Array,gu[gt]=l.Int8Array,gu[vt]=l.Int16Array,gu[yt]=l.Int32Array,gu[mt]=l.Uint8Array,gu[dt]=l.Uint8ClampedArray,gu[bt]=l.Uint16Array,gu[_t]=l.Uint32Array;var vu={};vu[rt]=vu[ut]=vu[at]={constructor:true,toLocaleString:true,toString:true,valueOf:true},vu[et]=vu[lt]={constructor:true,toString:true,valueOf:true},vu[ot]=vu[it]=vu[ct]={constructor:true,toString:true},vu[ft]={constructor:true},kt(nt,function(n){for(var t in vu)if(Ve.call(vu,t)){var r=vu[t];
r[n]=Ve.call(r,n)}});var yu=K.support={};!function(x_){function n(){this.x=1}var t={0:1,length:1},r=[];n.prototype={valueOf:1,y:1};for(var e in new n)r.push(e);for(var u in arguments);for(var o in"x");yu.argsClass=Pe.call(arguments)==tt,yu.enumErrorProps=Je.call(Fe,"message")||Je.call(Fe,"name"),yu.enumPrototypes=Je.call(n,"prototype"),yu.funcDecomp=!Ar(l.WinRTError)&&J.test(m),yu.funcNames=typeof xe.name=="string",yu.nonEnumStrings="0"!=o,yu.nonEnumShadows=!/valueOf/.test(r),yu.ownLast="x"!=r[0],yu.spliceObjects=(He.call(t,0,1),!t[0]),yu.unindexedChars="xx"!="x"[0]+Oe("x")[0];
try{yu.dom=11===Le.createDocumentFragment().nodeType}catch(i){yu.dom=false}try{yu.nodeClass=!(Pe.call(undefined)==ft&&!({toString:0}+""))}catch(a){yu.nodeClass=true}try{yu.nonEnumArgs=!("1"==u&&Ve.call(arguments,u)&&Je.call(arguments,u))}catch(f){yu.nonEnumArgs=true}}(0,0),K.templateSettings={escape:P,evaluate:$,interpolate:B,variable:"",imports:{_:K}},eu||($t=function(){function n(){}return function(t){if(ae(t)){n.prototype=t;var r=new n;n.prototype=null}return r||l.Object()}}());var mu=Xe&&function(n){var t=new Xe,r=n?n.length:0;
for(t.push=t.add;r--;)t.push(n[r]);return t};De||(xr=Be&&Qe?function(n){var t=n.byteLength,r=qe?Ze(t/hu):0,e=r*hu,u=new Be(t);if(r){var o=new qe(u,0,r);o.set(new qe(n,0,r))}return t!=e&&(o=new Qe(u,e),o.set(new Qe(n,e))),u}:me);var du=tu?function(n,t){return xt.value=t,tu(n,O,xt),xt.value=null,n}:me,bu=hr(function(n,t,r){Ve.call(n,r)?n[r]++:n[r]=1}),_u=hr(function(n,t,r){Ve.call(n,r)?n[r].push(t):n[r]=[t]}),wu=hr(function(n,t,r){n[r]=t}),ju=hr(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]
}),Au=te(Hr,2),xu=gr(Nt);yu.argsClass||(ee=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ve.call(n,"callee")&&!Je.call(n,"callee")||false});var ku=uu||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Pe.call(n)==rt||false};yu.dom||(ue=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!Ou(n)||false});var Eu=lu||function(n){return typeof n=="number"&&ou(n)};ie(/x/)&&(ie=function(n){return typeof n=="function"&&Pe.call(n)==it});var Ou=Ke?function(n){if(!n||Pe.call(n)!=ft||!yu.argsClass&&ee(n))return false;
var t=n.valueOf,r=Ar(t)&&(r=Ke(t))&&Ke(r);return r?n==r||Ke(n)==r:kr(n)}:kr,Iu=iu?function(n){n=Oe(n);var t=n.constructor,r=n.length;return t&&n===t.prototype||typeof r=="number"&&0<r||yu.enumPrototypes&&typeof n=="function"?Er(n):iu(n)}:Er,Cu=gr(ur),Su=c(function(n,t,r){return!r&&F.test(t)?n+t.toLowerCase():n+(t.charAt(0)[r?"toUpperCase":"toLowerCase"]()+t.slice(1))}),Ru=c(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Fu=c(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),Uu=cu||function(){return(new je).getTime()
},Tu=8==su(H+"08")?su:function(n,t){return n=ve(n),su(n,+t||(q.test(n)?16:10))};return G.prototype=K.prototype,K.after=function(n,t){if(!ie(t))throw new Se(I);return n=ou(n=+n)?n:0,function(){return 1>--n?t.apply(this,arguments):void 0}},K.assign=xu,K.at=function(t){var r=t?t.length:0;return typeof r=="number"&&-1<r&&r<=S&&(t=Or(t)),n(t,Yt(arguments,false,false,1))},K.before=Hr,K.bind=function(n,t){return 3>arguments.length?br(n,_,null,t):or(n,_|k,Fr(arguments,2),t)},K.bindAll=function(n){for(var t=n,r=1<arguments.length?Yt(arguments,false,false,1):re(n),e=-1,u=r.length;++e<u;){var o=r[e];
t[o]=br(t[o],_,null,t)}return t},K.bindKey=function(n,t){return 3>arguments.length?br(t,_|w,null,n):br(t,_|w|k,null,n,Fr(arguments,2))},K.callback=function(n,t,r){var e=typeof n,u="function"==e;return u&&typeof t=="undefined"?n:u||null==n?Wt(n,t,r):"object"==e?de(n):_e(n)},K.chain=function(n){return n=K(n),n.__chain__=true,n},K.chunk=function(n,t){var r=0,e=n?n.length:0,u=[];for(t=au(+t||1,1);r<e;)u.push(Fr(n,r,r+=t));return u},K.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},K.compose=function(){var n=arguments,t=n.length,r=t-1;if(!t)return function(){};for(;t--;)if(!ie(n[t]))throw new Se(I);return function(){t=r;for(var e=n[t].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},K.constant=function(n){return function(){return n}},K.countBy=bu,K.create=function(n,t){var r=$t(n);return t?Nt(r,t):r},K.curry=function(n,t){return Dt(n,j,t)},K.curryRight=function(n,t){return Dt(n,A,t)},K.debounce=Qr,K.defaults=function(n){if(null==n)return n;var t=Fr(arguments);
return t.push(Tt),xu.apply(d,t)},K.defer=function(n){if(!ie(n))throw new Se(I);var t=Fr(arguments,1);return Ge(function(){n.apply(d,t)},1)},K.delay=function(n,t){if(!ie(n))throw new Se(I);var r=Fr(arguments,2);return Ge(function(){n.apply(d,r)},t)},K.difference=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(ku(r)||ee(r))break}return Mt(arguments[n],Yt(arguments,false,true,++n))},K.drop=function(n,t,r){return t=null==t||r?1:t,Fr(n,0>t?0:t)},K.dropRight=function(n,t,r){var e=n?n.length:0;
return t=e-((null==t||r?1:t)||0),Fr(n,0,0>t?0:t)},K.dropRightWhile=function(n,t,r){var e=n?n.length:0;for(t=K.callback(t,r,3);e--&&t(n[e],e,n););return Fr(n,0,e+1)},K.dropWhile=function(n,t,r){var e=-1,u=n?n.length:0;for(t=K.callback(t,r,3);++e<u&&t(n[e],e,n););return Fr(n,e)},K.filter=Dr,K.flatten=function(n,t,r){if(!n||!n.length)return[];var e=typeof t;return"number"!=e&&"string"!=e||!r||r[t]!==n||(t=false),Yt(n,t)},K.forEach=zr,K.forEachRight=qr,K.forIn=function(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Wt(t,r,3)),Jt(n,t,se)
},K.forInRight=function(n,t,r){return t=Wt(t,r,3),Xt(n,t,se)},K.forOwn=function(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Wt(t,r,3)),Ht(n,t)},K.forOwnRight=function(n,t,r){return t=Wt(t,r,3),Xt(n,t,Iu)},K.functions=re,K.groupBy=_u,K.indexBy=wu,K.initial=function(n){var t=n?n.length:0;return Fr(n,0,t?t-1:0)},K.intersection=function(){for(var n=[],t=-1,u=arguments.length,o=[],i=wr(),a=mu&&i===r;++t<u;){var f=arguments[t];(ku(f)||ee(f))&&(n.push(f),o.push(a&&120<=f.length&&mu(t&&f)))
}var u=n.length,a=n[0],c=-1,l=a?a.length:0,s=[],p=o[0];n:for(;++c<l;)if(f=a[c],0>(p?e(p,f):i(s,f))){for(t=u;--t;){var h=o[t];if(0>(h?e(h,f):i(n[t],f)))continue n}p&&p.push(f),s.push(f)}return s},K.invert=function(n,t){for(var r=-1,e=Iu(n),u=e.length,o={};++r<u;){var i=e[r],a=n[i];t?Ve.call(o,a)?o[a].push(i):o[a]=[i]:o[a]=i}return o},K.invoke=function(n,t){return rr(n,t,Fr(arguments,2))},K.keys=Iu,K.keysIn=se,K.map=Zr,K.mapValues=function(n,t,r){var e={};return t=K.callback(t,r,3),Ht(n,function(n,r,u){e[r]=t(n,r,u)
}),e},K.matches=de,K.memoize=function(n,t){function r(){var e=t?t.apply(this,arguments):arguments[0];if("__proto__"==e)return n.apply(this,arguments);var u=r.cache;return Ve.call(u,e)?u[e]:u[e]=n.apply(this,arguments)}if(!ie(n)||t&&!ie(t))throw new Se(I);return r.cache={},r},K.merge=Cu,K.mixin=be,K.negate=ne,K.omit=function(n,t,r){if(null==n)return{};if(typeof t=="function")return ir(n,ne(K.callback(t,r,3)));var e=Yt(arguments,false,false,1);return ir(Oe(n),Mt(se(n),Ot(e,Ce)))},K.once=Au,K.pairs=function(n){for(var t=-1,r=Iu(n),e=r.length,u=we(e);++t<e;){var o=r[t];
u[t]=[o,n[o]]}return u},K.partial=te,K.partialRight=function(n){return or(n,E,Fr(arguments,1))},K.partition=ju,K.pick=function(n,t,r){return null==n?{}:ir(Oe(n),typeof t=="function"?K.callback(t,r,3):Yt(arguments,false,false,1))},K.pluck=Vr,K.property=_e,K.pull=function(n){for(var t=0,r=arguments.length,e=n?n.length:0;++t<r;)for(var u=-1,o=arguments[t];++u<e;)n[u]===o&&(He.call(n,u--,1),e--);return n},K.pullAt=function(r){var e=r,u=Yt(arguments,false,false,1),o=u.length,i=n(e,u);for(u.sort(t);o--;){var a=parseFloat(u[o]);
if(a!=f&&-1<a&&0==a%1){var f=a;He.call(e,a,1)}}return i},K.range=function(n,t,r){n=+n||0,r=null==r?1:+r||0,null==t?(t=n,n=0):t=+t||0;var e=-1;t=au(Me((t-n)/(r||1)),0);for(var u=we(t);++e<t;)u[e]=n,n+=r;return u},K.reject=function(n,t,r){return t=K.callback(t,r,3),Dr(n,ne(t))},K.remove=function(n,t,r){var e=-1,u=n?n.length:0,o=[];for(t=K.callback(t,r,3);++e<u;)r=n[e],t(r,e,n)&&(o.push(r),He.call(n,e--,1),u--);return o},K.rest=Rr,K.shuffle=Xr,K.slice=Fr,K.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,o=t&&ku(t),i=[];
for(typeof u=="number"&&-1<u&&u<=S&&(i.length=u),o||(t=K.callback(t,r,3)),zt(n,function(n,r,u){if(o)for(r=t.length,u=we(r);r--;)u[r]=n[t[r]];else u=t(n,r,u);i[++e]={a:u,b:e,c:n}}),u=i.length,i.sort(o?f:a);u--;)i[u]=i[u].c;return i},K.take=function(n,t,r){return t=null==t||r?1:t,Fr(n,0,0>t?0:t)},K.takeRight=function(n,t,r){var e=n?n.length:0;return t=e-((null==t||r?1:t)||0),Fr(n,0>t?0:t)},K.takeRightWhile=function(n,t,r){var e=n?n.length:0;for(t=K.callback(t,r,3);e--&&t(n[e],e,n););return Fr(n,e+1)
},K.takeWhile=function(n,t,r){var e=-1,u=n?n.length:0;for(t=K.callback(t,r,3);++e<u&&t(n[e],e,n););return Fr(n,0,e)},K.tap=function(n,t,r){return t.call(r,n),n},K.throttle=function(n,t,r){var e=true,u=true;if(!ie(n))throw new Se(I);return false===r?e=false:ae(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),At.leading=e,At.maxWait=+t,At.trailing=u,Qr(n,t,At)},K.times=function(n,t,r){n=ou(n=+n)&&-1<n?n:0,t=Wt(t,r,1),r=-1;for(var e=we(fu(n,C));++r<n;)r<C?e[r]=t(r):t(r);return e},K.toArray=function(n){var t=Or(n);
return t===n?Fr(n):t},K.transform=function(n,t,r,e){var u=jr(n);if(null==r)if(u)r=[];else{if(ae(n))var o=n.constructor,o=o&&o.prototype;r=$t(o)}return t&&(t=K.callback(t,e,4),(u?kt:Ht)(n,function(n,e,u){return t(r,n,e,u)})),r},K.union=function(){return sr(Yt(arguments,false,true))},K.uniq=Lr,K.unzip=Nr,K.values=pe,K.valuesIn=function(n){return pr(n,se)},K.where=function(n,t){return Dr(n,de(t))},K.without=function(){return Mt(arguments[0],Fr(arguments,1))},K.wrap=function(n,t){return br(t,k,null,null,[n])
},K.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(ku(r)||ee(r))var e=e?Mt(e,r).concat(Mt(r,e)):r}return e?sr(e):[]},K.zip=function(){return Nr(arguments)},K.zipObject=Wr,K.collect=Zr,K.each=zr,K.eachRight=qr,K.extend=xu,K.methods=re,K.object=Wr,K.select=Dr,K.tail=Rr,K.unique=Lr,be(K,Nt({},K)),K.attempt=ye,K.camelCase=Su,K.capitalize=function(n){return null==n?"":(n=Ce(n),n.charAt(0).toUpperCase()+n.slice(1))},K.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),r=typeof r=="function"&&Wt(r,e,1),Pt(n,t,r)
},K.cloneDeep=function(n,t,r){return t=typeof t=="function"&&Wt(t,r,1),Pt(n,true,t)},K.contains=$r,K.endsWith=function(n,t,r){n=null==n?"":Ce(n),t=Ce(t);var e=n.length;return r=(typeof r=="undefined"?e:fu(0>r?0:+r||0,e))-t.length,0<=r&&n.indexOf(t,r)==r},K.escape=function(n){return null==n?"":Ce(n).replace(W,s)},K.escapeRegExp=he,K.every=Br,K.find=Mr,K.findIndex=Ir,K.findKey=function(n,t,r){return t=K.callback(t,r,3),Vt(n,t,Ht,true)},K.findLast=function(n,t,r){return t=K.callback(t,r,3),Vt(n,t,qt)},K.findLastIndex=function(n,t,r){var e=n?n.length:0;
for(t=K.callback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},K.findLastKey=function(n,t,r){return t=K.callback(t,r,3),Vt(n,t,Qt,true)},K.findWhere=function(n,t){return Mr(n,de(t))},K.first=Cr,K.has=function(n,t){return n?Ve.call(n,t):false},K.identity=me,K.indexOf=Sr,K.isArguments=ee,K.isArray=ku,K.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Pe.call(n)==et||false},K.isDate=function(n){return n&&typeof n=="object"&&Pe.call(n)==ut||false},K.isElement=ue,K.isEmpty=function(n){if(null==n)return true;
var t=n.length;return typeof t=="number"&&-1<t&&t<=S&&(ku(n)||le(n)||ee(n)||typeof n=="object"&&ie(n.splice))?!t:!Iu(n).length},K.isEqual=function(n,t,r,e){if(r=typeof r=="function"&&Wt(r,e,3),!r){if(n===t)return 0!==n||1/n==1/t;e=typeof n;var u=typeof t;if(n===n&&(null==n||null==t||"function"!=e&&"object"!=e&&"function"!=u&&"object"!=u))return false}return tr(n,t,r)},K.isError=oe,K.isFinite=Eu,K.isFunction=ie,K.isNaN=function(n){return fe(n)&&n!=+n},K.isNull=function(n){return null===n},K.isNumber=fe,K.isObject=ae,K.isPlainObject=Ou,K.isRegExp=ce,K.isString=le,K.isUndefined=function(n){return typeof n=="undefined"
},K.kebabCase=Ru,K.last=function(n){var t=n?n.length:0;return t?n[t-1]:d},K.lastIndexOf=function(n,t,r){var e=n?n.length:0,u=e;if(typeof r=="number")u=(0>r?au(u+r,0):fu(r||0,u-1))+1;else if(r)return u=Tr(n,t)-1,e&&n[u]===t?u:-1;for(;u--;)if(n[u]===t)return u;return-1},K.max=Kr,K.min=function(n,t,r){var e=1/0,o=e,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&ku(n))for(r=-1,i=n.length;++r<i;){var a=n[r];a<o&&(o=a)}else t=null==t&&le(n)?u:K.callback(t,r,3),zt(n,function(n,r,u){r=t(n,r,u),(r<e||1/0===r&&r===o)&&(e=r,o=n)
});return o},K.noConflict=function(){return l._=We,this},K.noop=function(){},K.now=Uu,K.pad=function(n,t,r){n=null==n?"":Ce(n),t=+t;var e=n.length;return e<t&&ou(t)?(e=(t-e)/2,t=Ze(e),e=Me(e),r=mr("",e,r),r.slice(0,t)+n+r):n},K.padLeft=function(n,t,r){return n=null==n?"":Ce(n),mr(n,t,r)+n},K.padRight=function(n,t,r){return n=null==n?"":Ce(n),n+mr(n,t,r)},K.parseInt=Tu,K.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=pu(),fu(n+r*(t-n+parseFloat("1e-"+(Ce(r).length-1))),t)):ar(n,t)
},K.reduce=Yr,K.reduceRight=Jr,K.repeat=ge,K.result=function(n,t,r){var e=null==n?d:n[t];return typeof e=="undefined"?r:ie(e)?n[t]():e},K.runInContext=m,K.size=function(n){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=S?t:Iu(n).length},K.snakeCase=Fu,K.some=Gr,K.sortedIndex=Ur,K.sortedLastIndex=Tr,K.startsWith=function(n,t,r){return n=null==n?"":Ce(n),r=typeof r=="undefined"?0:fu(0>r?0:+r||0,n.length),n.lastIndexOf(t,r)==r},K.template=function(n,t){var r=K.templateSettings;t=xu({},t,r,Lt),n=Ce(null==n?"":n);
var e,u,r=xu({},t.imports,r.imports,Lt),o=Iu(r),i=pe(r),a=0,r=t.interpolate||V,f="__p+='",r=Ie((t.escape||V).source+"|"+r.source+"|"+(r===B?D:V).source+"|"+(t.evaluate||V).source+"|$","g");if(n.replace(r,function(t,r,o,i,c,l){return o||(o=i),f+=n.slice(a,l).replace(X,p),r&&(e=true,f+="'+__e("+r+")+'"),c&&(u=true,f+="';"+c+";\n__p+='"),o&&(f+="'+((__t=("+o+"))==null?'':__t)+'"),a=l+t.length,t}),f+="';",(r=t.variable)||(f="with(obj){"+f+"}"),f=(u?f.replace(U,""):f).replace(T,"$1").replace(L,"$1;"),f="function("+(r||"obj")+"){"+(r?"":"obj||(obj={});")+"var __t,__p=''"+(e?",__e=_.escape":"")+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}",r=ye(function(){return xe(o,"return "+f).apply(d,i)
}),r.source=f,oe(r))throw r;return r},K.trim=ve,K.trimLeft=function(n,t){return(n=null==n?"":Ce(n))?null==t?n.slice(g(n)):(t=Ce(t),n.slice(o(n,t))):n},K.trimRight=function(n,t){return(n=null==n?"":Ce(n))?null==t?n.slice(0,v(n)+1):(t=Ce(t),n.slice(0,i(n,t)+1)):n},K.trunc=function(n,t){var r=30,e="...";if(ae(t))var u="separator"in t?t.separator:u,r="length"in t?+t.length||0:r,e="omission"in t?Ce(t.omission):e;else null!=t&&(r=+t||0);if(n=null==n?"":Ce(n),r>=n.length)return n;var o=r-e.length;if(1>o)return e;
if(r=n.slice(0,o),null==u)return r+e;if(ce(u)){if(n.slice(o).search(u)){var i,a,f=n.slice(0,o);for(u.global||(u=Ie(u.source,(M.exec(u)||"")+"g")),u.lastIndex=0;i=u.exec(f);)a=i.index;r=r.slice(0,null==a?o:a)}}else n.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),-1<u&&(r=r.slice(0,u)));return r+e},K.unescape=function(n){return null==n?"":(n=Ce(n),0>n.indexOf(";")?n:n.replace(N,y))},K.uniqueId=function(n){var t=++R;return Ce(null==n?"":n)+t},K.all=Br,K.any=Gr,K.detect=Mr,K.foldl=Yr,K.foldr=Jr,K.head=Cr,K.include=$r,K.inject=Yr,be(K,function(){var n={};
return Ht(K,function(t,r){K.prototype[r]||(n[r]=t)}),n}(),false),K.sample=function(n,t,r){n=Or(n);var e=n.length;return null==t||r?0<e?n[ar(0,e-1)]:d:(n=Xr(n),n.length=fu(0>t?0:+t||0,n.length),n)},Ht(K,function(n,t){var r="sample"!=t;K.prototype[t]||(K.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 G(o,u):o})}),K.VERSION=b,K.prototype.chain=function(){return this.__chain__=true,this},K.prototype.toJSON=Pr,K.prototype.toString=function(){return Ce(this.__wrapped__)
},K.prototype.value=Pr,K.prototype.valueOf=Pr,kt(["join","pop","shift"],function(n){var t=Re[n];K.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new G(r,n):r}}),kt(["push","reverse","sort","unshift"],function(n){var t=Re[n];K.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),kt(["concat","splice"],function(n){var t=Re[n];K.prototype[n]=function(){return new G(t.apply(this.__wrapped__,arguments),this.__chain__)}}),yu.spliceObjects||kt(["pop","shift","splice"],function(n){var t=Re[n],r="splice"==n;
K.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 G(u,n):u}}),K}var d,b="3.0.0-pre",_=1,w=2,j=4,A=8,x=16,k=32,E=64,O="__lodash@"+b+"__",I="Expected a function",C=Math.pow(2,32)-1,S=Math.pow(2,53)-1,R=0,F=/^[A-Z]+$/,U=/\b__p\+='';/g,T=/\b(__p\+=)''\+/g,L=/(__e\(.*?\)|\b__t\))\+'';/g,N=/&(?:amp|lt|gt|quot|#39|#96);/g,W=/[&<>"'`]/g,P=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,B=/<%=([\s\S]+?)%>/g,D=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,M=/\w*$/,z=/^\s*function[ \n\r\t]+\w/,q=/^0[xX]/,Z=/^\[object .+?Constructor\]$/,K=/[\xC0-\xFF]/g,V=/($^)/,Y=/[.*+?^${}()|[\]\/\\]/g,J=/\bthis\b/,X=/['\n\r\u2028\u2029\\]/g,G=/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,H=" \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",Q="Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array window WinRTError".split(" "),nt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),tt="[object Arguments]",rt="[object Array]",et="[object Boolean]",ut="[object Date]",ot="[object Error]",it="[object Function]",at="[object Number]",ft="[object Object]",ct="[object RegExp]",lt="[object String]",st="[object ArrayBuffer]",pt="[object Float32Array]",ht="[object Float64Array]",gt="[object Int8Array]",vt="[object Int16Array]",yt="[object Int32Array]",mt="[object Uint8Array]",dt="[object Uint8ClampedArray]",bt="[object Uint16Array]",_t="[object Uint32Array]",wt={};
wt[tt]=wt[rt]=wt[pt]=wt[ht]=wt[gt]=wt[vt]=wt[yt]=wt[mt]=wt[dt]=wt[bt]=wt[_t]=true,wt[st]=wt[et]=wt[ut]=wt[ot]=wt[it]=wt["[object Map]"]=wt[at]=wt[ft]=wt[ct]=wt["[object Set]"]=wt[lt]=wt["[object WeakMap]"]=false;var jt={};jt[tt]=jt[rt]=jt[st]=jt[et]=jt[ut]=jt[pt]=jt[ht]=jt[gt]=jt[vt]=jt[yt]=jt[at]=jt[ft]=jt[ct]=jt[lt]=jt[mt]=jt[dt]=jt[bt]=jt[_t]=true,jt[ot]=jt[it]=jt["[object Map]"]=jt["[object Set]"]=jt["[object WeakMap]"]=false;var At={leading:false,maxWait:0,trailing:false},xt={configurable:false,enumerable:false,value:null,writable:false},kt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Et={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Ot={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"AE","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\xd7":" ","\xf7":" "},It={"function":true,object:true},Ct={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},St=It[typeof window]&&window||this,Rt=It[typeof exports]&&exports&&!exports.nodeType&&exports,It=It[typeof module]&&module&&!module.nodeType&&module,Ft=Rt&&It&&typeof global=="object"&&global;
!Ft||Ft.global!==Ft&&Ft.window!==Ft&&Ft.self!==Ft||(St=Ft);var Ft=It&&It.exports===Rt&&Rt,Ut=m();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(St._=Ut, define(function(){return Ut})):Rt&&It?Ft?(It.exports=Ut)._=Ut:Rt._=Ut:St._=Ut}).call(this);
}function a(n,r){return t(n.a,r.a)||n.b-r.b}function f(n,r){for(var e=-1,u=n.a,o=r.a,i=u.length;++e<i;){var a=t(u[e],o[e]);if(a)return a}return n.b-r.b}function c(n){return function(t){for(var r=-1,e=(t=null!=t&&(t+"").replace(K,l).match(G))?t.length:0,u="";++r<e;)u=n(u,t[r],r,t);return u}}function l(n){return It[n]}function s(n){return Et[n]}function p(n){return"\\"+St[n]}function h(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function g(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);
if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break}return t}function v(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function y(n){return Ot[n]}function m(l){function K(n){if(n&&typeof n=="object"){if(n instanceof G)return n;!Cu(n)&&Xe.call(n,"__wrapped__")&&(n=n.__wrapped__)
}return new G(n)}function G(n,t){this.__chain__=!!t,this.__wrapped__=n}function Et(n,t){for(var r=-1,e=n?n.length:0;++r<e&&false!==t(n[r],r,n););return n}function Ot(n,t){for(var r=-1,e=n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function It(n,t){for(var r=-1,e=n?n.length:0,u=xe(e);++r<e;)u[r]=t(n[r],r,n);return u}function Ct(n,t){for(var r=-1,e=n.length,u=[];++r<e;){var o=n[r];t(o,r,n)&&u.push(o)}return u}function St(n,t,r,e){var u=-1,o=n.length;for(e&&o&&(r=n[++u]);++u<o;)r=t(r,n[u],u,n);return r
}function Rt(n,t,r,e){var u=n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function Ft(n,t){for(var r=-1,e=n.length;++r<e;)if(t(n[r],r,n))return true;return false}function Tt(n,t){return typeof n=="undefined"?t:n}function Lt(n,t,r,e){return typeof n!="undefined"&&Xe.call(e,r)?n:t}function Wt(n,t,r){for(var e=-1,u=Ru(t),o=u.length;++e<o;){var i=u[e];n[i]=r?r(n[i],t[i],i,n,t):t[i]}return n}function Nt(n,t,r){var e=typeof n;if("function"==e){if(typeof t=="undefined")return n;if(e=n[I],typeof e=="undefined"&&(_u.funcNames&&(e=!n.name),e=e||!_u.funcDecomp,!e)){var u=$e.call(n);
_u.funcNames||(e=!z.test(u)),e||(e=J.test(u)||xr(n),wu(n,e))}if(false===e||true!==e&&e[1]&b)return n;switch(r){case 1:return function(r){return n.call(t,r)};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)};case 5:return function(r,e,u,o,i){return n.call(t,r,e,u,o,i)}}return function(){return n.apply(t,arguments)}}return null==n?be:"object"==e?we(n):Ae(n)}function Pt(n,t,r,e,u){var o=r?r(n):d;if(typeof o!="undefined")return o;var i=Cu(n),a=!t;
if(i){if(o=a?Tr(n):n.constructor(n.length),"string"==typeof n[0]&&Xe.call(n,"index")&&(o.index=n.index,o.input=n.input),a)return o}else{if(!ce(n))return n;var f=De.call(n);if(!jt[f]||!_u.nodeClass&&h(n))return n;var c=f==tt||!_u.argsClass&&oe(n),l=!c&&f==ft;if(a&&(c||l)&&(o=Wt({},n),l))return o;var s=n.constructor;if(f!=ft||fe(s)&&s instanceof s||(s=ke),t&&(c||l))o=new s;else switch(f){case st:return Or(n);case et:case ut:return new s(+n);case pt:case ht:case gt:case vt:case yt:case mt:case dt:case _t:case bt:return s instanceof s&&(s=mu[f]),new s(Or(n.buffer),n.byteOffset,n.length);
case at:case lt:return new s(n);case ct:return o=s(n.source,M.exec(n)),o.lastIndex=n.lastIndex,o}}if(c&&(o.length=n.length),a)return o;for(e||(e=[]),u||(u=[]),a=e.length;a--;)if(e[a]==n)return u[a];return e.push(n),u.push(o),(i?Et:Ht)(n,function(n,i){var a=r?r(n,i):d;o[i]=typeof a=="undefined"?Pt(n,t,null,e,u):a}),o}function $t(n){return ce(n)?iu(n):{}}function Bt(n){var t=n[1];if(t==b)return wu(vr(n),n);var r=n[6];if((t==E||t==(b|E))&&!r.length)return wu(dr(n),n);var e=n[0],u=n[2],o=n[3],i=n[4],a=n[5],f=n[7],c=t&b,l=t&w,s=t&j,p=t&A,h=t&x,g=!l&&yr(e),v=e,y=function(){for(var n=arguments.length,m=n,d=xe(n);m--;)d[m]=arguments[m];
if(i){for(var m=r.length,_=-1,j=lu(d.length-m,0),A=-1,x=i.length,I=xe(j+x);++A<x;)I[A]=i[A];for(;++_<m;)I[r[_]]=d[_];for(;j--;)I[A++]=d[_++];d=I}if(a){for(var m=-1,_=f.length,j=-1,C=lu(d.length-_,0),A=-1,x=a.length,I=xe(C+x);++j<C;)I[j]=d[j];for(C=j;++A<x;)I[C+A]=a[A];for(;++m<_;)I[C+f[m]]=d[j++];d=I}return(s||p)&&(m=wr(d),n-=m.length,n<u)?(t|=s?E:O,t&=~(s?O:E),h||(t&=~(b|w)),n=[e,t,lu(u-n,0),o],n[s?4:5]=d,n[s?6:7]=m,Bt(n)):(n=c?o:this,l&&(e=n[v]),(this instanceof y?g||yr(e):e).apply(n,d))};return wu(y,n)
}function Dt(n,t,r){return typeof r!="number"&&(r=+r||(n?n.length:0)),_r(n,t,r)}function Mt(n,t){var u=n?n.length:0;if(!u)return[];var o=-1,i=jr(),a=i==r,f=a&&bu&&t&&200<=t.length,a=a&&!f,c=[],l=t?t.length:0;f&&(i=e,t=bu(t));n:for(;++o<u;)if(f=n[o],a){for(var s=l;s--;)if(t[s]===f)continue n;c.push(f)}else 0>i(t,f)&&c.push(f);return c}function zt(n,t){var r=n?n.length:0;if(typeof r!="number"||-1>=r||r>k)return Ht(n,t);for(var e=-1,u=Sr(n);++e<r&&false!==t(u[e],e,n););return n}function qt(n,t){var r=n?n.length:0;
if(typeof r!="number"||-1>=r||r>k)return Qt(n,t);for(var e=Sr(n);r--&&false!==t(e[r],r,n););return n}function Zt(n,t){var r=true;return zt(n,function(n,e,u){return r=!!t(n,e,u)}),r}function Kt(n,t){var r=[];return zt(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function Vt(n,t,r,e){var u;return r(n,function(n,r,o){return t(n,r,o)?(u=e?r:n,false):void 0}),u}function Yt(n,t,r,e){e=(e||0)-1;for(var u=n.length,o=0,i=[];++e<u;){var a=n[e];if(a&&typeof a=="object"&&typeof a.length=="number"&&(Cu(a)||oe(a))){t&&(a=Yt(a,t,r));
var f=-1,c=a.length;for(i.length+=c;++f<c;)i[o++]=a[f]}else r||(i[o++]=a)}return i}function Jt(n,t,r){var e=-1;r=r(n);for(var u=r.length;++e<u;){var o=r[e];if(false===t(n[o],o,n))break}return n}function Xt(n,t,r){r=r(n);for(var e=r.length;e--;){var u=r[e];if(false===t(n[u],u,n))break}return n}function Gt(n,t){return Jt(n,t,he)}function Ht(n,t){return Jt(n,t,Ru)}function Qt(n,t){return Xt(n,t,Ru)}function nr(n,t){for(var r=-1,e=t(n),u=e.length,o=[];++r<u;){var i=e[r];fe(n[i])&&o.push(i)}return o}function tr(n,t,r,e,u,o){var i=r&&!u?r(n,t):d;
if(typeof i!="undefined")return!!i;if(n===t)return 0!==n||1/n==1/t;var a=typeof n,f=typeof t;if(n===n&&(null==n||null==t||"function"!=a&&"object"!=a&&"function"!=f&&"object"!=f))return false;var c=De.call(n),l=c==tt,a=De.call(t),i=a==tt;if(l&&(c=ft),i&&(a=ft),c!=a)return false;if(f=wt[c],a=c==ot,f){var l=n.length,s=t.length;if(l!=s&&(!e||s<=l))return false}else{if(!a&&(c!=ft||!_u.nodeClass&&(h(n)||h(t)))){switch(c){case et:case ut:return+n==+t;case at:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case ct:case lt:return n==Fe(t)
}return false}var p=Xe.call(n,"__wrapped__"),c=Xe.call(t,"__wrapped__");if(p||c)return tr(p?n.__wrapped__:n,c?t.__wrapped__:t,r,e,u,o);if(_u.argsClass||(l=oe(n),i=oe(t)),p=l?ke:n.constructor,c=i?ke:t.constructor,a){if(p.prototype.name!=c.prototype.name)return false}else{var s=!l&&Xe.call(n,"constructor"),g=!i&&Xe.call(t,"constructor");if(s!=g||!(s||p==c||fe(p)&&p instanceof p&&fe(c)&&c instanceof c)&&"constructor"in n&&"constructor"in t)return false}if(p=a?["message","name"]:Ru(n),c=a?p:Ru(t),l&&p.push("length"),i&&c.push("length"),l=p.length,s=c.length,l!=s&&!e)return false
}for(u||(u=[]),o||(o=[]),c=u.length;c--;)if(u[c]==n)return o[c]==t;if(u.push(n),o.push(t),i=true,f)for(;i&&++c<l;)if(f=n[c],e)for(a=s;a--&&!(i=tr(f,t[a],r,e,u,o)););else g=t[c],i=r?r(f,g,c):d,typeof i=="undefined"&&(i=tr(f,g,r,e,u,o));else for(;i&&++c<l;)s=p[c],(i=a||Xe.call(t,s))&&(f=n[s],g=t[s],i=r?r(f,g,s):d,typeof i=="undefined"&&(i=tr(f,g,r,e,u,o)));return u.pop(),o.pop(),!!i}function rr(n,t,r){var e=-1,u=typeof t=="function",o=n?n.length:0,i=[];return typeof o=="number"&&-1<o&&o<=k&&(i.length=o),zt(n,function(n){var o=u?t:null!=n&&n[t];
i[++e]=o?o.apply(n,r):d}),i}function er(n,t){var r=[];return zt(n,function(n,e,u){r.push(t(n,e,u))}),r}function ur(n,t,r,e,u){var o=Ar(t);return(o?Et:Ht)(t,function(t,i,a){var f=t&&Ar(t),c=t&&ku(t),l=n[i];if(f||c){for(e||(e=[]),u||(u=[]),c=e.length;c--;)if(e[c]==t)return void(n[i]=u[c]);a=r?r(l,t,i,n,a):d,(c=typeof a=="undefined")&&(a=f?Cu(l)?l:[]:ku(l)?l:{}),e.push(t),u.push(a),c&&ur(a,t,r,e,u),n[i]=a}else a=r?r(l,t,i,n,a):d,typeof a=="undefined"&&(a=t),(o||typeof a!="undefined")&&(n[i]=a)}),n}function or(n,t,r,e){if(n)var u=n[I],u=u?u[2]:n.length,u=u-r.length;
var o=t&E;return _r(n,t,u,e,o&&r,!o&&r)}function ir(n,t){var r={};if(typeof t=="function")return Gt(n,function(n,e,u){t(n,e,u)&&(r[e]=n)}),r;for(var e=-1,u=t.length;++e<u;){var o=t[e];o in n&&(r[o]=n[o])}return r}function ar(n,t){return n+Ye(vu()*(t-n+1))}function fr(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function cr(n,t){var r;return zt(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function lr(n,t,r,e){var u=0,o=n?n.length:u;for(t=r(t);u<o;){var i=u+o>>>1,a=r(n[i]);(e?a<=t:a<t)?u=i+1:o=i
}return o}function sr(n,t){var u=-1,o=jr(),i=n.length,a=o==r,f=a&&bu&&200<=i,a=a&&!f,c=[];if(f)var l=bu(),o=e;else l=t?[]:c;n:for(;++u<i;){var s=n[u],p=t?t(s,u,n):s;if(a){for(var h=l.length;h--;)if(l[h]===p)continue n;t&&l.push(p),c.push(s)}else 0>o(l,p)&&((t||f)&&l.push(p),c.push(s))}return c}function pr(n,t){for(var r=-1,e=t(n),u=e.length,o=xe(u);++r<u;)o[r]=n[e[r]];return o}function hr(n,t){return function(r,e,u){var o=t?t():{};if(e=br(e,u,3),Cu(r)){u=-1;for(var i=r.length;++u<i;){var a=r[u];n(o,a,e(a,u,r),r)
}}else zt(r,function(t,r,u){n(o,t,e(t,r,u),u)});return o}}function gr(n){return function(t){var r=arguments,e=r.length;if(null==t||2>e)return t;var u=typeof r[2];if("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2),3<e&&"function"==typeof r[e-2])var o=Nt(r[--e-1],r[e--],5);else 2<e&&"function"==typeof r[e-1]&&(o=r[--e]);for(u=0;++u<e;)n(t,r[u],o);return t}}function vr(n){function t(){return(this instanceof t?u:r).apply(e,arguments)}var r=n[0],e=n[3],u=yr(r);return t}function yr(n){return function(){var t=$t(n.prototype),r=n.apply(t,arguments);
return ce(r)?r:t}}function mr(n,t,r){return n=n.length,t=+t,n<t&&fu(t)?(t-=n,r=null==r?" ":Fe(r),ye(r,Ze(t/r.length)).slice(0,t)):""}function dr(n){function t(){for(var n=0,a=arguments.length,f=-1,c=u.length,l=xe(a+c);++f<c;)l[f]=u[f];for(;a--;)l[f++]=arguments[n++];return(this instanceof t?i:r).apply(o?e:this,l)}var r=n[0],e=n[3],u=n[4],o=n[1]&b,i=yr(r);return t}function _r(n,t,r,e,u,o){var i=t&b,a=t&w,f=t&E,c=t&O;if(!a&&!fe(n))throw new Ue(C);f&&!u.length&&(t&=~E,f=u=false),c&&!o.length&&(t&=~O,c=o=false);
var l=!a&&n[I];if(l&&true!==l)return l=Tr(l),l[4]&&(l[4]=Tr(l[4])),l[5]&&(l[5]=Tr(l[5])),typeof r=="number"&&(l[2]=r),n=l[1]&b,i&&!n&&(l[3]=e),!i&&n&&(t|=x),f&&(l[4]?Ge.apply(l[4],u):l[4]=u),c&&(l[5]?eu.apply(l[5],o):l[5]=o),l[1]|=t,_r.apply(d,l);if(f)var s=wr(u);if(c)var p=wr(o);return null==r&&(r=a?0:n.length),r=lu(r,0),Bt([n,t,r,e,u,o,s,p])}function br(n,t,r){var e=K.callback||_e,e=e===_e?Nt:e;return arguments.length?e(n,t,r):e}function wr(n){for(var t=-1,r=n.length,e=[];++t<r;)n[t]===K&&e.push(t);
return e}function jr(n,t,e){var u=K.indexOf||Fr,u=u===Fr?r:u;return n?u(n,t,e):u}function Ar(n){return n&&typeof n=="object"&&typeof n.length=="number"&&wt[De.call(n)]||false}function xr(n){var t=typeof n;return"function"==t?Me.test($e.call(n)):n&&"object"==t&&Z.test(De.call(n))||false}function Er(n){return n===n&&(0===n?0<1/n:!ce(n))}function Or(n){return qe.call(n,0)}function Ir(n){var t,r;return!n||De.call(n)!=ft||!Xe.call(n,"constructor")&&(t=n.constructor,fe(t)&&!(t instanceof t))||!_u.argsClass&&oe(n)||!_u.nodeClass&&h(n)?false:_u.ownLast?(Gt(n,function(n,t,e){return r=Xe.call(e,t),false
}),false!==r):(Gt(n,function(n,t){r=t}),typeof r=="undefined"||Xe.call(n,r))}function Cr(n){for(var t,r=-1,e=he(n),u=e.length,o=u&&n.length,i=o-1,a=[],o=typeof o=="number"&&0<o&&(Cu(n)||_u.nonEnumArgs&&oe(n)||_u.nonEnumStrings&&pe(n));++r<u;){var f=e[r];(o&&(t=+f,-1<t&&t<=i&&0==t%1)||Xe.call(n,f))&&a.push(f)}return a}function Sr(n){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=k?_u.unindexedChars&&pe(n)?n.split(""):n||[]:ge(n)}function kr(n,t,r){var e=-1,u=n?n.length:0;for(t=br(t,r,3);++e<u;)if(t(n[e],e,n))return e;
return-1}function Rr(n){return n?n[0]:d}function Fr(n,t,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?lu(u+e,0):e||0;else if(e)return e=Lr(n,t),u&&n[e]===t?e:-1;return r(n,t,e)}function Ur(n){return Tr(n,1)}function Tr(n,t,r){var e=-1,u=n?n.length:0;for(t=null==t?0:+t||0,0>t?t=lu(u+t,0):t>u&&(t=u),r=typeof r=="undefined"?u:+r||0,0>r?r=lu(u+r,0):r>u&&(r=u),u=t>r?0:r-t,r=xe(u);++e<u;)r[e]=n[t+e];return r}function Lr(n,t,r,e){return r=null==r?be:br(r,e,1),lr(n,t,r)}function Wr(n,t,r,e){return r=null==r?be:br(r,e,1),lr(n,t,r,true)
}function Nr(n,t,e,u){if(!n||!n.length)return[];var o=typeof t;if("boolean"!=o&&null!=t&&(u=e,e=t,t=false,"number"!=o&&"string"!=o||!u||u[e]!==n||(e=null)),null!=e&&(e=br(e,u,3)),t&&jr()==r){t=e;var i;for(e=-1,u=n.length,o=[];++e<u;){var a=n[e],f=t?t(a,e,n):a;e&&i===f||(i=f,o.push(a))}n=o}else n=sr(n,e);return n}function Pr(n){for(var t=-1,r=ce(r=Yr(n,"length"))&&r.length||0,e=xe(r);++t<r;)e[t]=Jr(n,t);return e}function $r(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||Cu(n[0])||(t=[]);++r<e;){var o=n[r];
t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Br(){return this.__wrapped__}function Dr(n,t,r){var e=n?n.length:0;return typeof e=="number"&&-1<e&&e<=k||(n=ge(n),e=n.length),r=typeof r=="number"?0>r?lu(e+r,0):r||0:0,typeof n=="string"||!Cu(n)&&pe(n)?r<e?ou?ou.call(n,t,r):-1<n.indexOf(t,r):false:-1<jr(n,t,r)}function Mr(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=br(t,r,3)),(Cu(n)?Ot:Zt)(n,t)}function zr(n,t,r){return t=br(t,r,3),(Cu(n)?Ct:Kt)(n,t)}function qr(n,t,r){return Cu(n)?(t=kr(n,t,r),-1<t?n[t]:d):(t=br(t,r,3),Vt(n,t,zt))
}function Zr(n,t,r){return typeof t=="function"&&typeof r=="undefined"&&Cu(n)?Et(n,t):zt(n,Nt(t,r,3))}function Kr(n,t,r){if(typeof t=="function"&&typeof r=="undefined"&&Cu(n))for(r=n?n.length:0;r--&&false!==t(n[r],r,n););else n=qt(n,Nt(t,r,3));return n}function Vr(n,t,r){return t=br(t,r,3),(Cu(n)?It:er)(n,t)}function Yr(n,t,r){var e=-1/0,o=e,i=typeof t;"number"!=i&&"string"!=i||!r||r[t]!==n||(t=null);var i=null==t,a=!(i&&Cu(n))&&pe(n);if(i&&!a)for(r=-1,n=Sr(n),i=n.length;++r<i;)a=n[r],a>o&&(o=a);else t=i&&a?u:br(t,r,3),zt(n,function(n,r,u){r=t(n,r,u),(r>e||-1/0===r&&r===o)&&(e=r,o=n)
});return o}function Jr(n,t){return Vr(n,Ae(t))}function Xr(n,t,r,e){return(Cu(n)?St:fr)(n,br(t,e,4),r,3>arguments.length,zt)}function Gr(n,t,r,e){return(Cu(n)?Rt:fr)(n,br(t,e,4),r,3>arguments.length,qt)}function Hr(n){n=Sr(n);for(var t=-1,r=n.length,e=xe(r);++t<r;){var u=ar(0,t);t!=u&&(e[t]=e[u]),e[u]=n[t]}return e}function Qr(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=br(t,r,3)),(Cu(n)?Ft:cr)(n,t)}function ne(n,t){var r;if(!fe(t))throw new Ue(C);return function(){return 0<--n?r=t.apply(this,arguments):t=null,r
}}function te(n,t,r){function e(){var r=t-(Wu()-c);0>=r||r>t?(a&&Ke(a),r=p,a=s=p=d,r&&(h=Wu(),f=n.apply(l,i),s||a||(i=l=null))):s=nu(e,r)}function u(){s&&Ke(s),a=s=p=d,(v||g!==t)&&(h=Wu(),f=n.apply(l,i),s||a||(i=l=null))}function o(){if(i=arguments,c=Wu(),l=this,p=v&&(s||!y),false===g)var r=y&&!s;else{a||y||(h=c);var o=g-(c-h),m=0>=o||o>g;m?(a&&(a=Ke(a)),h=c,f=n.apply(l,i)):a||(a=nu(u,o))}return m&&s?s=Ke(s):s||t===g||(s=nu(e,t)),r&&(m=true,f=n.apply(l,i)),!m||s||a||(i=l=null),f}var i,a,f,c,l,s,p,h=0,g=false,v=true;
if(!fe(n))throw new Ue(C);if(t=0>t?0:t,true===r)var y=true,v=false;else ce(r)&&(y=r.leading,g="maxWait"in r&&lu(+r.maxWait||0,t),v="trailing"in r?r.trailing:v);return o.cancel=function(){s&&Ke(s),a&&Ke(a),a=s=p=d},o}function re(n){if(!fe(n))throw new Ue(C);return function(){return!n.apply(this,arguments)}}function ee(n){return or(n,E,Tr(arguments,1))}function ue(n){return nr(n,he)}function oe(n){return n&&typeof n=="object"&&typeof n.length=="number"&&De.call(n)==tt||false}function ie(n){return n&&typeof n=="object"&&1===n.nodeType&&(_u.nodeClass?-1<De.call(n).indexOf("Element"):h(n))||false
}function ae(n){return n&&typeof n=="object"&&De.call(n)==ot||false}function fe(n){return typeof n=="function"||false}function ce(n){var t=typeof n;return"function"==t||n&&"object"==t||false}function le(n){var t=typeof n;return"number"==t||n&&"object"==t&&De.call(n)==at||false}function se(n){return ce(n)&&De.call(n)==ct||false}function pe(n){return typeof n=="string"||n&&typeof n=="object"&&De.call(n)==lt||false}function he(n){if(null==n)return[];n=ke(n);for(var t,r=n.length,r=typeof r=="number"&&0<r&&(Cu(n)||_u.nonEnumStrings&&pe(n)||_u.nonEnumArgs&&oe(n))&&r||0,e=n.constructor,u=-1,o=e&&n===e.prototype,i=r-1,e=xe(r),a=0<r,f=_u.enumErrorProps&&(n===Le||n instanceof Oe),c=_u.enumPrototypes&&typeof n=="function";++u<r;)e[u]=Fe(u);
for(var l in n)o&&"constructor"==l||c&&"prototype"==l||f&&("message"==l||"name"==l)||a&&(t=+l,-1<t&&t<=i&&0==t%1)||e.push(l);if(_u.nonEnumShadows&&n!==We){if(u=-1,r=nt.length,o){t=n===Ne?lt:n===Le?ot:De.call(n);var s=du[t]}for(;++u<r;)l=nt[u],s&&s[l]||!Xe.call(n,l)||e.push(l)}return e}function ge(n){return pr(n,Ru)}function ve(n){return n=null==n?"":Fe(n),Y.lastIndex=0,Y.test(n)?n.replace(Y,"\\$&"):n}function ye(n,t){var r="";if(t=+t,1>t||null==n||!fu(t))return r;n=Fe(n);do t%2&&(r+=n),t=Ye(t/2),n+=n;
while(t);return r}function me(n,t){return(n=null==n?"":Fe(n))?null==t?n.slice(g(n),v(n)+1):(t=Fe(t),n.slice(o(n,t),i(n,t)+1)):n}function de(n){try{return n()}catch(t){return ae(t)?t:Oe(t)}}function _e(n,t){return Nt(n,t)}function be(n){return n}function we(n){var t=Ru(n),r=t.length;if(1==r){var e=t[0],u=n[e];if(Er(u))return function(n){return null!=n&&u===n[e]&&Xe.call(n,e)}}for(var o=r,i=xe(r),a=xe(r);o--;){var u=n[t[o]],f=Er(u);i[o]=f,a[o]=f?u:Pt(u,false)}return function(n){if(o=r,null==n)return!o;
for(;o--;)if(i[o]?a[o]!==n[t[o]]:!Xe.call(n,t[o]))return false;for(o=r;o--;)if(i[o]?!Xe.call(n,t[o]):!tr(a[o],n[t[o]],null,true))return false;return true}}function je(n,t,r){var e=true,u=t&&nr(t,Ru);t&&(r||u.length)||(null==r&&(r=t),t=n,n=this,u=nr(t,Ru)),false===r?e=false:ce(r)&&"chain"in r&&(e=r.chain),r=-1;for(var o=fe(n),i=u?u.length:0;++r<i;){var a=u[r],f=n[a]=t[a];o&&(n.prototype[a]=function(t){return function(){var r=this.__chain__,u=this.__wrapped__,o=[u];if(Ge.apply(o,arguments),o=t.apply(n,o),e||r){if(u===o&&ce(o))return this;
o=new n(o),o.__chain__=r}return o}}(f))}return n}function Ae(n){return function(t){return null==t?d:t[n]}}l=l?Ut.defaults(kt.Object(),l,Ut.pick(kt,Q)):kt;var xe=l.Array,Ee=l.Date,Oe=l.Error,Ie=l.Function,Ce=l.Math,Se=l.Number,ke=l.Object,Re=l.RegExp,Fe=l.String,Ue=l.TypeError,Te=xe.prototype,Le=Oe.prototype,We=ke.prototype,Ne=Fe.prototype,Pe=(Pe=l.window)&&Pe.document,$e=Ie.prototype.toString,Be=l._,De=We.toString,Me=Re("^"+ve(De).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ze=xr(ze=l.ArrayBuffer)&&ze,qe=xr(qe=ze&&new ze(0).slice)&&qe,Ze=Ce.ceil,Ke=l.clearTimeout,Ve=xr(Ve=l.Float64Array)&&Ve,Ye=Ce.floor,Je=xr(Je=ke.getPrototypeOf)&&Je,Xe=We.hasOwnProperty,Ge=Te.push,He=We.propertyIsEnumerable,Qe=xr(Qe=l.Set)&&Qe,nu=l.setTimeout,tu=Te.splice,ru=xr(ru=l.Uint8Array)&&ru,eu=Te.unshift,uu=function(){try{var n={},t=xr(t=ke.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),ou=xr(ou=Ne.contains)&&ou,iu=xr(iu=ke.create)&&iu,au=xr(au=xe.isArray)&&au,fu=l.isFinite,cu=xr(cu=ke.keys)&&cu,lu=Ce.max,su=Ce.min,pu=xr(pu=Ee.now)&&pu,hu=xr(hu=Se.isFinite)&&hu,gu=l.parseInt,vu=Ce.random,yu=Ve&&Ve.BYTES_PER_ELEMENT,mu={};mu[pt]=l.Float32Array,mu[ht]=l.Float64Array,mu[gt]=l.Int8Array,mu[vt]=l.Int16Array,mu[yt]=l.Int32Array,mu[mt]=l.Uint8Array,mu[dt]=l.Uint8ClampedArray,mu[_t]=l.Uint16Array,mu[bt]=l.Uint32Array;var du={};du[rt]=du[ut]=du[at]={constructor:true,toLocaleString:true,toString:true,valueOf:true},du[et]=du[lt]={constructor:true,toString:true,valueOf:true},du[ot]=du[it]=du[ct]={constructor:true,toString:true},du[ft]={constructor:true},Et(nt,function(n){for(var t in du)if(Xe.call(du,t)){var r=du[t];
r[n]=Xe.call(r,n)}});var _u=K.support={};!function(x_){var n=function(){this.x=1},t={0:1,length:1},r=[];n.prototype={valueOf:1,y:1};for(var e in new n)r.push(e);for(var u in arguments);for(var o in"x");_u.argsClass=De.call(arguments)==tt,_u.enumErrorProps=He.call(Le,"message")||He.call(Le,"name"),_u.enumPrototypes=He.call(n,"prototype"),_u.funcDecomp=!xr(l.WinRTError)&&J.test(m),_u.funcNames=typeof Ie.name=="string",_u.nonEnumStrings="0"!=o,_u.nonEnumShadows=!/valueOf/.test(r),_u.ownLast="x"!=r[0],_u.spliceObjects=(tu.call(t,0,1),!t[0]),_u.unindexedChars="xx"!="x"[0]+ke("x")[0];
try{_u.dom=11===Pe.createDocumentFragment().nodeType}catch(i){_u.dom=false}try{_u.nodeClass=!(De.call(undefined)==ft&&!({toString:0}+""))}catch(a){_u.nodeClass=true}try{_u.nonEnumArgs=!("1"==u&&Xe.call(arguments,u)&&He.call(arguments,u))}catch(f){_u.nonEnumArgs=true}}(0,0),K.templateSettings={escape:P,evaluate:$,interpolate:B,variable:"",imports:{_:K}},iu||($t=function(){function n(){}return function(t){if(ce(t)){n.prototype=t;var r=new n;n.prototype=null}return r||l.Object()}}());var bu=Qe&&function(n){var t=new Qe,r=n?n.length:0;
for(t.push=t.add;r--;)t.push(n[r]);return t};qe||(Or=ze&&ru?function(n){var t=n.byteLength,r=Ve?Ye(t/yu):0,e=r*yu,u=new ze(t);if(r){var o=new Ve(u,0,r);o.set(new Ve(n,0,r))}return t!=e&&(o=new ru(u,e),o.set(new ru(n,e))),u}:be);var wu=uu?function(n,t){return xt.value=t,uu(n,I,xt),xt.value=null,n}:be,ju=hr(function(n,t,r){Xe.call(n,r)?n[r]++:n[r]=1}),Au=hr(function(n,t,r){Xe.call(n,r)?n[r].push(t):n[r]=[t]}),xu=hr(function(n,t,r){n[r]=t}),Eu=hr(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]
}),Ou=ee(ne,2),Iu=gr(Wt);_u.argsClass||(oe=function(n){var t=n&&typeof n=="object"?n.length:d;return typeof t=="number"&&-1<t&&t<=k&&Xe.call(n,"callee")&&!He.call(n,"callee")||false});var Cu=au||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&De.call(n)==rt||false};_u.dom||(ie=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!ku(n)||false});var Su=hu||function(n){return typeof n=="number"&&fu(n)};fe(/x/)&&(fe=function(n){return typeof n=="function"&&De.call(n)==it});var ku=Je?function(n){if(!n||De.call(n)!=ft||!_u.argsClass&&oe(n))return false;
var t=n.valueOf,r=xr(t)&&(r=Je(t))&&Je(r);return r?n==r||Je(n)==r:Ir(n)}:Ir,Ru=cu?function(n){n=ke(n);var t=n.constructor,r=n.length;return t&&n===t.prototype||typeof r=="number"&&0<r||_u.enumPrototypes&&typeof n=="function"?Cr(n):cu(n)}:Cr,Fu=gr(ur),Uu=c(function(n,t,r){return!r&&F.test(t)?n+t.toLowerCase():n+(t.charAt(0)[r?"toUpperCase":"toLowerCase"]()+t.slice(1))}),Tu=c(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Lu=c(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),Wu=pu||function(){return(new Ee).getTime()
},Nu=8==gu(H+"08")?gu:function(n,t){return n=me(n),gu(n,+t||(q.test(n)?16:10))};return G.prototype=K.prototype,K.after=function(n,t){if(!fe(t))throw new Ue(C);return n=fu(n=+n)?n:0,function(){return 1>--n?t.apply(this,arguments):void 0}},K.assign=Iu,K.at=function(t){var r=t?t.length:0;return typeof r=="number"&&-1<r&&r<=k&&(t=Sr(t)),n(t,Yt(arguments,false,false,1))},K.before=ne,K.bind=function(n,t){return 3>arguments.length?_r(n,b,null,t):or(n,b|E,Tr(arguments,2),t)},K.bindAll=function(n){for(var t=n,r=1<arguments.length?Yt(arguments,false,false,1):ue(n),e=-1,u=r.length;++e<u;){var o=r[e];
t[o]=_r(t[o],b,null,t)}return t},K.bindKey=function(n,t){return 3>arguments.length?_r(t,b|w,null,n):_r(t,b|w|E,null,n,Tr(arguments,2))},K.callback=_e,K.chain=function(n){return n=K(n),n.__chain__=true,n},K.chunk=function(n,t){var r=0,e=n?n.length:0,u=[];for(t=lu(+t||1,1);r<e;)u.push(Tr(n,r,r+=t));return u},K.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},K.compose=function(){var n=arguments,t=n.length,r=t-1;if(!t)return function(){};for(;t--;)if(!fe(n[t]))throw new Ue(C);
return function(){t=r;for(var e=n[t].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},K.constant=function(n){return function(){return n}},K.countBy=ju,K.create=function(n,t){var r=$t(n);return t?Wt(r,t):r},K.curry=function(n,t){return Dt(n,j,t)},K.curryRight=function(n,t){return Dt(n,A,t)},K.debounce=te,K.defaults=function(n){if(null==n)return n;var t=Tr(arguments);return t.push(Tt),Iu.apply(d,t)},K.defer=function(n){if(!fe(n))throw new Ue(C);var t=Tr(arguments,1);return nu(function(){n.apply(d,t)
},1)},K.delay=function(n,t){if(!fe(n))throw new Ue(C);var r=Tr(arguments,2);return nu(function(){n.apply(d,r)},t)},K.difference=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(Cu(r)||oe(r))break}return Mt(arguments[n],Yt(arguments,false,true,++n))},K.drop=function(n,t,r){return t=null==t||r?1:t,Tr(n,0>t?0:t)},K.dropRight=function(n,t,r){var e=n?n.length:0;return t=e-((null==t||r?1:t)||0),Tr(n,0,0>t?0:t)},K.dropRightWhile=function(n,t,r){var e=n?n.length:0;for(t=br(t,r,3);e--&&t(n[e],e,n););return Tr(n,0,e+1)
},K.dropWhile=function(n,t,r){var e=-1,u=n?n.length:0;for(t=br(t,r,3);++e<u&&t(n[e],e,n););return Tr(n,e)},K.filter=zr,K.flatten=function(n,t,r){if(!n||!n.length)return[];var e=typeof t;return"number"!=e&&"string"!=e||!r||r[t]!==n||(t=false),Yt(n,t)},K.forEach=Zr,K.forEachRight=Kr,K.forIn=function(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Nt(t,r,3)),Jt(n,t,he)},K.forInRight=function(n,t,r){return t=Nt(t,r,3),Xt(n,t,he)},K.forOwn=function(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Nt(t,r,3)),Ht(n,t)
},K.forOwnRight=function(n,t,r){return t=Nt(t,r,3),Xt(n,t,Ru)},K.functions=ue,K.groupBy=Au,K.indexBy=xu,K.initial=function(n){var t=n?n.length:0;return Tr(n,0,t?t-1:0)},K.intersection=function(){for(var n=[],t=-1,u=arguments.length,o=[],i=jr(),a=bu&&i==r;++t<u;){var f=arguments[t];(Cu(f)||oe(f))&&(n.push(f),o.push(a&&120<=f.length&&bu(t&&f)))}var u=n.length,a=n[0],c=-1,l=a?a.length:0,s=[],p=o[0];n:for(;++c<l;)if(f=a[c],0>(p?e(p,f):i(s,f))){for(t=u;--t;){var h=o[t];if(0>(h?e(h,f):i(n[t],f)))continue n
}p&&p.push(f),s.push(f)}return s},K.invert=function(n,t){for(var r=-1,e=Ru(n),u=e.length,o={};++r<u;){var i=e[r],a=n[i];t?Xe.call(o,a)?o[a].push(i):o[a]=[i]:o[a]=i}return o},K.invoke=function(n,t){return rr(n,t,Tr(arguments,2))},K.keys=Ru,K.keysIn=he,K.map=Vr,K.mapValues=function(n,t,r){var e={};return t=br(t,r,3),Ht(n,function(n,r,u){e[r]=t(n,r,u)}),e},K.matches=we,K.memoize=function(n,t){if(!fe(n)||t&&!fe(t))throw new Ue(C);var r=function(){var e=t?t.apply(this,arguments):arguments[0];if("__proto__"==e)return n.apply(this,arguments);
var u=r.cache;return Xe.call(u,e)?u[e]:u[e]=n.apply(this,arguments)};return r.cache={},r},K.merge=Fu,K.mixin=je,K.negate=re,K.omit=function(n,t,r){if(null==n)return{};if(typeof t=="function")return ir(n,re(br(t,r,3)));var e=Yt(arguments,false,false,1);return ir(ke(n),Mt(he(n),It(e,Fe)))},K.once=Ou,K.pairs=function(n){for(var t=-1,r=Ru(n),e=r.length,u=xe(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},K.partial=ee,K.partialRight=function(n){return or(n,O,Tr(arguments,1))},K.partition=Eu,K.pick=function(n,t,r){return null==n?{}:ir(ke(n),typeof t=="function"?br(t,r,3):Yt(arguments,false,false,1))
},K.pluck=Jr,K.property=Ae,K.pull=function(n){for(var t=0,r=arguments.length,e=n?n.length:0;++t<r;)for(var u=-1,o=arguments[t];++u<e;)n[u]===o&&(tu.call(n,u--,1),e--);return n},K.pullAt=function(r){var e=r,u=Yt(arguments,false,false,1),o=u.length,i=n(e,u);for(u.sort(t);o--;){var a=parseFloat(u[o]);if(a!=f&&-1<a&&0==a%1){var f=a;tu.call(e,a,1)}}return i},K.range=function(n,t,r){n=+n||0,r=null==r?1:+r||0,null==t?(t=n,n=0):t=+t||0;var e=-1;t=lu(Ze((t-n)/(r||1)),0);for(var u=xe(t);++e<t;)u[e]=n,n+=r;return u
},K.reject=function(n,t,r){return t=br(t,r,3),zr(n,re(t))},K.remove=function(n,t,r){var e=-1,u=n?n.length:0,o=[];for(t=br(t,r,3);++e<u;)r=n[e],t(r,e,n)&&(o.push(r),tu.call(n,e--,1),u--);return o},K.rest=Ur,K.shuffle=Hr,K.slice=Tr,K.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,o=t&&Cu(t),i=[];for(typeof u=="number"&&-1<u&&u<=k&&(i.length=u),o||(t=br(t,r,3)),zt(n,function(n,r,u){if(o)for(r=t.length,u=xe(r);r--;)u[r]=n[t[r]];else u=t(n,r,u);i[++e]={a:u,b:e,c:n}}),u=i.length,i.sort(o?f:a);u--;)i[u]=i[u].c;
return i},K.take=function(n,t,r){return t=null==t||r?1:t,Tr(n,0,0>t?0:t)},K.takeRight=function(n,t,r){var e=n?n.length:0;return t=e-((null==t||r?1:t)||0),Tr(n,0>t?0:t)},K.takeRightWhile=function(n,t,r){var e=n?n.length:0;for(t=br(t,r,3);e--&&t(n[e],e,n););return Tr(n,e+1)},K.takeWhile=function(n,t,r){var e=-1,u=n?n.length:0;for(t=br(t,r,3);++e<u&&t(n[e],e,n););return Tr(n,0,e)},K.tap=function(n,t,r){return t.call(r,n),n},K.throttle=function(n,t,r){var e=true,u=true;if(!fe(n))throw new Ue(C);return false===r?e=false:ce(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),At.leading=e,At.maxWait=+t,At.trailing=u,te(n,t,At)
},K.times=function(n,t,r){n=fu(n=+n)&&-1<n?n:0,t=Nt(t,r,1),r=-1;for(var e=xe(su(n,S));++r<n;)r<S?e[r]=t(r):t(r);return e},K.toArray=function(n){var t=Sr(n);return t===n?Tr(n):t},K.transform=function(n,t,r,e){var u=Ar(n);if(null==r)if(u)r=[];else{if(ce(n))var o=n.constructor,o=o&&o.prototype;r=$t(o)}return t&&(t=br(t,e,4),(u?Et:Ht)(n,function(n,e,u){return t(r,n,e,u)})),r},K.union=function(){return sr(Yt(arguments,false,true))},K.uniq=Nr,K.unzip=Pr,K.values=ge,K.valuesIn=function(n){return pr(n,he)},K.where=function(n,t){return zr(n,we(t))
},K.without=function(){return Mt(arguments[0],Tr(arguments,1))},K.wrap=function(n,t){return _r(t,E,null,null,[n])},K.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(Cu(r)||oe(r))var e=e?Mt(e,r).concat(Mt(r,e)):r}return e?sr(e):[]},K.zip=function(){return Pr(arguments)},K.zipObject=$r,K.collect=Vr,K.each=Zr,K.eachRight=Kr,K.extend=Iu,K.methods=ue,K.object=$r,K.select=zr,K.tail=Ur,K.unique=Nr,je(K,Wt({},K)),K.attempt=de,K.camelCase=Uu,K.capitalize=function(n){return null==n?"":(n=Fe(n),n.charAt(0).toUpperCase()+n.slice(1))
},K.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),r=typeof r=="function"&&Nt(r,e,1),Pt(n,t,r)},K.cloneDeep=function(n,t,r){return t=typeof t=="function"&&Nt(t,r,1),Pt(n,true,t)},K.contains=Dr,K.endsWith=function(n,t,r){n=null==n?"":Fe(n),t=Fe(t);var e=n.length;return r=(typeof r=="undefined"?e:su(0>r?0:+r||0,e))-t.length,0<=r&&n.indexOf(t,r)==r},K.escape=function(n){return n=null==n?"":Fe(n),N.lastIndex=0,N.test(n)?n.replace(N,s):n
},K.escapeRegExp=ve,K.every=Mr,K.find=qr,K.findIndex=kr,K.findKey=function(n,t,r){return t=br(t,r,3),Vt(n,t,Ht,true)},K.findLast=function(n,t,r){return t=br(t,r,3),Vt(n,t,qt)},K.findLastIndex=function(n,t,r){var e=n?n.length:0;for(t=br(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},K.findLastKey=function(n,t,r){return t=br(t,r,3),Vt(n,t,Qt,true)},K.findWhere=function(n,t){return qr(n,we(t))},K.first=Rr,K.has=function(n,t){return n?Xe.call(n,t):false},K.identity=be,K.indexOf=Fr,K.isArguments=oe,K.isArray=Cu,K.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&De.call(n)==et||false
},K.isDate=function(n){return n&&typeof n=="object"&&De.call(n)==ut||false},K.isElement=ie,K.isEmpty=function(n){if(null==n)return true;var t=n.length;return typeof t=="number"&&-1<t&&t<=k&&(Cu(n)||pe(n)||oe(n)||typeof n=="object"&&fe(n.splice))?!t:!Ru(n).length},K.isEqual=function(n,t,r,e){return r=typeof r=="function"&&Nt(r,e,3),!r&&Er(n)&&Er(t)?n===t:tr(n,t,r)},K.isError=ae,K.isFinite=Su,K.isFunction=fe,K.isNaN=function(n){return le(n)&&n!=+n},K.isNull=function(n){return null===n},K.isNumber=le,K.isObject=ce,K.isPlainObject=ku,K.isRegExp=se,K.isString=pe,K.isUndefined=function(n){return typeof n=="undefined"
},K.kebabCase=Tu,K.last=function(n){var t=n?n.length:0;return t?n[t-1]:d},K.lastIndexOf=function(n,t,r){var e=n?n.length:0,u=e;if(typeof r=="number")u=(0>r?lu(u+r,0):su(r||0,u-1))+1;else if(r)return u=Wr(n,t)-1,e&&n[u]===t?u:-1;for(;u--;)if(n[u]===t)return u;return-1},K.max=Yr,K.min=function(n,t,r){var e=1/0,o=e,i=typeof t;"number"!=i&&"string"!=i||!r||r[t]!==n||(t=null);var i=null==t,a=!(i&&Cu(n))&&pe(n);if(i&&!a)for(r=-1,n=Sr(n),i=n.length;++r<i;)a=n[r],a<o&&(o=a);else t=i&&a?u:br(t,r,3),zt(n,function(n,r,u){r=t(n,r,u),(r<e||1/0===r&&r===o)&&(e=r,o=n)
});return o},K.noConflict=function(){return l._=Be,this},K.noop=function(){},K.now=Wu,K.pad=function(n,t,r){n=null==n?"":Fe(n),t=+t;var e=n.length;return e<t&&fu(t)?(e=(t-e)/2,t=Ye(e),e=Ze(e),r=mr("",e,r),r.slice(0,t)+n+r):n},K.padLeft=function(n,t,r){return n=null==n?"":Fe(n),mr(n,t,r)+n},K.padRight=function(n,t,r){return n=null==n?"":Fe(n),n+mr(n,t,r)},K.parseInt=Nu,K.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=vu(),su(n+r*(t-n+parseFloat("1e-"+(Fe(r).length-1))),t)):ar(n,t)
},K.reduce=Xr,K.reduceRight=Gr,K.repeat=ye,K.result=function(n,t,r){var e=null==n?d:n[t];return typeof e=="undefined"?r:fe(e)?n[t]():e},K.runInContext=m,K.size=function(n){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=k?t:Ru(n).length},K.snakeCase=Lu,K.some=Qr,K.sortedIndex=Lr,K.sortedLastIndex=Wr,K.startsWith=function(n,t,r){return n=null==n?"":Fe(n),r=typeof r=="undefined"?0:su(0>r?0:+r||0,n.length),n.lastIndexOf(t,r)==r},K.template=function(n,t){var r=K.templateSettings;t=Iu({},t,r,Lt),n=Fe(null==n?"":n);
var e,u,r=Iu({},t.imports,r.imports,Lt),o=Ru(r),i=ge(r),a=0,r=t.interpolate||V,f="__p+='",r=Re((t.escape||V).source+"|"+r.source+"|"+(r===B?D:V).source+"|"+(t.evaluate||V).source+"|$","g");if(n.replace(r,function(t,r,o,i,c,l){return o||(o=i),f+=n.slice(a,l).replace(X,p),r&&(e=true,f+="'+__e("+r+")+'"),c&&(u=true,f+="';"+c+";\n__p+='"),o&&(f+="'+((__t=("+o+"))==null?'':__t)+'"),a=l+t.length,t}),f+="';",(r=t.variable)||(f="with(obj){"+f+"}"),f=(u?f.replace(U,""):f).replace(T,"$1").replace(L,"$1;"),f="function("+(r||"obj")+"){"+(r?"":"obj||(obj={});")+"var __t,__p=''"+(e?",__e=_.escape":"")+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}",r=de(function(){return Ie(o,"return "+f).apply(d,i)
}),r.source=f,ae(r))throw r;return r},K.trim=me,K.trimLeft=function(n,t){return(n=null==n?"":Fe(n))?null==t?n.slice(g(n)):(t=Fe(t),n.slice(o(n,t))):n},K.trimRight=function(n,t){return(n=null==n?"":Fe(n))?null==t?n.slice(0,v(n)+1):(t=Fe(t),n.slice(0,i(n,t)+1)):n},K.trunc=function(n,t){var r=30,e="...";if(ce(t))var u="separator"in t?t.separator:u,r="length"in t?+t.length||0:r,e="omission"in t?Fe(t.omission):e;else null!=t&&(r=+t||0);if(n=null==n?"":Fe(n),r>=n.length)return n;var o=r-e.length;if(1>o)return e;
if(r=n.slice(0,o),null==u)return r+e;if(se(u)){if(n.slice(o).search(u)){var i,a,f=n.slice(0,o);for(u.global||(u=Re(u.source,(M.exec(u)||"")+"g")),u.lastIndex=0;i=u.exec(f);)a=i.index;r=r.slice(0,null==a?o:a)}}else n.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),-1<u&&(r=r.slice(0,u)));return r+e},K.unescape=function(n){return n=null==n?"":Fe(n),W.lastIndex=0,W.test(n)?n.replace(W,y):n},K.uniqueId=function(n){var t=++R;return Fe(null==n?"":n)+t},K.all=Mr,K.any=Qr,K.detect=qr,K.foldl=Xr,K.foldr=Gr,K.head=Rr,K.include=Dr,K.inject=Xr,je(K,function(){var n={};
return Ht(K,function(t,r){K.prototype[r]||(n[r]=t)}),n}(),false),K.sample=function(n,t,r){n=Sr(n);var e=n.length;return null==t||r?0<e?n[ar(0,e-1)]:d:(n=Hr(n),n.length=su(0>t?0:+t||0,n.length),n)},Ht(K,function(n,t){var r="sample"!=t;K.prototype[t]||(K.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 G(o,u):o})}),K.VERSION=_,K.prototype.chain=function(){return this.__chain__=true,this},K.prototype.toJSON=Br,K.prototype.toString=function(){return Fe(this.__wrapped__)
},K.prototype.value=Br,K.prototype.valueOf=Br,Et(["join","pop","shift"],function(n){var t=Te[n];K.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new G(r,n):r}}),Et(["push","reverse","sort","unshift"],function(n){var t=Te[n];K.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Et(["concat","splice"],function(n){var t=Te[n];K.prototype[n]=function(){return new G(t.apply(this.__wrapped__,arguments),this.__chain__)}}),_u.spliceObjects||Et(["pop","shift","splice"],function(n){var t=Te[n],r="splice"==n;
K.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 G(u,n):u}}),K}var d,_="3.0.0-pre",b=1,w=2,j=4,A=8,x=16,E=32,O=64,I="__lodash@"+_+"__",C="Expected a function",S=Math.pow(2,32)-1,k=Math.pow(2,53)-1,R=0,F=/^[A-Z]+$/,U=/\b__p\+='';/g,T=/\b(__p\+=)''\+/g,L=/(__e\(.*?\)|\b__t\))\+'';/g,W=/&(?:amp|lt|gt|quot|#39|#96);/g,N=/[&<>"'`]/g,P=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,B=/<%=([\s\S]+?)%>/g,D=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,M=/\w*$/,z=/^\s*function[ \n\r\t]+\w/,q=/^0[xX]/,Z=/^\[object .+?Constructor\]$/,K=/[\xC0-\xFF]/g,V=/($^)/,Y=/[.*+?^${}()|[\]\/\\]/g,J=/\bthis\b/,X=/['\n\r\u2028\u2029\\]/g,G=/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,H=" \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",Q="Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array window WinRTError".split(" "),nt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),tt="[object Arguments]",rt="[object Array]",et="[object Boolean]",ut="[object Date]",ot="[object Error]",it="[object Function]",at="[object Number]",ft="[object Object]",ct="[object RegExp]",lt="[object String]",st="[object ArrayBuffer]",pt="[object Float32Array]",ht="[object Float64Array]",gt="[object Int8Array]",vt="[object Int16Array]",yt="[object Int32Array]",mt="[object Uint8Array]",dt="[object Uint8ClampedArray]",_t="[object Uint16Array]",bt="[object Uint32Array]",wt={};
wt[tt]=wt[rt]=wt[pt]=wt[ht]=wt[gt]=wt[vt]=wt[yt]=wt[mt]=wt[dt]=wt[_t]=wt[bt]=true,wt[st]=wt[et]=wt[ut]=wt[ot]=wt[it]=wt["[object Map]"]=wt[at]=wt[ft]=wt[ct]=wt["[object Set]"]=wt[lt]=wt["[object WeakMap]"]=false;var jt={};jt[tt]=jt[rt]=jt[st]=jt[et]=jt[ut]=jt[pt]=jt[ht]=jt[gt]=jt[vt]=jt[yt]=jt[at]=jt[ft]=jt[ct]=jt[lt]=jt[mt]=jt[dt]=jt[_t]=jt[bt]=true,jt[ot]=jt[it]=jt["[object Map]"]=jt["[object Set]"]=jt["[object WeakMap]"]=false;var At={leading:false,maxWait:0,trailing:false},xt={configurable:false,enumerable:false,value:null,writable:false},Et={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Ot={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},It={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"AE","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\xd7":" ","\xf7":" "},Ct={"function":true,object:true},St={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},kt=Ct[typeof window]&&window||this,Rt=Ct[typeof exports]&&exports&&!exports.nodeType&&exports,Ct=Ct[typeof module]&&module&&!module.nodeType&&module,Ft=Rt&&Ct&&typeof global=="object"&&global;
!Ft||Ft.global!==Ft&&Ft.window!==Ft&&Ft.self!==Ft||(kt=Ft);var Ft=Ct&&Ct.exports===Rt&&Rt,Ut=m();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(kt._=Ut, define(function(){return Ut})):Rt&&Ct?Ft?(Ct.exports=Ut)._=Ut:Rt._=Ut:kt._=Ut}).call(this);

461
dist/lodash.js vendored
View File

@@ -116,10 +116,10 @@
/** Used to assign default `context` object properties */
var contextProps = [
'Array', 'ArrayBuffer', 'Date', 'Error', 'Float32Array', 'Float64Array',
'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Math', 'Number', 'Object',
'RegExp', 'Set', 'String', '_', 'clearTimeout', 'document', 'isFinite', 'isNaN',
'parseInt', 'setTimeout', 'TypeError', 'Uint8Array', 'Uint8ClampedArray',
'Uint16Array', 'Uint32Array', 'window', 'WinRTError'
'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Math', 'Number',
'Object', 'RegExp', 'Set', 'String', '_', 'clearTimeout', 'document',
'isFinite', 'parseInt', 'setTimeout', 'TypeError', 'Uint8Array',
'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'window', 'WinRTError'
];
/** Used to make template sourceURLs easier to identify */
@@ -567,7 +567,7 @@
/*--------------------------------------------------------------------------*/
/**
* Create a new `lodash` function using the given `context` object.
* Create a new pristine `lodash` function using the given `context` object.
*
* @static
* @memberOf _
@@ -576,19 +576,22 @@
* @returns {Function} Returns a new `lodash` function.
* @example
*
* _.mixin({ 'add': function(a, b) { return a + b; } }, false);
*
* var lodash = _.runInContext();
* lodash.mixin({ 'sub': function(a, b) { return a - b; } }, false);
*
* lodash.mixin({
* 'exists': function(value) {
* return value != null;
* }
* }, false);
*
* _.isFunction(lodash.exists);
* _.isFunction(_.add);
* // => true
*
* _.isFunction(_.exists);
* _.isFunction(_.sub);
* // => false
*
* lodash.isFunction(lodash.add);
* // => false
*
* lodash.isFunction(lodash.sub);
* // => true
*/
function runInContext(context) {
// Avoid issues with some ES3 environments that attempt to use values, named
@@ -1036,7 +1039,7 @@
* @param {Array} array The array to iterate over.
* @param {Function} iterator The function called per iteration.
* @param {*} [accumulator] The initial value.
* @param {boolean} [initFromArray=false] Specify using the first element of
* @param {boolean} [initFromArray=false] Specify using the last element of
* `array` as the initial value.
* @returns {*} Returns the accumulated value.
*/
@@ -1142,51 +1145,57 @@
* @returns {Function} Returns the new function.
*/
function baseCallback(func, thisArg, argCount) {
if (typeof func != 'function') {
var type = typeof func;
if (type == 'function') {
if (typeof thisArg == 'undefined') {
return func;
}
var data = func[EXPANDO];
if (typeof data == 'undefined') {
if (support.funcNames) {
data = !func.name;
}
data = data || !support.funcDecomp;
if (!data) {
var source = fnToString.call(func);
if (!support.funcNames) {
data = !reFuncName.test(source);
}
if (!data) {
// checks if `func` references the `this` keyword and stores the result
data = reThis.test(source) || isNative(func);
setData(func, data);
}
}
}
// exit early if there are no `this` references or `func` is bound
if (data === false || (data !== true && data[1] & BIND_FLAG)) {
return func;
}
switch (argCount) {
case 1: return function(value) {
return func.call(thisArg, value);
};
case 3: return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
case 4: return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
case 5: return function(value, other, key, object, source) {
return func.call(thisArg, value, other, key, object, source);
};
}
return function() {
return func.apply(thisArg, arguments);
};
}
if (func == null) {
return identity;
}
if (typeof thisArg == 'undefined') {
return func;
}
var data = func[EXPANDO];
if (typeof data == 'undefined') {
if (support.funcNames) {
data = !func.name;
}
data = data || !support.funcDecomp;
if (!data) {
var source = fnToString.call(func);
if (!support.funcNames) {
data = !reFuncName.test(source);
}
if (!data) {
// checks if `func` references the `this` keyword and stores the result
data = reThis.test(source) || isNative(func);
setData(func, data);
}
}
}
// exit early if there are no `this` references or `func` is bound
if (data === false || (data !== true && data[1] & BIND_FLAG)) {
return func;
}
switch (argCount) {
case 1: return function(value) {
return func.call(thisArg, value);
};
case 3: return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
case 4: return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
case 5: return function(value, other, key, object, source) {
return func.call(thisArg, value, other, key, object, source);
};
}
return function() {
return func.apply(thisArg, arguments);
};
// handle "_.pluck" and "_.where" style callback shorthands
return type == 'object' ? matches(func) : property(func);
}
/**
@@ -1257,7 +1266,7 @@
case float32Class: case float64Class:
case int8Class: case int16Class: case int32Class:
case uint8Class: case uint8ClampedClass: case uint16Class: case uint32Class:
return new Ctor(cloneBuffer(value.buffer));
return new Ctor(cloneBuffer(value.buffer), value.byteOffset, value.length);
case numberClass:
case stringClass:
@@ -1446,7 +1455,7 @@
}
var index = -1,
indexOf = getIndexOf(),
prereq = indexOf === baseIndexOf,
prereq = indexOf == baseIndexOf,
isLarge = prereq && createCache && values && values.length >= 200,
isCommon = prereq && !isLarge,
result = [],
@@ -2141,7 +2150,7 @@
* @param {Array|Object|string} collection The collection to iterate over.
* @param {Function} iterator The function called per iteration.
* @param {*} accumulator The initial value.
* @param {boolean} initFromCollection Specify using the first element
* @param {boolean} initFromCollection Specify using the first or last element
* of `collection` as the initial value.
* @param {Function} eachFunc The function to iterate over `collection`.
* @returns {*} Returns the accumulated value.
@@ -2212,18 +2221,14 @@
*
* @private
* @param {Array} array The array to inspect.
* @param {boolean} [isSorted=false] Specify the array is sorted.
* @param {Function} [iterator] The function called per iteration.
* @returns {Array} Returns the new duplicate-value-free array.
*/
function baseUniq(array, isSorted, iterator) {
var length = array ? array.length : 0;
if (!length) {
return [];
}
function baseUniq(array, iterator) {
var index = -1,
indexOf = getIndexOf(),
prereq = !isSorted && indexOf === baseIndexOf,
length = array.length,
prereq = indexOf == baseIndexOf,
isLarge = prereq && createCache && length >= 200,
isCommon = prereq && !isLarge,
result = [];
@@ -2232,7 +2237,7 @@
var seen = createCache();
indexOf = cacheIndexOf;
} else {
seen = (iterator && !isSorted) ? [] : result;
seen = iterator ? [] : result;
}
outer:
while (++index < length) {
@@ -2251,12 +2256,6 @@
}
result.push(value);
}
else if (isSorted) {
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
}
else if (indexOf(seen, computed) < 0) {
if (iterator || isLarge) {
seen.push(computed);
@@ -2366,7 +2365,7 @@
function createAggregator(setter, initializer) {
return function(collection, iterator, thisArg) {
var result = initializer ? initializer() : {};
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
if (isArray(collection)) {
var index = -1,
@@ -2643,6 +2642,21 @@
return baseCreateWrapper([func, bitmask, arity, thisArg, partialArgs, partialRightArgs, partialHolders, partialRightHolders]);
}
/**
* Gets the appropriate "callback" function. If the `_.callback` method is
* customized this function returns the custom method, otherwise it returns
* the `baseCallback` function. If arguments are provided the chosen function
* is executed with the arguments and its result is returned.
*
* @private
* @returns {Function} Returns the chosen function or its result.
*/
function getCallback(func, thisArg, argCount) {
var result = lodash.callback || callback;
result = result === callback ? baseCallback : result;
return arguments.length ? result(func, thisArg, argCount) : result;
}
/**
* Finds the indexes of all placeholder elements in `array`.
*
@@ -2666,14 +2680,16 @@
/**
* Gets the appropriate "indexOf" function. If the `_.indexOf` method is
* customized this function returns the custom method, otherwise it returns
* the `baseIndexOf` function.
* the `baseIndexOf` function. If arguments are provided the chosen function
* is executed with the arguments and its result is returned.
*
* @private
* @returns {Function} Returns the "indexOf" function.
* @returns {Function|number} Returns the chosen function or its result.
*/
function getIndexOf() {
function getIndexOf(collection, target, fromIndex) {
var result = lodash.indexOf || indexOf;
return result === indexOf ? baseIndexOf : result;
result = result === indexOf ? baseIndexOf : result;
return collection ? result(collection, target, fromIndex) : result;
}
/**
@@ -2702,6 +2718,18 @@
: (value && type == 'object' && reHostCtor.test(toString.call(value))) || false;
}
/**
* Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
*
* @private
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` if suitable for strict
* equality comparisons, else `false`.
*/
function isStrictComparable(value) {
return value === value && (value === 0 ? (1 / value > 0) : !isObject(value));
}
/**
* Creates a clone of the given array buffer.
*
@@ -2805,6 +2833,33 @@
return result;
}
/**
* An implementation of `_.uniq` optimized for sorted arrays without support
* for callback shorthands and `this` binding.
*
* @private
* @param {Array} array The array to inspect.
* @param {Function} [iterator] The function called per iteration.
* @returns {Array} Returns the new duplicate-value-free array.
*/
function sortedUniq(array, iterator) {
var seen,
index = -1,
length = array.length,
result = [];
while (++index < length) {
var value = array[index],
computed = iterator ? iterator(value, index, array) : value;
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
}
return result;
}
/**
* Converts `collection` to an array if it is not an array-like value.
*
@@ -3016,7 +3071,7 @@
var length = array ? array.length : 0,
index = length;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (index-- && predicate(array[index], index, array)) { }
return slice(array, 0, index + 1);
}
@@ -3064,7 +3119,7 @@
var index = -1,
length = array ? array.length : 0;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (++index < length && predicate(array[index], index, array)) { }
return slice(array, index);
}
@@ -3114,7 +3169,7 @@
var index = -1,
length = array ? array.length : 0;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (++index < length) {
if (predicate(array[index], index, array)) {
return index;
@@ -3167,7 +3222,7 @@
function findLastIndex(array, predicate, thisArg) {
var length = array ? array.length : 0;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (length--) {
if (predicate(array[length], length, array)) {
return length;
@@ -3307,7 +3362,7 @@
argsLength = arguments.length,
caches = [],
indexOf = getIndexOf(),
prereq = createCache && indexOf === baseIndexOf;
prereq = createCache && indexOf == baseIndexOf;
while (++argsIndex < argsLength) {
var value = arguments[argsIndex];
@@ -3511,7 +3566,7 @@
length = array ? array.length : 0,
result = [];
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (++index < length) {
var value = array[index];
if (predicate(value, index, array)) {
@@ -3626,7 +3681,7 @@
* // => 1
*/
function sortedIndex(array, value, iterator, thisArg) {
iterator = iterator == null ? identity : lodash.callback(iterator, thisArg, 1);
iterator = iterator == null ? identity : getCallback(iterator, thisArg, 1);
return baseSortedIndex(array, value, iterator);
}
@@ -3652,7 +3707,7 @@
* // => 4
*/
function sortedLastIndex(array, value, iterator, thisArg) {
iterator = iterator == null ? identity : lodash.callback(iterator, thisArg, 1);
iterator = iterator == null ? identity : getCallback(iterator, thisArg, 1);
return baseSortedIndex(array, value, iterator, true);
}
@@ -3761,7 +3816,7 @@
var length = array ? array.length : 0,
index = length;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (index-- && predicate(array[index], index, array)) { }
return slice(array, index + 1);
}
@@ -3809,7 +3864,7 @@
var index = -1,
length = array ? array.length : 0;
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
while (++index < length && predicate(array[index], index, array)) { }
return slice(array, 0, index);
}
@@ -3893,9 +3948,11 @@
}
}
if (iterator != null) {
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
}
return baseUniq(array, isSorted, iterator);
return (isSorted && getIndexOf() == baseIndexOf)
? sortedUniq(array, iterator)
: baseUniq(array, iterator);
}
/**
@@ -4000,7 +4057,7 @@
/**
* Creates an object composed from arrays of property names and values. Provide
* either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`
* either a single two dimensional array, e.g. `[[key1, value1], [key2, value2]]`
* or two arrays, one of property names and one of corresponding values.
*
* @static
@@ -4233,8 +4290,7 @@
? nativeContains.call(collection, target, fromIndex)
: collection.indexOf(target, fromIndex) > -1;
}
var indexOf = getIndexOf();
return indexOf(collection, target, fromIndex) > -1;
return getIndexOf(collection, target, fromIndex) > -1;
}
/**
@@ -4318,7 +4374,7 @@
*/
function every(collection, predicate, thisArg) {
if (typeof predicate != 'function' || typeof thisArg != 'undefined') {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
}
var func = isArray(collection) ? arrayEvery : baseEvery;
return func(collection, predicate);
@@ -4365,7 +4421,7 @@
* // => [{ 'name': 'barney', 'age': 36 }]
*/
function filter(collection, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
var func = isArray(collection) ? arrayFilter : baseFilter;
return func(collection, predicate);
@@ -4419,7 +4475,7 @@
var index = findIndex(collection, predicate, thisArg);
return index > -1 ? collection[index] : undefined;
}
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return baseFind(collection, predicate, baseEach);
}
@@ -4442,7 +4498,7 @@
* // => 3
*/
function findLast(collection, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return baseFind(collection, predicate, baseEachRight);
}
@@ -4681,7 +4737,7 @@
* // => ['barney', 'fred']
*/
function map(collection, iterator, thisArg) {
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
var func = isArray(collection) ? arrayMap : baseMap;
return func(collection, iterator);
@@ -4739,20 +4795,25 @@
if ((type == 'number' || type == 'string') && thisArg && thisArg[iterator] === collection) {
iterator = null;
}
if (iterator == null && isArray(collection)) {
var noIterator = iterator == null,
isArr = noIterator && isArray(collection),
isStr = !isArr && isString(collection);
if (noIterator && !isStr) {
var index = -1,
length = collection.length;
iterable = toIterable(collection),
length = iterable.length;
while (++index < length) {
var value = collection[index];
var value = iterable[index];
if (value > result) {
result = value;
}
}
} else {
iterator = (iterator == null && isString(collection))
iterator = (noIterator && isStr)
? charAtCallback
: lodash.callback(iterator, thisArg, 3);
: getCallback(iterator, thisArg, 3);
baseEach(collection, function(value, index, collection) {
var current = iterator(value, index, collection);
@@ -4817,20 +4878,25 @@
if ((type == 'number' || type == 'string') && thisArg && thisArg[iterator] === collection) {
iterator = null;
}
if (iterator == null && isArray(collection)) {
var noIterator = iterator == null,
isArr = noIterator && isArray(collection),
isStr = !isArr && isString(collection);
if (noIterator && !isStr) {
var index = -1,
length = collection.length;
iterable = toIterable(collection),
length = iterable.length;
while (++index < length) {
var value = collection[index];
var value = iterable[index];
if (value < result) {
result = value;
}
}
} else {
iterator = (iterator == null && isString(collection))
iterator = (noIterator && isStr)
? charAtCallback
: lodash.callback(iterator, thisArg, 3);
: getCallback(iterator, thisArg, 3);
baseEach(collection, function(value, index, collection) {
var current = iterator(value, index, collection);
@@ -4944,7 +5010,7 @@
*/
function reduce(collection, iterator, accumulator, thisArg) {
var func = isArray(collection) ? arrayReduce : baseReduce;
return func(collection, lodash.callback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEach);
return func(collection, getCallback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEach);
}
/**
@@ -4968,7 +5034,7 @@
*/
function reduceRight(collection, iterator, accumulator, thisArg) {
var func = isArray(collection) ? arrayReduceRight : baseReduce;
return func(collection, lodash.callback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEachRight);
return func(collection, getCallback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEachRight);
}
/**
@@ -5010,7 +5076,7 @@
* // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
*/
function reject(collection, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return filter(collection, negate(predicate));
}
@@ -5147,7 +5213,7 @@
*/
function some(collection, predicate, thisArg) {
if (typeof predicate != 'function' || typeof thisArg != 'undefined') {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
}
var func = isArray(collection) ? arraySome : baseSome;
return func(collection, predicate);
@@ -5212,7 +5278,7 @@
result.length = length;
}
if (!multi) {
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
}
baseEach(collection, function(value, key, collection) {
if (multi) {
@@ -6308,7 +6374,7 @@
* // => 'fred'
*/
function findKey(object, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return baseFind(object, predicate, baseForOwn, true);
}
@@ -6354,7 +6420,7 @@
* // => 'pebbles'
*/
function findLastKey(object, predicate, thisArg) {
predicate = lodash.callback(predicate, thisArg, 3);
predicate = getCallback(predicate, thisArg, 3);
return baseFind(object, predicate, baseForOwnRight, true);
}
@@ -6560,7 +6626,7 @@
}
/**
* Checks if `value` is an `arguments` object.
* Checks if `value` is classified as an `arguments` object.
*
* @static
* @memberOf _
@@ -6581,13 +6647,13 @@
}
/**
* Checks if `value` is an array.
* Checks if `value` is classified as an `Array` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isArray([1, 2, 3]);
@@ -6602,13 +6668,13 @@
};
/**
* Checks if `value` is a boolean value.
* Checks if `value` is classified as a boolean primitive or object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a boolean value, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isBoolean(false);
@@ -6623,13 +6689,13 @@
}
/**
* Checks if `value` is a `Date` object.
* Checks if `value` is classified as a `Date` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a date object, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isDate(new Date);
@@ -6751,23 +6817,9 @@
*/
function isEqual(value, other, customizer, thisArg) {
customizer = typeof customizer == 'function' && baseCallback(customizer, thisArg, 3);
if (!customizer) {
// exit early for identical values
if (value === other) {
// treat `-0` vs. `+0` as not equal
return value !== 0 || (1 / value == 1 / other);
}
var valType = typeof value,
othType = typeof other;
// exit early for unlike primitive values
if (value === value && (value == null || other == null ||
(valType != 'function' && valType != 'object' && othType != 'function' && othType != 'object'))) {
return false;
}
}
return baseIsEqual(value, other, customizer);
return (!customizer && isStrictComparable(value) && isStrictComparable(other))
? value === other
: baseIsEqual(value, other, customizer);
}
/**
@@ -6792,7 +6844,7 @@
}
/**
* Checks if `value` is a finite number.
* Checks if `value` is a finite primitive number.
*
* Note: This method is based on ES6 `Number.isFinite`. See the
* [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite)
@@ -6802,7 +6854,7 @@
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is finite, else `false`.
* @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
* @example
*
* _.isFinite(10);
@@ -6825,13 +6877,13 @@
};
/**
* Checks if `value` is a function.
* Checks if `value` is classified as a `Function` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isFunction(_);
@@ -6928,16 +6980,16 @@
}
/**
* Checks if `value` is a `Number` primitive or object.
* Checks if `value` is classified as a `Number` primitive or object.
*
* Note: `NaN` is considered a number. See the [ES5 spec](http://es5.github.io/#x8.5)
* for more details.
* Note: To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified
* as numbers, use the `_.isFinite` method.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a number, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isNumber(8.4);
@@ -6999,13 +7051,13 @@
};
/**
* Checks if `value` is a `RegExp` object.
* Checks if `value` is classified as a `RegExp` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a regexp object, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isRegExp(/abc/);
@@ -7019,13 +7071,13 @@
}
/**
* Checks if `value` is a `String` primitive or object.
* Checks if `value` is classified as a `String` primitive or object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a string, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isString('abc');
@@ -7180,7 +7232,7 @@
*/
function mapValues(object, iterator, thisArg) {
var result = {};
iterator = lodash.callback(iterator, thisArg, 3);
iterator = getCallback(iterator, thisArg, 3);
baseForOwn(object, function(value, key, object) {
result[key] = iterator(value, key, object);
@@ -7273,7 +7325,7 @@
return {};
}
if (typeof predicate == 'function') {
return basePick(object, negate(lodash.callback(predicate, thisArg, 3)));
return basePick(object, negate(getCallback(predicate, thisArg, 3)));
}
var omitProps = baseFlatten(arguments, false, false, 1);
return basePick(Object(object), baseDifference(keysIn(object), arrayMap(omitProps, String)));
@@ -7281,7 +7333,7 @@
/**
* Creates a two dimensional array of a given object's key-value pairs,
* i.e. `[[key1, value1], [key2, value2]]`.
* e.g. `[[key1, value1], [key2, value2]]`.
*
* @static
* @memberOf _
@@ -7339,7 +7391,7 @@
}
return basePick(Object(object),
typeof predicate == 'function'
? lodash.callback(predicate, thisArg, 3)
? getCallback(predicate, thisArg, 3)
: baseFlatten(arguments, false, false, 1)
);
}
@@ -7390,7 +7442,7 @@
}
}
if (iterator) {
iterator = lodash.callback(iterator, thisArg, 4);
iterator = getCallback(iterator, thisArg, 4);
(isArr ? arrayEach : baseForOwn)(object, function(value, index, object) {
return iterator(accumulator, value, index, object);
});
@@ -7550,7 +7602,11 @@
* // => 'fred, barney, &amp; pebbles'
*/
function escape(string) {
return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar);
// reset `lastIndex` because in IE < 9 `String#replace` does not
string = string == null ? '' : String(string);
return (reUnescapedHtml.lastIndex = 0, reUnescapedHtml.test(string))
? string.replace(reUnescapedHtml, escapeHtmlChar)
: string;
}
/**
@@ -7568,7 +7624,10 @@
* // => '\[lodash\]\(http://lodash\.com\)'
*/
function escapeRegExp(string) {
return string == null ? '' : String(string).replace(reRegExpChars, '\\$&');
string = string == null ? '' : String(string);
return (reRegExpChars.lastIndex = 0, reRegExpChars.test(string))
? string.replace(reRegExpChars, '\\$&')
: string;
}
/**
@@ -7719,6 +7778,9 @@
return result;
}
string = String(string);
// leverage the exponentiation by squaring algorithm for a faster repeat
// http://en.wikipedia.org/wiki/Exponentiation_by_squaring
do {
if (n % 2) {
result += string;
@@ -7789,7 +7851,7 @@
* properties may be accessed as free variables in the template. If a setting
* object is provided it overrides `_.templateSettings` for the template.
*
* Note: In the development build, `_.template` utilizes sourceURLs for easier debugging.
* Note: In the development build `_.template` utilizes sourceURLs for easier debugging.
* See the [HTML5 Rocks article on sourcemaps](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
* for more details.
*
@@ -7828,22 +7890,27 @@
* compiled({ 'people': ['fred', 'barney'] });
* // => '<li>fred</li><li>barney</li>'
*
* // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
* var compiled = _.template('hello ${ name }');
* compiled({ 'name': 'pebbles' });
* // => 'hello pebbles'
*
* // using the internal `print` function in "evaluate" delimiters
* var compiled = _.template('<% print("hello " + name); %>!');
* compiled({ 'name': 'barney' });
* // => 'hello barney!'
*
* // using a custom template delimiters
* // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
* var compiled = _.template('hello ${ name }');
* compiled({ 'name': 'pebbles' });
* // => 'hello pebbles'
*
* // using custom template delimiters
* _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
* var compiled = _.template('hello {{ name }}!');
* compiled({ 'name': 'mustache' });
* // => 'hello mustache!'
*
* // using backslashes to treat delimiters as plain text
* var compiled = _.template('<%= "\\<%- value %\\>" %>');
* compiled({ 'value': 'ignored' });
* // => '<%- value %>'
*
* // using the `imports` option to import `jQuery` as `jq`
* var text = '<% jq.each(people, function(name) { %><li><%- name %></li><% }); %>';
* var compiled = _.template(text, { 'imports': { 'jq': jQuery } });
@@ -8159,11 +8226,10 @@
* // => 'fred, barney & pebbles'
*/
function unescape(string) {
if (string == null) {
return '';
}
string = String(string);
return string.indexOf(';') < 0 ? string : string.replace(reEscapedHtml, unescapeHtmlChar);
string = string == null ? '' : String(string);
return (reEscapedHtml.lastIndex = 0, reEscapedHtml.test(string))
? string.replace(reEscapedHtml, unescapeHtmlChar)
: string;
}
/*--------------------------------------------------------------------------*/
@@ -8207,7 +8273,6 @@
* @category Utility
* @param {*} [func=identity] The value to convert to a callback.
* @param {*} [thisArg] The `this` binding of the created callback.
* @param {number} [argCount] The number of arguments the callback accepts.
* @returns {Function} Returns the new function.
* @example
*
@@ -8217,9 +8282,12 @@
* ];
*
* // wrap to create custom callback shorthands
* _.callback = _.wrap(_.callback, function(func, callback, thisArg) {
* var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
* return !match ? func(callback, thisArg) : function(object) {
* _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
* var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
* if (!match) {
* return callback(func, thisArg);
* }
* return function(object) {
* return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
* };
* });
@@ -8227,18 +8295,8 @@
* _.filter(characters, 'age__gt38');
* // => [{ 'name': 'fred', 'age': 40 }]
*/
function callback(func, thisArg, argCount) {
var type = typeof func,
isFunc = type == 'function';
if (isFunc && typeof thisArg == 'undefined') {
return func;
}
if (isFunc || func == null) {
return baseCallback(func, thisArg, argCount);
}
// handle "_.pluck" and "_.where" style callback shorthands
return type == 'object' ? matches(func) : property(func);
function callback(func, thisArg) {
return baseCallback(func, thisArg);
}
/**
@@ -8307,17 +8365,28 @@
*/
function matches(source) {
var props = keys(source),
length = props.length,
index = length,
modes = Array(length),
length = props.length;
if (length == 1) {
var key = props[0],
value = source[key];
if (isStrictComparable(value)) {
return function(object) {
return object != null && value === object[key] && hasOwnProperty.call(object, key);
};
}
}
var index = length,
flags = Array(length),
vals = Array(length);
while (index--) {
var value = source[props[index]],
isDeep = value !== value || (value === 0 && 1 / value < 0) || isObject(value);
value = source[props[index]];
var isStrict = isStrictComparable(value);
modes[index] = isDeep;
vals[index] = isDeep ? baseClone(value, isDeep) : value;
flags[index] = isStrict;
vals[index] = isStrict ? value : baseClone(value, false);
}
return function(object) {
index = length;
@@ -8325,13 +8394,13 @@
return !index;
}
while (index--) {
if (modes[index] ? !hasOwnProperty.call(object, props[index]) : vals[index] !== object[props[index]]) {
if (flags[index] ? vals[index] !== object[props[index]] : !hasOwnProperty.call(object, props[index])) {
return false;
}
}
index = length;
while (index--) {
if (modes[index] ? !baseIsEqual(vals[index], object[props[index]], null, true) : !hasOwnProperty.call(object, props[index])) {
if (flags[index] ? !hasOwnProperty.call(object, props[index]) : !baseIsEqual(vals[index], object[props[index]], null, true)) {
return false;
}
}

126
dist/lodash.min.js vendored
View File

@@ -4,66 +4,66 @@
* Build: `lodash modern -o ./dist/lodash.js`
*/
;(function(){function n(n,t){for(var r=-1,e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function t(n,t){if(n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return 0}function r(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 e(n,t){return n.has(t)?0:-1}function u(n){return n.charCodeAt(0)}function o(n,t){for(var r=-1,e=n.length;++r<e&&-1<t.indexOf(n.charAt(r)););return r}function i(n,t){for(var r=n.length;r--&&-1<t.indexOf(n.charAt(r)););return r
}function f(n,r){return t(n.a,r.a)||n.b-r.b}function a(n,r){for(var e=-1,u=n.a,o=r.a,i=u.length;++e<i;){var f=t(u[e],o[e]);if(f)return f}return n.b-r.b}function c(n){return function(t){for(var r=-1,e=(t=null!=t&&(t+"").replace(Z,l).match(X))?t.length:0,u="";++r<e;)u=n(u,t[r],r,t);return u}}function l(n){return xt[n]}function p(n){return jt[n]}function s(n){return"\\"+Et[n]}function h(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break
}return t}function g(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function v(n){return At[n]}function y(l){function Z(n){if(n&&typeof n=="object"){if(n instanceof X)return n;!bu(n)&&qe.call(n,"__wrapped__")&&(n=n.__wrapped__)}return new X(n)}function X(n,t){this.__chain__=!!t,this.__wrapped__=n}function jt(n,t){for(var r=-1,e=n?n.length:0;++r<e&&false!==t(n[r],r,n););return n
}function At(n,t){for(var r=-1,e=n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function xt(n,t){for(var r=-1,e=n?n.length:0,u=me(e);++r<e;)u[r]=t(n[r],r,n);return u}function kt(n,t){for(var r=-1,e=n.length,u=[];++r<e;){var o=n[r];t(o,r,n)&&u.push(o)}return u}function Et(n,t,r,e){var u=-1,o=n.length;for(e&&o&&(r=n[++u]);++u<o;)r=t(r,n[u],u,n);return r}function It(n,t,r,e){var u=n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function Rt(n,t){for(var r=-1,e=n.length;++r<e;)if(t(n[r],r,n))return true;
return false}function Ct(n,t){return typeof n=="undefined"?t:n}function Ft(n,t,r,e){return typeof n!="undefined"&&qe.call(e,r)?n:t}function Tt(n,t,r){for(var e=-1,u=ju(t),o=u.length;++e<o;){var i=u[e];n[i]=r?r(n[i],t[i],i,n,t):t[i]}return n}function Nt(n,t,r){if(typeof n!="function")return ge;if(typeof t=="undefined")return n;var e=n[E];if(typeof e=="undefined"&&(lu.funcNames&&(e=!n.name),e=e||!lu.funcDecomp,!e)){var u=Fe.call(n);lu.funcNames||(e=!z.test(u)),e||(e=Y.test(u)||_r(n),su(n,e))}if(false===e||true!==e&&e[1]&b)return n;
switch(r){case 1:return function(r){return n.call(t,r)};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)};case 5:return function(r,e,u,o,i){return n.call(t,r,e,u,o,i)}}return function(){return n.apply(t,arguments)}}function Ut(n,t,r,e,u){var o=r?r(n):d;if(typeof o!="undefined")return o;var i=bu(n),f=!t;if(i){if(o=f?Rr(n):n.constructor(n.length),"string"==typeof n[0]&&qe.call(n,"index")&&(o.index=n.index,o.input=n.input),f)return o}else{if(!ue(n))return n;
var a=Ne.call(n);if(!bt[a])return n;var c=a==Q,l=!c&&a==ot;if(f&&(c||l)&&(o=Tt({},n),l))return o;var p=n.constructor;if(a!=ot||ee(p)&&p instanceof p||(p=xe),t&&(c||l))o=new p;else switch(a){case at:return wr(n);case tt:case rt:return new p(+n);case ct:case lt:case pt:case st:case ht:case gt:case vt:case yt:case dt:return new p(wr(n.buffer));case ut:case ft:return new p(n);case it:return o=p(n.source,M.exec(n)),o.lastIndex=n.lastIndex,o}}if(c&&(o.length=n.length),f)return o;for(e||(e=[]),u||(u=[]),f=e.length;f--;)if(e[f]==n)return u[f];
return e.push(n),u.push(o),(i?jt:Jt)(n,function(n,i){var f=r?r(n,i):d;o[i]=typeof f=="undefined"?Ut(n,t,null,e,u):f}),o}function Wt(n){return ue(n)?Qe(n):{}}function Lt(n){function t(){for(var n=arguments.length,d=n,m=me(n);d--;)m[d]=arguments[d];if(f){for(var d=e.length,w=-1,j=eu(m.length-d,0),A=-1,E=f.length,O=me(j+E);++A<E;)O[A]=f[A];for(;++w<d;)O[e[w]]=m[w];for(;j--;)O[A++]=m[w++];m=O}if(a){for(var d=-1,w=c.length,j=-1,I=eu(m.length-w,0),A=-1,E=a.length,O=me(I+E);++j<I;)O[j]=m[j];for(I=j;++A<E;)O[I+A]=a[A];
for(;++d<w;)O[I+c[d]]=m[j++];m=O}return(s||h)&&(d=dr(m),n-=d.length,n<o)?(r|=s?x:k,r&=~(s?k:x),g||(r&=~(b|_)),n=[u,r,eu(o-n,0),i],n[s?4:5]=m,n[s?6:7]=d,Lt(n)):(n=l?i:this,p&&(u=n[y]),(this instanceof t?v||hr(u):u).apply(n,m))}var r=n[1];if(r==b)return su(sr(n),n);var e=n[6];if((r==x||r==(b|x))&&!e.length)return su(vr(n),n);var u=n[0],o=n[2],i=n[3],f=n[4],a=n[5],c=n[7],l=r&b,p=r&_,s=r&w,h=r&j,g=r&A,v=!p&&hr(u),y=u;return su(t,n)}function $t(n,t,r){return typeof r!="number"&&(r=+r||(n?n.length:0)),yr(n,t,r)
}function Bt(n,t){var u=n?n.length:0;if(!u)return[];var o=-1,i=mr(),f=i===r,a=f&&pu&&t&&200<=t.length,f=f&&!a,c=[],l=t?t.length:0;a&&(i=e,t=pu(t));n:for(;++o<u;)if(a=n[o],f){for(var p=l;p--;)if(t[p]===a)continue n;c.push(a)}else 0>i(t,a)&&c.push(a);return c}function Dt(n,t){var r=n?n.length:0;if(typeof r!="number"||-1>=r||r>R)return Jt(n,t);for(var e=-1,u=xr(n);++e<r&&false!==t(u[e],e,n););return n}function Mt(n,t){var r=n?n.length:0;if(typeof r!="number"||-1>=r||r>R)return Xt(n,t);for(var e=xr(n);r--&&false!==t(e[r],r,n););return n
}function zt(n,t){var r=true;return Dt(n,function(n,e,u){return r=!!t(n,e,u)}),r}function qt(n,t){var r=[];return Dt(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function Pt(n,t,r,e){var u;return r(n,function(n,r,o){return t(n,r,o)?(u=e?r:n,false):void 0}),u}function Zt(n,t,r,e){e=(e||0)-1;for(var u=n.length,o=0,i=[];++e<u;){var f=n[e];if(f&&typeof f=="object"&&typeof f.length=="number"&&(bu(f)||ne(f))){t&&(f=Zt(f,t,r));var a=-1,c=f.length;for(i.length+=c;++a<c;)i[o++]=f[a]}else r||(i[o++]=f)}return i}function Kt(n,t,r){var e=-1;
r=r(n);for(var u=r.length;++e<u;){var o=r[e];if(false===t(n[o],o,n))break}return n}function Vt(n,t,r){r=r(n);for(var e=r.length;e--;){var u=r[e];if(false===t(n[u],u,n))break}return n}function Yt(n,t){Kt(n,t,ae)}function Jt(n,t){return Kt(n,t,ju)}function Xt(n,t){return Vt(n,t,ju)}function Gt(n,t){for(var r=-1,e=t(n),u=e.length,o=[];++r<u;){var i=e[r];ee(n[i])&&o.push(i)}return o}function Ht(n,t,r,e,u,o){var i=r&&!u?r(n,t):d;if(typeof i!="undefined")return!!i;if(n===t)return 0!==n||1/n==1/t;var f=typeof n,a=typeof t;
if(n===n&&(null==n||null==t||"function"!=f&&"object"!=f&&"function"!=a&&"object"!=a))return false;var c=Ne.call(n),l=c==Q,f=Ne.call(t),i=f==Q;if(l&&(c=ot),i&&(f=ot),c!=f)return false;if(a=mt[c],f=c==et,a){var l=n.length,p=t.length;if(l!=p&&(!e||p<=l))return false}else{if(!f&&c!=ot){switch(c){case tt:case rt:return+n==+t;case ut:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case it:case ft:return n==Ee(t)}return false}var s=qe.call(n,"__wrapped__"),c=qe.call(t,"__wrapped__");if(s||c)return Ht(s?n.__wrapped__:n,c?t.__wrapped__:t,r,e,u,o);
if(s=l?xe:n.constructor,c=i?xe:t.constructor,f){if(s.prototype.name!=c.prototype.name)return false}else{var p=!l&&qe.call(n,"constructor"),h=!i&&qe.call(t,"constructor");if(p!=h||!(p||s==c||ee(s)&&s instanceof s&&ee(c)&&c instanceof c)&&"constructor"in n&&"constructor"in t)return false}if(s=f?["message","name"]:ju(n),c=f?s:ju(t),l&&s.push("length"),i&&c.push("length"),l=s.length,p=c.length,l!=p&&!e)return false}for(u||(u=[]),o||(o=[]),c=u.length;c--;)if(u[c]==n)return o[c]==t;if(u.push(n),o.push(t),i=true,a)for(;i&&++c<l;)if(a=n[c],e)for(f=p;f--&&!(i=Ht(a,t[f],r,e,u,o)););else h=t[c],i=r?r(a,h,c):d,typeof i=="undefined"&&(i=Ht(a,h,r,e,u,o));
else for(;i&&++c<l;)p=s[c],(i=f||qe.call(t,p))&&(a=n[p],h=t[p],i=r?r(a,h,p):d,typeof i=="undefined"&&(i=Ht(a,h,r,e,u,o)));return u.pop(),o.pop(),!!i}function Qt(n,t,r){var e=-1,u=typeof t=="function",o=n?n.length:0,i=[];return typeof o=="number"&&-1<o&&o<=R&&(i.length=o),Dt(n,function(n){var o=u?t:null!=n&&n[t];i[++e]=o?o.apply(n,r):d}),i}function nr(n,t){var r=[];return Dt(n,function(n,e,u){r.push(t(n,e,u))}),r}function tr(n,t,r,e,u){var o=br(t);return(o?jt:Jt)(t,function(t,i,f){var a=t&&br(t),c=t&&wu(t),l=n[i];
if(a||c){for(e||(e=[]),u||(u=[]),c=e.length;c--;)if(e[c]==t)return void(n[i]=u[c]);f=r?r(l,t,i,n,f):d,(c=typeof f=="undefined")&&(f=a?bu(l)?l:[]:wu(l)?l:{}),e.push(t),u.push(f),c&&tr(f,t,r,e,u),n[i]=f}else f=r?r(l,t,i,n,f):d,typeof f=="undefined"&&(f=t),(o||typeof f!="undefined")&&(n[i]=f)}),n}function rr(n,t,r,e){if(n)var u=n[E],u=u?u[2]:n.length,u=u-r.length;var o=t&x;return yr(n,t,u,e,o&&r,!o&&r)}function er(n,t){var r={};if(typeof t=="function")return Yt(n,function(n,e,u){t(n,e,u)&&(r[e]=n)}),r;
for(var e=-1,u=t.length;++e<u;){var o=t[e];o in n&&(r[o]=n[o])}return r}function ur(n,t){return n+Me(au()*(t-n+1))}function or(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function ir(n,t){var r;return Dt(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function fr(n,t,r,e){var u=0,o=n?n.length:u;for(t=r(t);u<o;){var i=u+o>>>1,f=r(n[i]);(e?f<=t:f<t)?u=i+1:o=i}return o}function ar(n,t,u){var o=n?n.length:0;if(!o)return[];var i=-1,f=mr(),a=!t&&f===r,c=a&&pu&&200<=o,a=a&&!c,l=[];if(c)var p=pu(),f=e;
else p=u&&!t?[]:l;n:for(;++i<o;){var s=n[i],h=u?u(s,i,n):s;if(a){for(var g=p.length;g--;)if(p[g]===h)continue n;u&&p.push(h),l.push(s)}else t?i&&p===h||(p=h,l.push(s)):0>f(p,h)&&((u||c)&&p.push(h),l.push(s))}return l}function cr(n,t){for(var r=-1,e=t(n),u=e.length,o=me(u);++r<u;)o[r]=n[e[r]];return o}function lr(n,t){return function(r,e,u){var o=t?t():{};if(e=Z.callback(e,u,3),bu(r)){u=-1;for(var i=r.length;++u<i;){var f=r[u];n(o,f,e(f,u,r),r)}}else Dt(r,function(t,r,u){n(o,t,e(t,r,u),u)});return o
}}function pr(n){return function(t){var r=arguments,e=r.length;if(null==t||2>e)return t;var u=typeof r[2];if("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2),3<e&&"function"==typeof r[e-2])var o=Nt(r[--e-1],r[e--],5);else 2<e&&"function"==typeof r[e-1]&&(o=r[--e]);for(u=0;++u<e;)n(t,r[u],o);return t}}function sr(n){function t(){return(this instanceof t?u:r).apply(e,arguments)}var r=n[0],e=n[3],u=hr(r);return t}function hr(n){return function(){var t=Wt(n.prototype),r=n.apply(t,arguments);
return ue(r)?r:t}}function gr(n,t,r){return n=n.length,t=+t,n<t&&tu(t)?(t-=n,r=null==r?" ":Ee(r),pe(r,$e(t/r.length)).slice(0,t)):""}function vr(n){function t(){for(var n=0,f=arguments.length,a=-1,c=u.length,l=me(f+c);++a<c;)l[a]=u[a];for(;f--;)l[a++]=arguments[n++];return(this instanceof t?i:r).apply(o?e:this,l)}var r=n[0],e=n[3],u=n[4],o=n[1]&b,i=hr(r);return t}function yr(n,t,r,e,u,o){var i=t&b,f=t&_,a=t&x,c=t&k;if(!f&&!ee(n))throw new Oe(O);a&&!u.length&&(t&=~x,a=u=false),c&&!o.length&&(t&=~k,c=o=false);
var l=!f&&n[E];if(l&&true!==l)return l=Rr(l),l[4]&&(l[4]=Rr(l[4])),l[5]&&(l[5]=Rr(l[5])),typeof r=="number"&&(l[2]=r),n=l[1]&b,i&&!n&&(l[3]=e),!i&&n&&(t|=A),a&&(l[4]?Pe.apply(l[4],u):l[4]=u),c&&(l[5]?Xe.apply(l[5],o):l[5]=o),l[1]|=t,yr.apply(d,l);if(a)var p=dr(u);if(c)var s=dr(o);return null==r&&(r=f?0:n.length),r=eu(r,0),Lt([n,t,r,e,u,o,p,s])}function dr(n){for(var t=-1,r=n.length,e=[];++t<r;)n[t]===Z&&e.push(t);return e}function mr(){var n=Z.indexOf||Or;return n===Or?r:n}function br(n){return n&&typeof n=="object"&&typeof n.length=="number"&&mt[Ne.call(n)]||false
}function _r(n){var t=typeof n;return"function"==t?Ue.test(Fe.call(n)):n&&"object"==t&&P.test(Ne.call(n))||false}function wr(n){return Le.call(n,0)}function jr(n){var t,r;return n&&Ne.call(n)==ot&&(qe.call(n,"constructor")||(t=n.constructor,!ee(t)||t instanceof t))?(Yt(n,function(n,t){r=t}),typeof r=="undefined"||qe.call(n,r)):false}function Ar(n){for(var t,r=-1,e=ae(n),u=e.length,o=u&&n.length,i=o-1,f=[],o=typeof o=="number"&&0<o&&(bu(n)||lu.nonEnumArgs&&ne(n));++r<u;){var a=e[r];(o&&(t=+a,-1<t&&t<=i&&0==t%1)||qe.call(n,a))&&f.push(a)
}return f}function xr(n){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=R?n||[]:ce(n)}function kr(n,t,r){var e=-1,u=n?n.length:0;for(t=Z.callback(t,r,3);++e<u;)if(t(n[e],e,n))return e;return-1}function Er(n){return n?n[0]:d}function Or(n,t,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?eu(u+e,0):e||0;else if(e)return e=Sr(n,t),u&&n[e]===t?e:-1;return r(n,t,e)}function Ir(n){return Rr(n,1)}function Rr(n,t,r){var e=-1,u=n?n.length:0;for(t=null==t?0:+t||0,0>t?t=eu(u+t,0):t>u&&(t=u),r=typeof r=="undefined"?u:+r||0,0>r?r=eu(u+r,0):r>u&&(r=u),u=t>r?0:r-t,r=me(u);++e<u;)r[e]=n[t+e];
return r}function Sr(n,t,r,e){return r=null==r?ge:Z.callback(r,e,1),fr(n,t,r)}function Cr(n,t,r,e){return r=null==r?ge:Z.callback(r,e,1),fr(n,t,r,true)}function Fr(n,t,r,e){if(!n||!n.length)return[];var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(r=Z.callback(r,e,3)),ar(n,t,r)}function Tr(n){for(var t=-1,r=ue(r=qr(n,"length"))&&r.length||0,e=me(r);++t<r;)e[t]=Pr(n,t);return e}function Nr(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||bu(n[0])||(t=[]);++r<e;){var o=n[r];
t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Ur(){return this.__wrapped__}function Wr(n,t,r){var e=n?n.length:0;return typeof e=="number"&&-1<e&&e<=R||(n=ce(n),e=n.length),r=typeof r=="number"?0>r?eu(e+r,0):r||0:0,typeof n=="string"||!bu(n)&&fe(n)?r<e?He?He.call(n,t,r):-1<n.indexOf(t,r):false:-1<mr()(n,t,r)}function Lr(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Z.callback(t,r,3)),(bu(n)?At:zt)(n,t)}function $r(n,t,r){return t=Z.callback(t,r,3),(bu(n)?kt:qt)(n,t)}function Br(n,t,r){return bu(n)?(t=kr(n,t,r),-1<t?n[t]:d):(t=Z.callback(t,r,3),Pt(n,t,Dt))
}function Dr(n,t,r){return typeof t=="function"&&typeof r=="undefined"&&bu(n)?jt(n,t):Dt(n,Nt(t,r,3))}function Mr(n,t,r){if(typeof t=="function"&&typeof r=="undefined"&&bu(n))for(r=n?n.length:0;r--&&false!==t(n[r],r,n););else n=Mt(n,Nt(t,r,3));return n}function zr(n,t,r){return t=Z.callback(t,r,3),(bu(n)?xt:nr)(n,t)}function qr(n,t,r){var e=-1/0,o=e,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&bu(n))for(r=-1,i=n.length;++r<i;){var f=n[r];f>o&&(o=f)}else t=null==t&&fe(n)?u:Z.callback(t,r,3),Dt(n,function(n,r,u){r=t(n,r,u),(r>e||-1/0===r&&r===o)&&(e=r,o=n)
});return o}function Pr(n,t){return zr(n,de(t))}function Zr(n,t,r,e){return(bu(n)?Et:or)(n,Z.callback(t,e,4),r,3>arguments.length,Dt)}function Kr(n,t,r,e){return(bu(n)?It:or)(n,Z.callback(t,e,4),r,3>arguments.length,Mt)}function Vr(n){n=xr(n);for(var t=-1,r=n.length,e=me(r);++t<r;){var u=ur(0,t);t!=u&&(e[t]=e[u]),e[u]=n[t]}return e}function Yr(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Z.callback(t,r,3)),(bu(n)?Rt:ir)(n,t)}function Jr(n,t){var r;if(!ee(t))throw new Oe(O);return function(){return 0<--n?r=t.apply(this,arguments):t=null,r
}}function Xr(n,t,r){function e(){var r=t-(Ou()-c);0>=r||r>t?(f&&Be(f),r=s,f=p=s=d,r&&(h=Ou(),a=n.apply(l,i),p||f||(i=l=null))):p=Ve(e,r)}function u(){p&&Be(p),f=p=s=d,(v||g!==t)&&(h=Ou(),a=n.apply(l,i),p||f||(i=l=null))}function o(){if(i=arguments,c=Ou(),l=this,s=v&&(p||!y),false===g)var r=y&&!p;else{f||y||(h=c);var o=g-(c-h),d=0>=o||o>g;d?(f&&(f=Be(f)),h=c,a=n.apply(l,i)):f||(f=Ve(u,o))}return d&&p?p=Be(p):p||t===g||(p=Ve(e,t)),r&&(d=true,a=n.apply(l,i)),!d||p||f||(i=l=null),a}var i,f,a,c,l,p,s,h=0,g=false,v=true;
if(!ee(n))throw new Oe(O);if(t=0>t?0:t,true===r)var y=true,v=false;else ue(r)&&(y=r.leading,g="maxWait"in r&&eu(+r.maxWait||0,t),v="trailing"in r?r.trailing:v);return o.cancel=function(){p&&Be(p),f&&Be(f),f=p=s=d},o}function Gr(n){if(!ee(n))throw new Oe(O);return function(){return!n.apply(this,arguments)}}function Hr(n){return rr(n,x,Rr(arguments,1))}function Qr(n){return Gt(n,ae)}function ne(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ne.call(n)==Q||false}function te(n){return n&&typeof n=="object"&&1===n.nodeType&&-1<Ne.call(n).indexOf("Element")||false
}function re(n){return n&&typeof n=="object"&&Ne.call(n)==et||false}function ee(n){return typeof n=="function"||false}function ue(n){var t=typeof n;return"function"==t||n&&"object"==t||false}function oe(n){var t=typeof n;return"number"==t||n&&"object"==t&&Ne.call(n)==ut||false}function ie(n){return n&&typeof n=="object"&&Ne.call(n)==it||false}function fe(n){return typeof n=="string"||n&&typeof n=="object"&&Ne.call(n)==ft||false}function ae(n){if(null==n)return[];n=xe(n);for(var t,r=n.length,r=(typeof r=="number"&&0<r&&(bu(n)||lu.nonEnumArgs&&ne(n))&&r)>>>0,e=n.constructor,u=-1,e=e&&n===e.prototype,o=r-1,i=me(r),f=0<r;++u<r;)i[u]=Ee(u);
for(var a in n)e&&"constructor"==a||f&&(t=+a,-1<t&&t<=o&&0==t%1)||i.push(a);return i}function ce(n){return cr(n,ju)}function le(n){return null==n?"":Ee(n).replace(V,"\\$&")}function pe(n,t){var r="";if(t=+t,1>t||null==n||!tu(t))return r;n=Ee(n);do t%2&&(r+=n),t=Me(t/2),n+=n;while(t);return r}function se(n,t){return(n=null==n?"":Ee(n))?null==t?n.slice(h(n),g(n)+1):(t=Ee(t),n.slice(o(n,t),i(n,t)+1)):n}function he(n){try{return n()}catch(t){return re(t)?t:_e(t)}}function ge(n){return n}function ve(n){for(var t=ju(n),r=t.length,e=r,u=me(r),o=me(r);e--;){var i=n[t[e]],f=i!==i||0===i&&0>1/i||ue(i);
u[e]=f,o[e]=f?Ut(i,f):i}return function(n){if(e=r,null==n)return!e;for(;e--;)if(u[e]?!qe.call(n,t[e]):o[e]!==n[t[e]])return false;for(e=r;e--;)if(u[e]?!Ht(o[e],n[t[e]],null,true):!qe.call(n,t[e]))return false;return true}}function ye(n,t,r){var e=true,u=t&&Gt(t,ju);t&&(r||u.length)||(null==r&&(r=t),t=n,n=this,u=Gt(t,ju)),false===r?e=false:ue(r)&&"chain"in r&&(e=r.chain),r=-1;for(var o=ee(n),i=u?u.length:0;++r<i;){var f=u[r],a=n[f]=t[f];o&&(n.prototype[f]=function(t){return function(){var r=this.__chain__,u=this.__wrapped__,o=[u];
if(Pe.apply(o,arguments),o=t.apply(n,o),e||r){if(u===o&&ue(o))return this;o=new n(o),o.__chain__=r}return o}}(a))}return n}function de(n){return function(t){return null==t?d:t[n]}}l=l?St.defaults(Ot.Object(),l,St.pick(Ot,H)):Ot;var me=l.Array,be=l.Date,_e=l.Error,we=l.Function,je=l.Math,Ae=l.Number,xe=l.Object,ke=l.RegExp,Ee=l.String,Oe=l.TypeError,Ie=me.prototype,Re=xe.prototype,Se=Ee.prototype,Ce=(Ce=l.window)&&Ce.document,Fe=we.prototype.toString,Te=l._,Ne=Re.toString,Ue=ke("^"+le(Ne).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),We=_r(We=l.ArrayBuffer)&&We,Le=_r(Le=We&&new We(0).slice)&&Le,$e=je.ceil,Be=l.clearTimeout,De=_r(De=l.Float64Array)&&De,Me=je.floor,ze=_r(ze=xe.getPrototypeOf)&&ze,qe=Re.hasOwnProperty,Pe=Ie.push,Ze=Re.propertyIsEnumerable,Ke=_r(Ke=l.Set)&&Ke,Ve=l.setTimeout,Ye=Ie.splice,Je=_r(Je=l.Uint8Array)&&Je,Xe=Ie.unshift,Ge=function(){try{var n={},t=_r(t=xe.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),He=_r(He=Se.contains)&&He,Qe=_r(Qe=xe.create)&&Qe,nu=_r(nu=me.isArray)&&nu,tu=l.isFinite,ru=_r(ru=xe.keys)&&ru,eu=je.max,uu=je.min,ou=_r(ou=be.now)&&ou,iu=_r(iu=Ae.isFinite)&&iu,fu=l.parseInt,au=je.random,cu=De&&De.BYTES_PER_ELEMENT,lu=Z.support={};!function(x_){for(var n in arguments);lu.funcDecomp=!_r(l.WinRTError)&&Y.test(y),lu.funcNames=typeof we.name=="string";try{lu.dom=11===Ce.createDocumentFragment().nodeType}catch(t){lu.dom=false}try{lu.nonEnumArgs=!("1"==n&&qe.call(arguments,n)&&Ze.call(arguments,n))
}catch(r){lu.nonEnumArgs=true}}(0,0),Z.templateSettings={escape:L,evaluate:$,interpolate:B,variable:"",imports:{_:Z}},Qe||(Wt=function(){function n(){}return function(t){if(ue(t)){n.prototype=t;var r=new n;n.prototype=null}return r||l.Object()}}());var pu=Ke&&function(n){var t=new Ke,r=n?n.length:0;for(t.push=t.add;r--;)t.push(n[r]);return t};Le||(wr=We&&Je?function(n){var t=n.byteLength,r=De?Me(t/cu):0,e=r*cu,u=new We(t);if(r){var o=new De(u,0,r);o.set(new De(n,0,r))}return t!=e&&(o=new Je(u,e),o.set(new Je(n,e))),u
}:ge);var su=Ge?function(n,t){return wt.value=t,Ge(n,E,wt),wt.value=null,n}:ge,hu=lr(function(n,t,r){qe.call(n,r)?n[r]++:n[r]=1}),gu=lr(function(n,t,r){qe.call(n,r)?n[r].push(t):n[r]=[t]}),vu=lr(function(n,t,r){n[r]=t}),yu=lr(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),du=Hr(Jr,2),mu=pr(Tt),bu=nu||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ne.call(n)==nt||false};lu.dom||(te=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!wu(n)||false});var _u=iu||function(n){return typeof n=="number"&&tu(n)
},wu=ze?function(n){if(!n||Ne.call(n)!=ot)return false;var t=n.valueOf,r=_r(t)&&(r=ze(t))&&ze(r);return r?n==r||ze(n)==r:jr(n)}:jr,ju=ru?function(n){n=xe(n);var t=n.constructor,r=n.length;return t&&n===t.prototype||typeof r=="number"&&0<r?Ar(n):ru(n)}:Ar,Au=pr(tr),xu=c(function(n,t,r){return!r&&C.test(t)?n+t.toLowerCase():n+(t.charAt(0)[r?"toUpperCase":"toLowerCase"]()+t.slice(1))}),ku=c(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Eu=c(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),Ou=ou||function(){return(new be).getTime()
},Iu=8==fu(G+"08")?fu:function(n,t){return n=se(n),fu(n,+t||(q.test(n)?16:10))};return X.prototype=Z.prototype,Z.after=function(n,t){if(!ee(t))throw new Oe(O);return n=tu(n=+n)?n:0,function(){return 1>--n?t.apply(this,arguments):void 0}},Z.assign=mu,Z.at=function(t){var r=t?t.length:0;return typeof r=="number"&&-1<r&&r<=R&&(t=xr(t)),n(t,Zt(arguments,false,false,1))},Z.before=Jr,Z.bind=function(n,t){return 3>arguments.length?yr(n,b,null,t):rr(n,b|x,Rr(arguments,2),t)},Z.bindAll=function(n){for(var t=n,r=1<arguments.length?Zt(arguments,false,false,1):Qr(n),e=-1,u=r.length;++e<u;){var o=r[e];
t[o]=yr(t[o],b,null,t)}return t},Z.bindKey=function(n,t){return 3>arguments.length?yr(t,b|_,null,n):yr(t,b|_|x,null,n,Rr(arguments,2))},Z.callback=function(n,t,r){var e=typeof n,u="function"==e;return u&&typeof t=="undefined"?n:u||null==n?Nt(n,t,r):"object"==e?ve(n):de(n)},Z.chain=function(n){return n=Z(n),n.__chain__=true,n},Z.chunk=function(n,t){var r=0,e=n?n.length:0,u=[];for(t=eu(+t||1,1);r<e;)u.push(Rr(n,r,r+=t));return u},Z.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},Z.compose=function(){var n=arguments,t=n.length,r=t-1;if(!t)return function(){};for(;t--;)if(!ee(n[t]))throw new Oe(O);return function(){t=r;for(var e=n[t].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},Z.constant=function(n){return function(){return n}},Z.countBy=hu,Z.create=function(n,t){var r=Wt(n);return t?Tt(r,t):r},Z.curry=function(n,t){return $t(n,w,t)},Z.curryRight=function(n,t){return $t(n,j,t)},Z.debounce=Xr,Z.defaults=function(n){if(null==n)return n;var t=Rr(arguments);
return t.push(Ct),mu.apply(d,t)},Z.defer=function(n){if(!ee(n))throw new Oe(O);var t=Rr(arguments,1);return Ve(function(){n.apply(d,t)},1)},Z.delay=function(n,t){if(!ee(n))throw new Oe(O);var r=Rr(arguments,2);return Ve(function(){n.apply(d,r)},t)},Z.difference=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(bu(r)||ne(r))break}return Bt(arguments[n],Zt(arguments,false,true,++n))},Z.drop=function(n,t,r){return t=null==t||r?1:t,Rr(n,0>t?0:t)},Z.dropRight=function(n,t,r){var e=n?n.length:0;
return t=e-((null==t||r?1:t)||0),Rr(n,0,0>t?0:t)},Z.dropRightWhile=function(n,t,r){var e=n?n.length:0;for(t=Z.callback(t,r,3);e--&&t(n[e],e,n););return Rr(n,0,e+1)},Z.dropWhile=function(n,t,r){var e=-1,u=n?n.length:0;for(t=Z.callback(t,r,3);++e<u&&t(n[e],e,n););return Rr(n,e)},Z.filter=$r,Z.flatten=function(n,t,r){if(!n||!n.length)return[];var e=typeof t;return"number"!=e&&"string"!=e||!r||r[t]!==n||(t=false),Zt(n,t)},Z.forEach=Dr,Z.forEachRight=Mr,Z.forIn=function(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Nt(t,r,3)),Kt(n,t,ae)
},Z.forInRight=function(n,t,r){return t=Nt(t,r,3),Vt(n,t,ae)},Z.forOwn=function(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Nt(t,r,3)),Jt(n,t)},Z.forOwnRight=function(n,t,r){return t=Nt(t,r,3),Vt(n,t,ju)},Z.functions=Qr,Z.groupBy=gu,Z.indexBy=vu,Z.initial=function(n){var t=n?n.length:0;return Rr(n,0,t?t-1:0)},Z.intersection=function(){for(var n=[],t=-1,u=arguments.length,o=[],i=mr(),f=pu&&i===r;++t<u;){var a=arguments[t];(bu(a)||ne(a))&&(n.push(a),o.push(f&&120<=a.length&&pu(t&&a)))
}var u=n.length,f=n[0],c=-1,l=f?f.length:0,p=[],s=o[0];n:for(;++c<l;)if(a=f[c],0>(s?e(s,a):i(p,a))){for(t=u;--t;){var h=o[t];if(0>(h?e(h,a):i(n[t],a)))continue n}s&&s.push(a),p.push(a)}return p},Z.invert=function(n,t){for(var r=-1,e=ju(n),u=e.length,o={};++r<u;){var i=e[r],f=n[i];t?qe.call(o,f)?o[f].push(i):o[f]=[i]:o[f]=i}return o},Z.invoke=function(n,t){return Qt(n,t,Rr(arguments,2))},Z.keys=ju,Z.keysIn=ae,Z.map=zr,Z.mapValues=function(n,t,r){var e={};return t=Z.callback(t,r,3),Jt(n,function(n,r,u){e[r]=t(n,r,u)
}),e},Z.matches=ve,Z.memoize=function(n,t){function r(){var e=t?t.apply(this,arguments):arguments[0];if("__proto__"==e)return n.apply(this,arguments);var u=r.cache;return qe.call(u,e)?u[e]:u[e]=n.apply(this,arguments)}if(!ee(n)||t&&!ee(t))throw new Oe(O);return r.cache={},r},Z.merge=Au,Z.mixin=ye,Z.negate=Gr,Z.omit=function(n,t,r){if(null==n)return{};if(typeof t=="function")return er(n,Gr(Z.callback(t,r,3)));var e=Zt(arguments,false,false,1);return er(xe(n),Bt(ae(n),xt(e,Ee)))},Z.once=du,Z.pairs=function(n){for(var t=-1,r=ju(n),e=r.length,u=me(e);++t<e;){var o=r[t];
u[t]=[o,n[o]]}return u},Z.partial=Hr,Z.partialRight=function(n){return rr(n,k,Rr(arguments,1))},Z.partition=yu,Z.pick=function(n,t,r){return null==n?{}:er(xe(n),typeof t=="function"?Z.callback(t,r,3):Zt(arguments,false,false,1))},Z.pluck=Pr,Z.property=de,Z.pull=function(n){for(var t=0,r=arguments.length,e=n?n.length:0;++t<r;)for(var u=-1,o=arguments[t];++u<e;)n[u]===o&&(Ye.call(n,u--,1),e--);return n},Z.pullAt=function(r){var e=r,u=Zt(arguments,false,false,1),o=u.length,i=n(e,u);for(u.sort(t);o--;){var f=parseFloat(u[o]);
if(f!=a&&-1<f&&0==f%1){var a=f;Ye.call(e,f,1)}}return i},Z.range=function(n,t,r){n=+n||0,r=null==r?1:+r||0,null==t?(t=n,n=0):t=+t||0;var e=-1;t=eu($e((t-n)/(r||1)),0);for(var u=me(t);++e<t;)u[e]=n,n+=r;return u},Z.reject=function(n,t,r){return t=Z.callback(t,r,3),$r(n,Gr(t))},Z.remove=function(n,t,r){var e=-1,u=n?n.length:0,o=[];for(t=Z.callback(t,r,3);++e<u;)r=n[e],t(r,e,n)&&(o.push(r),Ye.call(n,e--,1),u--);return o},Z.rest=Ir,Z.shuffle=Vr,Z.slice=Rr,Z.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,o=t&&bu(t),i=[];
for(typeof u=="number"&&-1<u&&u<=R&&(i.length=u),o||(t=Z.callback(t,r,3)),Dt(n,function(n,r,u){if(o)for(r=t.length,u=me(r);r--;)u[r]=n[t[r]];else u=t(n,r,u);i[++e]={a:u,b:e,c:n}}),u=i.length,i.sort(o?a:f);u--;)i[u]=i[u].c;return i},Z.take=function(n,t,r){return t=null==t||r?1:t,Rr(n,0,0>t?0:t)},Z.takeRight=function(n,t,r){var e=n?n.length:0;return t=e-((null==t||r?1:t)||0),Rr(n,0>t?0:t)},Z.takeRightWhile=function(n,t,r){var e=n?n.length:0;for(t=Z.callback(t,r,3);e--&&t(n[e],e,n););return Rr(n,e+1)
},Z.takeWhile=function(n,t,r){var e=-1,u=n?n.length:0;for(t=Z.callback(t,r,3);++e<u&&t(n[e],e,n););return Rr(n,0,e)},Z.tap=function(n,t,r){return t.call(r,n),n},Z.throttle=function(n,t,r){var e=true,u=true;if(!ee(n))throw new Oe(O);return false===r?e=false:ue(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),_t.leading=e,_t.maxWait=+t,_t.trailing=u,Xr(n,t,_t)},Z.times=function(n,t,r){n=tu(n=+n)&&-1<n?n:0,t=Nt(t,r,1),r=-1;for(var e=me(uu(n,I));++r<n;)r<I?e[r]=t(r):t(r);return e},Z.toArray=function(n){var t=xr(n);
return t===n?Rr(n):t},Z.transform=function(n,t,r,e){var u=br(n);if(null==r)if(u)r=[];else{if(ue(n))var o=n.constructor,o=o&&o.prototype;r=Wt(o)}return t&&(t=Z.callback(t,e,4),(u?jt:Jt)(n,function(n,e,u){return t(r,n,e,u)})),r},Z.union=function(){return ar(Zt(arguments,false,true))},Z.uniq=Fr,Z.unzip=Tr,Z.values=ce,Z.valuesIn=function(n){return cr(n,ae)},Z.where=function(n,t){return $r(n,ve(t))},Z.without=function(){return Bt(arguments[0],Rr(arguments,1))},Z.wrap=function(n,t){return yr(t,x,null,null,[n])
},Z.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(bu(r)||ne(r))var e=e?Bt(e,r).concat(Bt(r,e)):r}return e?ar(e):[]},Z.zip=function(){return Tr(arguments)},Z.zipObject=Nr,Z.collect=zr,Z.each=Dr,Z.eachRight=Mr,Z.extend=mu,Z.methods=Qr,Z.object=Nr,Z.select=$r,Z.tail=Ir,Z.unique=Fr,ye(Z,Tt({},Z)),Z.attempt=he,Z.camelCase=xu,Z.capitalize=function(n){return null==n?"":(n=Ee(n),n.charAt(0).toUpperCase()+n.slice(1))},Z.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),r=typeof r=="function"&&Nt(r,e,1),Ut(n,t,r)
},Z.cloneDeep=function(n,t,r){return t=typeof t=="function"&&Nt(t,r,1),Ut(n,true,t)},Z.contains=Wr,Z.endsWith=function(n,t,r){n=null==n?"":Ee(n),t=Ee(t);var e=n.length;return r=(typeof r=="undefined"?e:uu(0>r?0:+r||0,e))-t.length,0<=r&&n.indexOf(t,r)==r},Z.escape=function(n){return null==n?"":Ee(n).replace(W,p)},Z.escapeRegExp=le,Z.every=Lr,Z.find=Br,Z.findIndex=kr,Z.findKey=function(n,t,r){return t=Z.callback(t,r,3),Pt(n,t,Jt,true)},Z.findLast=function(n,t,r){return t=Z.callback(t,r,3),Pt(n,t,Mt)},Z.findLastIndex=function(n,t,r){var e=n?n.length:0;
for(t=Z.callback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},Z.findLastKey=function(n,t,r){return t=Z.callback(t,r,3),Pt(n,t,Xt,true)},Z.findWhere=function(n,t){return Br(n,ve(t))},Z.first=Er,Z.has=function(n,t){return n?qe.call(n,t):false},Z.identity=ge,Z.indexOf=Or,Z.isArguments=ne,Z.isArray=bu,Z.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Ne.call(n)==tt||false},Z.isDate=function(n){return n&&typeof n=="object"&&Ne.call(n)==rt||false},Z.isElement=te,Z.isEmpty=function(n){if(null==n)return true;
var t=n.length;return typeof t=="number"&&-1<t&&t<=R&&(bu(n)||fe(n)||ne(n)||typeof n=="object"&&ee(n.splice))?!t:!ju(n).length},Z.isEqual=function(n,t,r,e){if(r=typeof r=="function"&&Nt(r,e,3),!r){if(n===t)return 0!==n||1/n==1/t;e=typeof n;var u=typeof t;if(n===n&&(null==n||null==t||"function"!=e&&"object"!=e&&"function"!=u&&"object"!=u))return false}return Ht(n,t,r)},Z.isError=re,Z.isFinite=_u,Z.isFunction=ee,Z.isNaN=function(n){return oe(n)&&n!=+n},Z.isNull=function(n){return null===n},Z.isNumber=oe,Z.isObject=ue,Z.isPlainObject=wu,Z.isRegExp=ie,Z.isString=fe,Z.isUndefined=function(n){return typeof n=="undefined"
},Z.kebabCase=ku,Z.last=function(n){var t=n?n.length:0;return t?n[t-1]:d},Z.lastIndexOf=function(n,t,r){var e=n?n.length:0,u=e;if(typeof r=="number")u=(0>r?eu(u+r,0):uu(r||0,u-1))+1;else if(r)return u=Cr(n,t)-1,e&&n[u]===t?u:-1;for(;u--;)if(n[u]===t)return u;return-1},Z.max=qr,Z.min=function(n,t,r){var e=1/0,o=e,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&bu(n))for(r=-1,i=n.length;++r<i;){var f=n[r];f<o&&(o=f)}else t=null==t&&fe(n)?u:Z.callback(t,r,3),Dt(n,function(n,r,u){r=t(n,r,u),(r<e||1/0===r&&r===o)&&(e=r,o=n)
});return o},Z.noConflict=function(){return l._=Te,this},Z.noop=function(){},Z.now=Ou,Z.pad=function(n,t,r){n=null==n?"":Ee(n),t=+t;var e=n.length;return e<t&&tu(t)?(e=(t-e)/2,t=Me(e),e=$e(e),r=gr("",e,r),r.slice(0,t)+n+r):n},Z.padLeft=function(n,t,r){return n=null==n?"":Ee(n),gr(n,t,r)+n},Z.padRight=function(n,t,r){return n=null==n?"":Ee(n),n+gr(n,t,r)},Z.parseInt=Iu,Z.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=au(),uu(n+r*(t-n+parseFloat("1e-"+(Ee(r).length-1))),t)):ur(n,t)
},Z.reduce=Zr,Z.reduceRight=Kr,Z.repeat=pe,Z.result=function(n,t,r){var e=null==n?d:n[t];return typeof e=="undefined"?r:ee(e)?n[t]():e},Z.runInContext=y,Z.size=function(n){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=R?t:ju(n).length},Z.snakeCase=Eu,Z.some=Yr,Z.sortedIndex=Sr,Z.sortedLastIndex=Cr,Z.startsWith=function(n,t,r){return n=null==n?"":Ee(n),r=typeof r=="undefined"?0:uu(0>r?0:+r||0,n.length),n.lastIndexOf(t,r)==r},Z.template=function(n,t){var r=Z.templateSettings;t=mu({},t,r,Ft),n=Ee(null==n?"":n);
var e,u,r=mu({},t.imports,r.imports,Ft),o=ju(r),i=ce(r),f=0,r=t.interpolate||K,a="__p+='",r=ke((t.escape||K).source+"|"+r.source+"|"+(r===B?D:K).source+"|"+(t.evaluate||K).source+"|$","g");if(n.replace(r,function(t,r,o,i,c,l){return o||(o=i),a+=n.slice(f,l).replace(J,s),r&&(e=true,a+="'+__e("+r+")+'"),c&&(u=true,a+="';"+c+";\n__p+='"),o&&(a+="'+((__t=("+o+"))==null?'':__t)+'"),f=l+t.length,t}),a+="';",(r=t.variable)||(a="with(obj){"+a+"}"),a=(u?a.replace(F,""):a).replace(T,"$1").replace(N,"$1;"),a="function("+(r||"obj")+"){"+(r?"":"obj||(obj={});")+"var __t,__p=''"+(e?",__e=_.escape":"")+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",r=he(function(){return we(o,"return "+a).apply(d,i)
}),r.source=a,re(r))throw r;return r},Z.trim=se,Z.trimLeft=function(n,t){return(n=null==n?"":Ee(n))?null==t?n.slice(h(n)):(t=Ee(t),n.slice(o(n,t))):n},Z.trimRight=function(n,t){return(n=null==n?"":Ee(n))?null==t?n.slice(0,g(n)+1):(t=Ee(t),n.slice(0,i(n,t)+1)):n},Z.trunc=function(n,t){var r=30,e="...";if(ue(t))var u="separator"in t?t.separator:u,r="length"in t?+t.length||0:r,e="omission"in t?Ee(t.omission):e;else null!=t&&(r=+t||0);if(n=null==n?"":Ee(n),r>=n.length)return n;var o=r-e.length;if(1>o)return e;
if(r=n.slice(0,o),null==u)return r+e;if(ie(u)){if(n.slice(o).search(u)){var i,f,a=n.slice(0,o);for(u.global||(u=ke(u.source,(M.exec(u)||"")+"g")),u.lastIndex=0;i=u.exec(a);)f=i.index;r=r.slice(0,null==f?o:f)}}else n.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),-1<u&&(r=r.slice(0,u)));return r+e},Z.unescape=function(n){return null==n?"":(n=Ee(n),0>n.indexOf(";")?n:n.replace(U,v))},Z.uniqueId=function(n){var t=++S;return Ee(null==n?"":n)+t},Z.all=Lr,Z.any=Yr,Z.detect=Br,Z.foldl=Zr,Z.foldr=Kr,Z.head=Er,Z.include=Wr,Z.inject=Zr,ye(Z,function(){var n={};
return Jt(Z,function(t,r){Z.prototype[r]||(n[r]=t)}),n}(),false),Z.sample=function(n,t,r){n=xr(n);var e=n.length;return null==t||r?0<e?n[ur(0,e-1)]:d:(n=Vr(n),n.length=uu(0>t?0:+t||0,n.length),n)},Jt(Z,function(n,t){var r="sample"!=t;Z.prototype[t]||(Z.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 X(o,u):o})}),Z.VERSION=m,Z.prototype.chain=function(){return this.__chain__=true,this},Z.prototype.toJSON=Ur,Z.prototype.toString=function(){return Ee(this.__wrapped__)
},Z.prototype.value=Ur,Z.prototype.valueOf=Ur,jt(["join","pop","shift"],function(n){var t=Ie[n];Z.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new X(r,n):r}}),jt(["push","reverse","sort","unshift"],function(n){var t=Ie[n];Z.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),jt(["concat","splice"],function(n){var t=Ie[n];Z.prototype[n]=function(){return new X(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Z}var d,m="3.0.0-pre",b=1,_=2,w=4,j=8,A=16,x=32,k=64,E="__lodash@"+m+"__",O="Expected a function",I=Math.pow(2,32)-1,R=Math.pow(2,53)-1,S=0,C=/^[A-Z]+$/,F=/\b__p\+='';/g,T=/\b(__p\+=)''\+/g,N=/(__e\(.*?\)|\b__t\))\+'';/g,U=/&(?:amp|lt|gt|quot|#39|#96);/g,W=/[&<>"'`]/g,L=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,B=/<%=([\s\S]+?)%>/g,D=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,M=/\w*$/,z=/^\s*function[ \n\r\t]+\w/,q=/^0[xX]/,P=/^\[object .+?Constructor\]$/,Z=/[\xC0-\xFF]/g,K=/($^)/,V=/[.*+?^${}()|[\]\/\\]/g,Y=/\bthis\b/,J=/['\n\r\u2028\u2029\\]/g,X=/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,G=" \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",H="Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array window WinRTError".split(" "),Q="[object Arguments]",nt="[object Array]",tt="[object Boolean]",rt="[object Date]",et="[object Error]",ut="[object Number]",ot="[object Object]",it="[object RegExp]",ft="[object String]",at="[object ArrayBuffer]",ct="[object Float32Array]",lt="[object Float64Array]",pt="[object Int8Array]",st="[object Int16Array]",ht="[object Int32Array]",gt="[object Uint8Array]",vt="[object Uint8ClampedArray]",yt="[object Uint16Array]",dt="[object Uint32Array]",mt={};
mt[Q]=mt[nt]=mt[ct]=mt[lt]=mt[pt]=mt[st]=mt[ht]=mt[gt]=mt[vt]=mt[yt]=mt[dt]=true,mt[at]=mt[tt]=mt[rt]=mt[et]=mt["[object Function]"]=mt["[object Map]"]=mt[ut]=mt[ot]=mt[it]=mt["[object Set]"]=mt[ft]=mt["[object WeakMap]"]=false;var bt={};bt[Q]=bt[nt]=bt[at]=bt[tt]=bt[rt]=bt[ct]=bt[lt]=bt[pt]=bt[st]=bt[ht]=bt[ut]=bt[ot]=bt[it]=bt[ft]=bt[gt]=bt[vt]=bt[yt]=bt[dt]=true,bt[et]=bt["[object Function]"]=bt["[object Map]"]=bt["[object Set]"]=bt["[object WeakMap]"]=false;var _t={leading:false,maxWait:0,trailing:false},wt={configurable:false,enumerable:false,value:null,writable:false},jt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},At={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},xt={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"AE","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\xd7":" ","\xf7":" "},kt={"function":true,object:true},Et={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ot=kt[typeof window]&&window||this,It=kt[typeof exports]&&exports&&!exports.nodeType&&exports,kt=kt[typeof module]&&module&&!module.nodeType&&module,Rt=It&&kt&&typeof global=="object"&&global;
!Rt||Rt.global!==Rt&&Rt.window!==Rt&&Rt.self!==Rt||(Ot=Rt);var Rt=kt&&kt.exports===It&&It,St=y();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ot._=St, define(function(){return St})):It&&kt?Rt?(kt.exports=St)._=St:It._=St:Ot._=St}).call(this);
}function f(n,r){return t(n.a,r.a)||n.b-r.b}function a(n,r){for(var e=-1,u=n.a,o=r.a,i=u.length;++e<i;){var f=t(u[e],o[e]);if(f)return f}return n.b-r.b}function c(n){return function(t){for(var r=-1,e=(t=null!=t&&(t+"").replace(Z,l).match(X))?t.length:0,u="";++r<e;)u=n(u,t[r],r,t);return u}}function l(n){return xt[n]}function p(n){return jt[n]}function s(n){return"\\"+It[n]}function h(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break
}return t}function g(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function v(n){return At[n]}function y(l){function Z(n){if(n&&typeof n=="object"){if(n instanceof X)return n;!ju(n)&&Ke.call(n,"__wrapped__")&&(n=n.__wrapped__)}return new X(n)}function X(n,t){this.__chain__=!!t,this.__wrapped__=n}function jt(n,t){for(var r=-1,e=n?n.length:0;++r<e&&false!==t(n[r],r,n););return n
}function At(n,t){for(var r=-1,e=n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function xt(n,t){for(var r=-1,e=n?n.length:0,u=we(e);++r<e;)u[r]=t(n[r],r,n);return u}function Et(n,t){for(var r=-1,e=n.length,u=[];++r<e;){var o=n[r];t(o,r,n)&&u.push(o)}return u}function It(n,t,r,e){var u=-1,o=n.length;for(e&&o&&(r=n[++u]);++u<o;)r=t(r,n[u],u,n);return r}function kt(n,t,r,e){var u=n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function Rt(n,t){for(var r=-1,e=n.length;++r<e;)if(t(n[r],r,n))return true;
return false}function Ct(n,t){return typeof n=="undefined"?t:n}function Ft(n,t,r,e){return typeof n!="undefined"&&Ke.call(e,r)?n:t}function Tt(n,t,r){for(var e=-1,u=Eu(t),o=u.length;++e<o;){var i=u[e];n[i]=r?r(n[i],t[i],i,n,t):t[i]}return n}function Ut(n,t,r){var e=typeof n;if("function"==e){if(typeof t=="undefined")return n;if(e=n[I],typeof e=="undefined"&&(hu.funcNames&&(e=!n.name),e=e||!hu.funcDecomp,!e)){var u=We.call(n);hu.funcNames||(e=!z.test(u)),e||(e=Y.test(u)||wr(n),vu(n,e))}if(false===e||true!==e&&e[1]&_)return n;
switch(r){case 1:return function(r){return n.call(t,r)};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)};case 5:return function(r,e,u,o,i){return n.call(t,r,e,u,o,i)}}return function(){return n.apply(t,arguments)}}return null==n?de:"object"==e?me(n):be(n)}function Wt(n,t,r,e,u){var o=r?r(n):d;if(typeof o!="undefined")return o;var i=ju(n),f=!t;if(i){if(o=f?Cr(n):n.constructor(n.length),"string"==typeof n[0]&&Ke.call(n,"index")&&(o.index=n.index,o.input=n.input),f)return o
}else{if(!ie(n))return n;var a=Le.call(n);if(!_t[a])return n;var c=a==Q,l=!c&&a==ot;if(f&&(c||l)&&(o=Tt({},n),l))return o;var p=n.constructor;if(a!=ot||oe(p)&&p instanceof p||(p=Oe),t&&(c||l))o=new p;else switch(a){case at:return Ar(n);case tt:case rt:return new p(+n);case ct:case lt:case pt:case st:case ht:case gt:case vt:case yt:case dt:return new p(Ar(n.buffer),n.byteOffset,n.length);case ut:case ft:return new p(n);case it:return o=p(n.source,M.exec(n)),o.lastIndex=n.lastIndex,o}}if(c&&(o.length=n.length),f)return o;
for(e||(e=[]),u||(u=[]),f=e.length;f--;)if(e[f]==n)return u[f];return e.push(n),u.push(o),(i?jt:Jt)(n,function(n,i){var f=r?r(n,i):d;o[i]=typeof f=="undefined"?Wt(n,t,null,e,u):f}),o}function Nt(n){return ie(n)?ru(n):{}}function Lt(n){var t=n[1];if(t==_)return vu(sr(n),n);var r=n[6];if((t==x||t==(_|x))&&!r.length)return vu(vr(n),n);var e=n[0],u=n[2],o=n[3],i=n[4],f=n[5],a=n[7],c=t&_,l=t&b,p=t&w,s=t&j,h=t&A,g=!l&&hr(e),v=e,y=function(){for(var n=arguments.length,d=n,m=we(n);d--;)m[d]=arguments[d];
if(i){for(var d=r.length,w=-1,j=iu(m.length-d,0),A=-1,I=i.length,O=we(j+I);++A<I;)O[A]=i[A];for(;++w<d;)O[r[w]]=m[w];for(;j--;)O[A++]=m[w++];m=O}if(f){for(var d=-1,w=a.length,j=-1,k=iu(m.length-w,0),A=-1,I=f.length,O=we(k+I);++j<k;)O[j]=m[j];for(k=j;++A<I;)O[k+A]=f[A];for(;++d<w;)O[k+a[d]]=m[j++];m=O}return(p||s)&&(d=mr(m),n-=d.length,n<u)?(t|=p?x:E,t&=~(p?E:x),h||(t&=~(_|b)),n=[e,t,iu(u-n,0),o],n[p?4:5]=m,n[p?6:7]=d,Lt(n)):(n=c?o:this,l&&(e=n[v]),(this instanceof y?g||hr(e):e).apply(n,m))};return vu(y,n)
}function $t(n,t,r){return typeof r!="number"&&(r=+r||(n?n.length:0)),yr(n,t,r)}function Bt(n,t){var u=n?n.length:0;if(!u)return[];var o=-1,i=_r(),f=i==r,a=f&&gu&&t&&200<=t.length,f=f&&!a,c=[],l=t?t.length:0;a&&(i=e,t=gu(t));n:for(;++o<u;)if(a=n[o],f){for(var p=l;p--;)if(t[p]===a)continue n;c.push(a)}else 0>i(t,a)&&c.push(a);return c}function Dt(n,t){var r=n?n.length:0;if(typeof r!="number"||-1>=r||r>R)return Jt(n,t);for(var e=-1,u=Ir(n);++e<r&&false!==t(u[e],e,n););return n}function Mt(n,t){var r=n?n.length:0;
if(typeof r!="number"||-1>=r||r>R)return Xt(n,t);for(var e=Ir(n);r--&&false!==t(e[r],r,n););return n}function zt(n,t){var r=true;return Dt(n,function(n,e,u){return r=!!t(n,e,u)}),r}function qt(n,t){var r=[];return Dt(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function Pt(n,t,r,e){var u;return r(n,function(n,r,o){return t(n,r,o)?(u=e?r:n,false):void 0}),u}function Zt(n,t,r,e){e=(e||0)-1;for(var u=n.length,o=0,i=[];++e<u;){var f=n[e];if(f&&typeof f=="object"&&typeof f.length=="number"&&(ju(f)||re(f))){t&&(f=Zt(f,t,r));
var a=-1,c=f.length;for(i.length+=c;++a<c;)i[o++]=f[a]}else r||(i[o++]=f)}return i}function Kt(n,t,r){var e=-1;r=r(n);for(var u=r.length;++e<u;){var o=r[e];if(false===t(n[o],o,n))break}return n}function Vt(n,t,r){r=r(n);for(var e=r.length;e--;){var u=r[e];if(false===t(n[u],u,n))break}return n}function Yt(n,t){return Kt(n,t,le)}function Jt(n,t){return Kt(n,t,Eu)}function Xt(n,t){return Vt(n,t,Eu)}function Gt(n,t){for(var r=-1,e=t(n),u=e.length,o=[];++r<u;){var i=e[r];oe(n[i])&&o.push(i)}return o}function Ht(n,t,r,e,u,o){var i=r&&!u?r(n,t):d;
if(typeof i!="undefined")return!!i;if(n===t)return 0!==n||1/n==1/t;var f=typeof n,a=typeof t;if(n===n&&(null==n||null==t||"function"!=f&&"object"!=f&&"function"!=a&&"object"!=a))return false;var c=Le.call(n),l=c==Q,f=Le.call(t),i=f==Q;if(l&&(c=ot),i&&(f=ot),c!=f)return false;if(a=mt[c],f=c==et,a){var l=n.length,p=t.length;if(l!=p&&(!e||p<=l))return false}else{if(!f&&c!=ot){switch(c){case tt:case rt:return+n==+t;case ut:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case it:case ft:return n==Re(t)}return false}var s=Ke.call(n,"__wrapped__"),c=Ke.call(t,"__wrapped__");
if(s||c)return Ht(s?n.__wrapped__:n,c?t.__wrapped__:t,r,e,u,o);if(s=l?Oe:n.constructor,c=i?Oe:t.constructor,f){if(s.prototype.name!=c.prototype.name)return false}else{var p=!l&&Ke.call(n,"constructor"),h=!i&&Ke.call(t,"constructor");if(p!=h||!(p||s==c||oe(s)&&s instanceof s&&oe(c)&&c instanceof c)&&"constructor"in n&&"constructor"in t)return false}if(s=f?["message","name"]:Eu(n),c=f?s:Eu(t),l&&s.push("length"),i&&c.push("length"),l=s.length,p=c.length,l!=p&&!e)return false}for(u||(u=[]),o||(o=[]),c=u.length;c--;)if(u[c]==n)return o[c]==t;
if(u.push(n),o.push(t),i=true,a)for(;i&&++c<l;)if(a=n[c],e)for(f=p;f--&&!(i=Ht(a,t[f],r,e,u,o)););else h=t[c],i=r?r(a,h,c):d,typeof i=="undefined"&&(i=Ht(a,h,r,e,u,o));else for(;i&&++c<l;)p=s[c],(i=f||Ke.call(t,p))&&(a=n[p],h=t[p],i=r?r(a,h,p):d,typeof i=="undefined"&&(i=Ht(a,h,r,e,u,o)));return u.pop(),o.pop(),!!i}function Qt(n,t,r){var e=-1,u=typeof t=="function",o=n?n.length:0,i=[];return typeof o=="number"&&-1<o&&o<=R&&(i.length=o),Dt(n,function(n){var o=u?t:null!=n&&n[t];i[++e]=o?o.apply(n,r):d
}),i}function nr(n,t){var r=[];return Dt(n,function(n,e,u){r.push(t(n,e,u))}),r}function tr(n,t,r,e,u){var o=br(t);return(o?jt:Jt)(t,function(t,i,f){var a=t&&br(t),c=t&&xu(t),l=n[i];if(a||c){for(e||(e=[]),u||(u=[]),c=e.length;c--;)if(e[c]==t)return void(n[i]=u[c]);f=r?r(l,t,i,n,f):d,(c=typeof f=="undefined")&&(f=a?ju(l)?l:[]:xu(l)?l:{}),e.push(t),u.push(f),c&&tr(f,t,r,e,u),n[i]=f}else f=r?r(l,t,i,n,f):d,typeof f=="undefined"&&(f=t),(o||typeof f!="undefined")&&(n[i]=f)}),n}function rr(n,t,r,e){if(n)var u=n[I],u=u?u[2]:n.length,u=u-r.length;
var o=t&x;return yr(n,t,u,e,o&&r,!o&&r)}function er(n,t){var r={};if(typeof t=="function")return Yt(n,function(n,e,u){t(n,e,u)&&(r[e]=n)}),r;for(var e=-1,u=t.length;++e<u;){var o=t[e];o in n&&(r[o]=n[o])}return r}function ur(n,t){return n+Pe(pu()*(t-n+1))}function or(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function ir(n,t){var r;return Dt(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function fr(n,t,r,e){var u=0,o=n?n.length:u;for(t=r(t);u<o;){var i=u+o>>>1,f=r(n[i]);(e?f<=t:f<t)?u=i+1:o=i
}return o}function ar(n,t){var u=-1,o=_r(),i=n.length,f=o==r,a=f&&gu&&200<=i,f=f&&!a,c=[];if(a)var l=gu(),o=e;else l=t?[]:c;n:for(;++u<i;){var p=n[u],s=t?t(p,u,n):p;if(f){for(var h=l.length;h--;)if(l[h]===s)continue n;t&&l.push(s),c.push(p)}else 0>o(l,s)&&((t||a)&&l.push(s),c.push(p))}return c}function cr(n,t){for(var r=-1,e=t(n),u=e.length,o=we(u);++r<u;)o[r]=n[e[r]];return o}function lr(n,t){return function(r,e,u){var o=t?t():{};if(e=dr(e,u,3),ju(r)){u=-1;for(var i=r.length;++u<i;){var f=r[u];n(o,f,e(f,u,r),r)
}}else Dt(r,function(t,r,u){n(o,t,e(t,r,u),u)});return o}}function pr(n){return function(t){var r=arguments,e=r.length;if(null==t||2>e)return t;var u=typeof r[2];if("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2),3<e&&"function"==typeof r[e-2])var o=Ut(r[--e-1],r[e--],5);else 2<e&&"function"==typeof r[e-1]&&(o=r[--e]);for(u=0;++u<e;)n(t,r[u],o);return t}}function sr(n){function t(){return(this instanceof t?u:r).apply(e,arguments)}var r=n[0],e=n[3],u=hr(r);return t}function hr(n){return function(){var t=Nt(n.prototype),r=n.apply(t,arguments);
return ie(r)?r:t}}function gr(n,t,r){return n=n.length,t=+t,n<t&&uu(t)?(t-=n,r=null==r?" ":Re(r),he(r,Me(t/r.length)).slice(0,t)):""}function vr(n){function t(){for(var n=0,f=arguments.length,a=-1,c=u.length,l=we(f+c);++a<c;)l[a]=u[a];for(;f--;)l[a++]=arguments[n++];return(this instanceof t?i:r).apply(o?e:this,l)}var r=n[0],e=n[3],u=n[4],o=n[1]&_,i=hr(r);return t}function yr(n,t,r,e,u,o){var i=t&_,f=t&b,a=t&x,c=t&E;if(!f&&!oe(n))throw new Se(O);a&&!u.length&&(t&=~x,a=u=false),c&&!o.length&&(t&=~E,c=o=false);
var l=!f&&n[I];if(l&&true!==l)return l=Cr(l),l[4]&&(l[4]=Cr(l[4])),l[5]&&(l[5]=Cr(l[5])),typeof r=="number"&&(l[2]=r),n=l[1]&_,i&&!n&&(l[3]=e),!i&&n&&(t|=A),a&&(l[4]?Ve.apply(l[4],u):l[4]=u),c&&(l[5]?Qe.apply(l[5],o):l[5]=o),l[1]|=t,yr.apply(d,l);if(a)var p=mr(u);if(c)var s=mr(o);return null==r&&(r=f?0:n.length),r=iu(r,0),Lt([n,t,r,e,u,o,p,s])}function dr(n,t,r){var e=Z.callback||ye,e=e===ye?Ut:e;return arguments.length?e(n,t,r):e}function mr(n){for(var t=-1,r=n.length,e=[];++t<r;)n[t]===Z&&e.push(t);
return e}function _r(n,t,e){var u=Z.indexOf||Rr,u=u===Rr?r:u;return n?u(n,t,e):u}function br(n){return n&&typeof n=="object"&&typeof n.length=="number"&&mt[Le.call(n)]||false}function wr(n){var t=typeof n;return"function"==t?$e.test(We.call(n)):n&&"object"==t&&P.test(Le.call(n))||false}function jr(n){return n===n&&(0===n?0<1/n:!ie(n))}function Ar(n){return De.call(n,0)}function xr(n){var t,r;return n&&Le.call(n)==ot&&(Ke.call(n,"constructor")||(t=n.constructor,!oe(t)||t instanceof t))?(Yt(n,function(n,t){r=t
}),typeof r=="undefined"||Ke.call(n,r)):false}function Er(n){for(var t,r=-1,e=le(n),u=e.length,o=u&&n.length,i=o-1,f=[],o=typeof o=="number"&&0<o&&(ju(n)||hu.nonEnumArgs&&re(n));++r<u;){var a=e[r];(o&&(t=+a,-1<t&&t<=i&&0==t%1)||Ke.call(n,a))&&f.push(a)}return f}function Ir(n){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=R?n||[]:pe(n)}function Or(n,t,r){var e=-1,u=n?n.length:0;for(t=dr(t,r,3);++e<u;)if(t(n[e],e,n))return e;return-1}function kr(n){return n?n[0]:d}function Rr(n,t,e){var u=n?n.length:0;
if(typeof e=="number")e=0>e?iu(u+e,0):e||0;else if(e)return e=Fr(n,t),u&&n[e]===t?e:-1;return r(n,t,e)}function Sr(n){return Cr(n,1)}function Cr(n,t,r){var e=-1,u=n?n.length:0;for(t=null==t?0:+t||0,0>t?t=iu(u+t,0):t>u&&(t=u),r=typeof r=="undefined"?u:+r||0,0>r?r=iu(u+r,0):r>u&&(r=u),u=t>r?0:r-t,r=we(u);++e<u;)r[e]=n[t+e];return r}function Fr(n,t,r,e){return r=null==r?de:dr(r,e,1),fr(n,t,r)}function Tr(n,t,r,e){return r=null==r?de:dr(r,e,1),fr(n,t,r,true)}function Ur(n,t,e,u){if(!n||!n.length)return[];
var o=typeof t;if("boolean"!=o&&null!=t&&(u=e,e=t,t=false,"number"!=o&&"string"!=o||!u||u[e]!==n||(e=null)),null!=e&&(e=dr(e,u,3)),t&&_r()==r){t=e;var i;for(e=-1,u=n.length,o=[];++e<u;){var f=n[e],a=t?t(f,e,n):f;e&&i===a||(i=a,o.push(f))}n=o}else n=ar(n,e);return n}function Wr(n){for(var t=-1,r=ie(r=Zr(n,"length"))&&r.length||0,e=we(r);++t<r;)e[t]=Kr(n,t);return e}function Nr(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||ju(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Lr(){return this.__wrapped__
}function $r(n,t,r){var e=n?n.length:0;return typeof e=="number"&&-1<e&&e<=R||(n=pe(n),e=n.length),r=typeof r=="number"?0>r?iu(e+r,0):r||0:0,typeof n=="string"||!ju(n)&&ce(n)?r<e?tu?tu.call(n,t,r):-1<n.indexOf(t,r):false:-1<_r(n,t,r)}function Br(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=dr(t,r,3)),(ju(n)?At:zt)(n,t)}function Dr(n,t,r){return t=dr(t,r,3),(ju(n)?Et:qt)(n,t)}function Mr(n,t,r){return ju(n)?(t=Or(n,t,r),-1<t?n[t]:d):(t=dr(t,r,3),Pt(n,t,Dt))}function zr(n,t,r){return typeof t=="function"&&typeof r=="undefined"&&ju(n)?jt(n,t):Dt(n,Ut(t,r,3))
}function qr(n,t,r){if(typeof t=="function"&&typeof r=="undefined"&&ju(n))for(r=n?n.length:0;r--&&false!==t(n[r],r,n););else n=Mt(n,Ut(t,r,3));return n}function Pr(n,t,r){return t=dr(t,r,3),(ju(n)?xt:nr)(n,t)}function Zr(n,t,r){var e=-1/0,o=e,i=typeof t;"number"!=i&&"string"!=i||!r||r[t]!==n||(t=null);var i=null==t,f=!(i&&ju(n))&&ce(n);if(i&&!f)for(r=-1,n=Ir(n),i=n.length;++r<i;)f=n[r],f>o&&(o=f);else t=i&&f?u:dr(t,r,3),Dt(n,function(n,r,u){r=t(n,r,u),(r>e||-1/0===r&&r===o)&&(e=r,o=n)});return o}function Kr(n,t){return Pr(n,be(t))
}function Vr(n,t,r,e){return(ju(n)?It:or)(n,dr(t,e,4),r,3>arguments.length,Dt)}function Yr(n,t,r,e){return(ju(n)?kt:or)(n,dr(t,e,4),r,3>arguments.length,Mt)}function Jr(n){n=Ir(n);for(var t=-1,r=n.length,e=we(r);++t<r;){var u=ur(0,t);t!=u&&(e[t]=e[u]),e[u]=n[t]}return e}function Xr(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=dr(t,r,3)),(ju(n)?Rt:ir)(n,t)}function Gr(n,t){var r;if(!oe(t))throw new Se(O);return function(){return 0<--n?r=t.apply(this,arguments):t=null,r}}function Hr(n,t,r){function e(){var r=t-(Su()-c);
0>=r||r>t?(f&&ze(f),r=s,f=p=s=d,r&&(h=Su(),a=n.apply(l,i),p||f||(i=l=null))):p=Xe(e,r)}function u(){p&&ze(p),f=p=s=d,(v||g!==t)&&(h=Su(),a=n.apply(l,i),p||f||(i=l=null))}function o(){if(i=arguments,c=Su(),l=this,s=v&&(p||!y),false===g)var r=y&&!p;else{f||y||(h=c);var o=g-(c-h),d=0>=o||o>g;d?(f&&(f=ze(f)),h=c,a=n.apply(l,i)):f||(f=Xe(u,o))}return d&&p?p=ze(p):p||t===g||(p=Xe(e,t)),r&&(d=true,a=n.apply(l,i)),!d||p||f||(i=l=null),a}var i,f,a,c,l,p,s,h=0,g=false,v=true;if(!oe(n))throw new Se(O);if(t=0>t?0:t,true===r)var y=true,v=false;
else ie(r)&&(y=r.leading,g="maxWait"in r&&iu(+r.maxWait||0,t),v="trailing"in r?r.trailing:v);return o.cancel=function(){p&&ze(p),f&&ze(f),f=p=s=d},o}function Qr(n){if(!oe(n))throw new Se(O);return function(){return!n.apply(this,arguments)}}function ne(n){return rr(n,x,Cr(arguments,1))}function te(n){return Gt(n,le)}function re(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Le.call(n)==Q||false}function ee(n){return n&&typeof n=="object"&&1===n.nodeType&&-1<Le.call(n).indexOf("Element")||false
}function ue(n){return n&&typeof n=="object"&&Le.call(n)==et||false}function oe(n){return typeof n=="function"||false}function ie(n){var t=typeof n;return"function"==t||n&&"object"==t||false}function fe(n){var t=typeof n;return"number"==t||n&&"object"==t&&Le.call(n)==ut||false}function ae(n){return n&&typeof n=="object"&&Le.call(n)==it||false}function ce(n){return typeof n=="string"||n&&typeof n=="object"&&Le.call(n)==ft||false}function le(n){if(null==n)return[];n=Oe(n);for(var t,r=n.length,r=(typeof r=="number"&&0<r&&(ju(n)||hu.nonEnumArgs&&re(n))&&r)>>>0,e=n.constructor,u=-1,e=e&&n===e.prototype,o=r-1,i=we(r),f=0<r;++u<r;)i[u]=Re(u);
for(var a in n)e&&"constructor"==a||f&&(t=+a,-1<t&&t<=o&&0==t%1)||i.push(a);return i}function pe(n){return cr(n,Eu)}function se(n){return n=null==n?"":Re(n),V.lastIndex=0,V.test(n)?n.replace(V,"\\$&"):n}function he(n,t){var r="";if(t=+t,1>t||null==n||!uu(t))return r;n=Re(n);do t%2&&(r+=n),t=Pe(t/2),n+=n;while(t);return r}function ge(n,t){return(n=null==n?"":Re(n))?null==t?n.slice(h(n),g(n)+1):(t=Re(t),n.slice(o(n,t),i(n,t)+1)):n}function ve(n){try{return n()}catch(t){return ue(t)?t:Ae(t)}}function ye(n,t){return Ut(n,t)
}function de(n){return n}function me(n){var t=Eu(n),r=t.length;if(1==r){var e=t[0],u=n[e];if(jr(u))return function(n){return null!=n&&u===n[e]&&Ke.call(n,e)}}for(var o=r,i=we(r),f=we(r);o--;){var u=n[t[o]],a=jr(u);i[o]=a,f[o]=a?u:Wt(u,false)}return function(n){if(o=r,null==n)return!o;for(;o--;)if(i[o]?f[o]!==n[t[o]]:!Ke.call(n,t[o]))return false;for(o=r;o--;)if(i[o]?!Ke.call(n,t[o]):!Ht(f[o],n[t[o]],null,true))return false;return true}}function _e(n,t,r){var e=true,u=t&&Gt(t,Eu);t&&(r||u.length)||(null==r&&(r=t),t=n,n=this,u=Gt(t,Eu)),false===r?e=false:ie(r)&&"chain"in r&&(e=r.chain),r=-1;
for(var o=oe(n),i=u?u.length:0;++r<i;){var f=u[r],a=n[f]=t[f];o&&(n.prototype[f]=function(t){return function(){var r=this.__chain__,u=this.__wrapped__,o=[u];if(Ve.apply(o,arguments),o=t.apply(n,o),e||r){if(u===o&&ie(o))return this;o=new n(o),o.__chain__=r}return o}}(a))}return n}function be(n){return function(t){return null==t?d:t[n]}}l=l?St.defaults(Ot.Object(),l,St.pick(Ot,H)):Ot;var we=l.Array,je=l.Date,Ae=l.Error,xe=l.Function,Ee=l.Math,Ie=l.Number,Oe=l.Object,ke=l.RegExp,Re=l.String,Se=l.TypeError,Ce=we.prototype,Fe=Oe.prototype,Te=Re.prototype,Ue=(Ue=l.window)&&Ue.document,We=xe.prototype.toString,Ne=l._,Le=Fe.toString,$e=ke("^"+se(Le).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Be=wr(Be=l.ArrayBuffer)&&Be,De=wr(De=Be&&new Be(0).slice)&&De,Me=Ee.ceil,ze=l.clearTimeout,qe=wr(qe=l.Float64Array)&&qe,Pe=Ee.floor,Ze=wr(Ze=Oe.getPrototypeOf)&&Ze,Ke=Fe.hasOwnProperty,Ve=Ce.push,Ye=Fe.propertyIsEnumerable,Je=wr(Je=l.Set)&&Je,Xe=l.setTimeout,Ge=Ce.splice,He=wr(He=l.Uint8Array)&&He,Qe=Ce.unshift,nu=function(){try{var n={},t=wr(t=Oe.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),tu=wr(tu=Te.contains)&&tu,ru=wr(ru=Oe.create)&&ru,eu=wr(eu=we.isArray)&&eu,uu=l.isFinite,ou=wr(ou=Oe.keys)&&ou,iu=Ee.max,fu=Ee.min,au=wr(au=je.now)&&au,cu=wr(cu=Ie.isFinite)&&cu,lu=l.parseInt,pu=Ee.random,su=qe&&qe.BYTES_PER_ELEMENT,hu=Z.support={};!function(x_){for(var n in arguments);hu.funcDecomp=!wr(l.WinRTError)&&Y.test(y),hu.funcNames=typeof xe.name=="string";try{hu.dom=11===Ue.createDocumentFragment().nodeType}catch(t){hu.dom=false}try{hu.nonEnumArgs=!("1"==n&&Ke.call(arguments,n)&&Ye.call(arguments,n))
}catch(r){hu.nonEnumArgs=true}}(0,0),Z.templateSettings={escape:L,evaluate:$,interpolate:B,variable:"",imports:{_:Z}},ru||(Nt=function(){function n(){}return function(t){if(ie(t)){n.prototype=t;var r=new n;n.prototype=null}return r||l.Object()}}());var gu=Je&&function(n){var t=new Je,r=n?n.length:0;for(t.push=t.add;r--;)t.push(n[r]);return t};De||(Ar=Be&&He?function(n){var t=n.byteLength,r=qe?Pe(t/su):0,e=r*su,u=new Be(t);if(r){var o=new qe(u,0,r);o.set(new qe(n,0,r))}return t!=e&&(o=new He(u,e),o.set(new He(n,e))),u
}:de);var vu=nu?function(n,t){return wt.value=t,nu(n,I,wt),wt.value=null,n}:de,yu=lr(function(n,t,r){Ke.call(n,r)?n[r]++:n[r]=1}),du=lr(function(n,t,r){Ke.call(n,r)?n[r].push(t):n[r]=[t]}),mu=lr(function(n,t,r){n[r]=t}),_u=lr(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),bu=ne(Gr,2),wu=pr(Tt),ju=eu||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Le.call(n)==nt||false};hu.dom||(ee=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!xu(n)||false});var Au=cu||function(n){return typeof n=="number"&&uu(n)
},xu=Ze?function(n){if(!n||Le.call(n)!=ot)return false;var t=n.valueOf,r=wr(t)&&(r=Ze(t))&&Ze(r);return r?n==r||Ze(n)==r:xr(n)}:xr,Eu=ou?function(n){n=Oe(n);var t=n.constructor,r=n.length;return t&&n===t.prototype||typeof r=="number"&&0<r?Er(n):ou(n)}:Er,Iu=pr(tr),Ou=c(function(n,t,r){return!r&&C.test(t)?n+t.toLowerCase():n+(t.charAt(0)[r?"toUpperCase":"toLowerCase"]()+t.slice(1))}),ku=c(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Ru=c(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),Su=au||function(){return(new je).getTime()
},Cu=8==lu(G+"08")?lu:function(n,t){return n=ge(n),lu(n,+t||(q.test(n)?16:10))};return X.prototype=Z.prototype,Z.after=function(n,t){if(!oe(t))throw new Se(O);return n=uu(n=+n)?n:0,function(){return 1>--n?t.apply(this,arguments):void 0}},Z.assign=wu,Z.at=function(t){var r=t?t.length:0;return typeof r=="number"&&-1<r&&r<=R&&(t=Ir(t)),n(t,Zt(arguments,false,false,1))},Z.before=Gr,Z.bind=function(n,t){return 3>arguments.length?yr(n,_,null,t):rr(n,_|x,Cr(arguments,2),t)},Z.bindAll=function(n){for(var t=n,r=1<arguments.length?Zt(arguments,false,false,1):te(n),e=-1,u=r.length;++e<u;){var o=r[e];
t[o]=yr(t[o],_,null,t)}return t},Z.bindKey=function(n,t){return 3>arguments.length?yr(t,_|b,null,n):yr(t,_|b|x,null,n,Cr(arguments,2))},Z.callback=ye,Z.chain=function(n){return n=Z(n),n.__chain__=true,n},Z.chunk=function(n,t){var r=0,e=n?n.length:0,u=[];for(t=iu(+t||1,1);r<e;)u.push(Cr(n,r,r+=t));return u},Z.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},Z.compose=function(){var n=arguments,t=n.length,r=t-1;if(!t)return function(){};for(;t--;)if(!oe(n[t]))throw new Se(O);
return function(){t=r;for(var e=n[t].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},Z.constant=function(n){return function(){return n}},Z.countBy=yu,Z.create=function(n,t){var r=Nt(n);return t?Tt(r,t):r},Z.curry=function(n,t){return $t(n,w,t)},Z.curryRight=function(n,t){return $t(n,j,t)},Z.debounce=Hr,Z.defaults=function(n){if(null==n)return n;var t=Cr(arguments);return t.push(Ct),wu.apply(d,t)},Z.defer=function(n){if(!oe(n))throw new Se(O);var t=Cr(arguments,1);return Xe(function(){n.apply(d,t)
},1)},Z.delay=function(n,t){if(!oe(n))throw new Se(O);var r=Cr(arguments,2);return Xe(function(){n.apply(d,r)},t)},Z.difference=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(ju(r)||re(r))break}return Bt(arguments[n],Zt(arguments,false,true,++n))},Z.drop=function(n,t,r){return t=null==t||r?1:t,Cr(n,0>t?0:t)},Z.dropRight=function(n,t,r){var e=n?n.length:0;return t=e-((null==t||r?1:t)||0),Cr(n,0,0>t?0:t)},Z.dropRightWhile=function(n,t,r){var e=n?n.length:0;for(t=dr(t,r,3);e--&&t(n[e],e,n););return Cr(n,0,e+1)
},Z.dropWhile=function(n,t,r){var e=-1,u=n?n.length:0;for(t=dr(t,r,3);++e<u&&t(n[e],e,n););return Cr(n,e)},Z.filter=Dr,Z.flatten=function(n,t,r){if(!n||!n.length)return[];var e=typeof t;return"number"!=e&&"string"!=e||!r||r[t]!==n||(t=false),Zt(n,t)},Z.forEach=zr,Z.forEachRight=qr,Z.forIn=function(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Ut(t,r,3)),Kt(n,t,le)},Z.forInRight=function(n,t,r){return t=Ut(t,r,3),Vt(n,t,le)},Z.forOwn=function(n,t,r){return(typeof t!="function"||typeof r!="undefined")&&(t=Ut(t,r,3)),Jt(n,t)
},Z.forOwnRight=function(n,t,r){return t=Ut(t,r,3),Vt(n,t,Eu)},Z.functions=te,Z.groupBy=du,Z.indexBy=mu,Z.initial=function(n){var t=n?n.length:0;return Cr(n,0,t?t-1:0)},Z.intersection=function(){for(var n=[],t=-1,u=arguments.length,o=[],i=_r(),f=gu&&i==r;++t<u;){var a=arguments[t];(ju(a)||re(a))&&(n.push(a),o.push(f&&120<=a.length&&gu(t&&a)))}var u=n.length,f=n[0],c=-1,l=f?f.length:0,p=[],s=o[0];n:for(;++c<l;)if(a=f[c],0>(s?e(s,a):i(p,a))){for(t=u;--t;){var h=o[t];if(0>(h?e(h,a):i(n[t],a)))continue n
}s&&s.push(a),p.push(a)}return p},Z.invert=function(n,t){for(var r=-1,e=Eu(n),u=e.length,o={};++r<u;){var i=e[r],f=n[i];t?Ke.call(o,f)?o[f].push(i):o[f]=[i]:o[f]=i}return o},Z.invoke=function(n,t){return Qt(n,t,Cr(arguments,2))},Z.keys=Eu,Z.keysIn=le,Z.map=Pr,Z.mapValues=function(n,t,r){var e={};return t=dr(t,r,3),Jt(n,function(n,r,u){e[r]=t(n,r,u)}),e},Z.matches=me,Z.memoize=function(n,t){if(!oe(n)||t&&!oe(t))throw new Se(O);var r=function(){var e=t?t.apply(this,arguments):arguments[0];if("__proto__"==e)return n.apply(this,arguments);
var u=r.cache;return Ke.call(u,e)?u[e]:u[e]=n.apply(this,arguments)};return r.cache={},r},Z.merge=Iu,Z.mixin=_e,Z.negate=Qr,Z.omit=function(n,t,r){if(null==n)return{};if(typeof t=="function")return er(n,Qr(dr(t,r,3)));var e=Zt(arguments,false,false,1);return er(Oe(n),Bt(le(n),xt(e,Re)))},Z.once=bu,Z.pairs=function(n){for(var t=-1,r=Eu(n),e=r.length,u=we(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},Z.partial=ne,Z.partialRight=function(n){return rr(n,E,Cr(arguments,1))},Z.partition=_u,Z.pick=function(n,t,r){return null==n?{}:er(Oe(n),typeof t=="function"?dr(t,r,3):Zt(arguments,false,false,1))
},Z.pluck=Kr,Z.property=be,Z.pull=function(n){for(var t=0,r=arguments.length,e=n?n.length:0;++t<r;)for(var u=-1,o=arguments[t];++u<e;)n[u]===o&&(Ge.call(n,u--,1),e--);return n},Z.pullAt=function(r){var e=r,u=Zt(arguments,false,false,1),o=u.length,i=n(e,u);for(u.sort(t);o--;){var f=parseFloat(u[o]);if(f!=a&&-1<f&&0==f%1){var a=f;Ge.call(e,f,1)}}return i},Z.range=function(n,t,r){n=+n||0,r=null==r?1:+r||0,null==t?(t=n,n=0):t=+t||0;var e=-1;t=iu(Me((t-n)/(r||1)),0);for(var u=we(t);++e<t;)u[e]=n,n+=r;return u
},Z.reject=function(n,t,r){return t=dr(t,r,3),Dr(n,Qr(t))},Z.remove=function(n,t,r){var e=-1,u=n?n.length:0,o=[];for(t=dr(t,r,3);++e<u;)r=n[e],t(r,e,n)&&(o.push(r),Ge.call(n,e--,1),u--);return o},Z.rest=Sr,Z.shuffle=Jr,Z.slice=Cr,Z.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,o=t&&ju(t),i=[];for(typeof u=="number"&&-1<u&&u<=R&&(i.length=u),o||(t=dr(t,r,3)),Dt(n,function(n,r,u){if(o)for(r=t.length,u=we(r);r--;)u[r]=n[t[r]];else u=t(n,r,u);i[++e]={a:u,b:e,c:n}}),u=i.length,i.sort(o?a:f);u--;)i[u]=i[u].c;
return i},Z.take=function(n,t,r){return t=null==t||r?1:t,Cr(n,0,0>t?0:t)},Z.takeRight=function(n,t,r){var e=n?n.length:0;return t=e-((null==t||r?1:t)||0),Cr(n,0>t?0:t)},Z.takeRightWhile=function(n,t,r){var e=n?n.length:0;for(t=dr(t,r,3);e--&&t(n[e],e,n););return Cr(n,e+1)},Z.takeWhile=function(n,t,r){var e=-1,u=n?n.length:0;for(t=dr(t,r,3);++e<u&&t(n[e],e,n););return Cr(n,0,e)},Z.tap=function(n,t,r){return t.call(r,n),n},Z.throttle=function(n,t,r){var e=true,u=true;if(!oe(n))throw new Se(O);return false===r?e=false:ie(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),bt.leading=e,bt.maxWait=+t,bt.trailing=u,Hr(n,t,bt)
},Z.times=function(n,t,r){n=uu(n=+n)&&-1<n?n:0,t=Ut(t,r,1),r=-1;for(var e=we(fu(n,k));++r<n;)r<k?e[r]=t(r):t(r);return e},Z.toArray=function(n){var t=Ir(n);return t===n?Cr(n):t},Z.transform=function(n,t,r,e){var u=br(n);if(null==r)if(u)r=[];else{if(ie(n))var o=n.constructor,o=o&&o.prototype;r=Nt(o)}return t&&(t=dr(t,e,4),(u?jt:Jt)(n,function(n,e,u){return t(r,n,e,u)})),r},Z.union=function(){return ar(Zt(arguments,false,true))},Z.uniq=Ur,Z.unzip=Wr,Z.values=pe,Z.valuesIn=function(n){return cr(n,le)},Z.where=function(n,t){return Dr(n,me(t))
},Z.without=function(){return Bt(arguments[0],Cr(arguments,1))},Z.wrap=function(n,t){return yr(t,x,null,null,[n])},Z.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(ju(r)||re(r))var e=e?Bt(e,r).concat(Bt(r,e)):r}return e?ar(e):[]},Z.zip=function(){return Wr(arguments)},Z.zipObject=Nr,Z.collect=Pr,Z.each=zr,Z.eachRight=qr,Z.extend=wu,Z.methods=te,Z.object=Nr,Z.select=Dr,Z.tail=Sr,Z.unique=Ur,_e(Z,Tt({},Z)),Z.attempt=ve,Z.camelCase=Ou,Z.capitalize=function(n){return null==n?"":(n=Re(n),n.charAt(0).toUpperCase()+n.slice(1))
},Z.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),r=typeof r=="function"&&Ut(r,e,1),Wt(n,t,r)},Z.cloneDeep=function(n,t,r){return t=typeof t=="function"&&Ut(t,r,1),Wt(n,true,t)},Z.contains=$r,Z.endsWith=function(n,t,r){n=null==n?"":Re(n),t=Re(t);var e=n.length;return r=(typeof r=="undefined"?e:fu(0>r?0:+r||0,e))-t.length,0<=r&&n.indexOf(t,r)==r},Z.escape=function(n){return n=null==n?"":Re(n),N.lastIndex=0,N.test(n)?n.replace(N,p):n
},Z.escapeRegExp=se,Z.every=Br,Z.find=Mr,Z.findIndex=Or,Z.findKey=function(n,t,r){return t=dr(t,r,3),Pt(n,t,Jt,true)},Z.findLast=function(n,t,r){return t=dr(t,r,3),Pt(n,t,Mt)},Z.findLastIndex=function(n,t,r){var e=n?n.length:0;for(t=dr(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},Z.findLastKey=function(n,t,r){return t=dr(t,r,3),Pt(n,t,Xt,true)},Z.findWhere=function(n,t){return Mr(n,me(t))},Z.first=kr,Z.has=function(n,t){return n?Ke.call(n,t):false},Z.identity=de,Z.indexOf=Rr,Z.isArguments=re,Z.isArray=ju,Z.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Le.call(n)==tt||false
},Z.isDate=function(n){return n&&typeof n=="object"&&Le.call(n)==rt||false},Z.isElement=ee,Z.isEmpty=function(n){if(null==n)return true;var t=n.length;return typeof t=="number"&&-1<t&&t<=R&&(ju(n)||ce(n)||re(n)||typeof n=="object"&&oe(n.splice))?!t:!Eu(n).length},Z.isEqual=function(n,t,r,e){return r=typeof r=="function"&&Ut(r,e,3),!r&&jr(n)&&jr(t)?n===t:Ht(n,t,r)},Z.isError=ue,Z.isFinite=Au,Z.isFunction=oe,Z.isNaN=function(n){return fe(n)&&n!=+n},Z.isNull=function(n){return null===n},Z.isNumber=fe,Z.isObject=ie,Z.isPlainObject=xu,Z.isRegExp=ae,Z.isString=ce,Z.isUndefined=function(n){return typeof n=="undefined"
},Z.kebabCase=ku,Z.last=function(n){var t=n?n.length:0;return t?n[t-1]:d},Z.lastIndexOf=function(n,t,r){var e=n?n.length:0,u=e;if(typeof r=="number")u=(0>r?iu(u+r,0):fu(r||0,u-1))+1;else if(r)return u=Tr(n,t)-1,e&&n[u]===t?u:-1;for(;u--;)if(n[u]===t)return u;return-1},Z.max=Zr,Z.min=function(n,t,r){var e=1/0,o=e,i=typeof t;"number"!=i&&"string"!=i||!r||r[t]!==n||(t=null);var i=null==t,f=!(i&&ju(n))&&ce(n);if(i&&!f)for(r=-1,n=Ir(n),i=n.length;++r<i;)f=n[r],f<o&&(o=f);else t=i&&f?u:dr(t,r,3),Dt(n,function(n,r,u){r=t(n,r,u),(r<e||1/0===r&&r===o)&&(e=r,o=n)
});return o},Z.noConflict=function(){return l._=Ne,this},Z.noop=function(){},Z.now=Su,Z.pad=function(n,t,r){n=null==n?"":Re(n),t=+t;var e=n.length;return e<t&&uu(t)?(e=(t-e)/2,t=Pe(e),e=Me(e),r=gr("",e,r),r.slice(0,t)+n+r):n},Z.padLeft=function(n,t,r){return n=null==n?"":Re(n),gr(n,t,r)+n},Z.padRight=function(n,t,r){return n=null==n?"":Re(n),n+gr(n,t,r)},Z.parseInt=Cu,Z.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=pu(),fu(n+r*(t-n+parseFloat("1e-"+(Re(r).length-1))),t)):ur(n,t)
},Z.reduce=Vr,Z.reduceRight=Yr,Z.repeat=he,Z.result=function(n,t,r){var e=null==n?d:n[t];return typeof e=="undefined"?r:oe(e)?n[t]():e},Z.runInContext=y,Z.size=function(n){var t=n?n.length:0;return typeof t=="number"&&-1<t&&t<=R?t:Eu(n).length},Z.snakeCase=Ru,Z.some=Xr,Z.sortedIndex=Fr,Z.sortedLastIndex=Tr,Z.startsWith=function(n,t,r){return n=null==n?"":Re(n),r=typeof r=="undefined"?0:fu(0>r?0:+r||0,n.length),n.lastIndexOf(t,r)==r},Z.template=function(n,t){var r=Z.templateSettings;t=wu({},t,r,Ft),n=Re(null==n?"":n);
var e,u,r=wu({},t.imports,r.imports,Ft),o=Eu(r),i=pe(r),f=0,r=t.interpolate||K,a="__p+='",r=ke((t.escape||K).source+"|"+r.source+"|"+(r===B?D:K).source+"|"+(t.evaluate||K).source+"|$","g");if(n.replace(r,function(t,r,o,i,c,l){return o||(o=i),a+=n.slice(f,l).replace(J,s),r&&(e=true,a+="'+__e("+r+")+'"),c&&(u=true,a+="';"+c+";\n__p+='"),o&&(a+="'+((__t=("+o+"))==null?'':__t)+'"),f=l+t.length,t}),a+="';",(r=t.variable)||(a="with(obj){"+a+"}"),a=(u?a.replace(F,""):a).replace(T,"$1").replace(U,"$1;"),a="function("+(r||"obj")+"){"+(r?"":"obj||(obj={});")+"var __t,__p=''"+(e?",__e=_.escape":"")+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",r=ve(function(){return xe(o,"return "+a).apply(d,i)
}),r.source=a,ue(r))throw r;return r},Z.trim=ge,Z.trimLeft=function(n,t){return(n=null==n?"":Re(n))?null==t?n.slice(h(n)):(t=Re(t),n.slice(o(n,t))):n},Z.trimRight=function(n,t){return(n=null==n?"":Re(n))?null==t?n.slice(0,g(n)+1):(t=Re(t),n.slice(0,i(n,t)+1)):n},Z.trunc=function(n,t){var r=30,e="...";if(ie(t))var u="separator"in t?t.separator:u,r="length"in t?+t.length||0:r,e="omission"in t?Re(t.omission):e;else null!=t&&(r=+t||0);if(n=null==n?"":Re(n),r>=n.length)return n;var o=r-e.length;if(1>o)return e;
if(r=n.slice(0,o),null==u)return r+e;if(ae(u)){if(n.slice(o).search(u)){var i,f,a=n.slice(0,o);for(u.global||(u=ke(u.source,(M.exec(u)||"")+"g")),u.lastIndex=0;i=u.exec(a);)f=i.index;r=r.slice(0,null==f?o:f)}}else n.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),-1<u&&(r=r.slice(0,u)));return r+e},Z.unescape=function(n){return n=null==n?"":Re(n),W.lastIndex=0,W.test(n)?n.replace(W,v):n},Z.uniqueId=function(n){var t=++S;return Re(null==n?"":n)+t},Z.all=Br,Z.any=Xr,Z.detect=Mr,Z.foldl=Vr,Z.foldr=Yr,Z.head=kr,Z.include=$r,Z.inject=Vr,_e(Z,function(){var n={};
return Jt(Z,function(t,r){Z.prototype[r]||(n[r]=t)}),n}(),false),Z.sample=function(n,t,r){n=Ir(n);var e=n.length;return null==t||r?0<e?n[ur(0,e-1)]:d:(n=Jr(n),n.length=fu(0>t?0:+t||0,n.length),n)},Jt(Z,function(n,t){var r="sample"!=t;Z.prototype[t]||(Z.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 X(o,u):o})}),Z.VERSION=m,Z.prototype.chain=function(){return this.__chain__=true,this},Z.prototype.toJSON=Lr,Z.prototype.toString=function(){return Re(this.__wrapped__)
},Z.prototype.value=Lr,Z.prototype.valueOf=Lr,jt(["join","pop","shift"],function(n){var t=Ce[n];Z.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new X(r,n):r}}),jt(["push","reverse","sort","unshift"],function(n){var t=Ce[n];Z.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),jt(["concat","splice"],function(n){var t=Ce[n];Z.prototype[n]=function(){return new X(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Z}var d,m="3.0.0-pre",_=1,b=2,w=4,j=8,A=16,x=32,E=64,I="__lodash@"+m+"__",O="Expected a function",k=Math.pow(2,32)-1,R=Math.pow(2,53)-1,S=0,C=/^[A-Z]+$/,F=/\b__p\+='';/g,T=/\b(__p\+=)''\+/g,U=/(__e\(.*?\)|\b__t\))\+'';/g,W=/&(?:amp|lt|gt|quot|#39|#96);/g,N=/[&<>"'`]/g,L=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,B=/<%=([\s\S]+?)%>/g,D=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,M=/\w*$/,z=/^\s*function[ \n\r\t]+\w/,q=/^0[xX]/,P=/^\[object .+?Constructor\]$/,Z=/[\xC0-\xFF]/g,K=/($^)/,V=/[.*+?^${}()|[\]\/\\]/g,Y=/\bthis\b/,J=/['\n\r\u2028\u2029\\]/g,X=/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,G=" \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",H="Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array window WinRTError".split(" "),Q="[object Arguments]",nt="[object Array]",tt="[object Boolean]",rt="[object Date]",et="[object Error]",ut="[object Number]",ot="[object Object]",it="[object RegExp]",ft="[object String]",at="[object ArrayBuffer]",ct="[object Float32Array]",lt="[object Float64Array]",pt="[object Int8Array]",st="[object Int16Array]",ht="[object Int32Array]",gt="[object Uint8Array]",vt="[object Uint8ClampedArray]",yt="[object Uint16Array]",dt="[object Uint32Array]",mt={};
mt[Q]=mt[nt]=mt[ct]=mt[lt]=mt[pt]=mt[st]=mt[ht]=mt[gt]=mt[vt]=mt[yt]=mt[dt]=true,mt[at]=mt[tt]=mt[rt]=mt[et]=mt["[object Function]"]=mt["[object Map]"]=mt[ut]=mt[ot]=mt[it]=mt["[object Set]"]=mt[ft]=mt["[object WeakMap]"]=false;var _t={};_t[Q]=_t[nt]=_t[at]=_t[tt]=_t[rt]=_t[ct]=_t[lt]=_t[pt]=_t[st]=_t[ht]=_t[ut]=_t[ot]=_t[it]=_t[ft]=_t[gt]=_t[vt]=_t[yt]=_t[dt]=true,_t[et]=_t["[object Function]"]=_t["[object Map]"]=_t["[object Set]"]=_t["[object WeakMap]"]=false;var bt={leading:false,maxWait:0,trailing:false},wt={configurable:false,enumerable:false,value:null,writable:false},jt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},At={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},xt={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"AE","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\xd7":" ","\xf7":" "},Et={"function":true,object:true},It={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ot=Et[typeof window]&&window||this,kt=Et[typeof exports]&&exports&&!exports.nodeType&&exports,Et=Et[typeof module]&&module&&!module.nodeType&&module,Rt=kt&&Et&&typeof global=="object"&&global;
!Rt||Rt.global!==Rt&&Rt.window!==Rt&&Rt.self!==Rt||(Ot=Rt);var Rt=Et&&Et.exports===kt&&kt,St=y();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ot._=St, define(function(){return St})):kt&&Et?Rt?(Et.exports=St)._=St:kt._=St:Ot._=St}).call(this);

View File

@@ -303,7 +303,6 @@
var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate,
nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray,
nativeIsFinite = root.isFinite,
nativeIsNaN = root.isNaN,
nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys,
nativeMax = Math.max,
nativeMin = Math.min,
@@ -593,7 +592,7 @@
* @param {Array} array The array to iterate over.
* @param {Function} iterator The function called per iteration.
* @param {*} [accumulator] The initial value.
* @param {boolean} [initFromArray=false] Specify using the first element of
* @param {boolean} [initFromArray=false] Specify using the last element of
* `array` as the initial value.
* @returns {*} Returns the accumulated value.
*/
@@ -642,29 +641,35 @@
* @returns {Function} Returns the new function.
*/
function baseCallback(func, thisArg, argCount) {
if (typeof func != 'function') {
var type = typeof func;
if (type == 'function') {
if (typeof thisArg == 'undefined') {
return func;
}
switch (argCount) {
case 1: return function(value) {
return func.call(thisArg, value);
};
case 3: return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
case 4: return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
case 5: return function(value, other, key, object, source) {
return func.call(thisArg, value, other, key, object, source);
};
}
return function() {
return func.apply(thisArg, arguments);
};
}
if (func == null) {
return identity;
}
if (typeof thisArg == 'undefined') {
return func;
}
switch (argCount) {
case 1: return function(value) {
return func.call(thisArg, value);
};
case 3: return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
case 4: return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
case 5: return function(value, other, key, object, source) {
return func.call(thisArg, value, other, key, object, source);
};
}
return function() {
return func.apply(thisArg, arguments);
};
// handle "_.pluck" and "_.where" style callback shorthands
return type == 'object' ? matches(func) : property(func);
}
/**
@@ -1283,7 +1288,7 @@
* @param {Array|Object|string} collection The collection to iterate over.
* @param {Function} iterator The function called per iteration.
* @param {*} accumulator The initial value.
* @param {boolean} initFromCollection Specify using the first element
* @param {boolean} initFromCollection Specify using the first or last element
* of `collection` as the initial value.
* @param {Function} eachFunc The function to iterate over `collection`.
* @returns {*} Returns the accumulated value.
@@ -1354,31 +1359,21 @@
*
* @private
* @param {Array} array The array to inspect.
* @param {boolean} [isSorted=false] Specify the array is sorted.
* @param {Function} [iterator] The function called per iteration.
* @returns {Array} Returns the new duplicate-value-free array.
*/
function baseUniq(array, isSorted, iterator) {
var length = array ? array.length : 0;
if (!length) {
return [];
}
function baseUniq(array, iterator) {
var index = -1,
indexOf = getIndexOf(),
length = array.length,
result = [],
seen = (iterator && !isSorted) ? [] : result;
seen = iterator ? [] : result;
while (++index < length) {
var value = array[index],
computed = iterator ? iterator(value, index, array) : value;
if (isSorted) {
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
}
else if (indexOf(seen, computed) < 0) {
if (indexOf(seen, computed) < 0) {
if (iterator) {
seen.push(computed);
}
@@ -1455,7 +1450,7 @@
function createAggregator(setter, initializer) {
return function(collection, iterator, thisArg) {
var result = initializer ? initializer() : {};
iterator = callback(iterator, thisArg, 3);
iterator = baseCallback(iterator, thisArg, 3);
if (isArray(collection)) {
var index = -1,
@@ -1626,14 +1621,16 @@
/**
* Gets the appropriate "indexOf" function. If the `_.indexOf` method is
* customized this function returns the custom method, otherwise it returns
* the `baseIndexOf` function.
* the `baseIndexOf` function. If arguments are provided the chosen function
* is executed with the arguments and its result is returned.
*
* @private
* @returns {Function} Returns the "indexOf" function.
* @returns {Function|number} Returns the chosen function or its result.
*/
function getIndexOf() {
function getIndexOf(collection, target, fromIndex) {
var result = lodash.indexOf || indexOf;
return result === indexOf ? baseIndexOf : result;
result = result === indexOf ? baseIndexOf : result;
return collection ? result(collection, target, fromIndex) : result;
}
/**
@@ -1673,6 +1670,33 @@
return result;
}
/**
* An implementation of `_.uniq` optimized for sorted arrays without support
* for callback shorthands and `this` binding.
*
* @private
* @param {Array} array The array to inspect.
* @param {Function} [iterator] The function called per iteration.
* @returns {Array} Returns the new duplicate-value-free array.
*/
function sortedUniq(array, iterator) {
var seen,
index = -1,
length = array.length,
result = [];
while (++index < length) {
var value = array[index],
computed = iterator ? iterator(value, index, array) : value;
if (!index || seen !== computed) {
seen = computed;
result.push(value);
}
}
return result;
}
/**
* Converts `collection` to an array if it is not an array-like value.
*
@@ -1819,7 +1843,7 @@
var index = -1,
length = array ? array.length : 0;
predicate = callback(predicate, thisArg, 3);
predicate = baseCallback(predicate, thisArg, 3);
while (++index < length) {
if (predicate(array[index], index, array)) {
return index;
@@ -2164,7 +2188,7 @@
* // => 1
*/
function sortedIndex(array, value, iterator, thisArg) {
iterator = iterator == null ? identity : callback(iterator, thisArg, 1);
iterator = iterator == null ? identity : baseCallback(iterator, thisArg, 1);
return baseSortedIndex(array, value, iterator);
}
@@ -2274,9 +2298,11 @@
}
}
if (iterator != null) {
iterator = callback(iterator, thisArg, 3);
iterator = baseCallback(iterator, thisArg, 3);
}
return baseUniq(array, isSorted, iterator);
return (isSorted && getIndexOf() == baseIndexOf)
? sortedUniq(array, iterator)
: baseUniq(array, iterator);
}
/**
@@ -2348,7 +2374,7 @@
/**
* Creates an object composed from arrays of property names and values. Provide
* either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`
* either a single two dimensional array, e.g. `[[key1, value1], [key2, value2]]`
* or two arrays, one of property names and one of corresponding values.
*
* @static
@@ -2517,13 +2543,12 @@
* // => true
*/
function contains(collection, target) {
var indexOf = getIndexOf(),
length = collection ? collection.length : 0;
var length = collection ? collection.length : 0;
if (!(typeof length == 'number' && length > -1 && length <= MAX_SAFE_INTEGER)) {
collection = values(collection);
}
return indexOf(collection, target) > -1;
return getIndexOf(collection, target) > -1;
}
/**
@@ -2607,7 +2632,7 @@
*/
function every(collection, predicate, thisArg) {
if (typeof predicate != 'function' || typeof thisArg != 'undefined') {
predicate = callback(predicate, thisArg, 3);
predicate = baseCallback(predicate, thisArg, 3);
}
var func = isArray(collection) ? arrayEvery : baseEvery;
return func(collection, predicate);
@@ -2654,7 +2679,7 @@
* // => [{ 'name': 'barney', 'age': 36 }]
*/
function filter(collection, predicate, thisArg) {
predicate = callback(predicate, thisArg, 3);
predicate = baseCallback(predicate, thisArg, 3);
var func = isArray(collection) ? arrayFilter : baseFilter;
return func(collection, predicate);
@@ -2708,7 +2733,7 @@
var index = findIndex(collection, predicate, thisArg);
return index > -1 ? collection[index] : undefined;
}
predicate = callback(predicate, thisArg, 3);
predicate = baseCallback(predicate, thisArg, 3);
return baseFind(collection, predicate, baseEach);
}
@@ -2924,7 +2949,7 @@
* // => ['barney', 'fred']
*/
function map(collection, iterator, thisArg) {
iterator = callback(iterator, thisArg, 3);
iterator = baseCallback(iterator, thisArg, 3);
var func = isArray(collection) ? arrayMap : baseMap;
return func(collection, iterator);
@@ -2982,18 +3007,20 @@
if ((type == 'number' || type == 'string') && thisArg && thisArg[iterator] === collection) {
iterator = null;
}
if (iterator == null && isArray(collection)) {
if (iterator == null) {
var index = -1,
length = collection.length;
iterable = toIterable(collection),
length = iterable.length;
while (++index < length) {
var value = collection[index];
var value = iterable[index];
if (value > result) {
result = value;
}
}
} else {
iterator = callback(iterator, thisArg, 3);
iterator = baseCallback(iterator, thisArg, 3);
baseEach(collection, function(value, index, collection) {
var current = iterator(value, index, collection);
@@ -3058,18 +3085,20 @@
if ((type == 'number' || type == 'string') && thisArg && thisArg[iterator] === collection) {
iterator = null;
}
if (iterator == null && isArray(collection)) {
if (iterator == null) {
var index = -1,
length = collection.length;
iterable = toIterable(collection),
length = iterable.length;
while (++index < length) {
var value = collection[index];
var value = iterable[index];
if (value < result) {
result = value;
}
}
} else {
iterator = callback(iterator, thisArg, 3);
iterator = baseCallback(iterator, thisArg, 3);
baseEach(collection, function(value, index, collection) {
var current = iterator(value, index, collection);
@@ -3183,7 +3212,7 @@
*/
function reduce(collection, iterator, accumulator, thisArg) {
var func = isArray(collection) ? arrayReduce : baseReduce;
return func(collection, callback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEach);
return func(collection, baseCallback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEach);
}
/**
@@ -3207,7 +3236,7 @@
*/
function reduceRight(collection, iterator, accumulator, thisArg) {
var func = isArray(collection) ? arrayReduceRight : baseReduce;
return func(collection, callback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEachRight);
return func(collection, baseCallback(iterator, thisArg, 4), accumulator, arguments.length < 3, baseEachRight);
}
/**
@@ -3249,7 +3278,7 @@
* // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
*/
function reject(collection, predicate, thisArg) {
predicate = callback(predicate, thisArg, 3);
predicate = baseCallback(predicate, thisArg, 3);
return filter(collection, negate(predicate));
}
@@ -3386,7 +3415,7 @@
*/
function some(collection, predicate, thisArg) {
if (typeof predicate != 'function' || typeof thisArg != 'undefined') {
predicate = callback(predicate, thisArg, 3);
predicate = baseCallback(predicate, thisArg, 3);
}
var func = isArray(collection) ? arraySome : baseSome;
return func(collection, predicate);
@@ -3446,7 +3475,7 @@
length = collection && collection.length,
result = Array(length < 0 ? 0 : length >>> 0);
iterator = callback(iterator, thisArg, 3);
iterator = baseCallback(iterator, thisArg, 3);
baseEach(collection, function(value, key, collection) {
result[++index] = {
'criteria': iterator(value, key, collection),
@@ -4365,7 +4394,7 @@
}
/**
* Checks if `value` is an `arguments` object.
* Checks if `value` is classified as an `arguments` object.
*
* @static
* @memberOf _
@@ -4387,19 +4416,20 @@
// fallback for environments without a `[[Class]]` for `arguments` objects
if (!isArguments(arguments)) {
isArguments = function(value) {
return (value && typeof value == 'object' && typeof value.length == 'number' &&
var length = (value && typeof value == 'object') ? value.length : undefined;
return (typeof length == 'number' && length > -1 && length <= MAX_SAFE_INTEGER &&
hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee')) || false;
};
}
/**
* Checks if `value` is an array.
* Checks if `value` is classified as an `Array` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isArray([1, 2, 3]);
@@ -4414,13 +4444,13 @@
};
/**
* Checks if `value` is a boolean value.
* Checks if `value` is classified as a boolean primitive or object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a boolean value, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isBoolean(false);
@@ -4435,13 +4465,13 @@
}
/**
* Checks if `value` is a `Date` object.
* Checks if `value` is classified as a `Date` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a date object, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isDate(new Date);
@@ -4578,7 +4608,7 @@
}
/**
* Checks if `value` is a finite number.
* Checks if `value` is a finite primitive number.
*
* Note: This method is based on ES6 `Number.isFinite`. See the
* [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite)
@@ -4588,7 +4618,7 @@
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is finite, else `false`.
* @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
* @example
*
* _.isFinite(10);
@@ -4611,13 +4641,13 @@
}
/**
* Checks if `value` is a function.
* Checks if `value` is classified as a `Function` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isFunction(_);
@@ -4720,16 +4750,16 @@
}
/**
* Checks if `value` is a `Number` primitive or object.
* Checks if `value` is classified as a `Number` primitive or object.
*
* Note: `NaN` is considered a number. See the [ES5 spec](http://es5.github.io/#x8.5)
* for more details.
* Note: To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified
* as numbers, use the `_.isFinite` method.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a number, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isNumber(8.4);
@@ -4748,13 +4778,13 @@
}
/**
* Checks if `value` is a `RegExp` object.
* Checks if `value` is classified as a `RegExp` object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a regexp object, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isRegExp(/abc/);
@@ -4764,17 +4794,17 @@
* // => false
*/
function isRegExp(value) {
return (isObject(value) && toString.call(value) == regexpClass) || false;
return (value && typeof value == 'object' && toString.call(value) == regexpClass) || false;
}
/**
* Checks if `value` is a `String` primitive or object.
* Checks if `value` is classified as a `String` primitive or object.
*
* @static
* @memberOf _
* @category Object
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a string, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @example
*
* _.isString('abc');
@@ -4900,7 +4930,7 @@
/**
* Creates a two dimensional array of a given object's key-value pairs,
* i.e. `[[key1, value1], [key2, value2]]`.
* e.g. `[[key1, value1], [key2, value2]]`.
*
* @static
* @memberOf _
@@ -5006,7 +5036,11 @@
* // => 'fred, barney, &amp; pebbles'
*/
function escape(string) {
return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar);
// reset `lastIndex` because in IE < 9 `String#replace` does not
string = string == null ? '' : String(string);
return (reUnescapedHtml.lastIndex = 0, reUnescapedHtml.test(string))
? string.replace(reUnescapedHtml, escapeHtmlChar)
: string;
}
/**
@@ -5024,7 +5058,10 @@
* // => '\[lodash\]\(http://lodash\.com\)'
*/
function escapeRegExp(string) {
return string == null ? '' : String(string).replace(reRegExpChars, '\\$&');
string = string == null ? '' : String(string);
return (reRegExpChars.lastIndex = 0, reRegExpChars.test(string))
? string.replace(reRegExpChars, '\\$&')
: string;
}
/**
@@ -5034,7 +5071,7 @@
* properties may be accessed as free variables in the template. If a setting
* object is provided it overrides `_.templateSettings` for the template.
*
* Note: In the development build, `_.template` utilizes sourceURLs for easier debugging.
* Note: In the development build `_.template` utilizes sourceURLs for easier debugging.
* See the [HTML5 Rocks article on sourcemaps](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
* for more details.
*
@@ -5073,22 +5110,27 @@
* compiled({ 'people': ['fred', 'barney'] });
* // => '<li>fred</li><li>barney</li>'
*
* // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
* var compiled = _.template('hello ${ name }');
* compiled({ 'name': 'pebbles' });
* // => 'hello pebbles'
*
* // using the internal `print` function in "evaluate" delimiters
* var compiled = _.template('<% print("hello " + name); %>!');
* compiled({ 'name': 'barney' });
* // => 'hello barney!'
*
* // using a custom template delimiters
* // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
* var compiled = _.template('hello ${ name }');
* compiled({ 'name': 'pebbles' });
* // => 'hello pebbles'
*
* // using custom template delimiters
* _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
* var compiled = _.template('hello {{ name }}!');
* compiled({ 'name': 'mustache' });
* // => 'hello mustache!'
*
* // using backslashes to treat delimiters as plain text
* var compiled = _.template('<%= "\\<%- value %\\>" %>');
* compiled({ 'value': 'ignored' });
* // => '<%- value %>'
*
* // using the `imports` option to import `jQuery` as `jq`
* var text = '<% jq.each(people, function(name) { %><li><%- name %></li><% }); %>';
* var compiled = _.template(text, { 'imports': { 'jq': jQuery } });
@@ -5189,11 +5231,10 @@
* // => 'fred, barney & pebbles'
*/
function unescape(string) {
if (string == null) {
return '';
}
string = String(string);
return string.indexOf(';') < 0 ? string : string.replace(reEscapedHtml, unescapeHtmlChar);
string = string == null ? '' : String(string);
return (reEscapedHtml.lastIndex = 0, reEscapedHtml.test(string))
? string.replace(reEscapedHtml, unescapeHtmlChar)
: string;
}
/*--------------------------------------------------------------------------*/
@@ -5226,51 +5267,6 @@
}
}
/**
* Creates a function bound to an optional `thisArg`. If `func` is a property
* name the created callback returns the property value for a given element.
* If `func` is an object the created callback returns `true` for elements
* that contain the equivalent object properties, otherwise it returns `false`.
*
* @static
* @memberOf _
* @category Utility
* @param {*} [func=identity] The value to convert to a callback.
* @param {*} [thisArg] The `this` binding of the created callback.
* @param {number} [argCount] The number of arguments the callback accepts.
* @returns {Function} Returns the new function.
* @example
*
* var characters = [
* { 'name': 'barney', 'age': 36 },
* { 'name': 'fred', 'age': 40 }
* ];
*
* // wrap to create custom callback shorthands
* _.callback = _.wrap(_.callback, function(func, callback, thisArg) {
* var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
* return !match ? func(callback, thisArg) : function(object) {
* return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
* };
* });
*
* _.filter(characters, 'age__gt38');
* // => [{ 'name': 'fred', 'age': 40 }]
*/
function callback(func, thisArg, argCount) {
var type = typeof func,
isFunc = type == 'function';
if (isFunc && typeof thisArg == 'undefined') {
return func;
}
if (isFunc || func == null) {
return baseCallback(func, thisArg, argCount);
}
// handle "_.pluck" and "_.where" style callback shorthands
return type == 'object' ? matches(func) : property(func);
}
/**
* Creates a function that returns `value`.
*

View File

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