(function(){function nt(t){function r(n,i,r,u,f,e){for(;f>=0&&e>f;f+=t){var o=u?u[f]:f;r=i(r,n[o],o,n)}return r}return function(u,f,o,s){f=e(f,s,4);var h=!i(u)&&n.keys(u),l=(h||u).length,c=t>0?0:l-1;return arguments.length<3&&(o=u[h?h[c]:c],c+=t),r(u,f,o,h,c,l)}}function tt(n){return function(i,r,f){r=t(r,f);for(var o=u(i),e=n>0?0:o-1;e>=0&&o>e;e+=n)if(r(i[e],e,i))return e;return-1}}function it(t,i,f){return function(e,o,s){var c=0,h=u(e);if("number"==typeof s)t>0?c=s>=0?s:Math.max(s+h,c):h=s>=0?Math.min(s+1,h):s+h+1;else if(f&&s&&h)return s=f(e,o),e[s]===o?s:-1;if(o!==o)return s=i(r.call(e,c,h),n.isNaN),s>=0?s+c:-1;for(s=t>0?c:h-1;s>=0&&h>s;s+=t)if(e[s]===o)return s;return-1}}function rt(t,i){var u=d.length,f=t.constructor,e=n.isFunction(f)&&f.prototype||v,r="constructor";for(n.has(t,r)&&!n.contains(i,r)&&i.push(r);u--;)r=d[u],r in t&&t[r]!==e[r]&&!n.contains(i,r)&&i.push(r)}var a=this,lt=a._,s=Array.prototype,v=Object.prototype,at=Function.prototype,vt=s.push,r=s.slice,o=v.toString,yt=v.hasOwnProperty,pt=Array.isArray,ut=Object.keys,y=at.bind,ft=Object.create,p=function(){},n=function(t){return t instanceof n?t:this instanceof n?void(this._wrapped=t):new n(t)},e,t,h,f,b,k,d,c,ct,l;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=n),exports._=n):a._=n;n.VERSION="1.8.3";e=function(n,t,i){if(t===void 0)return n;switch(null==i?3:i){case 1:return function(i){return n.call(t,i)};case 2:return function(i,r){return n.call(t,i,r)};case 3:return function(i,r,u){return n.call(t,i,r,u)};case 4:return function(i,r,u,f){return n.call(t,i,r,u,f)}}return function(){return n.apply(t,arguments)}};t=function(t,i,r){return null==t?n.identity:n.isFunction(t)?e(t,i,r):n.isObject(t)?n.matcher(t):n.property(t)};n.iteratee=function(n,i){return t(n,i,1/0)};var w=function(n,t){return function(i){var e=arguments.length,r,u;if(2>e||null==i)return i;for(r=1;e>r;r++)for(var o=arguments[r],s=n(o),h=s.length,f=0;h>f;f++)u=s[f],t&&i[u]!==void 0||(i[u]=o[u]);return i}},et=function(t){if(!n.isObject(t))return{};if(ft)return ft(t);p.prototype=t;var i=new p;return p.prototype=null,i},ot=function(n){return function(t){if(null!=t)return t[n]}},wt=Math.pow(2,53)-1,u=ot("length"),i=function(n){var t=u(n);return"number"==typeof t&&t>=0&&wt>=t};n.each=n.forEach=function(t,r,u){var f,o,s;if(r=e(r,u),i(t))for(f=0,o=t.length;o>f;f++)r(t[f],f,t);else for(s=n.keys(t),f=0,o=s.length;o>f;f++)r(t[s[f]],s[f],t);return t};n.map=n.collect=function(r,u,f){var s;u=t(u,f);for(var o=!i(r)&&n.keys(r),h=(o||r).length,c=Array(h),e=0;h>e;e++)s=o?o[e]:e,c[e]=u(r[s],s,r);return c};n.reduce=n.foldl=n.inject=nt(1);n.reduceRight=n.foldr=nt(-1);n.find=n.detect=function(t,r,u){var f;return f=i(t)?n.findIndex(t,r,u):n.findKey(t,r,u),f!==void 0&&f!==-1?t[f]:void 0};n.filter=n.select=function(i,r,u){var f=[];return r=t(r,u),n.each(i,function(n,t,i){r(n,t,i)&&f.push(n)}),f};n.reject=function(i,r,u){return n.filter(i,n.negate(t(r)),u)};n.every=n.all=function(r,u,f){var s;u=t(u,f);for(var o=!i(r)&&n.keys(r),h=(o||r).length,e=0;h>e;e++)if(s=o?o[e]:e,!u(r[s],s,r))return!1;return!0};n.some=n.any=function(r,u,f){var s;u=t(u,f);for(var o=!i(r)&&n.keys(r),h=(o||r).length,e=0;h>e;e++)if(s=o?o[e]:e,u(r[s],s,r))return!0;return!1};n.contains=n.includes=n.include=function(t,r,u,f){return i(t)||(t=n.values(t)),("number"!=typeof u||f)&&(u=0),n.indexOf(t,r,u)>=0};n.invoke=function(t,i){var u=r.call(arguments,2),f=n.isFunction(i);return n.map(t,function(n){var t=f?i:n[i];return null==t?t:t.apply(n,u)})};n.pluck=function(t,i){return n.map(t,n.property(i))};n.where=function(t,i){return n.filter(t,n.matcher(i))};n.findWhere=function(t,i){return n.find(t,n.matcher(i))};n.max=function(r,u,f){var h,o,e=-1/0,c=-1/0,s,l;if(null==u&&null!=r)for(r=i(r)?r:n.values(r),s=0,l=r.length;l>s;s++)h=r[s],h>e&&(e=h);else u=t(u,f),n.each(r,function(n,t,i){o=u(n,t,i);(o>c||o===-1/0&&e===-1/0)&&(e=n,c=o)});return e};n.min=function(r,u,f){var h,o,e=1/0,c=1/0,s,l;if(null==u&&null!=r)for(r=i(r)?r:n.values(r),s=0,l=r.length;l>s;s++)h=r[s],e>h&&(e=h);else u=t(u,f),n.each(r,function(n,t,i){o=u(n,t,i);(c>o||1/0===o&&1/0===e)&&(e=n,c=o)});return e};n.shuffle=function(t){for(var u,e=i(t)?t:n.values(t),o=e.length,f=Array(o),r=0;o>r;r++)u=n.random(0,r),u!==r&&(f[r]=f[u]),f[u]=e[r];return f};n.sample=function(t,r,u){return null==r||u?(i(t)||(t=n.values(t)),t[n.random(t.length-1)]):n.shuffle(t).slice(0,Math.max(0,r))};n.sortBy=function(i,r,u){return r=t(r,u),n.pluck(n.map(i,function(n,t,i){return{value:n,index:t,criteria:r(n,t,i)}}).sort(function(n,t){var i=n.criteria,r=t.criteria;if(i!==r){if(i>r||i===void 0)return 1;if(r>i||r===void 0)return-1}return n.index-t.index}),"value")};h=function(i){return function(r,u,f){var e={};return u=t(u,f),n.each(r,function(n,t){var f=u(n,t,r);i(e,n,f)}),e}};n.groupBy=h(function(t,i,r){n.has(t,r)?t[r].push(i):t[r]=[i]});n.indexBy=h(function(n,t,i){n[i]=t});n.countBy=h(function(t,i,r){n.has(t,r)?t[r]++:t[r]=1});n.toArray=function(t){return t?n.isArray(t)?r.call(t):i(t)?n.map(t,n.identity):n.values(t):[]};n.size=function(t){return null==t?0:i(t)?t.length:n.keys(t).length};n.partition=function(i,r,u){r=t(r,u);var f=[],e=[];return n.each(i,function(n,t,i){(r(n,t,i)?f:e).push(n)}),[f,e]};n.first=n.head=n.take=function(t,i,r){if(null!=t)return null==i||r?t[0]:n.initial(t,t.length-i)};n.initial=function(n,t,i){return r.call(n,0,Math.max(0,n.length-(null==t||i?1:t)))};n.last=function(t,i,r){if(null!=t)return null==i||r?t[t.length-1]:n.rest(t,Math.max(0,t.length-i))};n.rest=n.tail=n.drop=function(n,t,i){return r.call(n,null==t||i?1:t)};n.compact=function(t){return n.filter(t,n.identity)};f=function(t,r,e,o){for(var s,l,a,h=[],v=0,c=o||0,y=u(t);y>c;c++)if(s=t[c],i(s)&&(n.isArray(s)||n.isArguments(s)))for(r||(s=f(s,r,e)),l=0,a=s.length,h.length+=a;a>l;)h[v++]=s[l++];else e||(h[v++]=s);return h};n.flatten=function(n,t){return f(n,t,!1)};n.without=function(t){return n.difference(t,r.call(arguments,1))};n.uniq=n.unique=function(i,r,f,e){var o,c;n.isBoolean(r)||(e=f,f=r,r=!1);null!=f&&(f=t(f,e));for(var s=[],l=[],h=0,a=u(i);a>h;h++)o=i[h],c=f?f(o,h,i):o,r?(h&&l===c||s.push(o),l=c):f?n.contains(l,c)||(l.push(c),s.push(o)):n.contains(s,o)||s.push(o);return s};n.union=function(){return n.uniq(f(arguments,!0,!0))};n.intersection=function(t){for(var r,i,f=[],o=arguments.length,e=0,s=u(t);s>e;e++)if(r=t[e],!n.contains(f,r)){for(i=1;o>i&&n.contains(arguments[i],r);i++);i===o&&f.push(r)}return f};n.difference=function(t){var i=f(arguments,!0,!0,1);return n.filter(t,function(t){return!n.contains(i,t)})};n.zip=function(){return n.unzip(arguments)};n.unzip=function(t){for(var r=t&&n.max(t,u).length||0,f=Array(r),i=0;r>i;i++)f[i]=n.pluck(t,i);return f};n.object=function(n,t){for(var r={},i=0,f=u(n);f>i;i++)t?r[n[i]]=t[i]:r[n[i][0]]=n[i][1];return r};n.findIndex=tt(1);n.findLastIndex=tt(-1);n.sortedIndex=function(n,i,r,f){var o;r=t(r,f,1);for(var h=r(i),e=0,s=u(n);s>e;)o=Math.floor((e+s)/2),r(n[o])<h?e=o+1:s=o;return e};n.indexOf=it(1,n.findIndex,n.sortedIndex);n.lastIndexOf=it(-1,n.findLastIndex);n.range=function(n,t,i){null==t&&(t=n||0,n=0);i=i||1;for(var u=Math.max(Math.ceil((t-n)/i),0),f=Array(u),r=0;u>r;r++,n+=i)f[r]=n;return f};b=function(t,i,r,u,f){if(!(u instanceof i))return t.apply(r,f);var e=et(t.prototype),o=t.apply(e,f);return n.isObject(o)?o:e};n.bind=function(t,i){if(y&&t.bind===y)return y.apply(t,r.call(arguments,1));if(!n.isFunction(t))throw new TypeError("Bind must be called on a function");var f=r.call(arguments,2),u=function(){return b(t,u,i,this,f.concat(r.call(arguments)))};return u};n.partial=function(t){var i=r.call(arguments,1),u=function(){for(var f=0,o=i.length,e=Array(o),r=0;o>r;r++)e[r]=i[r]===n?arguments[f++]:i[r];for(;f<arguments.length;)e.push(arguments[f++]);return b(t,u,this,this,e)};return u};n.bindAll=function(t){var i,r,u=arguments.length;if(1>=u)throw new Error("bindAll must be passed function names");for(i=1;u>i;i++)r=arguments[i],t[r]=n.bind(t[r],t);return t};n.memoize=function(t,i){var r=function(u){var f=r.cache,e=""+(i?i.apply(this,arguments):u);return n.has(f,e)||(f[e]=t.apply(this,arguments)),f[e]};return r.cache={},r};n.delay=function(n,t){var i=r.call(arguments,2);return setTimeout(function(){return n.apply(null,i)},t)};n.defer=n.partial(n.delay,n,1);n.throttle=function(t,i,r){var f,e,s,u=null,o=0,h;return r||(r={}),h=function(){o=r.leading===!1?0:n.now();u=null;s=t.apply(f,e);u||(f=e=null)},function(){var l=n.now(),c;return o||r.leading!==!1||(o=l),c=i-(l-o),f=this,e=arguments,0>=c||c>i?(u&&(clearTimeout(u),u=null),o=l,s=t.apply(f,e),u||(f=e=null)):u||r.trailing===!1||(u=setTimeout(h,c)),s}};n.debounce=function(t,i,r){var u,f,e,s,o,h=function(){var c=n.now()-s;i>c&&c>=0?u=setTimeout(h,i-c):(u=null,r||(o=t.apply(e,f),u||(e=f=null)))};return function(){e=this;f=arguments;s=n.now();var c=r&&!u;return u||(u=setTimeout(h,i)),c&&(o=t.apply(e,f),e=f=null),o}};n.wrap=function(t,i){return n.partial(i,t)};n.negate=function(n){return function(){return!n.apply(this,arguments)}};n.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,i=n[t].apply(this,arguments);r--;)i=n[r].call(this,i);return i}};n.after=function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}};n.before=function(n,t){var i;return function(){return--n>0&&(i=t.apply(this,arguments)),1>=n&&(t=null),i}};n.once=n.partial(n.before,2);k=!{toString:null}.propertyIsEnumerable("toString");d=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];n.keys=function(t){var i,r;if(!n.isObject(t))return[];if(ut)return ut(t);i=[];for(r in t)n.has(t,r)&&i.push(r);return k&&rt(t,i),i};n.allKeys=function(t){var i,r;if(!n.isObject(t))return[];i=[];for(r in t)i.push(r);return k&&rt(t,i),i};n.values=function(t){for(var r=n.keys(t),u=r.length,f=Array(u),i=0;u>i;i++)f[i]=t[r[i]];return f};n.mapObject=function(i,r,u){r=t(r,u);for(var f,o=n.keys(i),h=o.length,s={},e=0;h>e;e++)f=o[e],s[f]=r(i[f],f,i);return s};n.pairs=function(t){for(var r=n.keys(t),u=r.length,f=Array(u),i=0;u>i;i++)f[i]=[r[i],t[r[i]]];return f};n.invert=function(t){for(var u={},r=n.keys(t),i=0,f=r.length;f>i;i++)u[t[r[i]]]=r[i];return u};n.functions=n.methods=function(t){var i=[];for(var r in t)n.isFunction(t[r])&&i.push(r);return i.sort()};n.extend=w(n.allKeys);n.extendOwn=n.assign=w(n.keys);n.findKey=function(i,r,u){r=t(r,u);for(var f,o=n.keys(i),e=0,s=o.length;s>e;e++)if(f=o[e],r(i[f],f,i))return f};n.pick=function(t,i,r){var c,o,l={},u=t,s,v,h,a;if(null==u)return l;for(n.isFunction(i)?(o=n.allKeys(u),c=e(i,r)):(o=f(arguments,!1,!1,1),c=function(n,t,i){return t in i},u=Object(u)),s=0,v=o.length;v>s;s++)h=o[s],a=u[h],c(a,h,u)&&(l[h]=a);return l};n.omit=function(t,i,r){if(n.isFunction(i))i=n.negate(i);else{var u=n.map(f(arguments,!1,!1,1),String);i=function(t,i){return!n.contains(u,i)}}return n.pick(t,i,r)};n.defaults=w(n.allKeys,!0);n.create=function(t,i){var r=et(t);return i&&n.extendOwn(r,i),r};n.clone=function(t){return n.isObject(t)?n.isArray(t)?t.slice():n.extend({},t):t};n.tap=function(n,t){return t(n),n};n.isMatch=function(t,i){var e=n.keys(i),o=e.length,f,r,u;if(null==t)return!o;for(f=Object(t),r=0;o>r;r++)if(u=e[r],i[u]!==f[u]||!(u in f))return!1;return!0};c=function(t,i,r,u){var h,a,e,s,f,l,v;if(t===i)return 0!==t||1/t==1/i;if(null==t||null==i)return t===i;if(t instanceof n&&(t=t._wrapped),i instanceof n&&(i=i._wrapped),h=o.call(t),h!==o.call(i))return!1;switch(h){case"[object RegExp]":case"[object String]":return""+t==""+i;case"[object Number]":return+t!=+t?+i!=+i:0==+t?1/+t==1/i:+t==+i;case"[object Date]":case"[object Boolean]":return+t==+i}if(a="[object Array]"===h,!a&&("object"!=typeof t||"object"!=typeof i||(e=t.constructor,s=i.constructor,e!==s&&!(n.isFunction(e)&&e instanceof e&&n.isFunction(s)&&s instanceof s)&&"constructor"in t&&"constructor"in i)))return!1;for(r=r||[],u=u||[],f=r.length;f--;)if(r[f]===t)return u[f]===i;if(r.push(t),u.push(i),a){if(f=t.length,f!==i.length)return!1;for(;f--;)if(!c(t[f],i[f],r,u))return!1}else{if(v=n.keys(t),f=v.length,n.keys(i).length!==f)return!1;for(;f--;)if(l=v[f],!n.has(i,l)||!c(t[l],i[l],r,u))return!1}return r.pop(),u.pop(),!0};n.isEqual=function(n,t){return c(n,t)};n.isEmpty=function(t){return null==t?!0:i(t)&&(n.isArray(t)||n.isString(t)||n.isArguments(t))?0===t.length:0===n.keys(t).length};n.isElement=function(n){return!(!n||1!==n.nodeType)};n.isArray=pt||function(n){return"[object Array]"===o.call(n)};n.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n};n.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(t){n["is"+t]=function(n){return o.call(n)==="[object "+t+"]"}});n.isArguments(arguments)||(n.isArguments=function(t){return n.has(t,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(n.isFunction=function(n){return"function"==typeof n||!1});n.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))};n.isNaN=function(t){return n.isNumber(t)&&t!==+t};n.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===o.call(n)};n.isNull=function(n){return null===n};n.isUndefined=function(n){return n===void 0};n.has=function(n,t){return null!=n&&yt.call(n,t)};n.noConflict=function(){return a._=lt,this};n.identity=function(n){return n};n.constant=function(n){return function(){return n}};n.noop=function(){};n.property=ot;n.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}};n.matcher=n.matches=function(t){return t=n.extendOwn({},t),function(i){return n.isMatch(i,t)}};n.times=function(n,t,i){var u=Array(Math.max(0,n)),r;for(t=e(t,i,1),r=0;n>r;r++)u[r]=t(r);return u};n.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))};n.now=Date.now||function(){return(new Date).getTime()};var st={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},bt=n.invert(st),ht=function(t){var r=function(n){return t[n]},i="(?:"+n.keys(t).join("|")+")",u=RegExp(i),f=RegExp(i,"g");return function(n){return n=null==n?"":""+n,u.test(n)?n.replace(f,r):n}};n.escape=ht(st);n.unescape=ht(bt);n.result=function(t,i,r){var u=null==t?void 0:t[i];return u===void 0&&(u=r),n.isFunction(u)?u.call(t):u};ct=0;n.uniqueId=function(n){var t=++ct+"";return n?n+t:t};n.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var g=/(.)^/,kt={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},dt=/\\|'|\r|\n|\u2028|\u2029/g,gt=function(n){return"\\"+kt[n]};n.template=function(t,i,r){var o,f,h;!i&&r&&(i=r);i=n.defaults({},i,n.templateSettings);var c=RegExp([(i.escape||g).source,(i.interpolate||g).source,(i.evaluate||g).source].join("|")+"|$","g"),e=0,u="__p+='";t.replace(c,function(n,i,r,f,o){return u+=t.slice(e,o).replace(dt,gt),e=o+n.length,i?u+="'+\n((__t=("+i+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":f&&(u+="';\n"+f+"\n__p+='"),n});u+="';\n";i.variable||(u="with(obj||{}){\n"+u+"}\n");u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{o=new Function(i.variable||"obj","_",u)}catch(s){throw s.source=u,s;}return f=function(t){return o.call(this,t,n)},h=i.variable||"obj",f.source="function("+h+"){\n"+u+"}",f};n.chain=function(t){var i=n(t);return i._chain=!0,i};l=function(t,i){return t._chain?n(i).chain():i};n.mixin=function(t){n.each(n.functions(t),function(i){var r=n[i]=t[i];n.prototype[i]=function(){var t=[this._wrapped];return vt.apply(t,arguments),l(this,r.apply(n,t))}})};n.mixin(n);n.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var i=s[t];n.prototype[t]=function(){var n=this._wrapped;return i.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],l(this,n)}});n.each(["concat","join","slice"],function(t){var i=s[t];n.prototype[t]=function(){return l(this,i.apply(this._wrapped,arguments))}});n.prototype.value=function(){return this._wrapped};n.prototype.valueOf=n.prototype.toJSON=n.prototype.value;n.prototype.toString=function(){return""+this._wrapped};"function"==typeof define&&define.amd&&define("underscore",[],function(){return n})}).call(this);!function(n,t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t(require("jquery")):n.bootbox=t(n.jQuery)}(this,function a(n,t){"use strict";function a(n){var t=o[e.locale];return t?t[n]:o.en[n]}function f(t,i,r){t.stopPropagation();t.preventDefault();var u=n.isFunction(r)&&r(t)===!1;u||i.modal("hide")}function v(n){var i,t=0;for(i in n)t++;return t}function r(t,i){var r=0;n.each(t,function(n,t){i(n,t,r++)})}function y(t){var i,u;if("object"!=typeof t)throw new Error("Please supply an object of options");if(!t.message)throw new Error("Please specify a message");return t=n.extend({},e,t),t.buttons||(t.buttons={}),t.backdrop=t.backdrop?"static":!1,i=t.buttons,u=v(i),r(i,function(t,r,f){if(n.isFunction(r)&&(r=i[t]={callback:r}),"object"!==n.type(r))throw new Error("button with key "+t+" must be an object");r.label||(r.label=t);r.className||(r.className=2>=u&&f===u-1?"btn-primary":"btn-default")}),t}function p(n,t){var r=n.length,i={};if(1>r||r>2)throw new Error("Invalid argument length");return 2===r||"string"==typeof n[0]?(i[t[0]]=n[0],i[t[1]]=n[1]):i=n[0],i}function s(t,i,r){return n.extend(!0,{},t,p(i,r))}function h(n,t,i,r){var u={className:"bootbox-"+n,buttons:c.apply(null,t)};return l(s(u,r,i),t)}function c(){for(var t={},n=0,r=arguments.length;r>n;n++){var i=arguments[n],u=i.toLowerCase(),f=i.toUpperCase();t[u]={label:a(f)}}return t}function l(n,i){var u={};return r(i,function(n,t){u[t]=!0}),r(n.buttons,function(n){if(u[n]===t)throw new Error("button key "+n+" is not allowed (options are "+i.join("\n")+")");}),n}var u={dialog:"<div class='bootbox modal' tabindex='-1' role='dialog'><div class='modal-dialog'><div class='modal-content'><div class='modal-body'><div class='bootbox-body'><\/div><\/div><\/div><\/div><\/div>",header:"<div class='modal-header'><h4 class='modal-title'><\/h4><\/div>",footer:"<div class='modal-footer'><\/div>",closeButton:"<button type='button' class='bootbox-close-button close' data-dismiss='modal' aria-hidden='true'>&times;<\/button>",form:"<form class='bootbox-form'><\/form>",inputs:{text:"<input class='bootbox-input bootbox-input-text form-control' autocomplete=off type=text />",textarea:"<textarea class='bootbox-input bootbox-input-textarea form-control'><\/textarea>",email:"<input class='bootbox-input bootbox-input-email form-control' autocomplete='off' type='email' />",select:"<select class='bootbox-input bootbox-input-select form-control'><\/select>",checkbox:"<div class='checkbox'><label><input class='bootbox-input bootbox-input-checkbox' type='checkbox' /><\/label><\/div>",date:"<input class='bootbox-input bootbox-input-date form-control' autocomplete=off type='date' />",time:"<input class='bootbox-input bootbox-input-time form-control' autocomplete=off type='time' />",number:"<input class='bootbox-input bootbox-input-number form-control' autocomplete=off type='number' />",password:"<input class='bootbox-input bootbox-input-password form-control' autocomplete='off' type='password' />"}},e={locale:"en",backdrop:!0,animate:!0,className:null,closeButton:!0,show:!0,container:"body"},i={},o;return i.alert=function(){var t;if(t=h("alert",["ok"],["message","callback"],arguments),t.callback&&!n.isFunction(t.callback))throw new Error("alert requires callback property to be a function when provided");return t.buttons.ok.callback=t.onEscape=function(){return n.isFunction(t.callback)?t.callback():!0},i.dialog(t)},i.confirm=function(){var t;if(t=h("confirm",["cancel","confirm"],["message","callback"],arguments),t.buttons.cancel.callback=t.onEscape=function(){return t.callback(!1)},t.buttons.confirm.callback=function(){return t.callback(!0)},!n.isFunction(t.callback))throw new Error("confirm requires a callback");return i.dialog(t)},i.prompt=function(){var f,y,h,v,e,p,o,a,w;if(v=n(u.form),y={className:"bootbox-prompt",buttons:c("cancel","confirm"),value:"",inputType:"text"},f=l(s(y,arguments,["title","callback"]),["cancel","confirm"]),p=f.show===t?!0:f.show,f.message=v,f.buttons.cancel.callback=f.onEscape=function(){return f.callback(null)},f.buttons.confirm.callback=function(){var t,i;switch(f.inputType){case"text":case"textarea":case"email":case"select":case"date":case"time":case"number":case"password":t=e.val();break;case"checkbox":i=e.find("input:checked");t=[];r(i,function(i,r){t.push(n(r).val())})}return f.callback(t)},f.show=!1,!f.title)throw new Error("prompt requires a title");if(!n.isFunction(f.callback))throw new Error("prompt requires a callback");if(!u.inputs[f.inputType])throw new Error("invalid prompt type");switch(e=n(u.inputs[f.inputType]),f.inputType){case"text":case"textarea":case"email":case"date":case"time":case"number":case"password":e.val(f.value);break;case"select":if(a={},o=f.inputOptions||[],!o.length)throw new Error("prompt with select requires options");r(o,function(i,r){var u=e;if(r.value===t||r.text===t)throw new Error("given options in wrong format");r.group&&(a[r.group]||(a[r.group]=n("<optgroup/>").attr("label",r.group)),u=a[r.group]);u.append("<option value='"+r.value+"'>"+r.text+"<\/option>")});r(a,function(n,t){e.append(t)});e.val(f.value);break;case"checkbox":if(w=n.isArray(f.value)?f.value:[f.value],o=f.inputOptions||[],!o.length)throw new Error("prompt with checkbox requires options");if(!o[0].value||!o[0].text)throw new Error("given options in wrong format");e=n("<div/>");r(o,function(t,i){var o=n(u.inputs[f.inputType]);o.find("input").attr("value",i.value);o.find("label").append(i.text);r(w,function(n,t){t===i.value&&o.find("input").prop("checked",!0)});e.append(o)})}return f.placeholder&&e.attr("placeholder",f.placeholder),f.pattern&&e.attr("pattern",f.pattern),v.append(e),v.on("submit",function(n){n.preventDefault();n.stopPropagation();h.find(".btn-primary").click()}),h=i.dialog(f),h.off("shown.bs.modal"),h.on("shown.bs.modal",function(){e.focus()}),p===!0&&h.modal("show"),h},i.dialog=function(t){var h;t=y(t);var i=n(u.dialog),c=i.find(".modal-dialog"),o=i.find(".modal-body"),l=t.buttons,s="",e={onEscape:t.onEscape};return(r(l,function(n,t){s+="<button data-bb-handler='"+n+"' type='button' class='btn "+t.className+"'>"+t.label+"<\/button>";e[n]=t.callback}),o.find(".bootbox-body").html(t.message),t.animate===!0&&i.addClass("fade"),t.className&&i.addClass(t.className),"large"===t.size&&c.addClass("modal-lg"),"small"===t.size&&c.addClass("modal-sm"),t.title&&o.before(u.header),t.closeButton)&&(h=n(u.closeButton),t.title?i.find(".modal-header").prepend(h):h.css("margin-top","-10px").prependTo(o)),t.title&&i.find(".modal-title").html(t.title),s.length&&(o.after(u.footer),i.find(".modal-footer").html(s)),i.on("hidden.bs.modal",function(n){n.target===this&&i.remove()}),i.on("shown.bs.modal",function(){i.find(".btn-primary:first").focus()}),i.on("escape.close.bb",function(n){e.onEscape&&f(n,i,e.onEscape)}),i.on("click",".modal-footer button",function(t){var r=n(this).data("bb-handler");f(t,i,e[r])}),i.on("click",".bootbox-close-button",function(n){f(n,i,e.onEscape)}),i.on("keyup",function(n){27===n.which&&i.trigger("escape.close.bb")}),n(t.container).append(i),i.modal({backdrop:t.backdrop,keyboard:!1,show:!1}),t.show&&i.modal("show"),i},i.setDefaults=function(){var t={};2===arguments.length?t[arguments[0]]=arguments[1]:t=arguments[0];n.extend(e,t)},i.hideAll=function(){return n(".bootbox").modal("hide"),i},o={br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},cs:{OK:"OK",CANCEL:"Zrušit",CONFIRM:"Potvrdit"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},el:{OK:"Εντάξει",CANCEL:"Ακύρωση",CONFIRM:"Επιβεβαίωση"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},et:{OK:"OK",CANCEL:"Katkesta",CONFIRM:"OK"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},he:{OK:"אישור",CANCEL:"ביטול",CONFIRM:"אישור"},id:{OK:"OK",CANCEL:"Batal",CONFIRM:"OK"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},ja:{OK:"OK",CANCEL:"キャンセル",CONFIRM:"確認"},lt:{OK:"Gerai",CANCEL:"Atšaukti",CONFIRM:"Patvirtinti"},lv:{OK:"Labi",CANCEL:"Atcelt",CONFIRM:"Apstiprināt"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},pt:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Confirmar"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},sv:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},tr:{OK:"Tamam",CANCEL:"İptal",CONFIRM:"Onayla"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}},i.init=function(t){return a(t||n)},i}),function(n){var t=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global,i,r;if(typeof define=="function"&&define.amd)define(["underscore","jquery","exports"],function(i,r,u){t.Backbone=n(t,u,i,r)});else if(typeof exports!="undefined"){i=require("underscore");try{r=require("jquery")}catch(u){}n(t,exports,i,r)}else t.Backbone=n(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}(function(n,t,i,r){var ot=n.Backbone,y=Array.prototype.slice,h,k,d,c,g,l,o,nt,it,ut,et,v,s;t.VERSION="1.3.3";t.$=r;t.noConflict=function(){return n.Backbone=ot,this};t.emulateHTTP=!1;t.emulateJSON=!1;var st=function(n,t,r){switch(n){case 1:return function(){return i[t](this[r])};case 2:return function(n){return i[t](this[r],n)};case 3:return function(n,u){return i[t](this[r],w(n,this),u)};case 4:return function(n,u,f){return i[t](this[r],w(n,this),u,f)};default:return function(){var n=y.call(arguments);return n.unshift(this[r]),i[t].apply(i,n)}}},p=function(n,t,r){i.each(t,function(t,u){i[u]&&(n.prototype[u]=st(t,u,r))})},w=function(n,t){return i.isFunction(n)?n:i.isObject(n)&&!t._isModel(n)?ht(n):i.isString(n)?function(t){return t.get(n)}:n},ht=function(n){var t=i.matches(n);return function(n){return t(n.attributes)}},u=t.Events={},b=/\s+/,e=function(n,t,r,u,f){var o=0,s;if(r&&typeof r=="object")for(u!==void 0&&("context"in f)&&f.context===void 0&&(f.context=u),s=i.keys(r);o<s.length;o++)t=e(n,t,s[o],r[s[o]],f);else if(r&&b.test(r))for(s=r.split(b);o<s.length;o++)t=n(t,s[o],u,f);else t=n(t,r,u,f);return t};u.on=function(n,t,i){return h(this,n,t,i)};h=function(n,t,i,r,u){if(n._events=e(k,n._events||{},t,i,{context:r,ctx:n,listening:u}),u){var f=n._listeners||(n._listeners={});f[u.id]=u}return n};u.listenTo=function(n,t,r){var o;if(!n)return this;var u=n._listenId||(n._listenId=i.uniqueId("l")),f=this._listeningTo||(this._listeningTo={}),e=f[u];return e||(o=this._listenId||(this._listenId=i.uniqueId("l")),e=f[u]={obj:n,objId:u,id:o,listeningTo:f,count:0}),h(n,t,r,this,e),this};k=function(n,t,i,r){if(i){var e=n[t]||(n[t]=[]),f=r.context,o=r.ctx,u=r.listening;u&&u.count++;e.push({callback:i,context:f,ctx:f||o,listening:u})}return n};u.off=function(n,t,i){return this._events?(this._events=e(d,this._events,n,t,{context:i,listeners:this._listeners}),this):this};u.stopListening=function(n,t,r){var f=this._listeningTo,e,u,o;if(!f)return this;for(e=n?[n._listenId]:i.keys(f),u=0;u<e.length;u++){if(o=f[e[u]],!o)break;o.obj.off(t,r,this)}return this};d=function(n,t,r,u){var v,y,h,c,l,o;if(n){var e=0,f,a=u.context,s=u.listeners;if(!t&&!r&&!a){for(v=i.keys(s);e<v.length;e++)f=s[v[e]],delete s[f.id],delete f.listeningTo[f.objId];return}for(y=t?[t]:i.keys(n);e<y.length;e++){if(t=y[e],h=n[t],!h)break;for(c=[],l=0;l<h.length;l++)o=h[l],r&&r!==o.callback&&r!==o.callback._callback||a&&a!==o.context?c.push(o):(f=o.listening,f&&--f.count==0&&(delete s[f.id],delete f.listeningTo[f.objId]));c.length?n[t]=c:delete n[t]}return n}};u.once=function(n,t,r){var u=e(c,{},n,t,i.bind(this.off,this));typeof n=="string"&&r==null&&(t=void 0);return this.on(u,t,r)};u.listenToOnce=function(n,t,r){var u=e(c,{},t,r,i.bind(this.stopListening,this,n));return this.listenTo(n,u)};c=function(n,t,r,u){if(r){var f=n[t]=i.once(function(){u(t,f);r.apply(this,arguments)});f._callback=r}return n};u.trigger=function(n){var i,r,t;if(!this._events)return this;for(i=Math.max(0,arguments.length-1),r=Array(i),t=0;t<i;t++)r[t]=arguments[t+1];return e(g,this._events,n,void 0,r),this};g=function(n,t,i,r){if(n){var f=n[t],u=n.all;f&&u&&(u=u.slice());f&&l(f,r);u&&l(u,[t].concat(r))}return n};l=function(n,t){var i,r=-1,u=n.length,f=t[0],e=t[1],o=t[2];switch(t.length){case 0:while(++r<u)(i=n[r]).callback.call(i.ctx);return;case 1:while(++r<u)(i=n[r]).callback.call(i.ctx,f);return;case 2:while(++r<u)(i=n[r]).callback.call(i.ctx,f,e);return;case 3:while(++r<u)(i=n[r]).callback.call(i.ctx,f,e,o);return;default:while(++r<u)(i=n[r]).callback.apply(i.ctx,t);return}};u.bind=u.on;u.unbind=u.off;i.extend(t,u);o=t.Model=function(n,t){var r=n||{},u;t||(t={});this.cid=i.uniqueId(this.cidPrefix);this.attributes={};t.collection&&(this.collection=t.collection);t.parse&&(r=this.parse(r,t)||{});u=i.result(this,"defaults");r=i.defaults(i.extend({},u,r),u);this.set(r,t);this.changed={};this.initialize.apply(this,arguments)};i.extend(o.prototype,u,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",initialize:function(){},toJSON:function(){return i.clone(this.attributes)},sync:function(){return t.sync.apply(this,arguments)},get:function(n){return this.attributes[n]},escape:function(n){return i.escape(this.get(n))},has:function(n){return this.get(n)!=null},matches:function(n){return!!i.iteratee(n,this)(this.attributes)},set:function(n,t,r){var f,u,o;if(n==null)return this;if(typeof n=="object"?(f=n,r=t):(f={})[n]=t,r||(r={}),!this._validate(f,r))return!1;var a=r.unset,h=r.silent,e=[],c=this._changing;this._changing=!0;c||(this._previousAttributes=i.clone(this.attributes),this.changed={});var s=this.attributes,l=this.changed,v=this._previousAttributes;for(u in f)t=f[u],i.isEqual(s[u],t)||e.push(u),i.isEqual(v[u],t)?delete l[u]:l[u]=t,a?delete s[u]:s[u]=t;if(this.idAttribute in f&&(this.id=this.get(this.idAttribute)),!h)for(e.length&&(this._pending=r),o=0;o<e.length;o++)this.trigger("change:"+e[o],this,s[e[o]],r);if(c)return this;if(!h)while(this._pending)r=this._pending,this._pending=!1,this.trigger("change",this,r);return this._pending=!1,this._changing=!1,this},unset:function(n,t){return this.set(n,void 0,i.extend({},t,{unset:!0}))},clear:function(n){var t={};for(var r in this.attributes)t[r]=void 0;return this.set(t,i.extend({},n,{unset:!0}))},hasChanged:function(n){return n==null?!i.isEmpty(this.changed):i.has(this.changed,n)},changedAttributes:function(n){var f,t,r,u;if(!n)return this.hasChanged()?i.clone(this.changed):!1;f=this._changing?this._previousAttributes:this.attributes;t={};for(r in n)(u=n[r],i.isEqual(f[r],u))||(t[r]=u);return i.size(t)?t:!1},previous:function(n){return n==null||!this._previousAttributes?null:this._previousAttributes[n]},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(n){n=i.extend({parse:!0},n);var t=this,r=n.success;return n.success=function(i){var u=n.parse?t.parse(i,n):i;if(!t.set(u,n))return!1;r&&r.call(n.context,t,i,n);t.trigger("sync",t,i,n)},s(this,n),this.sync("read",this,n)},save:function(n,t,r){var u,e,h,l;if(n==null||typeof n=="object"?(u=n,r=t):(u={})[n]=t,r=i.extend({validate:!0,parse:!0},r),e=r.wait,u&&!e){if(!this.set(u,r))return!1}else if(!this._validate(u,r))return!1;var f=this,c=r.success,o=this.attributes;return r.success=function(n){f.attributes=o;var t=r.parse?f.parse(n,r):n;if(e&&(t=i.extend({},u,t)),t&&!f.set(t,r))return!1;c&&c.call(r.context,f,n,r);f.trigger("sync",f,n,r)},s(this,r),u&&e&&(this.attributes=i.extend({},o,u)),h=this.isNew()?"create":r.patch?"patch":"update",h!=="patch"||r.attrs||(r.attrs=u),l=this.sync(h,this,r),this.attributes=o,l},destroy:function(n){var r;n=n?i.clone(n):{};var t=this,u=n.success,f=n.wait,e=function(){t.stopListening();t.trigger("destroy",t,t.collection,n)};return n.success=function(i){f&&e();u&&u.call(n.context,t,i,n);t.isNew()||t.trigger("sync",t,i,n)},r=!1,this.isNew()?i.defer(n.success):(s(this,n),r=this.sync("delete",this,n)),f||e(),r},url:function(){var n=i.result(this,"urlRoot")||i.result(this.collection,"url")||v(),t;return this.isNew()?n:(t=this.get(this.idAttribute),n.replace(/[^\/]$/,"$&/")+encodeURIComponent(t))},parse:function(n){return n},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(n){return this._validate({},i.extend({},n,{validate:!0}))},_validate:function(n,t){if(!t.validate||!this.validate)return!0;n=i.extend({},this.attributes,n);var r=this.validationError=this.validate(n,t)||null;return r?(this.trigger("invalid",this,r,i.extend(t,{validationError:r})),!1):!0}});nt={keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1};p(o,nt,"attributes");var a=t.Collection=function(n,t){t||(t={});t.model&&(this.model=t.model);t.comparator!==void 0&&(this.comparator=t.comparator);this._reset();this.initialize.apply(this,arguments);n&&this.reset(n,i.extend({silent:!0},t))},ct={add:!0,remove:!0,merge:!0},lt={add:!0,remove:!1},tt=function(n,t,i){i=Math.min(Math.max(i,0),n.length);for(var u=Array(n.length-i),f=t.length,r=0;r<u.length;r++)u[r]=n[r+i];for(r=0;r<f;r++)n[r+i]=t[r];for(r=0;r<u.length;r++)n[r+f+i]=u[r]};i.extend(a.prototype,u,{model:o,initialize:function(){},toJSON:function(n){return this.map(function(t){return t.toJSON(n)})},sync:function(){return t.sync.apply(this,arguments)},add:function(n,t){return this.set(n,i.extend({merge:!1},t,lt))},remove:function(n,t){var u,r;return t=i.extend({},t),u=!i.isArray(n),n=u?[n]:n.slice(),r=this._removeModels(n,t),!t.silent&&r.length&&(t.changes={added:[],merged:[],removed:r},this.trigger("update",this,t)),u?r[0]:r},set:function(n,t){var v,f,e,a,w,d;if(n!=null){t=i.extend({},ct,t);t.parse&&!this._isModel(n)&&(n=this.parse(n,t)||[]);v=!i.isArray(n);n=v?[n]:n.slice();f=t.at;f!=null&&(f=+f);f>this.length&&(f=this.length);f<0&&(f+=this.length+1);for(var s=[],o=[],y=[],h=[],l={},b=t.add,g=t.merge,k=t.remove,c=!1,p=this.comparator&&f==null&&t.sort!==!1,nt=i.isString(this.comparator)?this.comparator:null,r,u=0;u<n.length;u++)r=n[u],e=this.get(r),e?(g&&r!==e&&(a=this._isModel(r)?r.attributes:r,t.parse&&(a=e.parse(a,t)),e.set(a,t),y.push(e),p&&!c&&(c=e.hasChanged(nt))),l[e.cid]||(l[e.cid]=!0,s.push(e)),n[u]=e):b&&(r=n[u]=this._prepareModel(r,t),r&&(o.push(r),this._addReference(r,t),l[r.cid]=!0,s.push(r)));if(k){for(u=0;u<this.length;u++)r=this.models[u],l[r.cid]||h.push(r);h.length&&this._removeModels(h,t)}if(w=!1,d=!p&&b&&k,s.length&&d?(w=this.length!==s.length||i.some(this.models,function(n,t){return n!==s[t]}),this.models.length=0,tt(this.models,s,0),this.length=this.models.length):o.length&&(p&&(c=!0),tt(this.models,o,f==null?this.length:f),this.length=this.models.length),c&&this.sort({silent:!0}),!t.silent){for(u=0;u<o.length;u++)f!=null&&(t.index=f+u),r=o[u],r.trigger("add",r,this,t);(c||w)&&this.trigger("sort",this,t);(o.length||h.length||y.length)&&(t.changes={added:o,removed:h,merged:y},this.trigger("update",this,t))}return v?n[0]:n}},reset:function(n,t){t=t?i.clone(t):{};for(var r=0;r<this.models.length;r++)this._removeReference(this.models[r],t);return t.previousModels=this.models,this._reset(),n=this.add(n,i.extend({silent:!0},t)),t.silent||this.trigger("reset",this,t),n},push:function(n,t){return this.add(n,i.extend({at:this.length},t))},pop:function(n){var t=this.at(this.length-1);return this.remove(t,n)},unshift:function(n,t){return this.add(n,i.extend({at:0},t))},shift:function(n){var t=this.at(0);return this.remove(t,n)},slice:function(){return y.apply(this.models,arguments)},get:function(n){if(n!=null)return this._byId[n]||this._byId[this.modelId(n.attributes||n)]||n.cid&&this._byId[n.cid]},has:function(n){return this.get(n)!=null},at:function(n){return n<0&&(n+=this.length),this.models[n]},where:function(n,t){return this[t?"find":"filter"](n)},findWhere:function(n){return this.where(n,!0)},sort:function(n){var t=this.comparator,r;if(!t)throw new Error("Cannot sort a set without a comparator");return n||(n={}),r=t.length,i.isFunction(t)&&(t=i.bind(t,this)),r===1||i.isString(t)?this.models=this.sortBy(t):this.models.sort(t),n.silent||this.trigger("sort",this,n),this},pluck:function(n){return this.map(n+"")},fetch:function(n){n=i.extend({parse:!0},n);var r=n.success,t=this;return n.success=function(i){var u=n.reset?"reset":"set";t[u](i,n);r&&r.call(n.context,t,i,n);t.trigger("sync",t,i,n)},s(this,n),this.sync("read",this,n)},create:function(n,t){var r,f,u;return(t=t?i.clone(t):{},r=t.wait,n=this._prepareModel(n,t),!n)?!1:(r||this.add(n,t),f=this,u=t.success,t.success=function(n,t,i){r&&f.add(n,i);u&&u.call(i.context,n,t,i)},n.save(null,t),n)},parse:function(n){return n},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(n){return n[this.model.prototype.idAttribute||"id"]},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(n,t){if(this._isModel(n))return n.collection||(n.collection=this),n;t=t?i.clone(t):{};t.collection=this;var r=new this.model(n,t);return r.validationError?(this.trigger("invalid",this,r.validationError,t),!1):r},_removeModels:function(n,t){for(var i,u,f,e=[],r=0;r<n.length;r++)(i=this.get(n[r]),i)&&(u=this.indexOf(i),this.models.splice(u,1),this.length--,delete this._byId[i.cid],f=this.modelId(i.attributes),f!=null&&delete this._byId[f],t.silent||(t.index=u,i.trigger("remove",i,this,t)),e.push(i),this._removeReference(i,t));return e},_isModel:function(n){return n instanceof o},_addReference:function(n){this._byId[n.cid]=n;var t=this.modelId(n.attributes);t!=null&&(this._byId[t]=n);n.on("all",this._onModelEvent,this)},_removeReference:function(n){delete this._byId[n.cid];var t=this.modelId(n.attributes);t!=null&&delete this._byId[t];this===n.collection&&delete n.collection;n.off("all",this._onModelEvent,this)},_onModelEvent:function(n,t,i,r){if(t){if((n==="add"||n==="remove")&&i!==this)return;if(n==="destroy"&&this.remove(t,r),n==="change"){var u=this.modelId(t.previousAttributes()),f=this.modelId(t.attributes);u!==f&&(u!=null&&delete this._byId[u],f!=null&&(this._byId[f]=t))}}this.trigger.apply(this,arguments)}});it={forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3};p(a,it,"models");var rt=t.View=function(n){this.cid=i.uniqueId("view");i.extend(this,i.pick(n,vt));this._ensureElement();this.initialize.apply(this,arguments)},at=/^(\S+)\s*(.*)$/,vt=["model","collection","el","id","attributes","className","tagName","events"];i.extend(rt.prototype,u,{tagName:"div",$:function(n){return this.$el.find(n)},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(n){return this.undelegateEvents(),this._setElement(n),this.delegateEvents(),this},_setElement:function(n){this.$el=n instanceof t.$?n:t.$(n);this.el=this.$el[0]},delegateEvents:function(n){var r,t,u;if(n||(n=i.result(this,"events")),!n)return this;this.undelegateEvents();for(r in n)(t=n[r],i.isFunction(t)||(t=this[t]),t)&&(u=r.match(at),this.delegate(u[1],u[2],i.bind(t,this)));return this},delegate:function(n,t,i){this.$el.on(n+".delegateEvents"+this.cid,t,i);return this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(n,t,i){return this.$el.off(n+".delegateEvents"+this.cid,t,i),this},_createElement:function(n){return document.createElement(n)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var n=i.extend({},i.result(this,"attributes"));this.id&&(n.id=i.result(this,"id"));this.className&&(n["class"]=i.result(this,"className"));this.setElement(this._createElement(i.result(this,"tagName")));this._setAttributes(n)}},_setAttributes:function(n){this.$el.attr(n)}});t.sync=function(n,r,u){var e=ut[n],f,o,s,h;return i.defaults(u||(u={}),{emulateHTTP:t.emulateHTTP,emulateJSON:t.emulateJSON}),f={type:e,dataType:"json"},u.url||(f.url=i.result(r,"url")||v()),u.data==null&&r&&(n==="create"||n==="update"||n==="patch")&&(f.contentType="application/json",f.data=JSON.stringify(u.attrs||r.toJSON(u))),u.emulateJSON&&(f.contentType="application/x-www-form-urlencoded",f.data=f.data?{model:f.data}:{}),u.emulateHTTP&&(e==="PUT"||e==="DELETE"||e==="PATCH")&&(f.type="POST",u.emulateJSON&&(f.data._method=e),o=u.beforeSend,u.beforeSend=function(n){return n.setRequestHeader("X-HTTP-Method-Override",e),o?o.apply(this,arguments):void 0}),f.type==="GET"||u.emulateJSON||(f.processData=!1),s=u.error,u.error=function(n,t,i){u.textStatus=t;u.errorThrown=i;s&&s.call(u.context,n,t,i)},h=u.xhr=t.ajax(i.extend(f,u)),r.trigger("request",r,h,u),h};ut={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};t.ajax=function(){return t.$.ajax.apply(t.$,arguments)};var ft=t.Router=function(n){n||(n={});n.routes&&(this.routes=n.routes);this._bindRoutes();this.initialize.apply(this,arguments)},yt=/\((.*?)\)/g,pt=/(\(\?)?:\w+/g,wt=/\*\w+/g,bt=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(ft.prototype,u,{initialize:function(){},route:function(n,r,u){i.isRegExp(n)||(n=this._routeToRegExp(n));i.isFunction(r)&&(u=r,r="");u||(u=this[r]);var f=this;return t.history.route(n,function(i){var e=f._extractParameters(n,i);f.execute(u,e,r)!==!1&&(f.trigger.apply(f,["route:"+r].concat(e)),f.trigger("route",r,e),t.history.trigger("route",f,r,e))}),this},execute:function(n,t){n&&n.apply(this,t)},navigate:function(n,i){return t.history.navigate(n,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var n,t=i.keys(this.routes);(n=t.pop())!=null;)this.route(n,this.routes[n])}},_routeToRegExp:function(n){return n=n.replace(bt,"\\$&").replace(yt,"(?:$1)?").replace(pt,function(n,t){return t?n:"([^/?]+)"}).replace(wt,"([^?]*?)"),new RegExp("^"+n+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(n,t){var r=n.exec(t).slice(1);return i.map(r,function(n,t){return t===r.length-1?n||null:n?decodeURIComponent(n):null})}});var f=t.History=function(){this.handlers=[];this.checkUrl=i.bind(this.checkUrl,this);typeof window!="undefined"&&(this.location=window.location,this.history=window.history)},kt=/^[#\/]|\s+$/g,dt=/^\/+|\/+$/g,gt=/#.*$/;return f.started=!1,i.extend(f.prototype,u,{interval:50,atRoot:function(){var n=this.location.pathname.replace(/[^\/]$/,"$&/");return n===this.root&&!this.getSearch()},matchRoot:function(){var n=this.decodeFragment(this.location.pathname),t=n.slice(0,this.root.length-1)+"/";return t===this.root},decodeFragment:function(n){return decodeURI(n.replace(/%25/g,"%2525"))},getSearch:function(){var n=this.location.href.replace(/#.*/,"").match(/\?.+/);return n?n[0]:""},getHash:function(n){var t=(n||this).location.href.match(/#(.*)$/);return t?t[1]:""},getPath:function(){var n=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return n.charAt(0)==="/"?n.slice(1):n},getFragment:function(n){return n==null&&(n=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),n.replace(kt,"")},start:function(n){var e,r,t,u;if(f.started)throw new Error("Backbone.history has already been started");if(f.started=!0,this.options=i.extend({root:"/"},this.options,n),this.root=this.options.root,this._wantsHashChange=this.options.hashChange!==!1,this._hasHashChange="onhashchange"in window&&(document.documentMode===void 0||document.documentMode>7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.history&&this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(dt,"/"),this._wantsHashChange&&this._wantsPushState)if(this._hasPushState||this.atRoot())this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0});else return e=this.root.slice(0,-1)||"/",this.location.replace(e+"#"+this.getPath()),!0;return this._hasHashChange||!this._wantsHashChange||this._usePushState||(this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1,r=document.body,t=r.insertBefore(this.iframe,r.firstChild).contentWindow,t.document.open(),t.document.close(),t.location.hash="#"+this.fragment),u=window.addEventListener||function(n,t){return attachEvent("on"+n,t)},this._usePushState?u("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?u("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.options.silent?void 0:this.loadUrl()},stop:function(){var n=window.removeEventListener||function(n,t){return detachEvent("on"+n,t)};this._usePushState?n("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&n("hashchange",this.checkUrl,!1);this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null);this._checkUrlInterval&&clearInterval(this._checkUrlInterval);f.started=!1},route:function(n,t){this.handlers.unshift({route:n,callback:t})},checkUrl:function(){var n=this.getFragment();if(n===this.fragment&&this.iframe&&(n=this.getHash(this.iframe.contentWindow)),n===this.fragment)return!1;this.iframe&&this.navigate(n);this.loadUrl()},loadUrl:function(n){return this.matchRoot()?(n=this.fragment=this.getFragment(n),i.some(this.handlers,function(t){if(t.route.test(n))return t.callback(n),!0})):!1},navigate:function(n,t){var i,u,r;if(!f.started)return!1;if(t&&t!==!0||(t={trigger:!!t}),n=this.getFragment(n||""),i=this.root,(n===""||n.charAt(0)==="?")&&(i=i.slice(0,-1)||"/"),u=i+n,n=this.decodeFragment(n.replace(gt,"")),this.fragment!==n){if(this.fragment=n,this._usePushState)this.history[t.replace?"replaceState":"pushState"]({},document.title,u);else if(this._wantsHashChange)this._updateHash(this.location,n,t.replace),this.iframe&&n!==this.getHash(this.iframe.contentWindow)&&(r=this.iframe.contentWindow,t.replace||(r.document.open(),r.document.close()),this._updateHash(r.location,n,t.replace));else return this.location.assign(u);if(t.trigger)return this.loadUrl(n)}},_updateHash:function(n,t,i){if(i){var r=n.href.replace(/(javascript:|#).*$/,"");n.replace(r+"#"+t)}else n.hash="#"+t}}),t.history=new f,et=function(n,t){var u=this,r;return r=n&&i.has(n,"constructor")?n.constructor:function(){return u.apply(this,arguments)},i.extend(r,u,t),r.prototype=i.create(u.prototype,n),r.prototype.constructor=r,r.__super__=u.prototype,r},o.extend=a.extend=ft.extend=rt.extend=f.extend=et,v=function(){throw new Error('A "url" property or function must be specified');},s=function(n,t){var i=t.error;t.error=function(r){i&&i.call(t.context,n,r,t);n.trigger("error",n,r,t)}},t})