var require=function(a,b){var c=require.resolve(a,b||"/"),d=require.modules[c];if(!d)throw new Error("Failed to resolve module "+a+", tried "+c);var e=d._cached?d._cached:d();return e},__require=require;require.paths=[],require.modules={},require.extensions=[".js",".coffee"],require.resolve=function(){var a={assert:!0,events:!0,fs:!0,path:!0,vm:!0};return function(b,c){function k(a){var b;a==="/"?b=[""]:b=d.normalize(a).split("/");var c=[];for(var e=b.length-1;e>=0;e--){if(b[e]==="node_modules")continue;var f=b.slice(0,e+1).join("/")+"/node_modules";c.push(f)}return c}function j(a,b){var c=k(b);for(var d=0;d<c.length;d++){var e=c[d],f=h(e+"/"+a);if(f)return f;var g=i(e+"/"+a);if(g)return g}var f=h(a);if(f)return f}function i(a){a=a.replace(/\/+$/,"");var b=a+"/package.json";if(require.modules[b]){var c=require.modules[b](),e=c.browserify;if(typeof e=="object"&&e.main){var f=h(d.resolve(a,e.main));if(f)return f}else if(typeof e=="string"){var f=h(d.resolve(a,e));if(f)return f}else if(c.main){var f=h(d.resolve(a,c.main));if(f)return f}}return h(a+"/index")}function h(a){if(require.modules[a])return a;for(var b=0;b<require.extensions.length;b++){var c=require.extensions[b];if(require.modules[a+c])return a+c}}c||(c="/");if(a[b])return b;var d=require.modules.path(),e=c||".";if(b.match(/^(?:\.\.?\/|\/)/)){var f=h(d.resolve(e,b))||i(d.resolve(e,b));if(f)return f}var g=j(b,e);if(g)return g;throw new Error("Cannot find module '"+b+"'")}}(),require.alias=function(a,b){var c=require.modules.path(),d=null;try{d=require.resolve(a+"/package.json","/")}catch(e){d=require.resolve(a,"/")}var f=c.dirname(d);Object.keys(require.modules).forEach(function(a){if(a.slice(0,f.length+1)===f+"/"){var c=a.slice(f.length);require.modules[b+c]=require.modules[f+c]}else a===f&&(require.modules[b]=require.modules[f])})},typeof process=="undefined"&&(process={}),process.nextTick||(process.nextTick=function(a){setTimeout(a,0)}),process.title||(process.title="browser"),process.binding||(process.binding=function(a){if(a==="evals")return require("vm");throw new Error("No such module")}),process.cwd||(process.cwd=function(){return"."}),require.modules.path=function(){var a={exports:{}},b=a.exports,c=".",d="path",e=function(a){return __require(a,".")};e.resolve=function(a){return __require.resolve(name,".")},e.modules=__require.modules,__require.modules.path._cached=a.exports,function(){function a(a,b){var c=0;for(var d=a.length;d>=0;d--){var e=a[d];e=="."?a.splice(d,1):e===".."?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}var c=/^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;b.resolve=function(){var b="",c=!1;for(var d=arguments.length;d>=-1&&!c;d--){var e=d>=0?arguments[d]:process.cwd();if(typeof e!="string"||!e)continue;b=e+"/"+b,c=e.charAt(0)==="/"}b=a(b.split("/").filter(function(a){return!!a}),!c).join("/");return(c?"/":"")+b||"."},b.normalize=function(b){var c=b.charAt(0)==="/",d=b.slice(-1)==="/";b=a(b.split("/").filter(function(a){return!!a}),!c).join("/"),!b&&!c&&(b="."),b&&d&&(b+="/");return(c?"/":"")+b},b.join=function(){var a=Array.prototype.slice.call(arguments,0);return b.normalize(a.filter(function(a,b){return a&&typeof a=="string"}).join("/"))},b.dirname=function(a){var b=c.exec(a)[1]||"",d=!1;return b?b.length===1||d&&b.length<=3&&b.charAt(1)===":"?b:b.substring(0,b.length-1):"."},b.basename=function(a,b){var d=c.exec(a)[2]||"";b&&d.substr(-1*b.length)===b&&(d=d.substr(0,d.length-b.length));return d},b.extname=function(a){return c.exec(a)[3]||""}}.call(a.exports),__require.modules.path._cached=a.exports;return a.exports},require.modules["/node_modules/underscore/package.json"]=function(){var a={exports:{}},b=a.exports,c="/node_modules/underscore",d="/node_modules/underscore/package.json",e=function(a){return __require(a,"/node_modules/underscore")};e.resolve=function(a){return __require.resolve(name,"/node_modules/underscore")},e.modules=__require.modules,__require.modules["/node_modules/underscore/package.json"]._cached=a.exports,function(){a.exports={name:"underscore",description:"JavaScript's functional programming helper library.",homepage:"http://documentcloud.github.com/underscore/",keywords:["util","functional","server","client","browser"],author:"Jeremy Ashkenas <jeremy@documentcloud.org>",contributors:[],dependencies:[],repository:{type:"git",url:"git://github.com/documentcloud/underscore.git"},main:"underscore.js",version:"1.1.7"}}.call(a.exports),__require.modules["/node_modules/underscore/package.json"]._cached=a.exports;return a.exports},require.modules["/node_modules/underscore/underscore.js"]=function(){var a={exports:{}},b=a.exports,c="/node_modules/underscore",d="/node_modules/underscore/underscore.js",e=function(a){return __require(a,"/node_modules/underscore")};e.resolve=function(a){return __require.resolve(name,"/node_modules/underscore")},e.modules=__require.modules,__require.modules["/node_modules/underscore/underscore.js"]._cached=a.exports,function(){(function(){var b=this,c=b._,d={},e=Array.prototype,f=Object.prototype,g=Function.prototype,h=e.slice,i=e.unshift,j=f.toString,k=f.hasOwnProperty,l=e.forEach,m=e.map,n=e.reduce,o=e.reduceRight,p=e.filter,q=e.every,r=e.some,s=e.indexOf,t=e.lastIndexOf,u=Array.isArray,v=Object.keys,w=g.bind,x=function(a){return new C(a)};typeof a!="undefined"&&a.exports?(a.exports=x,x._=x):b._=x,x.VERSION="1.1.7";var y=x.each=x.forEach=function(a,b,c){if(a!=null)if(l&&a.forEach===l)a.forEach(b,c);else if(a.length===+a.length){for(var e=0,f=a.length;e<f;e++)if(e in a&&b.call(c,a[e],e,a)===d)return}else for(var g in a)if(k.call(a,g)&&b.call(c,a[g],g,a)===d)return};x.map=function(a,b,c){var d=[];if(a==null)return d;if(m&&a.map===m)return a.map(b,c);y(a,function(a,e,f){d[d.length]=b.call(c,a,e,f)});return d},x.reduce=x.foldl=x.inject=function(a,b,c,d){var e=c!==void 0;a==null&&(a=[]);if(n&&a.reduce===n){d&&(b=x.bind(b,d));return e?a.reduce(b,c):a.reduce(b)}y(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},x.reduceRight=x.foldr=function(a,b,c,d){a==null&&(a=[]);if(o&&a.reduceRight===o){d&&(b=x.bind(b,d));return c!==void 0?a.reduceRight(b,c):a.reduceRight(b)}var e=(x.isArray(a)?a.slice():x.toArray(a)).reverse();return x.reduce(e,b,c,d)},x.find=x.detect=function(a,b,c){var d;z(a,function(a,e,f){if(b.call(c,a,e,f)){d=a;return!0}});return d},x.filter=x.select=function(a,b,c){var d=[];if(a==null)return d;if(p&&a.filter===p)return a.filter(b,c);y(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)});return d},x.reject=function(a,b,c){var d=[];if(a==null)return d;y(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)});return d},x.every=x.all=function(a,b,c){var e=!0;if(a==null)return e;if(q&&a.every===q)return a.every(b,c);y(a,function(a,f,g){if(!(e=e&&b.call(c,a,f,g)))return d});return e};var z=x.some=x.any=function(a,b,c){b=b||x.identity;var e=!1;if(a==null)return e;if(r&&a.some===r)return a.some(b,c);y(a,function(a,f,g){if(e|=b.call(c,a,f,g))return d});return!!e};x.include=x.contains=function(a,b){var c=!1;if(a==null)return c;if(s&&a.indexOf===s)return a.indexOf(b)!=-1;z(a,function(a){if(c=a===b)return!0});return c},x.invoke=function(a,b){var c=h.call(arguments,2);return x.map(a,function(a){return(b.call?b||a:a[b]).apply(a,c)})},x.pluck=function(a,b){return x.map(a,function(a){return a[b]})},x.max=function(a,b,c){if(!b&&x.isArray(a))return Math.max.apply(Math,a);var d={computed:-Infinity};y(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})});return d.value},x.min=function(a,b,c){if(!b&&x.isArray(a))return Math.min.apply(Math,a);var d={computed:Infinity};y(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g<d.computed&&(d={value:a,computed:g})});return d.value},x.sortBy=function(a,b,c){return x.pluck(x.map(a,function(a,d,e){return{value:a,criteria:b.call(c,a,d,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")},x.groupBy=function(a,b){var c={};y(a,function(a,d){var e=b(a,d);(c[e]||(c[e]=[])).push(a)});return c},x.sortedIndex=function(a,b,c){c||(c=x.identity);var d=0,e=a.length;while(d<e){var f=d+e>>1;c(a[f])<c(b)?d=f+1:e=f}return d},x.toArray=function(a){return a?a.toArray?a.toArray():x.isArray(a)?h.call(a):x.isArguments(a)?h.call(a):x.values(a):[]},x.size=function(a){return x.toArray(a).length},x.first=x.head=function(a,b,c){return b!=null&&!c?h.call(a,0,b):a[0]},x.rest=x.tail=function(a,b,c){return h.call(a,b==null||c?1:b)},x.last=function(a){return a[a.length-1]},x.compact=function(a){return x.filter(a,function(a){return!!a})},x.flatten=function(a){return x.reduce(a,function(a,b){if(x.isArray(b))return a.concat(x.flatten(b));a[a.length]=b;return a},[])},x.without=function(a){return x.difference(a,h.call(arguments,1))},x.uniq=x.unique=function(a,b){return x.reduce(a,function(a,c,d){if(0==d||(b===!0?x.last(a)!=c:!x.include(a,c)))a[a.length]=c;return a},[])},x.union=function(){return x.uniq(x.flatten(arguments))},x.intersection=x.intersect=function(a){var b=h.call(arguments,1);return x.filter(x.uniq(a),function(a){return x.every(b,function(b){return x.indexOf(b,a)>=0})})},x.difference=function(a,b){return x.filter(a,function(a){return!x.include(b,a)})},x.zip=function(){var a=h.call(arguments),b=x.max(x.pluck(a,"length")),c=Array(b);for(var d=0;d<b;d++)c[d]=x.pluck(a,""+d);return c},x.indexOf=function(a,b,c){if(a==null)return-1;var d,e;if(c){d=x.sortedIndex(a,b);return a[d]===b?d:-1}if(s&&a.indexOf===s)return a.indexOf(b);for(d=0,e=a.length;d<e;d++)if(a[d]===b)return d;return-1},x.lastIndexOf=function(a,b){if(a==null)return-1;if(t&&a.lastIndexOf===t)return a.lastIndexOf(b);var c=a.length;while(c--)if(a[c]===b)return c;return-1},x.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0),c=arguments[2]||1;var d=Math.max(Math.ceil((b-a)/c),0),e=0,f=Array(d);while(e<d)f[e++]=a,a+=c;return f},x.bind=function(a,b){if(a.bind===w&&w)return w.apply(a,h.call(arguments,1));var c=h.call(arguments,2);return function(){return a.apply(b,c.concat(h.call(arguments)))}},x.bindAll=function(a){var b=h.call(arguments,1);b.length==0&&(b=x.functions(a)),y(b,function(b){a[b]=x.bind(a[b],a)});return a},x.memoize=function(a,b){var c={};b||(b=x.identity);return function(){var d=b.apply(this,arguments);return k.call(c,d)?c[d]:c[d]=a.apply(this,arguments)}},x.delay=function(a,b){var c=h.call(arguments,2);return setTimeout(function(){return a.apply(a,c)},b)},x.defer=function(a){return x.delay.apply(x,[a,1].concat(h.call(arguments,1)))};var A=function(a,b,c){var d;return function(){var e=this,f=arguments,g=function(){d=null,a.apply(e,f)};c&&clearTimeout(d);if(c||!d)d=setTimeout(g,b)}};x.throttle=function(a,b){return A(a,b,!1)},x.debounce=function(a,b){return A(a,b,!0)},x.once=function(a){var b=!1,c;return function(){if(b)return c;b=!0;return c=a.apply(this,arguments)}},x.wrap=function(a,b){return function(){var c=[a].concat(h.call(arguments));return b.apply(this,c)}},x.compose=function(){var a=h.call(arguments);return function(){var b=h.call(arguments);for(var c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}},x.after=function(a,b){return function(){if(--a<1)return b.apply(this,arguments)}},x.keys=v||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)k.call(a,c)&&(b[b.length]=c);return b},x.values=function(a){return x.map(a,x.identity)},x.functions=x.methods=function(a){var b=[];for(var c in a)x.isFunction(a[c])&&b.push(c);return b.sort()},x.extend=function(a){y(h.call(arguments,1),function(b){for(var c in b)b[c]!==void 0&&(a[c]=b[c])});return a},x.defaults=function(a){y(h.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])});return a},x.clone=function(a){return x.isArray(a)?a.slice():x.extend({},a)},x.tap=function(a,b){b(a);return a},x.isEqual=function(a,b){if(a===b)return!0;var c=typeof a,d=typeof b;if(c!=d)return!1;if(a==b)return!0;if(!a&&b||a&&!b)return!1;a._chain&&(a=a._wrapped),b._chain&&(b=b._wrapped);if(a.isEqual)return a.isEqual(b);if(b.isEqual)return b.isEqual(a);if(x.isDate(a)&&x.isDate(b))return a.getTime()===b.getTime();if(x.isNaN(a)&&x.isNaN(b))return!1;if(x.isRegExp(a)&&x.isRegExp(b))return a.source===b.source&&a.global===b.global&&a.ignoreCase===b.ignoreCase&&a.multiline===b.multiline;if(c!=="object")return!1;if(a.length&&a.length!==b.length)return!1;var e=x.keys(a),f=x.keys(b);if(e.length!=f.length)return!1;for(var g in a)if(!(g in b)||!x.isEqual(a[g],b[g]))return!1;return!0},x.isEmpty=function(a){if(x.isArray(a)||x.isString(a))return a.length===0;for(var b in a)if(k.call(a,b))return!1;return!0},x.isElement=function(a){return!!a&&a.nodeType==1},x.isArray=u||function(a){return j.call(a)==="[object Array]"},x.isObject=function(a){return a===Object(a)},x.isArguments=function(a){return!!a&&!!k.call(a,"callee")},x.isFunction=function(a){return!!(a&&a.constructor&&a.call&&a.apply)},x.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)},x.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)},x.isNaN=function(a){return a!==a},x.isBoolean=function(a){return a===!0||a===!1},x.isDate=function(a){return!!(a&&a.getTimezoneOffset&&a.setUTCFullYear)},x.isRegExp=function(a){return!(!(a&&a.test&&a.exec)||!a.ignoreCase&&a.ignoreCase!==!1)},x.isNull=function(a){return a===null},x.isUndefined=function(a){return a===void 0},x.noConflict=function(){b._=c;return this},x.identity=function(a){return a},x.times=function(a,b,c){for(var d=0;d<a;d++)b.call(c,d)},x.mixin=function(a){y(x.functions(a),function(b){E(b,x[b]=a[b])})};var B=0;x.uniqueId=function(a){var b=B++;return a?a+b:b},x.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g},x.template=function(a,b){var c=x.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(c.interpolate,function(a,b){return"',"+b.replace(/\\'/g,"'")+",'"}).replace(c.evaluate||null,function(a,b){return"');"+b.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj",d);return b?e(b):e};var C=function(a){this._wrapped=a};x.prototype=C.prototype;var D=function(a,b){return b?x(a).chain():a},E=function(a,b){C.prototype[a]=function(){var a=h.call(arguments);i.call(a,this._wrapped);return D(b.apply(x,a),this._chain)}};x.mixin(x),y(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=e[a];C.prototype[a]=function(){b.apply(this._wrapped,arguments);return D(this._wrapped,this._chain)}}),y(["concat","join","slice"],function(a){var b=e[a];C.prototype[a]=function(){return D(b.apply(this._wrapped,arguments),this._chain)}}),C.prototype.chain=function(){this._chain=!0;return this},C.prototype.value=function(){return this._wrapped}})()}.call(a.exports),__require.modules["/node_modules/underscore/underscore.js"]._cached=a.exports;return a.exports},require.modules["/node_modules/backbone/package.json"]=function(){var a={exports:{}},b=a.exports,c="/node_modules/backbone",d="/node_modules/backbone/package.json",e=function(a){return __require(a,"/node_modules/backbone")};e.resolve=function(a){return __require.resolve(name,"/node_modules/backbone")},e.modules=__require.modules,__require.modules["/node_modules/backbone/package.json"]._cached=a.exports,function(){a.exports={name:"backbone",description:"Give your JS App some Backbone with Models, Views, Collections, and Events.",url:"http://documentcloud.github.com/backbone/",keywords:["util","functional","server","client","browser"],author:"Jeremy Ashkenas <jeremy@documentcloud.org>",contributors:[],dependencies:{underscore:">=1.1.2"},lib:".",main:"backbone.js",version:"0.5.2"}}.call(a.exports),__require.modules["/node_modules/backbone/package.json"]._cached=a.exports;return a.exports},require.modules["/node_modules/backbone/backbone.js"]=function(){var a={exports:{}},b=a.exports,c="/node_modules/backbone",d="/node_modules/backbone/backbone.js",e=function(a){return __require(a,"/node_modules/backbone")};e.resolve=function(a){return __require.resolve(name,"/node_modules/backbone")},e.modules=__require.modules,__require.modules["/node_modules/backbone/backbone.js"]._cached=a.exports,function(){(function(){var a=this,c=a.Backbone,d;typeof b!="undefined"?d=b:d=a.Backbone={},d.VERSION="0.5.2";var f=a._;!f&&typeof e!="undefined"&&(f=e("underscore")._);var g=a.jQuery||a.Zepto;d.noConflict=function(){a.Backbone=c;return this},d.emulateHTTP=!1,d.emulateJSON=!1,d.Events={bind:function(a,b,c){var d=this._callbacks||(this._callbacks={}),e=d[a]||(d[a]=[]);e.push([b,c]);return this},unbind:function(a,b){var c;if(!a)this._callbacks={};else if(c=this._callbacks)if(!b)c[a]=[];else{var d=c[a];if(!d)return this;for(var e=0,f=d.length;e<f;e++)if(d[e]&&b===d[e][0]){d[e]=null;break}}return this},trigger:function(a){var b,c,d,e,f,g=2;if(!(c=this._callbacks))return this;while(g--){d=g?a:"all";if(b=c[d])for(var h=0,i=b.length;h<i;h++)(e=b[h])?(f=g?Array.prototype.slice.call(arguments,1):arguments,e[0].apply(e[1]||this,f)):(b.splice(h,1),h--,i--)}return this}},d.Model=function(a,b){var c;a||(a={});if(c=this.defaults)f.isFunction(c)&&(c=c.call(this)),a=f.extend({},c,a);this.attributes={},this._escapedAttributes={},this.cid=f.uniqueId("c"),this.set(a,{silent:!0}),this._changed=!1,this._previousAttributes=f.clone(this.attributes),b&&b.collection&&(this.collection=b.collection),this.initialize(a,b)},f.extend(d.Model.prototype,d.Events,{_previousAttributes:null,_changed:!1,idAttribute:"id",initialize:function(){},toJSON:function(){return f.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(a){var b;if(b=this._escapedAttributes[a])return b;var c=this.attributes[a];return this._escapedAttributes[a]=y(c==null?"":""+c)},has:function(a){return this.attributes[a]!=null},set:function(a,b){b||(b={});if(!a)return this;a.attributes&&(a=a.attributes);var c=this.attributes,d=this._escapedAttributes;if(!b.silent&&this.validate&&!this._performValidation(a,b))return!1;this.idAttribute in a&&(this.id=a[this.idAttribute]);var e=this._changing;this._changing=!0;for(var g in a){var h=a[g];f.isEqual(c[g],h)||(c[g]=h,delete d[g],this._changed=!0,b.silent||this.trigger("change:"+g,this,h,b))}!e&&!b.silent&&this._changed&&this.change(b),this._changing=!1;return this},unset:function(a,b){if(a in this.attributes){b||(b={});var c=this.attributes[a],d={};d[a]=void 0;if(!b.silent&&this.validate&&!this._performValidation(d,b))return!1;delete this.attributes[a],delete this._escapedAttributes[a],a==this.idAttribute&&delete this.id,this._changed=!0,b.silent||(this.trigger("change:"+a,this,void 0,b),this.change(b));return this}return this},clear:function(a){a||(a={});var b,c=this.attributes,d={};for(b in c)d[b]=void 0;if(!a.silent&&this.validate&&!this._performValidation(d,a))return!1;this.attributes={},this._escapedAttributes={},this._changed=!0;if(!a.silent){for(b in c)this.trigger("change:"+b,this,void 0,a);this.change(a)}return this},fetch:function(a){a||(a={});var b=this,c=a.success;a.success=function(d,e,f){if(!b.set(b.parse(d,f),a))return!1;c&&c(b,d)},a.error=x(a.error,b,a);return(this.sync||d.sync).call(this,"read",this,a)},save:function(a,b){b||(b={});if(a&&!this.set(a,b))return!1;var c=this,e=b.success;b.success=function(a,d,f){if(!c.set(c.parse(a,f),b))return!1;e&&e(c,a,f)},b.error=x(b.error,c,b);var f=this.isNew()?"create":"update";return(this.sync||d.sync).call(this,f,this,b)},destroy:function(a){a||(a={});if(this.isNew())return this.trigger("destroy",this,this.collection,a);var b=this,c=a.success;a.success=function(d){b.trigger("destroy",b,b.collection,a),c&&c(b,d)},a.error=x(a.error,b,a);return(this.sync||d.sync).call(this,"delete",this,a)},url:function(){var a=v(this.collection)||this.urlRoot||w();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this)},isNew:function(){return this.id==null},change:function(a){this.trigger("change",this,a),this._previousAttributes=f.clone(this.attributes),this._changed=!1},hasChanged:function(a){return a?this._previousAttributes[a]!=this.attributes[a]:this._changed},changedAttributes:function(a){a||(a=this.attributes);var b=this._previousAttributes,c=!1;for(var d in a)f.isEqual(b[d],a[d])||(c=c||{},c[d]=a[d]);return c},previous:function(a){return!a||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return f.clone(this._previousAttributes)},_performValidation:function(a,b){var c=this.validate(a);if(c){b.error?b.error(this,c,b):this.trigger("error",this,c,b);return!1}return!0}}),d.Collection=function(a,b){b||(b={}),b.comparator&&(this.comparator=b.comparator),f.bindAll(this,"_onModelEvent","_removeReference"),this._reset(),a&&this.reset(a,{silent:!0}),this.initialize.apply(this,arguments)},f.extend(d.Collection.prototype,d.Events,{model:d.Model,initialize:function(){},toJSON:function(){return this.map(function(a){return a.toJSON()})},add:function(a,b){if(f.isArray(a))for(var c=0,d=a.length;c<d;c++)this._add(a[c],b);else this._add(a,b);return this},remove:function(a,b){if(f.isArray(a))for(var c=0,d=a.length;c<d;c++)this._remove(a[c],b);else this._remove(a,b);return this},get:function(a){return a==null?null:this._byId[a.id!=null?a.id:a]},getByCid:function(a){return a&&this._byCid[a.cid||a]},at:function(a){return this.models[a]},sort:function(a){a||(a={});if(!this.comparator)throw new Error("Cannot sort a set without a comparator");this.models=this.sortBy(this.comparator),a.silent||this.trigger("reset",this,a);return this},pluck:function(a){return f.map(this.models,function(b){return b.get(a)})},reset:function(a,b){a||(a=[]),b||(b={}),this.each(this._removeReference),this._reset(),this.add(a,{silent:!0}),b.silent||this.trigger("reset",this,b);return this},fetch:function(a){a||(a={});var b=this,c=a.success;a.success=function(d,e,f){b[a.add?"add":"reset"](b.parse(d,f),a),c&&c(b,d)},a.error=x(a.error,b,a);return(this.sync||d.sync).call(this,"read",this,a)},create:function(a,b){var c=this;b||(b={}),a=this._prepareModel(a,b);if(!a)return!1;var d=b.success;b.success=function(a,e,f){c.add(a,b),d&&d(a,e,f)},a.save(null,b);return a},parse:function(a,b){return a},chain:function(){return f(this.models).chain()},_reset:function(a){this.length=0,this.models=[],this._byId={},this._byCid={}},_prepareModel:function(a,b){if(a instanceof d.Model)a.collection||(a.collection=this);else{var c=a;a=new this.model(c,{collection:this}),a.validate&&!a._performValidation(c,b)&&(a=!1)}return a},_add:function(a,b){b||(b={}),a=this._prepareModel(a,b);if(!a)return!1;var c=this.getByCid(a);if(c)throw new Error(["Can't add the same model to a set twice",c.id]);this._byId[a.id]=a,this._byCid[a.cid]=a;var d=b.at!=null?b.at:this.comparator?this.sortedIndex(a,this.comparator):this.length;this.models.splice(d,0,a),a.bind("all",this._onModelEvent),this.length++,b.silent||a.trigger("add",a,this,b);return a},_remove:function(a,b){b||(b={}),a=this.getByCid(a)||this.get(a);if(!a)return null;delete this._byId[a.id],delete this._byCid[a.cid],this.models.splice(this.indexOf(a),1),this.length--,b.silent||a.trigger("remove",a,this,b),this._removeReference(a);return a},_removeReference:function(a){this==a.collection&&delete a.collection,a.unbind("all",this._onModelEvent)},_onModelEvent:function(a,b,c,d){if(a!="add"&&a!="remove"||c==this)a=="destroy"&&this._remove(b,d),b&&a==="change:"+b.idAttribute&&(delete this._byId[b.previous(b.idAttribute)],this._byId[b.id]=b),this.trigger.apply(this,arguments);else return}});var h=["forEach","each","map","reduce","reduceRight","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","sortBy","sortedIndex","toArray","size","first","rest","last","without","indexOf","lastIndexOf","isEmpty"];f.each(h,function(a){d.Collection.prototype[a]=function(){return f[a].apply(f,[this.models].concat(f.toArray(arguments)))}}),d.Router=function(a){a||(a={}),a.routes&&(this.routes=a.routes),this._bindRoutes(),this.initialize.apply(this,arguments)};var i=/:([\w\d]+)/g,j=/\*([\w\d]+)/g,k=/[-[\]{}()+?.,\\^$|#\s]/g;f.extend(d.Router.prototype,d.Events,{initialize:function(){},route:function(a,b,c){d.history||(d.history=new d.History),f.isRegExp(a)||(a=this._routeToRegExp(a)),d.history.route(a,f.bind(function(d){var e=this._extractParameters(a,d);c.apply(this,e),this.trigger.apply(this,["route:"+b].concat(e))},this))},navigate:function(a,b){d.history.navigate(a,b)},_bindRoutes:function(){if(!!this.routes){var a=[];for(var b in this.routes)a.unshift([b,this.routes[b]]);for(var c=0,d=a.length;c<d;c++)this.route(a[c][0],a[c][1],this[a[c][1]])}},_routeToRegExp:function(a){a=a.replace(k,"\\$&").replace(i,"([^/]*)").replace(j,"(.*?)");return new RegExp("^"+a+"$")},_extractParameters:function(a,b){return a.exec(b).slice(1)}}),d.History=function(){this.handlers=[],f.bindAll(this,"checkUrl")};var l=/^#*/,m=/msie [\w.]+/,n=!1;f.extend(d.History.prototype,{interval:50,getFragment:function(a,b){if(a==null)if(this._hasPushState||b){a=window.location.pathname;var c=window.location.search;c&&(a+=c),a.indexOf(this.options.root)==0&&(a=a.substr(this.options.root.length))}else a=window.location.hash;return a.replace(l,"")},start:function(a){if(n)throw new Error("Backbone.history has already been started");this.options=f.extend({},{root:"/"},this.options,a),this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&window.history&&window.history.pushState);var b=this.getFragment(),c=document.documentMode,d=m.exec(navigator.userAgent.toLowerCase())&&(!c||c<=7);d&&(this.iframe=g('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow,this.navigate(b)),this._hasPushState?g(window).bind("popstate",this.checkUrl):"onhashchange"in window&&!d?g(window).bind("hashchange",this.checkUrl):setInterval(this.checkUrl,this.interval),this.fragment=b,n=!0;var e=window.location,h=e.pathname==this.options.root;if(this._wantsPushState&&!this._hasPushState&&!h){this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment);return!0}this._wantsPushState&&this._hasPushState&&h&&e.hash&&(this.fragment=e.hash.replace(l,""),window.history.replaceState({},document.title,e.protocol+"//"+e.host+this.options.root+this.fragment));return this.loadUrl()},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.iframe.location.hash));if(b==this.fragment||b==decodeURIComponent(this.fragment))return!1;this.iframe&&this.navigate(b),this.loadUrl()||this.loadUrl(window.location.hash)},loadUrl:function(a){var b=this.fragment=this.getFragment(a),c=f.any(this.handlers,function(a){if(a.route.test(b)){a.callback(b);return!0}});return c},navigate:function(a,b){var c=(a||"").replace(l,"");if(this.fragment!=c&&this.fragment!=decodeURIComponent(c)){if(this._hasPushState){var d=window.location;c.indexOf(this.options.root)!=0&&(c=this.options.root+c),this.fragment=c,window.history.pushState({},document.title,d.protocol+"//"+d.host+c)}else window.location.hash=this.fragment=c,this.iframe&&c!=this.getFragment(this.iframe.location.hash)&&(this.iframe.document.open().close(),this.iframe.location.hash=c);b&&this.loadUrl(a)}}}),d.View=function(a){this.cid=f.uniqueId("view"),this._configure(a||{}),this._ensureElement(),this.delegateEvents(),this.initialize.apply(this,arguments)};var o=function(a){return g(a,this.el)},p=/^(\S+)\s*(.*)$/,q=["model","collection","el","id","attributes","className","tagName"];f.extend(d.View.prototype,d.Events,{tagName:"div",$:o,initialize:function(){},render:function(){return this},remove:function(){g(this.el).remove();return this},make:function(a,b,c){var d=document.createElement(a);b&&g(d).attr(b),c&&g(d).html(c);return d},delegateEvents:function(a){if(!!a||!!(a=this.events)){g(this.el).unbind(".delegateEvents"+this.cid);for(var b in a){var c=this[a[b]];if(!c)throw new Error('Event "'+a[b]+'" does not exist');var d=b.match(p),e=d[1],h=d[2];c=f.bind(c,this),e+=".delegateEvents"+this.cid,h===""?g(this.el).bind(e,c):g(this.el).delegate(h,e,c)}}},_configure:function(a){this.options&&(a=f.extend({},this.options,a));for(var b=0,c=q.length;b<c;b++){var d=q[b];a[d]&&(this[d]=a[d])}this.options=a},_ensureElement:function(){if(!this.el){var a=this.attributes||{};this.id&&(a.id=this.id),this.className&&(a["class"]=this.className),this.el=this.make(this.tagName,a)}else f.isString(this.el)&&(this.el=g(this.el).get(0))}});var r=function(a,b){var c=u(this,a,b);c.extend=this.extend;return c};d.Model.extend=d.Collection.extend=d.Router.extend=d.View.extend=r;var s={create:"POST",update:"PUT","delete":"DELETE",read:"GET"};d.sync=function(a,b,c){var e=s[a],h=f.extend({type:e,dataType:"json"},c);h.url||(h.url=v(b)||w()),!h.data&&b&&(a=="create"||a=="update")&&(h.contentType="application/json",h.data=JSON.stringify(b.toJSON())),d.emulateJSON&&(h.contentType="application/x-www-form-urlencoded",h.data=h.data?{model:h.data}:{}),d.emulateHTTP&&(e==="PUT"||e==="DELETE")&&(d.emulateJSON&&(h.data._method=e),h.type="POST",h.beforeSend=function(a){a.setRequestHeader("X-HTTP-Method-Override",e)}),h.type!=="GET"&&(h.processData=!1);return g.ajax(h)};var t=function(){},u=function(a,b,c){var d;b&&b.hasOwnProperty("constructor")?d=b.constructor:d=function(){return a.apply(this,arguments)},f.extend(d,a),t.prototype=a.prototype,d.prototype=new t,b&&f.extend(d.prototype,b),c&&f.extend(d,c),d.prototype.constructor=d,d.__super__=a.prototype;return d},v=function(a){return!a||!a.url?null:f.isFunction(a.url)?a.url():a.url},w=function(){throw new Error('A "url" property or function must be specified')},x=function(a,b,c){return function(d){a?a(b,d,c):b.trigger("error",b,d,c)}},y=function(a){return a.replace(/&(?!\w+;|#\d+;|#x[\da-f]+;)/gi,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")}}).call(this)}.call(a.exports),__require.modules["/node_modules/backbone/backbone.js"]._cached=a.exports;return a.exports},require.modules["/node_modules/async/package.json"]=function(){var a={exports:{}},b=a.exports,c="/node_modules/async",d="/node_modules/async/package.json",e=function(a){return __require(a,"/node_modules/async")};e.resolve=function(a){return __require.resolve(name,"/node_modules/async")},e.modules=__require.modules,__require.modules["/node_modules/async/package.json"]._cached=a.exports,function(){a.exports={name:"async",description:"Higher-order functions and common patterns for asynchronous code",main:"./index",author:"Caolan McMahon",version:"0.1.9",repository:{type:"git",url:"http://github.com/caolan/async.git"},bugs:{web:"http://github.com/caolan/async/issues"},licenses:[{type:"MIT",url:"http://github.com/caolan/async/raw/master/LICENSE"}]}}.call(a.exports),__require.modules["/node_modules/async/package.json"]._cached=a.exports;return a.exports},require.modules["/node_modules/async/index.js"]=function(){var a={exports:{}},b=a.exports,c="/node_modules/async",d="/node_modules/async/index.js",e=function(a){return __require(a,"/node_modules/async")};e.resolve=function(a){return __require.resolve(name,"/node_modules/async")},e.modules=__require.modules,__require.modules["/node_modules/async/index.js"]._cached=a.exports,function(){a.exports=e("./lib/async")}.call(a.exports),__require.modules["/node_modules/async/index.js"]._cached=a.exports;return a.exports},require.modules["/node_modules/async/lib/async.js"]=function(){var a={exports:{}},b=a.exports,c="/node_modules/async/lib",d="/node_modules/async/lib/async.js",e=function(a){return __require(a,"/node_modules/async/lib")};e.resolve=function(a){return __require.resolve(name,"/node_modules/async/lib")},e.modules=__require.modules,__require.modules["/node_modules/async/lib/async.js"]._cached=a.exports,function(){(function(){var b={},c=this,d=c.async;typeof a!="undefined"&&a.exports?a.exports=b:c.async=b,b.noConflict=function(){c.async=d;return b};var e=function(a,b){if(a.forEach)return a.forEach(b);for(var c=0;c<a.length;c+=1)b(a[c],c,a)},f=function(a,b){if(a.map)return a.map(b);var c=[];e(a,function(a,d,e){c.push(b(a,d,e))});return c},g=function(a,b,c){if(a.reduce)return a.reduce(b,c);e(a,function(a,d,e){c=b(c,a,d,e)});return c},h=function(a){if(Object.keys)return Object.keys(a);var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b},i=function(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c+=1)if(a[c]===b)return c;return-1};typeof process=="undefined"||!process.nextTick?b.nextTick=function(a){setTimeout(a,0)}:b.nextTick=process.nextTick,b.forEach=function(a,b,c){if(!a.length)return c();var d=0;e(a,function(e){b(e,function(b){b?(c(b),c=function(){}):(d+=1,d===a.length&&c())})})},b.forEachSeries=function(a,b,c){if(!a.length)return c();var d=0,e=function(){b(a[d],function(b){b?(c(b),c=function(){}):(d+=1,d===a.length?c():e())})};e()};var j=function(a){return function(){var c=Array.prototype.slice.call(arguments);return a.apply(null,[b.forEach].concat(c))}},k=function(a){return function(){var c=Array.prototype.slice.call(arguments);return a.apply(null,[b.forEachSeries].concat(c))}},l=function(a,b,c,d){var e=[];b=f(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c,d){e[a.index]=d,b(c)})},function(a){d(a,e)})};b.map=j(l),b.mapSeries=k(l),b.reduce=function(a,c,d,e){b.forEachSeries(a,function(a,b){d(c,a,function(a,d){c=d,b(a)})},function(a){e(a,c)})},b.inject=b.reduce,b.foldl=b.reduce,b.reduceRight=function(a,c,d,e){var g=f(a,function(a){return a}).reverse();b.reduce(g,c,d,e)},b.foldr=b.reduceRight;var m=function(a,b,c,d){var e=[];b=f(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c){c&&e.push(a),b()})},function(a){d(f(e.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};b.filter=j(m),b.filterSeries=k(m),b.select=b.filter,b.selectSeries=b.filterSeries;var n=function(a,b,c,d){var e=[];b=f(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c){c||e.push(a),b()})},function(a){d(f(e.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};b.reject=j(n),b.rejectSeries=k(n);var o=function(a,b,c,d){a(b,function(a,b){c(a,function(c){c?d(a):b()})},function(a){d()})};b.detect=j(o),b.detectSeries=k(o),b.some=function(a,c,d){b.forEach(a,function(a,b){c(a,function(a){a&&(d(!0),d=function(){}),b()})},function(a){d(!1)})},b.any=b.some,b.every=function(a,c,d){b.forEach(a,function(a,b){c(a,function(a){a||(d(!1),d=function(){}),b()})},function(a){d(!0)})},b.all=b.every,b.sortBy=function(a,c,d){b.map(a,function(a,b){c(a,function(c,d){c?b(c):b(null,{value:a,criteria:d})})},function(a,b){if(a)return d(a);var c=function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0};d(null,f(b.sort(c),function(a){return a.value}))})},b.auto=function(a,b){b=b||function(){};var c=h(a);if(!c.length)return b(null);var d=[],f=[],j=function(a){f.unshift(a)},k=function(a){for(var b=0;b<f.length;b+=1)if(f[b]===a){f.splice(b,1);return}},l=function(){e(f,function(a){a()})};j(function(){d.length===c.length&&b(null)}),e(c,function(c){var e=a[c]instanceof Function?[a[c]]:a[c],f=function(a){a?(b(a),b=function(){}):(d.push(c),l())},h=e.slice(0,Math.abs(e.length-1))||[],m=function(){return g(h,function(a,b){return a&&i(d,b)!==-1},!0)};if(m())e[e.length-1](f);else{var n=function(){m()&&(k(n),e[e.length-1](f))};j(n)}})},b.waterfall=function(a,c){if(!a.length)return c();c=c||function(){};var d=function(a){return function(e){if(e)c(e),c=function(){};else{var f=Array.prototype.slice.call(arguments,1),g=a.next();g?f.push(d(g)):f.push(c),b.nextTick(function(){a.apply(null,f)})}}};d(b.iterator(a))()},b.parallel=function(a,c){c=c||function(){};if(a.constructor===Array)b.map(a,function(a,b){a&&a(function(a){var c=Array.prototype.slice.call(arguments,1);c.length<=1&&(c=c[0]),b.call(null,a,c)})},c);else{var d={};b.forEach(h(a),function(b,c){a[b](function(a){var e=Array.prototype.slice.call(arguments,1);e.length<=1&&(e=e[0]),d[b]=e,c(a)})},function(a){c(a,d)})}},b.series=function(a,c){c=c||function(){};if(a.constructor===Array)b.mapSeries(a,function(a,b){a&&a(function(a){var c=Array.prototype.slice.call(arguments,1);c.length<=1&&(c=c[0]),b.call(null,a,c)})},c);else{var d={};b.forEachSeries(h(a),function(b,c){a[b](function(a){var e=Array.prototype.slice.call(arguments,1);e.length<=1&&(e=e[0]),d[b]=e,c(a)})},function(a){c(a,d)})}},b.iterator=function(a){var b=function(c){var d=function(){a.length&&a[c].apply(null,arguments);return d.next()};d.next=function(){return c<a.length-1?b(c+1):null};return d};return b(0)},b.apply=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b.concat(Array.prototype.slice.call(arguments)))}};var p=function(a,b,c,d){var e=[];a(b,function(a,b){c(a,function(a,c){e=e.concat(c||[]),b(a)})},function(a){d(a,e)})};b.concat=j(p),b.concatSeries=k(p),b.whilst=function(a,c,d){a()?c(function(e){if(e)return d(e);b.whilst(a,c,d)}):d()},b.until=function(a,c,d){a()?d():c(function(e){if(e)return d(e);b.until(a,c,d)})},b.queue=function(a,c){var d=0,e=[],f={concurrency:c,saturated:null,empty:null,drain:null,push:function(a,d){e.push({data:a,callback:d}),f.saturated&&e.length==c&&f.saturated(),b.nextTick(f.process)},process:function(){if(d<f.concurrency&&e.length){var b=e.splice(0,1)[0];f.empty&&e.length==0&&f.empty(),d+=1,a(b.data,function(){d-=1,b.callback&&b.callback.apply(b,arguments),f.drain&&e.length+d==0&&f.drain(),f.process()})}},length:function(){return e.length},running:function(){return d}};return f};var q=function(a){return function(b){var c=Array.prototype.slice.call(arguments,1);b.apply(null,c.concat([function(b){var c=Array.prototype.slice.call(arguments,1);typeof console!="undefined"&&(b?console.error&&console.error(b):console[a]&&e(c,function(b){console[a](b)}))}]))}};b.log=q("log"),b.dir=q("dir"),b.memoize=function(a,b){var c={};b=b||function(a){return a};return function(){var d=Array.prototype.slice.call(arguments),e=d.pop(),f=b.apply(null,d);f in c?e.apply(null,c[f]):a.apply(null,d.concat([function(){c[f]=arguments,e.apply(null,arguments)}]))}}})()}.call(a.exports),__require.modules["/node_modules/async/lib/async.js"]._cached=a.exports;return a.exports}
