Allow _.sortedIndex to accept a string value.

Former-commit-id: 7ac17a6bb620ad16ecce17718a8110d422d49118
This commit is contained in:
John-David Dalton
2012-09-26 22:30:15 -07:00
parent 426ca78bf7
commit 09d5222b1f
4 changed files with 76 additions and 63 deletions

View File

@@ -1408,7 +1408,7 @@
dependencyMap = dependencyBackup;
// output debug build
if (!isMinify && (isCustom || isTemplate || isDebug)) {
if (!isMinify && (isCustom || isDebug || isTemplate)) {
if (isDebug && isStdOut) {
stdout.write(debugSource);
callback(debugSource);

View File

@@ -9,7 +9,7 @@
var compiledVars = [
'argsIndex',
'argsLength',
'bindIterator',
'bindCallback',
'callback',
'collection',
'concat',
@@ -64,13 +64,13 @@
'pass',
'properties',
'property',
'propertyCallback',
'propsLength',
'source',
'stackA',
'stackB',
'stackLength',
'target',
'valueProp'
'target'
];
/** Used to minify `compileIterator` option properties */

View File

@@ -467,7 +467,7 @@
' callback = identity\n' +
'}\n' +
'else if (thisArg !== undefined) {\n' +
' callback = bindIterator(callback, thisArg)\n' +
' callback = bindCallback(callback, thisArg)\n' +
'}',
'inLoop': 'if (callback(value, index, collection) === false) return result'
};
@@ -476,16 +476,13 @@
var countByIteratorOptions = {
'init': '{}',
'top':
'var prop;\n' +
'if (typeof callback != \'function\') {\n' +
' var valueProp = callback;\n' +
' callback = function(value) { return value[valueProp] }\n' +
'}\n' +
'else if (thisArg !== undefined) {\n' +
' callback = bindIterator(callback, thisArg)\n' +
' callback = propertyCallback(callback)\n' +
'} else if (thisArg !== undefined) {\n' +
' callback = bindCallback(callback, thisArg)\n' +
'}',
'inLoop':
'prop = callback(value, index, collection);\n' +
'var prop = callback(value, index, collection);\n' +
'(hasOwnProperty.call(result, prop) ? result[prop]++ : result[prop] = 1)'
};
@@ -516,7 +513,7 @@
/** Reusable iterator options for `find`, `forEach`, `forIn`, and `forOwn` */
var forEachIteratorOptions = {
'top': 'if (thisArg !== undefined) callback = bindIterator(callback, thisArg)'
'top': 'if (thisArg !== undefined) callback = bindCallback(callback, thisArg)'
};
/** Reusable iterator options for `forIn` and `forOwn` */
@@ -550,7 +547,7 @@
'if (!isFunc) {\n' +
' var props = concat.apply(ArrayProto, arguments)\n' +
'} else if (thisArg !== undefined) {\n' +
' callback = bindIterator(callback, thisArg)\n' +
' callback = bindCallback(callback, thisArg)\n' +
'}',
'inLoop':
'if (isFunc\n' +
@@ -570,7 +567,7 @@
* @param {Mixed} [thisArg] The `this` binding of `func`.
* @returns {Function} Returns the new bound function.
*/
function bindIterator(func, thisArg) {
function bindCallback(func, thisArg) {
return function(value, index, object) {
return func.call(thisArg, value, index, object);
};
@@ -789,19 +786,19 @@
}
// create the function factory
var factory = Function(
'arrayLikeClasses, ArrayProto, bind, bindIterator, compareAscending, concat, ' +
'arrayLikeClasses, ArrayProto, bind, bindCallback, compareAscending, concat, ' +
'forIn, hasOwnProperty, identity, indexOf, isArguments, isArray, isFunction, ' +
'isPlainObject, noop, objectClass, objectTypes, nativeKeys, propertyIsEnumerable, ' +
'slice, stringClass, toString, undefined',
'propertyCallback, slice, stringClass, toString, undefined',
'var callee = function(' + args + ') {\n' + iteratorTemplate(data) + '\n};\n' +
'return callee'
);
// return the compiled function
return factory(
arrayLikeClasses, ArrayProto, bind, bindIterator, compareAscending, concat,
arrayLikeClasses, ArrayProto, bind, bindCallback, compareAscending, concat,
forIn, hasOwnProperty, identity, indexOf, isArguments, isArray, isFunction,
isPlainObject, noop, objectClass, objectTypes, nativeKeys, propertyIsEnumerable,
slice, stringClass, toString
propertyCallback, slice, stringClass, toString
);
}
@@ -837,6 +834,19 @@
// no operation performed
}
/**
* Creates a function that returns the `property` value of the given `object`.
*
* @private
* @param {String} property The property to get the value of.
* @returns {Function} Returns the new function.
*/
function propertyCallback(property) {
return function(object) {
return object[property];
};
}
/**
* Used by `unescape` to convert HTML entities to characters.
*
@@ -1878,7 +1888,7 @@
' if (prop in object) result[prop] = object[prop]\n' +
' }\n' +
'} else {\n' +
' if (thisArg !== undefined) callback = bindIterator(callback, thisArg)',
' if (thisArg !== undefined) callback = bindCallback(callback, thisArg)',
'inLoop':
'if (callback(value, index, object)) result[index] = value',
'bottom': '}'
@@ -2083,7 +2093,7 @@
*/
var groupBy = createIterator(baseIteratorOptions, countByIteratorOptions, {
'inLoop':
'prop = callback(value, index, collection);\n' +
'var prop = callback(value, index, collection);\n' +
'(hasOwnProperty.call(result, prop) ? result[prop] : result[prop] = []).push(value)'
});
@@ -2200,7 +2210,7 @@
'init': 'accumulator',
'top':
'var noaccum = arguments.length < 3;\n' +
'if (thisArg !== undefined) callback = bindIterator(callback, thisArg)',
'if (thisArg !== undefined) callback = bindCallback(callback, thisArg)',
'beforeLoop': {
'array': 'if (noaccum) result = iteratee[++index]'
},
@@ -2784,7 +2794,7 @@
return result;
}
if (thisArg !== undefined) {
callback = bindIterator(callback, thisArg);
callback = bindCallback(callback, thisArg);
}
while (++index < length) {
current = callback(array[index], index, array);
@@ -2834,7 +2844,7 @@
return result;
}
if (thisArg !== undefined) {
callback = bindIterator(callback, thisArg);
callback = bindCallback(callback, thisArg);
}
while (++index < length) {
current = callback(array[index], index, array);
@@ -3031,7 +3041,9 @@
high = array.length;
if (callback) {
if (thisArg !== undefined) {
if (typeof callback != 'function') {
callback = propertyCallback(callback);
} else if (thisArg !== undefined) {
callback = bind(callback, thisArg);
}
value = callback(value);
@@ -3126,7 +3138,7 @@
if (!callback) {
callback = identity;
} else if (thisArg !== undefined) {
callback = bindIterator(callback, thisArg);
callback = bindCallback(callback, thisArg);
}
while (++index < length) {
computed = callback(array[index], index, array);
@@ -3764,7 +3776,7 @@
* @memberOf _
* @category Utilities
* @param {Object} object The object to inspect.
* @param {String} property The property to get the result of.
* @param {String} property The property to get the value of.
* @returns {Mixed} Returns the resolved value.
* @example
*

73
lodash.min.js vendored
View File

@@ -2,39 +2,40 @@
Lo-Dash 0.7.0 lodash.com/license
Underscore.js 1.3.3 github.com/documentcloud/underscore/blob/master/LICENSE
*/
;(function(e,t){function s(e){return new o(e)}function o(e){if(e&&e.__wrapped__)return e;this.__wrapped__=e}function u(e,t){return function(n,r,i){return e.call(t,n,r,i)}}function a(e,t,n){t||(t=0);var r=e.length,i=r-t>=(n||B),s=i?{}:e;if(i)for(var o=t-1;++o<r;)n=e[o]+"",(G.call(s,n)?s[n]:s[n]=[]).push(e[o]);return function(e){if(i){var n=e+"";return G.call(s,n)&&-1<T(s[n],e)}return-1<T(s,e,t)}}function f(e,n){var r=e.b,i=n.b,e=e.a,n=n.a;if(e!==n){if(e>n||e===t)return 1;if(e<n||n===t)return-1}return r<
i?-1:1}function l(e,t,n){function r(){var u=arguments,a=s?this:t;return i||(e=t[o]),n.length&&(u=u.length?n.concat(et.call(u)):n),this instanceof r?(d.prototype=e.prototype,a=new d,(u=e.apply(a,u))&&Bt[typeof u]?u:a):e.apply(a,u)}var i=g(e),s=!n,o=e;return s&&(n=t),r}function c(){for(var e,t,n,s=-1,o=arguments.length,a={e:"",f:"",j:"",q:"",c:{d:""},m:{d:""}};++s<o;)for(t in e=arguments[s],e)n=(n=e[t])==r?"":n,/d|i/.test(t)?("string"==typeof n&&(n={b:n,l:n}),a.c[t]=n.b||"",a.m[t]=n.l||""):a[t]=n;e=
a.a,t=/^[^,]+/.exec(e)[0],n=a.s,a.g=t,a.h=wt,a.k=Ot,a.n=xt,a.p=K,a.r=a.r!==i,a.s=n==r?Mt:n,a.o==r&&(a.o=Ct),a.f||(a.f="if(!"+t+")return u");if("e"!=t||!a.c.i)a.c=r;t="",a.s&&(t+="'use strict';"),t+="var j,B,k="+a.g+",u",a.j&&(t+="="+a.j),t+=";"+a.f+";"+a.q+";",a.c&&(t+="var l=k.length;j=-1;",a.m&&(t+="if(l===+l){"),a.o&&(t+="if(z.call(k)==x){k=k.split('')}"),t+=a.c.d+";while(++j<l){B=k[j];"+a.c.i+"}",a.m&&(t+="}"));if(a.m){a.c?t+="else{":a.n&&(t+="var l=k.length;j=-1;if(l&&P(k)){while(++j<l){B=k[j+=''];"+
a.m.i+"}}else{"),a.h||(t+="var v=typeof k=='function'&&r.call(k,'prototype');");if(a.k&&a.r)t+="var o=-1,p=Z[typeof k]?m(k):[],l=p.length;"+a.m.d+";while(++o<l){j=p[o];",a.h||(t+="if(!(v&&j=='prototype')){"),t+="B=k[j];"+a.m.i+"",a.h||(t+="}");else{t+=a.m.d+";for(j in k){";if(!a.h||a.r)t+="if(",a.h||(t+="!(v&&j=='prototype')"),!a.h&&a.r&&(t+="&&"),a.r&&(t+="h.call(k,j)"),t+="){";t+="B=k[j];"+a.m.i+";";if(!a.h||a.r)t+="}"}t+="}";if(a.h){t+="var g=k.constructor;";for(n=0;7>n;n++)t+="j='"+a.p[n]+"';if("
,"constructor"==a.p[n]&&(t+="!(g&&g.prototype===k)&&"),t+="h.call(k,j)){B=k[j];"+a.m.i+"}"}if(a.c||a.n)t+="}"}return t+=a.e+";return u",Function("E,F,G,c,J,f,K,h,i,N,P,R,T,U,X,Y,Z,m,r,w,x,z,A","var H=function("+e+"){"+t+"};return H")(_t,D,A,u,f,Q,Yt,G,O,T,m,$t,g,Jt,d,vt,Bt,ot,Z,et,gt,tt)}function h(e){return"\\"+jt[e]}function p(e){return Pt[e]}function d(){}function v(e){return Ht[e]}function m(e){return tt.call(e)==lt}function g(e){return"function"==typeof e}function y(e){var t=i;if(!e||"object"!=typeof
e||m(e))return t;var n=e.constructor;return(!kt||"function"==typeof e.toString||"string"!=typeof (e+""))&&(!g(n)||n instanceof n)?St?(Yt(e,function(e,n,r){return t=!G.call(r,n),i}),t===i):(Yt(e,function(e,n){t=n}),t===i||G.call(e,t)):t}function b(e,t,s,o,u){if(e==r)return e;s&&(t=i);if(s=Bt[typeof e]){var a=tt.call(e);if(!Dt[a]||Tt&&m(e))return e;var f=a==ct,s=f||(a==vt?Jt(e):s)}if(!s||!t)return s?f?et.call(e):Gt({},e):e;s=e.constructor;switch(a){case ht:return new s(e==n);case pt:return new s(+e
);case dt:case gt:return new s(e);case mt:return s(e.source,z.exec(e))}o||(o=[]),u||(u=[]);for(a=o.length;a--;)if(o[a]==e)return u[a];var l=f?s(a=e.length):{};o.push(e),u.push(l);if(f)for(f=-1;++f<a;)l[f]=b(e[f],t,r,o,u);else Zt(e,function(e,n){l[n]=b(e,t,r,o,u)});return l}function w(e,t,s,o){if(e==r||t==r)return e===t;if(e===t)return 0!==e||1/e==1/t;if(Bt[typeof e]||Bt[typeof t])e=e.__wrapped__||e,t=t.__wrapped__||t;var u=tt.call(e);if(u!=tt.call(t))return i;switch(u){case ht:case pt:return+e==+
t;case dt:return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case mt:case gt:return e==t+""}var a=_t[u];if(Tt&&!a&&(a=m(e))&&!m(t)||!a&&(u!=vt||kt&&("function"!=typeof e.toString&&"string"==typeof (e+"")||"function"!=typeof t.toString&&"string"==typeof (t+""))))return i;s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(s[u]==e)return o[u]==t;var u=-1,f=n,l=0;s.push(e),o.push(t);if(a){l=e.length;if(f=l==t.length)for(;l--&&(f=w(e[l],t[l],s,o)););return f}a=e.constructor,f=t.constructor;if(a!=f&&(!g(a)||!(a instanceof
a&&g(f)&&f instanceof f)))return i;for(var c in e)if(G.call(e,c)&&(l++,!G.call(t,c)||!w(e[c],t[c],s,o)))return i;for(c in t)if(G.call(t,c)&&!(l--))return i;if(wt)for(;7>++u;)if(c=K[u],G.call(e,c)&&(!G.call(t,c)||!w(e[c],t[c],s,o)))return i;return n}function E(e,t,n,r){if(!e)return n;var s=e,o=e.length,u=3>arguments.length;if(o!==+o)var a=rn(e),o=a.length;else Ct&&tt.call(e)==gt&&(s=e.split(""));return vn(e,function(e,f,l){f=a?a[--o]:--o,n=u?(u=i,s[f]):t.call(r,n,s[f],f,l)}),n}function S(e,t,n){if(
e)return t==r||n?e[0]:et.call(e,0,t)}function x(e,t){var n=[];if(!e)return n;for(var r,i=-1,s=e.length;++i<s;)r=e[i],$t(r)?Y.apply(n,t?r:x(r)):n.push(r);return n}function T(e,t,n){if(!e)return-1;var r=-1,i=e.length;if(n){if("number"!=typeof n)return r=k(e,t),e[r]===t?r:-1;r=(0>n?ut(0,i+n):n)-1}for(;++r<i;)if(e[r]===t)return r;return-1}function N(e,n,r){var i=-Infinity,s=i;if(!e)return s;var o=-1,a=e.length;if(!n){for(;++o<a;)e[o]>s&&(s=e[o]);return s}for(r!==t&&(n=u(n,r));++o<a;)r=n(e[o],o,e),r>i&&
(i=r,s=e[o]);return s}function C(e,t,n){return e?et.call(e,t==r||n?1:t):[]}function k(e,n,r,i){if(!e)return 0;var s=0,o=e.length;if(r){i!==t&&(r=A(r,i));for(n=r(n);s<o;)i=s+o>>>1,r(e[i])<n?s=i+1:o=i}else for(;s<o;)i=s+o>>>1,e[i]<n?s=i+1:o=i;return s}function L(e,n,r,s){var o=[];if(!e)return o;var a=-1,f=e.length,l=[];"function"==typeof n&&(s=r,r=n,n=i);for(r?s!==t&&(r=u(r,s)):r=O;++a<f;)if(s=r(e[a],a,e),n?!a||l[l.length-1]!==s:0>T(l,s))l.push(s),o.push(e[a]);return o}function A(e,t){return At||nt&&2<
arguments.length?nt.call.apply(nt,arguments):l(e,t,et.call(arguments,2))}function O(e){return e}function M(e){vn(en(e),function(t){var r=s[t]=e[t];o.prototype[t]=function(){var e=[this.__wrapped__];return arguments.length&&Y.apply(e,arguments),e=r.apply(s,e),this.__chain__&&(e=new o(e),e.__chain__=n),e}})}var n=!0,r=null,i=!1,_="object"==typeof exports&&exports&&("object"==typeof global&&global&&global==global.global&&(e=global),exports),D=Array.prototype,P=Object.prototype,H=0,B=30,j=e._,F=/[-?+=!~*%&^<>|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/
,I=/&(?:amp|lt|gt|quot|#x27);/g,q=/\b__p\+='';/g,R=/\b(__p\+=)''\+/g,U=/(__e\(.*?\)|\b__t\))\+'';/g,z=/\w*$/,W=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,X=RegExp("^"+(P.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),V=/($^)/,$=/[&<>"']/g,J=/['\n\r\t\u2028\u2029\\]/g,K="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Q=D.concat,G=P.hasOwnProperty,Y=D.push,Z=P.propertyIsEnumerable,et=D.slice,tt=
P.toString,nt=X.test(nt=et.bind)&&nt,rt=Math.floor,it=X.test(it=Array.isArray)&&it,st=e.isFinite,ot=X.test(ot=Object.keys)&&ot,ut=Math.max,at=Math.min,ft=Math.random,lt="[object Arguments]",ct="[object Array]",ht="[object Boolean]",pt="[object Date]",dt="[object Number]",vt="[object Object]",mt="[object RegExp]",gt="[object String]",yt=e.clearTimeout,bt=e.setTimeout,wt,Et,St,xt=n;(function(){function e(){this.x=1}var t={0:1,length:1},n=[];e.prototype={valueOf:1,y:1};for(var r in new e)n.push(r);for(r in
arguments)xt=!r;wt=4>(n+"").length,St="x"!=n[0],Et=(n.splice.call(t,0,1),t[0])})(1);var Tt=!m(arguments),Nt="x"!=et.call("x")[0],Ct="xx"!="x"[0]+Object("x")[0];try{var kt=("[object Object]",tt.call(e.document||0)==vt)}catch(Lt){}var At=nt&&/\n|Opera/.test(nt+tt.call(e.opera)),Ot=ot&&/^.+$|true/.test(ot+!!e.attachEvent),Mt=!At,_t={};_t[ht]=_t[pt]=_t["[object Function]"]=_t[dt]=_t[vt]=_t[mt]=i,_t[lt]=_t[ct]=_t[gt]=n;var Dt={};Dt[lt]=Dt["[object Function]"]=i,Dt[ct]=Dt[ht]=Dt[pt]=Dt[dt]=Dt[vt]=Dt[mt
]=Dt[gt]=n;var Pt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Ht={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'"},Bt={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i,unknown:n},jt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};s.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var Ft={a:"e,d,y",j:"e",q:"if(!d)d=i;else if(y!==A)d=c(d,y)",i:"if(d(B,j,e)===false)return u"
},It={j:"{}",q:"var q;if(typeof d!='function'){var jj=d;d=function(B){return B[jj]}}else if(y!==A)d=c(d,y)",i:"q=d(B,j,e);(h.call(u,q)?u[q]++:u[q]=1)"},qt={j:"true",i:"if(!d(B,j,e))return!u"},Rt={r:i,s:i,a:"n",j:"n",q:"for(var a=1,b=arguments.length;a<b;a++){if(k=arguments[a]){",i:"u[j]=B",e:"}}"},Ut={j:"[]",i:"d(B,j,e)&&u.push(B)"},zt={q:"if(y!==A)d=c(d,y)"},Wt={i:{l:Ft.i}},Xt={j:"",f:"if(!e)return[]",d:{b:"u=Array(l)",l:"u="+(Ot?"Array(l)":"[]")},i:{b:"u[j]=d(B,j,e)",l:"u"+(Ot?"[o]=":".push")+"(d(B,j,e))"
}},Vt={r:i,a:"n,d,y",j:"{}",q:"var S=typeof d=='function';if(!S){var t=f.apply(F,arguments)}else if(y!==A)d=c(d,y)",i:"if(S?!d(B,j,n):N(t,j)<0)u[j]=B"};Tt&&(m=function(e){return!!e&&!!G.call(e,"callee")});var $t=it||function(e){return tt.call(e)==ct};g(/x/)&&(g=function(e){return"[object Function]"==tt.call(e)});var Jt=Bt.__proto__!=P?y:function(e){if(!e)return i;var t=e.valueOf,n="function"==typeof t&&(n=t.__proto__)&&n.__proto__;return n?e==n||e.__proto__==n&&!m(e):y(e)},Kt=c({a:"n",j:"[]",i:"u.push(j)"
}),Qt=c(Rt,{i:"if(u[j]==null)"+Rt.i}),Gt=c(Rt),Yt=c(Ft,zt,Wt,{r:i}),Zt=c(Ft,zt,Wt),en=c({r:i,a:"n",j:"[]",i:"if(T(B))u.push(j)",e:"u.sort()"}),tn=c({a:"n",j:"{}",i:"u[B]=j"}),nn=c({a:"B",j:"true",q:"var I=z.call(B),l=B.length;if(E[I]"+(Tt?"||P(B)":"")+"||(I==Y&&l===+l&&T(B.splice)))return!l",i:{l:"return false"}}),rn=ot?function(e){var t=typeof e;return"function"==t&&Z.call(e,"prototype")?Kt(e):e&&Bt[t]?ot(e):[]}:Kt,sn=c(Rt,{a:"n,ee,O",q:"var b,Q,ff,gg,D=arguments,a=0;if(O==X){b=2;ff=D[3];gg=D[4]}else{b=D.length;ff=[];gg=[]}while(++a<b){if(k=D[a]){"
,i:"if((ee=B)&&((Q=R(ee))||U(ee))){var L=false,hh=ff.length;while(hh--)if(L=ff[hh]==ee)break;if(L){u[j]=gg[hh]}else{ff.push(ee);gg.push(B=(B=u[j])&&Q?(R(B)?B:[]):(U(B)?B:{}));u[j]=H(B,ee,X,ff,gg)}}else if(ee!=null)u[j]=ee"}),on=c(Vt),un=c({a:"n",j:"[]",i:"u"+(Ot?"[o]=":".push")+"([j,B])"}),an=c(Vt,{q:"if(typeof d!='function'){var q,t=f.apply(F,arguments),l=t.length;for(j=1;j<l;j++){q=t[j];if(q in n)u[q]=n[q]}}else{if(y!==A)d=c(d,y)",i:"if(d(B,j,n))u[j]=B",e:"}"}),fn=c({a:"n",j:"[]",i:"u.push(B)"}
),ln=c({a:"e,ii",j:"false",o:i,d:{b:"if(z.call(e)==x)return e.indexOf(ii)>-1"},i:"if(B===ii)return true"}),cn=c(Ft,It),hn=c(Ft,qt),pn=c(Ft,Ut),dn=c(Ft,zt,{j:"",i:"if(d(B,j,e))return B"}),vn=c(Ft,zt),mn=c(Ft,It,{i:"q=d(B,j,e);(h.call(u,q)?u[q]:u[q]=[]).push(B)"}),gn=c(Xt,{a:"e,V",q:"var D=w.call(arguments,2),S=typeof V=='function'",i:{b:"u[j]=(S?V:B[V]).apply(B,D)",l:"u"+(Ot?"[o]=":".push")+"((S?V:B[V]).apply(B,D))"}}),yn=c(Ft,Xt),bn=c(Xt,{a:"e,cc",i:{b:"u[j]=B[cc]",l:"u"+(Ot?"[o]=":".push")+"(B[cc])"
}}),wn=c({a:"e,d,C,y",j:"C",q:"var W=arguments.length<3;if(y!==A)d=c(d,y)",d:{b:"if(W)u=k[++j]"},i:{b:"u=d(u,B,j,e)",l:"u=W?(W=false,B):d(u,B,j,e)"}}),En=c(Ft,Ut,{i:"!"+Ut.i}),Sn=c(Ft,qt,{j:"false",i:qt.i.replace("!","")}),xn=c(Ft,It,Xt,{i:{b:"u[j]={a:d(B,j,e),b:j,c:B}",l:"u"+(Ot?"[o]=":".push")+"({a:d(B,j,e),b:j,c:B})"},e:"u.sort(J);l=u.length;while(l--)u[l]=u[l].c"}),Tn=c(Ut,{a:"e,bb",q:"var t=[];K(bb,function(B,q){t.push(q)});var dd=t.length",i:"for(var q,aa=true,s=0;s<dd;s++){q=t[s];if(!(aa=B[q]===bb[q]))break}aa&&u.push(B)"
}),Nn=c({r:i,s:i,a:"n",j:"n",q:"var M=arguments,l=M.length;if(l>1){for(var j=1;j<l;j++)u[M[j]]=G(u[M[j]],u);return u}",i:"if(T(u[j]))u[j]=G(u[j],u)"});s.VERSION="0.7.0",s.after=function(e,t){return 1>e?t():function(){if(1>--e)return t.apply(this,arguments)}},s.bind=A,s.bindAll=Nn,s.chain=function(e){return e=new o(e),e.__chain__=n,e},s.clone=b,s.compact=function(e){var t=[];if(!e)return t;for(var n=-1,r=e.length;++n<r;)e[n]&&t.push(e[n]);return t},s.compose=function(){var e=arguments;return function(
){for(var t=arguments,n=e.length;n--;)t=[e[n].apply(this,t)];return t[0]}},s.contains=ln,s.countBy=cn,s.debounce=function(e,t,n){function i(){a=r,n||(o=e.apply(u,s))}var s,o,u,a;return function(){var r=n&&!a;return s=arguments,u=this,yt(a),a=bt(i,t),r&&(o=e.apply(u,s)),o}},s.defaults=Qt,s.defer=function(e){var n=et.call(arguments,1);return bt(function(){return e.apply(t,n)},1)},s.delay=function(e,n){var r=et.call(arguments,2);return bt(function(){return e.apply(t,r)},n)},s.difference=function(e){
var t=[];if(!e)return t;for(var n=-1,r=e.length,i=Q.apply(D,arguments),i=a(i,r);++n<r;)i(e[n])||t.push(e[n]);return t},s.escape=function(e){return e==r?"":(e+"").replace($,p)},s.every=hn,s.extend=Gt,s.filter=pn,s.find=dn,s.first=S,s.flatten=x,s.forEach=vn,s.forIn=Yt,s.forOwn=Zt,s.functions=en,s.groupBy=mn,s.has=function(e,t){return e?G.call(e,t):i},s.identity=O,s.indexOf=T,s.initial=function(e,t,n){return e?et.call(e,0,-(t==r||n?1:t)):[]},s.intersection=function(e){var t=[];if(!e)return t;var n,r=
arguments.length,i=[],s=-1,o=e.length;e:for(;++s<o;)if(n=e[s],0>T(t,n)){for(var u=1;u<r;u++)if(!(i[u]||(i[u]=a(arguments[u])))(n))continue e;t.push(n)}return t},s.invert=tn,s.invoke=gn,s.isArguments=m,s.isArray=$t,s.isBoolean=function(e){return e===n||e===i||tt.call(e)==ht},s.isDate=function(e){return tt.call(e)==pt},s.isElement=function(e){return e?1===e.nodeType:i},s.isEmpty=nn,s.isEqual=w,s.isFinite=function(e){return st(e)&&tt.call(e)==dt},s.isFunction=g,s.isNaN=function(e){return tt.call(e)==
dt&&e!=+e},s.isNull=function(e){return e===r},s.isNumber=function(e){return tt.call(e)==dt},s.isObject=function(e){return e?Bt[typeof e]:i},s.isPlainObject=Jt,s.isRegExp=function(e){return tt.call(e)==mt},s.isString=function(e){return tt.call(e)==gt},s.isUndefined=function(e){return e===t},s.keys=rn,s.last=function(e,t,n){if(e){var i=e.length;return t==r||n?e[i-1]:et.call(e,-t||i)}},s.lastIndexOf=function(e,t,n){if(!e)return-1;var r=e.length;for(n&&"number"==typeof n&&(r=(0>n?ut(0,r+n):at(n,r-1))+1
);r--;)if(e[r]===t)return r;return-1},s.lateBind=function(e,t){return l(t,e,et.call(arguments,2))},s.map=yn,s.max=N,s.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return G.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},s.merge=sn,s.min=function(e,n,r){var i=Infinity,s=i;if(!e)return s;var o=-1,a=e.length;if(!n){for(;++o<a;)e[o]<s&&(s=e[o]);return s}for(r!==t&&(n=u(n,r));++o<a;)r=n(e[o],o,e),r<i&&(i=r,s=e[o]);return s},s.mixin=M,s.noConflict=function(
){return e._=j,this},s.object=function(e,t){if(!e)return{};for(var n=-1,r=e.length,i={};++n<r;)t?i[e[n]]=t[n]:i[e[n][0]]=e[n][1];return i},s.omit=on,s.once=function(e){var t,s=i;return function(){return s?t:(s=n,t=e.apply(this,arguments),e=r,t)}},s.pairs=un,s.partial=function(e){return l(e,et.call(arguments,1))},s.pick=an,s.pluck=bn,s.random=function(e,t){return e==r&&t==r&&(t=1),e=+e||0,t==r&&(t=e,e=0),e+rt(ft()*((+t||0)-e+1))},s.range=function(e,t,n){e=+e||0,n=+n||1,t==r&&(t=e,e=0);for(var i=-1
,t=ut(0,Math.ceil((t-e)/n)),s=Array(t);++i<t;)s[i]=e,e+=n;return s},s.reduce=wn,s.reduceRight=E,s.reject=En,s.rest=C,s.result=function(e,t){if(!e)return r;var n=e[t];return g(n)?e[t]():n},s.shuffle=function(e){if(!e)return[];for(var t,n=-1,r=e.length,i=Array(r);++n<r;)t=rt(ft()*(n+1)),i[n]=i[t],i[t]=e[n];return i},s.size=function(e){if(!e)return 0;var t=e.length;return t===+t?t:rn(e).length},s.some=Sn,s.sortBy=xn,s.sortedIndex=k,s.tap=function(e,t){return t(e),e},s.template=function(e,t,n){n||(n=
{});var e=e+"",r,i,o=0,u=s.templateSettings,a="__p += '",f=n.variable||u.variable,l=f;e.replace(RegExp((n.escape||u.escape||V).source+"|"+(n.interpolate||u.interpolate||V).source+"|"+(n.evaluate||u.evaluate||V).source+"|$","g"),function(t,n,i,s,u){a+=e.slice(o,u).replace(J,h),a+=n?"'+__e("+n+")+'":s?"';"+s+";__p+='":i?"'+((__t=("+i+"))==null?'':__t)+'":"",r||(r=s||F.test(n||i)),o=u+t.length}),a+="';",l||(f="obj",r?a="with("+f+"){"+a+"}":(n=RegExp("(\\(\\s*)"+f+"\\."+f+"\\b","g"),a=a.replace(W,"$&"+
f+".").replace(n,"$1__d"))),a=(r?a.replace(q,""):a).replace(R,"$1").replace(U,"$1;"),a="function("+f+"){"+(l?"":f+"||("+f+"={});")+"var __t,__p='',__e=_.escape"+(r?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":(l?"":",__d="+f+"."+f+"||"+f)+";")+a+"return __p}";try{i=Function("_","return "+a)(s)}catch(c){throw c.source=a,c}return t?i(t):(i.source=a,i)},s.throttle=function(e,t){function n(){a=new Date,u=r,s=e.apply(o,i)}var i,s,o,u,a=0;return function(){var r=new Date,f=
t-(r-a);return i=arguments,o=this,0>=f?(a=r,s=e.apply(o,i)):u||(u=bt(n,f)),s}},s.times=function(e,n,r){var e=+e||0,i=-1,s=Array(e);if(r!==t)for(;++i<e;)s[i]=n.call(r,i);else for(;++i<e;)s[i]=n(i);return s},s.toArray=function(e){if(!e)return[];var t=e.length;return t===+t?(Nt?tt.call(e)==gt:"string"==typeof e)?e.split(""):et.call(e):fn(e)},s.unescape=function(e){return e==r?"":(e+"").replace(I,v)},s.union=function(){for(var e=-1,t=Q.apply(D,arguments),n=t.length,r=[];++e<n;)0>T(r,t[e])&&r.push(t[e
]);return r},s.uniq=L,s.uniqueId=function(e){var t=H++;return e?e+t:t},s.values=fn,s.where=Tn,s.without=function(e){var t=[];if(!e)return t;for(var n=-1,r=e.length,i=a(arguments,1,20);++n<r;)i(e[n])||t.push(e[n]);return t},s.wrap=function(e,t){return function(){var n=[e];return arguments.length&&Y.apply(n,arguments),t.apply(this,n)}},s.zip=function(e){if(!e)return[];for(var t=-1,n=N(bn(arguments,"length")),r=Array(n);++t<n;)r[t]=bn(arguments,t);return r},s.all=hn,s.any=Sn,s.collect=yn,s.detect=dn
,s.drop=C,s.each=vn,s.foldl=wn,s.foldr=E,s.head=S,s.include=ln,s.inject=wn,s.methods=en,s.select=pn,s.tail=C,s.take=S,s.unique=L,o.prototype=s.prototype,M(s),o.prototype.chain=function(){return this.__chain__=n,this},o.prototype.value=function(){return this.__wrapped__},vn("pop push reverse shift sort splice unshift".split(" "),function(e){var t=D[e];o.prototype[e]=function(){var e=this.__wrapped__;return t.apply(e,arguments),Et&&e.length===0&&delete e[0],this.__chain__&&(e=new o(e),e.__chain__=n
),e}}),vn(["concat","join","slice"],function(e){var t=D[e];o.prototype[e]=function(){var e=t.apply(this.__wrapped__,arguments);return this.__chain__&&(e=new o(e),e.__chain__=n),e}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(e._=s,define(function(){return s})):_?"object"==typeof module&&module&&module.exports==_?(module.exports=s)._=s:_._=s:e._=s})(this);
;
(function(s,v){var j=!0,m=null,o=!1;function c(a){return new t(a)}function t(a){if(a&&a.__wrapped__)return a;this.__wrapped__=a}function N(a,b){return function(d,l,c){return a.call(b,d,l,c)}}function X(a,b,d){b||(b=0);var l=a.length,c=l-b>=(d||Za),e=c?{}:a;if(c)for(var i=b-1;++i<l;)d=a[i]+"",(q.call(e,d)?e[d]:e[d]=[]).push(a[i]);return function(a){if(c){var d=a+"";return q.call(e,d)&&-1<C(e[d],a)}return-1<C(e,a,b)}}function $a(a,b){var d=a.b,l=b.b,a=a.a,b=b.a;if(a!==b){if(a>b||a===v)return 1;if(a<b||b===v)return-1}return d<
l?-1:1}function Y(a,b,d){function l(){var h=arguments,p=e?this:b;c||(a=b[i]);d.length&&(h=h.length?d.concat(n.call(h)):d);return this instanceof l?(Z.prototype=a.prototype,p=new Z,(h=a.apply(p,h))&&z[typeof h]?h:p):a.apply(p,h)}var c=x(a),e=!d,i=a;e&&(d=b);return l}function g(){for(var a,b,d,l=-1,c=arguments.length,e={e:"",f:"",j:"",q:"",c:{d:""},m:{d:""}};++l<c;)for(b in a=arguments[l],a)d=(d=a[b])==m?"":d,/d|i/.test(b)?("string"==typeof d&&(d={b:d,l:d}),e.c[b]=d.b||"",e.m[b]=d.l||""):e[b]=d;a=e.a;
b=/^[^,]+/.exec(a)[0];d=e.s;e.g=b;e.h=$;e.k=D;e.n=va;e.p=wa;e.r=e.r!==o;e.s=d==m?ab:d;e.o==m&&(e.o=xa);e.f||(e.f="if(!"+b+")return u");if("e"!=b||!e.c.i)e.c=m;b="";e.s&&(b+="'use strict';");b+="var j,B,k="+e.g+",u";e.j&&(b+="="+e.j);b+=";"+e.f+";"+e.q+";";e.c&&(b+="var l=k.length;j=-1;",e.m&&(b+="if(l===+l){"),e.o&&(b+="if(z.call(k)==x){k=k.split('')}"),b+=e.c.d+";while(++j<l){B=k[j];"+e.c.i+"}",e.m&&(b+="}"));if(e.m){e.c?b+="else{":e.n&&(b+="var l=k.length;j=-1;if(l&&P(k)){while(++j<l){B=k[j+=''];"+
e.m.i+"}}else{");e.h||(b+="var v=typeof k=='function'&&r.call(k,'prototype');");if(e.k&&e.r)b+="var o=-1,p=Z[typeof k]?m(k):[],l=p.length;"+e.m.d+";while(++o<l){j=p[o];",e.h||(b+="if(!(v&&j=='prototype')){"),b+="B=k[j];"+e.m.i+"",e.h||(b+="}");else{b+=e.m.d+";for(j in k){";if(!e.h||e.r)b+="if(",e.h||(b+="!(v&&j=='prototype')"),!e.h&&e.r&&(b+="&&"),e.r&&(b+="h.call(k,j)"),b+="){";b+="B=k[j];"+e.m.i+";";if(!e.h||e.r)b+="}"}b+="}";if(e.h){b+="var g=k.constructor;";for(d=0;7>d;d++)b+="j='"+e.p[d]+"';if(",
"constructor"==e.p[d]&&(b+="!(g&&g.prototype===k)&&"),b+="h.call(k,j)){B=k[j];"+e.m.i+"}"}if(e.c||e.n)b+="}"}b+=e.e+";return u";return Function("E,F,G,c,J,f,K,h,i,N,P,R,T,U,X,Y,Z,m,r,dd,w,x,z,A","var H=function("+a+"){"+b+"};return H")(u,A,aa,N,$a,ba,O,q,ca,C,y,da,x,ea,Z,H,z,E,ya,za,n,B,k)}function bb(a){return"\\"+cb[a]}function db(a){return eb[a]}function Z(){}function za(a){return function(b){return b[a]}}function fb(a){return gb[a]}function y(a){return k.call(a)==fa}function x(a){return"function"==
typeof a}function Aa(a){var b=o;if(!(a&&"object"==typeof a)||y(a))return b;var d=a.constructor;if((!Ba||!("function"!=typeof a.toString&&"string"==typeof(a+"")))&&(!x(d)||d instanceof d)){if(Ca)return O(a,function(a,d,e){b=!q.call(e,d);return o}),b===o;O(a,function(a,d){b=d});return b===o||q.call(a,b)}return b}function ga(a,b,d,l,c){if(a==m)return a;d&&(b=o);if(d=z[typeof a]){var e=k.call(a);if(!w[e]||P&&y(a))return a;var i=e==Q,d=i||(e==H?ea(a):d)}if(!d||!b)return d?i?n.call(a):Da({},a):a;d=a.constructor;
switch(e){case J:return new d(a==j);case K:return new d(+a);case F:case B:return new d(a);case L:return d(a.source,hb.exec(a))}l||(l=[]);c||(c=[]);for(e=l.length;e--;)if(l[e]==a)return c[e];var h=i?d(e=a.length):{};l.push(a);c.push(h);if(i)for(i=-1;++i<e;)h[i]=ga(a[i],b,m,l,c);else Ea(a,function(a,d){h[d]=ga(a,b,m,l,c)});return h}function R(a,b,d,c){if(a==m||b==m)return a===b;if(a===b)return 0!==a||1/a==1/b;if(z[typeof a]||z[typeof b])a=a.__wrapped__||a,b=b.__wrapped__||b;var f=k.call(a);if(f!=k.call(b))return o;
switch(f){case J:case K:return+a==+b;case F:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case L:case B:return a==b+""}var e=u[f];if(P&&!e&&(e=y(a))&&!y(b)||!e&&(f!=H||Ba&&("function"!=typeof a.toString&&"string"==typeof(a+"")||"function"!=typeof b.toString&&"string"==typeof(b+""))))return o;d||(d=[]);c||(c=[]);for(f=d.length;f--;)if(d[f]==a)return c[f]==b;var f=-1,i=j,h=0;d.push(a);c.push(b);if(e){h=a.length;if(i=h==b.length)for(;h--&&(i=R(a[h],b[h],d,c)););return i}e=a.constructor;i=b.constructor;if(e!=
i&&(!x(e)||!(e instanceof e&&x(i)&&i instanceof i)))return o;for(var p in a)if(q.call(a,p)&&(h++,!q.call(b,p)||!R(a[p],b[p],d,c)))return o;for(p in b)if(q.call(b,p)&&!h--)return o;if($)for(;7>++f;)if(p=wa[f],q.call(a,p)&&(!q.call(b,p)||!R(a[p],b[p],d,c)))return o;return j}function Fa(a,b,d,c){if(!a)return d;var f=a,e=a.length,i=3>arguments.length;if(e!==+e)var h=ha(a),e=h.length;else xa&&k.call(a)==B&&(f=a.split(""));I(a,function(a,g,k){g=h?h[--e]:--e;d=i?(i=o,f[g]):b.call(c,d,f[g],g,k)});return d}
function ia(a,b,d){if(a)return b==m||d?a[0]:n.call(a,0,b)}function Ga(a,b){var d=[];if(!a)return d;for(var c,f=-1,e=a.length;++f<e;)c=a[f],da(c)?ja.apply(d,b?c:Ga(c)):d.push(c);return d}function C(a,b,d){if(!a)return-1;var c=-1,f=a.length;if(d)if("number"==typeof d)c=(0>d?ka(0,f+d):d)-1;else return c=Ha(a,b),a[c]===b?c:-1;for(;++c<f;)if(a[c]===b)return c;return-1}function Ia(a,b,d){var c=-Infinity,f=c;if(!a)return f;var e=-1,i=a.length;if(!b){for(;++e<i;)a[e]>f&&(f=a[e]);return f}for(d!==v&&(b=N(b,
d));++e<i;)d=b(a[e],e,a),d>c&&(c=d,f=a[e]);return f}function la(a,b,d){return!a?[]:n.call(a,b==m||d?1:b)}function Ha(a,b,d,c){if(!a)return 0;var f=0,e=a.length;if(d){"function"!=typeof d?d=za(b):c!==v&&(d=aa(d,c));for(b=d(b);f<e;)c=f+e>>>1,d(a[c])<b?f=c+1:e=c}else for(;f<e;)c=f+e>>>1,a[c]<b?f=c+1:e=c;return f}function Ja(a,b,d,c){var f=[];if(!a)return f;var e=-1,i=a.length,h=[];"function"==typeof b&&(c=d,d=b,b=o);for(d?c!==v&&(d=N(d,c)):d=ca;++e<i;)if(c=d(a[e],e,a),b?!e||h[h.length-1]!==c:0>C(h,c))h.push(c),
f.push(a[e]);return f}function aa(a,b){return Ka||G&&2<arguments.length?G.call.apply(G,arguments):Y(a,b,n.call(arguments,2))}function ca(a){return a}function La(a){I(ma(a),function(b){var d=c[b]=a[b];t.prototype[b]=function(){var a=[this.__wrapped__];arguments.length&&ja.apply(a,arguments);a=d.apply(c,a);this.__chain__&&(a=new t(a),a.__chain__=j);return a}})}var na="object"==typeof exports&&exports&&("object"==typeof global&&global&&global==global.global&&(s=global),exports),A=Array.prototype,M=Object.prototype,
ib=0,Za=30,jb=s._,kb=/[-?+=!~*%&^<>|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/,lb=/&(?:amp|lt|gt|quot|#x27);/g,mb=/\b__p\+='';/g,nb=/\b(__p\+=)''\+/g,ob=/(__e\(.*?\)|\b__t\))\+'';/g,hb=/\w*$/,pb=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,oa=RegExp("^"+(M.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),pa=/($^)/,qb=/[&<>"']/g,rb=/['\n\r\t\u2028\u2029\\]/g,wa="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),
ba=A.concat,q=M.hasOwnProperty,ja=A.push,ya=M.propertyIsEnumerable,n=A.slice,k=M.toString,G=oa.test(G=n.bind)&&G,Ma=Math.floor,qa=oa.test(qa=Array.isArray)&&qa,sb=s.isFinite,E=oa.test(E=Object.keys)&&E,ka=Math.max,tb=Math.min,Na=Math.random,fa="[object Arguments]",Q="[object Array]",J="[object Boolean]",K="[object Date]",F="[object Number]",H="[object Object]",L="[object RegExp]",B="[object String]",ub=s.clearTimeout,S=s.setTimeout,$,Oa,Ca,va=j;(function(){function a(){this.x=1}var b={"0":1,length:1},
d=[];a.prototype={valueOf:1,y:1};for(var c in new a)d.push(c);for(c in arguments)va=!c;$=4>(d+"").length;Ca="x"!=d[0];Oa=(d.splice.call(b,0,1),b[0])})(1);var P=!y(arguments),vb="x"!=n.call("x")[0],xa="xx"!="x"[0]+Object("x")[0];try{var Ba=("[object Object]",k.call(s.document||0)==H)}catch(Kb){}var Ka=G&&/\n|Opera/.test(G+k.call(s.opera)),D=E&&/^.+$|true/.test(E+!!s.attachEvent),ab=!Ka,u={};u[J]=u[K]=u["[object Function]"]=u[F]=u[H]=u[L]=o;u[fa]=u[Q]=u[B]=j;var w={};w[fa]=w["[object Function]"]=o;w[Q]=
w[J]=w[K]=w[F]=w[H]=w[L]=w[B]=j;var eb={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},gb={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'"},z={"boolean":o,"function":j,object:j,number:o,string:o,undefined:o,unknown:j},cb={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"};c.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var r={a:"e,d,y",j:"e",q:"if(!d)d=i;else if(y!==A)d=c(d,y)",
i:"if(d(B,j,e)===false)return u"},ra={j:"{}",q:"if(typeof d!='function'){d=dd(B,d)}else if(y!==A)d=c(d,y)",i:"var q=d(B,j,e);(h.call(u,q)?u[q]++:u[q]=1)"},sa={j:"true",i:"if(!d(B,j,e))return!u"},T={r:o,s:o,a:"n",j:"n",q:"for(var a=1,b=arguments.length;a<b;a++){if(k=arguments[a]){",i:"u[j]=B",e:"}}"},U={j:"[]",i:"d(B,j,e)&&u.push(B)"},V={q:"if(y!==A)d=c(d,y)"},Pa={i:{l:r.i}},W={j:"",f:"if(!e)return[]",d:{b:"u=Array(l)",l:"u="+(D?"Array(l)":"[]")},i:{b:"u[j]=d(B,j,e)",l:"u"+(D?"[o]=":".push")+"(d(B,j,e))"}},
Qa={r:o,a:"n,d,y",j:"{}",q:"var S=typeof d=='function';if(!S){var t=f.apply(F,arguments)}else if(y!==A)d=c(d,y)",i:"if(S?!d(B,j,n):N(t,j)<0)u[j]=B"};P&&(y=function(a){return!(!a||!q.call(a,"callee"))});var da=qa||function(a){return k.call(a)==Q};x(/x/)&&(x=function(a){return"[object Function]"==k.call(a)});var ea=z.__proto__!=M?Aa:function(a){if(!a)return o;var b=a.valueOf,d="function"==typeof b&&(d=b.__proto__)&&d.__proto__;return d?a==d||a.__proto__==d&&!y(a):Aa(a)},Ra=g({a:"n",j:"[]",i:"u.push(j)"}),
wb=g(T,{i:"if(u[j]==null)"+T.i}),Da=g(T),O=g(r,V,Pa,{r:o}),Ea=g(r,V,Pa),ma=g({r:o,a:"n",j:"[]",i:"if(T(B))u.push(j)",e:"u.sort()"}),xb=g({a:"n",j:"{}",i:"u[B]=j"}),yb=g({a:"B",j:"true",q:"var I=z.call(B),l=B.length;if(E[I]"+(P?"||P(B)":"")+"||(I==Y&&l===+l&&T(B.splice)))return!l",i:{l:"return false"}}),ha=!E?Ra:function(a){var b=typeof a;return"function"==b&&ya.call(a,"prototype")?Ra(a):a&&z[b]?E(a):[]},zb=g(T,{a:"n,ff,O",q:"var b,Q,gg,hh,D=arguments,a=0;if(O==X){b=2;gg=D[3];hh=D[4]}else{b=D.length;gg=[];hh=[]}while(++a<b){if(k=D[a]){",
i:"if((ff=B)&&((Q=R(ff))||U(ff))){var L=false,ii=gg.length;while(ii--)if(L=gg[ii]==ff)break;if(L){u[j]=hh[ii]}else{gg.push(ff);hh.push(B=(B=u[j])&&Q?(R(B)?B:[]):(U(B)?B:{}));u[j]=H(B,ff,X,gg,hh)}}else if(ff!=null)u[j]=ff"}),Ab=g(Qa),Bb=g({a:"n",j:"[]",i:"u"+(D?"[o]=":".push")+"([j,B])"}),Cb=g(Qa,{q:"if(typeof d!='function'){var q,t=f.apply(F,arguments),l=t.length;for(j=1;j<l;j++){q=t[j];if(q in n)u[q]=n[q]}}else{if(y!==A)d=c(d,y)",i:"if(d(B,j,n))u[j]=B",e:"}"}),Sa=g({a:"n",j:"[]",i:"u.push(B)"}),
Ta=g({a:"e,jj",j:"false",o:o,d:{b:"if(z.call(e)==x)return e.indexOf(jj)>-1"},i:"if(B===jj)return true"}),Db=g(r,ra),Ua=g(r,sa),Va=g(r,U),Wa=g(r,V,{j:"",i:"if(d(B,j,e))return B"}),I=g(r,V),Eb=g(r,ra,{i:"var q=d(B,j,e);(h.call(u,q)?u[q]:u[q]=[]).push(B)"}),Fb=g(W,{a:"e,V",q:"var D=w.call(arguments,2),S=typeof V=='function'",i:{b:"u[j]=(S?V:B[V]).apply(B,D)",l:"u"+(D?"[o]=":".push")+"((S?V:B[V]).apply(B,D))"}}),Xa=g(r,W),ta=g(W,{a:"e,cc",i:{b:"u[j]=B[cc]",l:"u"+(D?"[o]=":".push")+"(B[cc])"}}),ua=g({a:"e,d,C,y",
j:"C",q:"var W=arguments.length<3;if(y!==A)d=c(d,y)",d:{b:"if(W)u=k[++j]"},i:{b:"u=d(u,B,j,e)",l:"u=W?(W=false,B):d(u,B,j,e)"}}),Gb=g(r,U,{i:"!"+U.i}),Ya=g(r,sa,{j:"false",i:sa.i.replace("!","")}),Hb=g(r,ra,W,{i:{b:"u[j]={a:d(B,j,e),b:j,c:B}",l:"u"+(D?"[o]=":".push")+"({a:d(B,j,e),b:j,c:B})"},e:"u.sort(J);l=u.length;while(l--)u[l]=u[l].c"}),Ib=g(U,{a:"e,bb",q:"var t=[];K(bb,function(B,q){t.push(q)});var ee=t.length",i:"for(var q,aa=true,s=0;s<ee;s++){q=t[s];if(!(aa=B[q]===bb[q]))break}aa&&u.push(B)"}),
Jb=g({r:o,s:o,a:"n",j:"n",q:"var M=arguments,l=M.length;if(l>1){for(var j=1;j<l;j++)u[M[j]]=G(u[M[j]],u);return u}",i:"if(T(u[j]))u[j]=G(u[j],u)"});c.VERSION="0.7.0";c.after=function(a,b){return 1>a?b():function(){if(1>--a)return b.apply(this,arguments)}};c.bind=aa;c.bindAll=Jb;c.chain=function(a){a=new t(a);a.__chain__=j;return a};c.clone=ga;c.compact=function(a){var b=[];if(!a)return b;for(var d=-1,c=a.length;++d<c;)a[d]&&b.push(a[d]);return b};c.compose=function(){var a=arguments;return function(){for(var b=
arguments,d=a.length;d--;)b=[a[d].apply(this,b)];return b[0]}};c.contains=Ta;c.countBy=Db;c.debounce=function(a,b,d){function c(){h=m;d||(e=a.apply(i,f))}var f,e,i,h;return function(){var g=d&&!h;f=arguments;i=this;ub(h);h=S(c,b);g&&(e=a.apply(i,f));return e}};c.defaults=wb;c.defer=function(a){var b=n.call(arguments,1);return S(function(){return a.apply(v,b)},1)};c.delay=function(a,b){var d=n.call(arguments,2);return S(function(){return a.apply(v,d)},b)};c.difference=function(a){var b=[];if(!a)return b;
for(var d=-1,c=a.length,f=ba.apply(A,arguments),f=X(f,c);++d<c;)f(a[d])||b.push(a[d]);return b};c.escape=function(a){return a==m?"":(a+"").replace(qb,db)};c.every=Ua;c.extend=Da;c.filter=Va;c.find=Wa;c.first=ia;c.flatten=Ga;c.forEach=I;c.forIn=O;c.forOwn=Ea;c.functions=ma;c.groupBy=Eb;c.has=function(a,b){return a?q.call(a,b):o};c.identity=ca;c.indexOf=C;c.initial=function(a,b,d){return!a?[]:n.call(a,0,-(b==m||d?1:b))};c.intersection=function(a){var b=[];if(!a)return b;var d,c=arguments.length,f=[],
e=-1,i=a.length;a:for(;++e<i;)if(d=a[e],0>C(b,d)){for(var h=1;h<c;h++)if(!(f[h]||(f[h]=X(arguments[h])))(d))continue a;b.push(d)}return b};c.invert=xb;c.invoke=Fb;c.isArguments=y;c.isArray=da;c.isBoolean=function(a){return a===j||a===o||k.call(a)==J};c.isDate=function(a){return k.call(a)==K};c.isElement=function(a){return a?1===a.nodeType:o};c.isEmpty=yb;c.isEqual=R;c.isFinite=function(a){return sb(a)&&k.call(a)==F};c.isFunction=x;c.isNaN=function(a){return k.call(a)==F&&a!=+a};c.isNull=function(a){return a===
m};c.isNumber=function(a){return k.call(a)==F};c.isObject=function(a){return a?z[typeof a]:o};c.isPlainObject=ea;c.isRegExp=function(a){return k.call(a)==L};c.isString=function(a){return k.call(a)==B};c.isUndefined=function(a){return a===v};c.keys=ha;c.last=function(a,b,d){if(a){var c=a.length;return b==m||d?a[c-1]:n.call(a,-b||c)}};c.lastIndexOf=function(a,b,d){if(!a)return-1;var c=a.length;for(d&&"number"==typeof d&&(c=(0>d?ka(0,c+d):tb(d,c-1))+1);c--;)if(a[c]===b)return c;return-1};c.lateBind=
function(a,b){return Y(b,a,n.call(arguments,2))};c.map=Xa;c.max=Ia;c.memoize=function(a,b){var d={};return function(){var c=b?b.apply(this,arguments):arguments[0];return q.call(d,c)?d[c]:d[c]=a.apply(this,arguments)}};c.merge=zb;c.min=function(a,b,d){var c=Infinity,f=c;if(!a)return f;var e=-1,i=a.length;if(!b){for(;++e<i;)a[e]<f&&(f=a[e]);return f}for(d!==v&&(b=N(b,d));++e<i;)d=b(a[e],e,a),d<c&&(c=d,f=a[e]);return f};c.mixin=La;c.noConflict=function(){s._=jb;return this};c.object=function(a,b){if(!a)return{};
for(var d=-1,c=a.length,f={};++d<c;)b?f[a[d]]=b[d]:f[a[d][0]]=a[d][1];return f};c.omit=Ab;c.once=function(a){var b,d=o;return function(){if(d)return b;d=j;b=a.apply(this,arguments);a=m;return b}};c.pairs=Bb;c.partial=function(a){return Y(a,n.call(arguments,1))};c.pick=Cb;c.pluck=ta;c.random=function(a,b){a==m&&b==m&&(b=1);a=+a||0;b==m&&(b=a,a=0);return a+Ma(Na()*((+b||0)-a+1))};c.range=function(a,b,d){a=+a||0;d=+d||1;b==m&&(b=a,a=0);for(var c=-1,b=ka(0,Math.ceil((b-a)/d)),f=Array(b);++c<b;)f[c]=a,
a+=d;return f};c.reduce=ua;c.reduceRight=Fa;c.reject=Gb;c.rest=la;c.result=function(a,b){if(!a)return m;var d=a[b];return x(d)?a[b]():d};c.shuffle=function(a){if(!a)return[];for(var b,d=-1,c=a.length,f=Array(c);++d<c;)b=Ma(Na()*(d+1)),f[d]=f[b],f[b]=a[d];return f};c.size=function(a){if(!a)return 0;var b=a.length;return b===+b?b:ha(a).length};c.some=Ya;c.sortBy=Hb;c.sortedIndex=Ha;c.tap=function(a,b){b(a);return a};c.template=function(a,b,d){d||(d={});var a=a+"",l,f,e=0,i=c.templateSettings,h="__p += '",
g=d.variable||i.variable,k=g;a.replace(RegExp((d.escape||i.escape||pa).source+"|"+(d.interpolate||i.interpolate||pa).source+"|"+(d.evaluate||i.evaluate||pa).source+"|$","g"),function(b,c,d,f,i){h+=a.slice(e,i).replace(rb,bb);h+=c?"'+__e("+c+")+'":f?"';"+f+";__p+='":d?"'+((__t=("+d+"))==null?'':__t)+'":"";l||(l=f||kb.test(c||d));e=i+b.length});h+="';";k||(g="obj",l?h="with("+g+"){"+h+"}":(d=RegExp("(\\(\\s*)"+g+"\\."+g+"\\b","g"),h=h.replace(pb,"$&"+g+".").replace(d,"$1__d")));h=(l?h.replace(mb,""):
h).replace(nb,"$1").replace(ob,"$1;");h="function("+g+"){"+(k?"":g+"||("+g+"={});")+"var __t,__p='',__e=_.escape"+(l?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":(k?"":",__d="+g+"."+g+"||"+g)+";")+h+"return __p}";try{f=Function("_","return "+h)(c)}catch(n){throw n.source=h,n;}if(b)return f(b);f.source=h;return f};c.throttle=function(a,b){function c(){h=new Date;i=m;f=a.apply(e,g)}var g,f,e,i,h=0;return function(){var k=new Date,n=b-(k-h);g=arguments;e=this;0>=n?(h=k,f=
a.apply(e,g)):i||(i=S(c,n));return f}};c.times=function(a,b,c){var a=+a||0,g=-1,f=Array(a);if(c!==v)for(;++g<a;)f[g]=b.call(c,g);else for(;++g<a;)f[g]=b(g);return f};c.toArray=function(a){if(!a)return[];var b=a.length;return b===+b?(vb?k.call(a)==B:"string"==typeof a)?a.split(""):n.call(a):Sa(a)};c.unescape=function(a){return a==m?"":(a+"").replace(lb,fb)};c.union=function(){for(var a=-1,b=ba.apply(A,arguments),c=b.length,g=[];++a<c;)0>C(g,b[a])&&g.push(b[a]);return g};c.uniq=Ja;c.uniqueId=function(a){var b=
ib++;return a?a+b:b};c.values=Sa;c.where=Ib;c.without=function(a){var b=[];if(!a)return b;for(var c=-1,g=a.length,f=X(arguments,1,20);++c<g;)f(a[c])||b.push(a[c]);return b};c.wrap=function(a,b){return function(){var c=[a];arguments.length&&ja.apply(c,arguments);return b.apply(this,c)}};c.zip=function(a){if(!a)return[];for(var b=-1,c=Ia(ta(arguments,"length")),g=Array(c);++b<c;)g[b]=ta(arguments,b);return g};c.all=Ua;c.any=Ya;c.collect=Xa;c.detect=Wa;c.drop=la;c.each=I;c.foldl=ua;c.foldr=Fa;c.head=
ia;c.include=Ta;c.inject=ua;c.methods=ma;c.select=Va;c.tail=la;c.take=ia;c.unique=Ja;t.prototype=c.prototype;La(c);t.prototype.chain=function(){this.__chain__=j;return this};t.prototype.value=function(){return this.__wrapped__};I("pop push reverse shift sort splice unshift".split(" "),function(a){var b=A[a];t.prototype[a]=function(){var a=this.__wrapped__;b.apply(a,arguments);Oa&&a.length===0&&delete a[0];if(this.__chain__){a=new t(a);a.__chain__=j}return a}});I(["concat","join","slice"],function(a){var b=
A[a];t.prototype[a]=function(){var a=b.apply(this.__wrapped__,arguments);this.__chain__&&(a=new t(a),a.__chain__=j);return a}});typeof define=="function"&&typeof define.amd=="object"&&define.amd?(s._=c,define(function(){return c})):na?"object"==typeof module&&module&&module.exports==na?(module.exports=c)._=c:na._=c:s._=c})(this);