diff --git a/lodash.js b/lodash.js index 60e3608c7..1c01988ef 100644 --- a/lodash.js +++ b/lodash.js @@ -310,16 +310,29 @@ * @returns {Function} The new function. */ var createFunction = function(args, body) { - var oldValue = window._, + var error, + onerror = window.onerror, + prevDash = window._, script = document.createElement('script'), - sibling = document.getElementsByTagName('script')[0]; + sibling = document.scripts[0]; // use script injection to avoid Firefox's unoptimized `Function` constructor // http://bugzil.la/804933 - script.text = 'var _=function(' + args + '){' + body + '}'; + window.onerror = function(message) { + error = message; + return false; + }; + // the newline is required to avoid errors if `body` ends with a single line comment + script.text = 'var _ = function(' + args + ') {' + body + '\n}'; sibling.parentNode.insertBefore(script, sibling).parentNode.removeChild(script); + var result = window._; - window._ = oldValue; + window._ = prevDash; + window.onerror = onerror; + + if (error) { + throw new SyntaxError(error); + } return result; }; @@ -3920,7 +3933,7 @@ : ''; try { - result = Function('_', 'return ' + source + sourceURL)(lodash); + result = createFunction('_', 'return ' + source + sourceURL)(lodash); } catch(e) { e.source = source; throw e; diff --git a/lodash.min.js b/lodash.min.js index b9ab2640d..a6d3dd3e8 100644 --- a/lodash.min.js +++ b/lodash.min.js @@ -2,40 +2,40 @@ Lo-Dash 0.10.0 lodash.com/license Underscore.js 1.4.2 underscorejs.org/LICENSE */ -;(function(e,t){function s(t,n){var r=e._,i=G.createElement("script"),s=G.getElementsByTagName("script")[0];return i.text="var _=function("+t+"){"+n+"\n}",s.parentNode.insertBefore(i,s).parentNode.removeChild(i),i=e._,e._=r,i}function o(e){if(e&&e.__wrapped__)return e;if(!(this instanceof o))return new o(e);this.__wrapped__=e}function u(e,t,n){t||(t=0);var r=e.length,i=r-t>=(n||nt);if(i)for(var s={},n=t-1;++nn||e===t)return 1;if(ei;i++)r+="i='"+e.j[i]+"';if(","constructor"==e.j[i]&&(r+="!(f&&f.prototype===l)&&" -),r+="h.call(l,i)){x=l[i];"+e.g+"}"}if(e.b||e.h)r+="}";return r+=e.c+";return t",s("e,h,j,k,p,n,s","return function("+t+"){"+r+"}")(c,St,g,C,en,Mt,Tt)}function p(e){return"\\"+tn[e]}function d(e){return ln[e]}function v(){}function m(e){return cn[e]}function g(e){return Ct.call(e)==Ht}function y(e){var t=i;if(!e||"object"!=typeof e||g(e))return t;var n=e.constructor;return(!Kt||"function"==typeof e.toString||"string"!=typeof (e+""))&&(!T(n)||n instanceof n)?Wt?(an(e,function(e,n,r){return t=!St.call -(r,n),i}),t===i):(an(e,function(e,n){t=n}),t===i||St.call(e,t)):t}function b(e){var t=[];return fn(e,function(e,n){t.push(n)}),t}function w(e,t,n,s,o){if(e==r)return e;n&&(t=i);if(n=N(e)){var u=Ct.call(e);if(!Zt[u]||$t&&g(e))return e;var a=u==Bt,n=a||(u==qt?dn(e):n)}if(!n||!t)return n?a?Nt.call(e):un({},e):e;n=e.constructor;switch(u){case jt:case Ft:return new n(+e);case It:case Ut:return new n(e);case Rt:return n(e.source,ft.exec(e))}s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(s[u]==e)return o[u] -;var f=a?n(e.length):{};return s.push(e),o.push(f),(a?mn:fn)(e,function(e,n){f[n]=w(e,t,r,s,o)}),f}function E(e){var t=[];return an(e,function(e,n){T(e)&&t.push(n)}),t.sort()}function S(e){var t={};return fn(e,function(e,n){t[e]=n}),t}function x(e,t,s,o){if(e===t)return 0!==e||1/e==1/t;if(e==r||t==r)return e===t;var u=Ct.call(e);if(u!=Ct.call(t))return i;switch(u){case jt:case Ft:return+e==+t;case It:return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case Rt:case Ut:return e==t+""}var a=u==Bt||u==Ht;if($t&&! -a&&(a=g(e))&&!g(t))return i;if(!a){if(e.__wrapped__||t.__wrapped__)return x(e.__wrapped__||e,t.__wrapped__||t);if(u!=qt||Kt&&("function"!=typeof e.toString&&"string"==typeof (e+"")||"function"!=typeof t.toString&&"string"==typeof (t+"")))return i;var u=e.constructor,f=t.constructor;if(u!=f&&(!T(u)||!(u instanceof u&&T(f)&&f instanceof f)))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=x -(e[l],t[l],s,o)););return f}for(var c in e)if(St.call(e,c)&&(l++,!St.call(t,c)||!x(e[c],t[c],s,o)))return i;for(c in t)if(St.call(t,c)&&!(l--))return i;if(zt)for(;7>++u;)if(c=gt[u],St.call(e,c)&&(!St.call(t,c)||!x(e[c],t[c],s,o)))return i;return n}function T(e){return"function"==typeof e}function N(e){return e?en[typeof e]:i}function C(e){return Ct.call(e)==Ut}function k(e,t,n){var i=arguments,s=0,o=2,u=i[3],a=i[4];n!==tt&&(u=[],a=[],"number"!=typeof n&&(o=i.length));for(;++sn?_t(0,s+n):n)||0;return"number"==typeof s?o=-1<(C(e)?e.indexOf(t,n):R(e,t,n)):mn(e,function(e){if(++r>=n)return!(o=e===t)}),o}function O(e,t,r){var i=n,t=c(t,r);if(pn(e))for(var r=-1,s=e. -length;++rr&&(r=n,o=e)});else for(;++io&&(o=e[i]);return o}function H(e,t){var n=[];return mn(e,function(e){n.push(e[t])}),n}function B(e,t,n,r){var s=3>arguments.length;return t||(t=V),mn(e,function(e,o,u){n=s?(s=i,e):t.call(r,n,e,o,u)}),n}function j(e,t,n,r){var s=e,o=e?e.length:0,u=3>arguments.length;if("number"!=typeof o)var a=vn(e),o=a.length;else Jt&& -C(e)&&(s=e.split(""));return t||(t=V),mn(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 F(e,t,n){var r,t=c(t,n);if(pn(e))for(var n=-1,i=e.length;++nn?_t(0,i+n):n||0)-1;else if(n)return r=z(e,t),e[r]===t?r:-1;for(;++r>>1,n(e[r])R(a,h))(n||f)&&a.push(h),u.push(r)}return u}function X(e,t){return Gt||kt&&2|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/,st=/&(?:amp|lt|gt|quot|#x27);/g,ot=/\b__p\+='';/g,ut=/\b(__p\+=)''\+/g,at=/(__e\(.*?\)|\b__t\))\+'';/g,ft=/\w*$/,lt=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,ct=RegExp("^"+(Z.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),ht=/\$\{((?:(?=\\?)\\?[\s\S])*?)}/g,pt=/<%=([\s\S]+?)%>/g,dt=/($^)/,vt=/[&<>"']/g,mt=/['\n\r\t\u2028\u2029\\]/g -,gt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),yt=Math.ceil,bt=Y.concat,wt=Math.floor,Et=ct.test(Et=Object.getPrototypeOf)&&Et,St=Z.hasOwnProperty,xt=Y.push,Tt=Z.propertyIsEnumerable,Nt=Y.slice,Ct=Z.toString,kt=ct.test(kt=Nt.bind)&&kt,Lt=ct.test(Lt=Array.isArray)&&Lt,At=e.isFinite,Ot=e.isNaN,Mt=ct.test(Mt=Object.keys)&&Mt,_t=Math.max,Dt=Math.min,Pt=Math.random,Ht="[object Arguments]",Bt="[object Array]",jt="[object Boolean]",Ft="[object Date]" -,It="[object Number]",qt="[object Object]",Rt="[object RegExp]",Ut="[object String]",zt,Wt,Xt=(Xt={0:1,length:1},Y.splice.call(Xt,0,1),Xt[0]),Vt=n;(function(){function e(){this.x=1}var t=[];e.prototype={valueOf:1,y:1};for(var n in new e)t.push(n);for(n in arguments)Vt=!n;zt=!/valueOf/.test(t),Wt="x"!=t[0]})(1);var $t=!g(arguments),Jt="xx"!="x"[0]+Object("x")[0];try{var Kt=("[object Object]",Ct.call(G||0)==qt)}catch(Qt){}var Gt=kt&&/\n|Opera/.test(kt+Ct.call(e.opera)),Yt=Mt&&/^.+$|true/.test(Mt+!! -e.attachEvent),Zt={};Zt[Ht]=Zt["[object Function]"]=i,Zt[Bt]=Zt[jt]=Zt[Ft]=Zt[It]=Zt[qt]=Zt[Rt]=Zt[Ut]=n;var en={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i},tn={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};o.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:pt,variable:""};try{s()}catch(nn){s=Function}var rn={a:"o,v,g",k:"for(var a=1,b=typeof g=='number'?2:arguments.length;a":">",'"':""","'":"'"},cn=S(ln),hn=h(rn,{g:"if(t[i]==null)"+rn.g}),pn=Lt||function(e){return Ct.call(e)==Bt};T(/x/)&&(T=function(e){return"[object Function]"==Ct.call(e)});var dn=Et?function(e){if(!e||"object"!=typeof e)return i;var t=e.valueOf,n="function"==typeof -t&&(n=Et(t))&&Et(n);return n?e==n||Et(e)==n&&!g(e):y(e)}:y,vn=Mt?function(e){return"function"==typeof e&&Tt.call(e,"prototype")?b(e):N(e)?Mt(e):[]}:b,mn=h(sn);o.VERSION="0.10.0",o.assign=un,o.after=function(e,t){return 1>e?t():function(){if(1>--e)return t.apply(this,arguments)}},o.bind=X,o.bindAll=function(e){for(var t=arguments,n=1R(i,e)){for(var s=n;--s;)if(!(r[s]||(r[s]=u(t[s])))(e))return;i.push(e)}}),i},o.invert=S,o.invoke= -function(e,t){var n=Nt.call(arguments,2),r="function"==typeof t,i=[];return mn(e,function(e){i.push((r?t:e[t]).apply(e,n))}),i},o.isArguments=g,o.isArray=pn,o.isBoolean=function(e){return e===n||e===i||Ct.call(e)==jt},o.isDate=function(e){return Ct.call(e)==Ft},o.isElement=function(e){return e?1===e.nodeType:i},o.isEmpty=function(e){var t=n;if(!e)return t;var r=Ct.call(e),s=e.length;return r==Bt||r==Ut||r==Ht||$t&&g(e)||r==qt&&"number"==typeof s&&T(e.splice)?!s:(fn(e,function(){return t=i}),t)},o -.isEqual=x,o.isFinite=function(e){return At(e)&&!Ot(parseFloat(e))},o.isFunction=T,o.isNaN=function(e){return Ct.call(e)==It&&e!=+e},o.isNull=function(e){return e===r},o.isNumber=function(e){return Ct.call(e)==It},o.isObject=N,o.isPlainObject=dn,o.isRegExp=function(e){return Ct.call(e)==Rt},o.isString=C,o.isUndefined=function(e){return e===t},o.keys=vn,o.last=function(e,t,n){if(e){var i=e.length;return t==r||n?e[i-1]:Nt.call(e,-t||i)}},o.lastIndexOf=function(e,t,n){var r=e?e.length:0;for("number"==typeof -n&&(r=(0>n?_t(0,r+n):Dt(n,r-1))+1);r--;)if(e[r]===t)return r;return-1},o.map=D,o.max=P,o.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return St.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},o.merge=k,o.min=function(e,t,n){var r=Infinity,i=-1,s=e?e.length:0,o=r;if(t||!pn(e))t=!t&&C(e)?a:c(t,n),mn(e,function(e,n,i){n=t(e,n,i),nR(s,n,1))i[n]=e}),i},o.once=function(e){var t,s=i;return function(){return s?t:(s=n,t=e.apply(this,arguments),e=r,t)}},o.pairs=function(e){var t=[];return fn(e,function(e,n){t.push([n,e])}),t},o.partial=function(e){return l(e,Nt.call(arguments,1))},o.pick=function( -e,t,n){var r={};if("function"!=typeof t)for(var i=0,s=bt.apply(Y,arguments),o=s.length;++i=f?(clearTimeout(u),a=r,s=e.apply(o,i)):u||(u=setTimeout(n,f)),s}},o.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++r=(n||nt);if(i)for(var s={},n=t-1;++nn||e===t)return 1;if(ei;i++)r+="i='"+e.j[i]+"';if(","constructor"==e.j[i]&&(r+="!(f&&f.prototype===l)&&"),r+="h.call(l,i)){x=l[i];"+e.g+"}"}if(e.b||e.h)r+="}";return r+=e.c+";return t",s("e,h,j,k,p,n,s","return function("+t+"){"+r+"}")(c,St,g,C,en,Mt,Tt)}function p(e){return"\\"+tn[e]}function d(e){return ln[e]}function v(){}function m(e){return cn[e]}function g(e){return Ct.call(e)==Ht}function y(e){var t=i;if(!e||"object"!=typeof e||g(e))return t;var n=e.constructor;return(!Kt||"function"==typeof e.toString||"string"!=typeof +(e+""))&&(!T(n)||n instanceof n)?Wt?(an(e,function(e,n,r){return t=!St.call(r,n),i}),t===i):(an(e,function(e,n){t=n}),t===i||St.call(e,t)):t}function b(e){var t=[];return fn(e,function(e,n){t.push(n)}),t}function w(e,t,n,s,o){if(e==r)return e;n&&(t=i);if(n=N(e)){var u=Ct.call(e);if(!Zt[u]||$t&&g(e))return e;var a=u==Bt,n=a||(u==qt?dn(e):n)}if(!n||!t)return n?a?Nt.call(e):un({},e):e;n=e.constructor;switch(u){case jt:case Ft:return new n(+e);case It:case Ut:return new n(e);case Rt:return n(e.source +,ft.exec(e))}s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(s[u]==e)return o[u];var f=a?n(e.length):{};return s.push(e),o.push(f),(a?mn:fn)(e,function(e,n){f[n]=w(e,t,r,s,o)}),f}function E(e){var t=[];return an(e,function(e,n){T(e)&&t.push(n)}),t.sort()}function S(e){var t={};return fn(e,function(e,n){t[e]=n}),t}function x(e,t,s,o){if(e===t)return 0!==e||1/e==1/t;if(e==r||t==r)return e===t;var u=Ct.call(e);if(u!=Ct.call(t))return i;switch(u){case jt:case Ft:return+e==+t;case It:return e!=+e?t!=+t:0== +e?1/e==1/t:e==+t;case Rt:case Ut:return e==t+""}var a=u==Bt||u==Ht;if($t&&!a&&(a=g(e))&&!g(t))return i;if(!a){if(e.__wrapped__||t.__wrapped__)return x(e.__wrapped__||e,t.__wrapped__||t);if(u!=qt||Kt&&("function"!=typeof e.toString&&"string"==typeof (e+"")||"function"!=typeof t.toString&&"string"==typeof (t+"")))return i;var u=e.constructor,f=t.constructor;if(u!=f&&(!T(u)||!(u instanceof u&&T(f)&&f instanceof f)))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=x(e[l],t[l],s,o)););return f}for(var c in e)if(St.call(e,c)&&(l++,!St.call(t,c)||!x(e[c],t[c],s,o)))return i;for(c in t)if(St.call(t,c)&&!(l--))return i;if(zt)for(;7>++u;)if(c=gt[u],St.call(e,c)&&(!St.call(t,c)||!x(e[c],t[c],s,o)))return i;return n}function T(e){return"function"==typeof e}function N(e){return e?en[typeof e]:i}function C(e){return Ct.call(e)==Ut}function k(e,t,n){var i=arguments,s=0,o=2,u=i[3],a=i[4];n!==tt&& +(u=[],a=[],"number"!=typeof n&&(o=i.length));for(;++sn?_t(0,s+n):n)||0;return"number"==typeof s?o=-1<(C(e)?e.indexOf(t,n):R(e,t,n)):mn(e,function(e){if(++r>=n)return!( +o=e===t)}),o}function O(e,t,r){var i=n,t=c(t,r);if(pn(e))for(var r=-1,s=e.length;++rr&&(r=n,o=e)});else for(;++io&&(o=e[i]);return o}function H(e,t){var n=[];return mn(e,function(e){n.push(e[t])}),n}function B(e,t,n,r){var s=3>arguments.length;return t||(t=V),mn(e,function(e,o,u){n=s?(s=i,e):t.call(r,n,e,o,u)}),n}function j(e,t,n,r){var s=e,o=e?e.length:0, +u=3>arguments.length;if("number"!=typeof o)var a=vn(e),o=a.length;else Jt&&C(e)&&(s=e.split(""));return t||(t=V),mn(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 F(e,t,n){var r,t=c(t,n);if(pn(e))for(var n=-1,i=e.length;++nn?_t(0,i+n):n||0)-1;else if(n)return r=z(e,t),e[r]===t?r:-1;for(;++r>>1,n(e[r])R(a,h))(n||f)&&a.push(h),u.push(r)}return u}function X(e,t){return Gt||kt&&2|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/,st=/&(?:amp|lt|gt|quot|#x27);/g,ot=/\b__p\+='';/g,ut=/\b(__p\+=)''\+/g,at=/(__e\(.*?\)|\b__t\))\+'';/g,ft=/\w*$/,lt=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,ct=RegExp("^"+(Z.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),ht=/\$\{((?:(?=\\?)\\?[\s\S])*?)}/g +,pt=/<%=([\s\S]+?)%>/g,dt=/($^)/,vt=/[&<>"']/g,mt=/['\n\r\t\u2028\u2029\\]/g,gt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),yt=Math.ceil,bt=Y.concat,wt=Math.floor,Et=ct.test(Et=Object.getPrototypeOf)&&Et,St=Z.hasOwnProperty,xt=Y.push,Tt=Z.propertyIsEnumerable,Nt=Y.slice,Ct=Z.toString,kt=ct.test(kt=Nt.bind)&&kt,Lt=ct.test(Lt=Array.isArray)&&Lt,At=e.isFinite,Ot=e.isNaN,Mt=ct.test(Mt=Object.keys)&&Mt,_t=Math.max,Dt=Math.min,Pt=Math.random +,Ht="[object Arguments]",Bt="[object Array]",jt="[object Boolean]",Ft="[object Date]",It="[object Number]",qt="[object Object]",Rt="[object RegExp]",Ut="[object String]",zt,Wt,Xt=(Xt={0:1,length:1},Y.splice.call(Xt,0,1),Xt[0]),Vt=n;(function(){function e(){this.x=1}var t=[];e.prototype={valueOf:1,y:1};for(var n in new e)t.push(n);for(n in arguments)Vt=!n;zt=!/valueOf/.test(t),Wt="x"!=t[0]})(1);var $t=!g(arguments),Jt="xx"!="x"[0]+Object("x")[0];try{var Kt=("[object Object]",Ct.call(G||0)==qt)}catch( +Qt){}var Gt=kt&&/\n|Opera/.test(kt+Ct.call(e.opera)),Yt=Mt&&/^.+$|true/.test(Mt+!!e.attachEvent),Zt={};Zt[Ht]=Zt["[object Function]"]=i,Zt[Bt]=Zt[jt]=Zt[Ft]=Zt[It]=Zt[qt]=Zt[Rt]=Zt[Ut]=n;var en={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i},tn={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};o.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:pt,variable:""};try{s()}catch(nn){s=Function}var rn={a:"o,v,g",k:"for(var a=1,b=typeof g=='number'?2:arguments.length;a":">",'"':""","'":"'"},cn=S(ln),hn=h(rn,{g:"if(t[i]==null)"+rn.g}),pn=Lt||function(e){return Ct.call(e)==Bt};T(/x/)&&(T=function(e){return"[object Function]"==Ct.call(e)});var dn=Et?function(e){if(!e||"object"!=typeof e)return i;var t=e.valueOf +,n="function"==typeof t&&(n=Et(t))&&Et(n);return n?e==n||Et(e)==n&&!g(e):y(e)}:y,vn=Mt?function(e){return"function"==typeof e&&Tt.call(e,"prototype")?b(e):N(e)?Mt(e):[]}:b,mn=h(sn);o.VERSION="0.10.0",o.assign=un,o.after=function(e,t){return 1>e?t():function(){if(1>--e)return t.apply(this,arguments)}},o.bind=X,o.bindAll=function(e){for(var t=arguments,n=1R(i,e)){for(var s=n;--s;)if(!(r[s]||(r[s]=u(t[s])))(e))return;i.push(e)}} +),i},o.invert=S,o.invoke=function(e,t){var n=Nt.call(arguments,2),r="function"==typeof t,i=[];return mn(e,function(e){i.push((r?t:e[t]).apply(e,n))}),i},o.isArguments=g,o.isArray=pn,o.isBoolean=function(e){return e===n||e===i||Ct.call(e)==jt},o.isDate=function(e){return Ct.call(e)==Ft},o.isElement=function(e){return e?1===e.nodeType:i},o.isEmpty=function(e){var t=n;if(!e)return t;var r=Ct.call(e),s=e.length;return r==Bt||r==Ut||r==Ht||$t&&g(e)||r==qt&&"number"==typeof s&&T(e.splice)?!s:(fn(e,function( +){return t=i}),t)},o.isEqual=x,o.isFinite=function(e){return At(e)&&!Ot(parseFloat(e))},o.isFunction=T,o.isNaN=function(e){return Ct.call(e)==It&&e!=+e},o.isNull=function(e){return e===r},o.isNumber=function(e){return Ct.call(e)==It},o.isObject=N,o.isPlainObject=dn,o.isRegExp=function(e){return Ct.call(e)==Rt},o.isString=C,o.isUndefined=function(e){return e===t},o.keys=vn,o.last=function(e,t,n){if(e){var i=e.length;return t==r||n?e[i-1]:Nt.call(e,-t||i)}},o.lastIndexOf=function(e,t,n){var r=e?e.length +:0;for("number"==typeof n&&(r=(0>n?_t(0,r+n):Dt(n,r-1))+1);r--;)if(e[r]===t)return r;return-1},o.map=D,o.max=P,o.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return St.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},o.merge=k,o.min=function(e,t,n){var r=Infinity,i=-1,s=e?e.length:0,o=r;if(t||!pn(e))t=!t&&C(e)?a:c(t,n),mn(e,function(e,n,i){n=t(e,n,i),nR(s,n,1))i[n]=e}),i},o.once=function(e){var t,s=i;return function(){return s?t:(s=n,t=e.apply(this,arguments),e=r,t)}},o.pairs=function(e){var t=[];return fn(e,function(e,n){t.push([n,e])}),t},o.partial=function(e){return l(e,Nt.call +(arguments,1))},o.pick=function(e,t,n){var r={};if("function"!=typeof t)for(var i=0,s=bt.apply(Y,arguments),o=s.length;++i=f?(clearTimeout(u),a=r,s=e.apply(o,i)):u||(u=setTimeout(n,f)),s}},o.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++r