!function(a,b){"use strict";varc=b(a);"object"==typeofmodule&&null!=module&&module.exports?module.exports=c:"function"==typeofdefine&&define.amd?define(function(){returnc}):a.m=c}("undefined"!=typeofwindow?window:this,function(a,b){"use strict";functionc(a){return"function"==typeofa}functiond(a){return"[object Object]"===Ca.call(a)}functione(a){return"[object String]"===Ca.call(a)}functionf(){}functiong(a){xa=a.document,ya=a.location,Aa=a.cancelAnimationFrame||a.clearTimeout,za=a.requestAnimationFrame||a.setTimeout}functionh(a,b){for(varc,d=[],e=/(?:(^|#|\.)([^#\.\[\]]+))|(\[.+?\])/g;c=e.exec(b);)if(""===c[1]&&c[2])a.tag=c[2];elseif("#"===c[1])a.attrs.id=c[2];elseif("."===c[1])d.push(c[2]);elseif("["===c[3][0]){varf=/\[(.+?)(?:=("|'|)(.*?)\2)?\]/.exec(c[3]);a.attrs[f[1]]=f[3]||""}returnd}functioni(a,b){varc=b?a.slice(1):a;return1===c.length&&Da(c[0])?c[0]:c}functionj(a,b,c){vard="class"inb?"class":"className";for(vareinb)Ba.call(b,e)&&(e===d&&null!=b[e]&&""!==b[e]?(c.push(b[e]),a[e]=""):a[e]=b[e]);c.length&&(a[d]=c.join(""))}functionk(a,b){for(varc=[],f=1,g=arguments.length;g>f;f++)c[f-1]=arguments[f];if(d(a))returnda(a,c);if(!e(a))thrownewError("selector in m(selector, attrs, children) should be a string");vark=null!=b&&d(b)&&!("tag"inb||"view"inb||"subtree"inb),l=k?b:{},m={tag:"div",attrs:{},children:i(c,k)};returnj(m.attrs,l,h(m,a)),m}functionl(a,b){for(varc=0;c<a.length&&!b(a[c],c++););}functionm(a,b){l(a,function(a,c){return(a=a&&a.attrs)&&null!=a.key&&b(a,c)})}functionn(a){try{if(null!=a&&null!=a.toString())returna}catch(b){}return""}functiono(a,b,c,d){try{q(a,b,c),b.nodeValue=d}catch(e){}}functionp(a){for(varb=0;b<a.length;b++)Da(a[b])&&(a=a.concat.apply([],a),b--);returna}functionq(a,b,c){a.insertBefore(b,a.childNodes[c]||null)}functionr(a,b,c,d){m(a,function(a,d){b[a=a.key]=b[a]?{action:Ha,index:d,from:b[a].index,element:c.nodes[b[a].index]||xa.createElement("div")}:{action:Ga,index:d}});vare=[];for(varfinb)Ba.call(b,f)&&e.push(b[f]);varg=e.sort(R),h=newArray(c.length);returnh.nodes=c.nodes.slice(),l(g,function(b){vare=b.index;if(b.action===Fa&&(W(c[e].nodes,c[e]),h.splice(e,1)),b.action===Ga){varf=xa.createElement("div");f.key=a[e].attrs.key,q(d,f,e),h.splice(e,0,{attrs:{key:a[e].attrs.key},nodes:[f]}),h.nodes[e]=f}if(b.action===Ha){varg=b.element,i=d.childNodes[e];i!==g&&null!==g&&d.insertBefore(g,i||null),h[e]=c[b.from],h.nodes[e]=g}}),h}functions(a,b,c,d){vare=a.length!==b.length;returne||m(a,function(a,c){vard=b[c];returne=d&&d.attrs&&d.attrs.key!==a.key}),e?r(a,c,b,d):b}functiont(a,b,c){l(a,function(a,d){null!=b[d]&&c.push.apply(c,b[d].nodes)}),l(b.nodes,function(a,d){null!=a.parentNode&&c.indexOf(a)<0&&W([a],[b[d]])}),a.length<b.length&&(b.length=a.length),b.nodes=c}functionu(a){varb=0;m(a,function(){returnl(a,function(a){(a=a&&a.attrs)&&null==a.key&&(a.key="__mithril__"+b++)}),1})}functionv(a,b,c){returna.tag!==b.tag?!0:c.sort().join()!==Object.keys(b.attrs).sort().join()?!0:a.attrs.id!==b.attrs.id?!0:a.attrs.key!==b.attrs.key?!0:"all"===k.redraw.strategy()?!b.configContext||b.configContext.retain!==!0:"diff"===k.redraw.strategy()?b.configContext&&b.configContext.retain===!1:!1}functionw(a,b,d){v(a,b,d)&&(b.nodes.length&&W(b.nodes),b.configContext&&c(b.configContext.onunload)&&b.configContext.onunload(),b.controllers&&l(b.controllers,function(a){a.onunload&&a.onunload({preventDefault:f})}))}functionx(a,b){returna.attrs.xmlns?a.attrs.xmlns:"svg"===a.tag?"http://www.w3.org/2000/svg":"math"===a.tag?"http://www.w3.org/1998/Math/MathML":b}functiony(a,b,c){c.length&&(a.views=b,a.controllers=c,l(c,function(a){if(a.onunload&&a.onunload.$old&&(a.onunload=a.onunload.$old),Ia&&a.onunload){varb=a.onunload;a.onunload=f,a.onunload.$old=b}}))}functionz(a,b,d,e,f){if(c(b.attrs.config)){varg=f.configContext=f.configContext||{};a.push(function(){returnb.attrs.config.call(b,d,!e,g,f)})}}functionA(a,c,d,e,f,g,h,i){varj=a.nodes[0];returne&&V(j,c.tag,c.attrs,a.attrs,f),a.children=Q(j,c.tag,b,b,c.children,a.children,!1,0,c.attrs.contenteditable?j:d,f,h),a.nodes.intact=!0,i.length&&(a.views=g,a.controllers=i),j}functionB(a,b,c){vard;a.$trusted?d=_(b,c,a):(d=[xa.createTextNode(a)],b.nodeNameinEa||q(b,d[0],c));vare;returne="string"==typeofa||"number"==typeofa||"boolean"==typeofa?newa.constructor(a):a,e.nodes=d,e}functionC(a,b,c,d,e,f){varg=b.nodes;returnd&&d===xa.activeElement||(a.$trusted?(W(g,b),g=_(c,e,a)):"textarea"===f?c.value=a:d?d.innerHTML=a:((1===g[0].nodeType||g.length>1||g[0].nodeValue.trim&&!g[0].nodeValue.trim())&&(W(b.nodes,b),g=[xa.createTextNode(a)]),o(c,g[0],e,a))),b=newa.constructor(a),b.nodes=g,b}functionD(a,b,c,d,e,f,g){returna.nodes.length?a.valueOf()!==b.valueOf()||e?C(b,a,d,f,c,g):(a.nodes.intact=!0,a):B(b,d,c)}functionE(a){if(a.$trusted){varb=a.match(/<[^\/]|\>\s*[^<]/g);if(null!=b)returnb.length}elseif(Da(a))returna.length;return1}functionF(a,c,d,e,f,g,h,i,j){a=p(a);vark=[],l=c.length===a.length,n=0,o={},q=!1;m(c,function(a,b){q=!0,o[c[b].attrs.key]={action:Fa,index:b}}),u(a),q&&(c=s(a,c,o,d));for(varr=0,v=0,w=a.length;w>v;v++){varx=Q(d,f,c,e,a[v],c[r],g,e+n||n,h,i,j);x!==b&&(l=l&&x.nodes.intact,n+=E(x),c[r++]=x)}returnl||t(a,c,k),c}functionG(a,b,c,d,e){if(null!=b){if(Ca.call(b)===Ca.call(a))returnb;if(e&&e.nodes){varf=c-d,g=f+(Da(a)?a:b.nodes).length;W(e.nodes.slice(f,g),e.slice(f,g))}elseb.nodes&&W(b.nodes,b)}returnb=newa.constructor,b.tag&&(b={}),b.nodes=[],b}functionH(a,b){returna.attrs.is?null==b?xa.createElement(a.tag,a.attrs.is):xa.createElementNS(b,a.tag,a.attrs.is):null==b?xa.createElement(a.tag):xa.createElementNS(b,a.tag)}functionI(a,b,c,d){returnd?V(b,a.tag,a.attrs,{},c):a.attrs}functionJ(a,c,d,e,f,g){returnnull!=a.children&&a.children.length>0?Q(c,a.tag,b,b,a.children,d.children,!0,0,a.attrs.contenteditable?c:e,f,g):a.children}functionK(a,b,c,d,e,f,g){varh={tag:a.tag,attrs:b,children:c,nodes:[d]};returny(h,f,g),h.children&&!h.children.nodes&&(h.children.nodes=[]),"select"===a.tag&&"value"ina.attrs&&V(d,a.tag,{value:a.attrs.value},{},e),h}functionL(a,b,d,e){varf;returnf="diff"===k.redraw.strategy()&&a?a.indexOf(b):-1,f>-1?d[f]:c(e)?newe:{}}functionM(a,b,c,d){null!=d.onunload&&Ka.map(function(a){returna.handler}).indexOf(d.onunload)<0&&Ka.push({controller:d,handler:d.onunload}),a.push(c),b.push(d)}functionN(a,b,c,d,e,f){varg=L(c.views,b,d,a.controller),h=a&&a.attrs&&a.attrs.key;returna=0===Ia||La||d&&d.indexOf(g)>-1?a.view(g):{tag:"placeholder"},"retain"===a.subtree?a:(a.attrs=a.attrs||{},a.attrs.key=h,M(f,e,b,g),a)}functionO(a,b,c,d){for(vare=b&&b.controllers;null!=a.view;)a=N(a,a.view.$original||a.view,b,e,d,c);returna}functionP(a,b,c,d,f,g,h,i){varj=[],k=[];if(a=O(a,b,j,k),"retain"===a.subtree)returnb;if(!a.tag&&k.length)thrownewError("Component template must return a virtual element, not an array, string, etc.");a.attrs=a.attrs||{},b.attrs=b.attrs||{};varl=Object.keys(a.attrs),m=l.length>("key"ina.attrs?1:0);if(w(a,b,l),e(a.tag)){varn=0===b.nodes.length;h=x(a,h);varo;if(n){o=H(a,h);varp=I(a,o,h,m);q(d,o,f);varr=J(a,o,b,c,h,i);b=K(a,p,r,o,h,j,k)}elseo=A(b,a,c,m,h,j,i,k);returnn||g!==!0||null==o||q(d,o,f),z(i,a,o,n,b),b}}functionQ(a,b,e,f,g,h,i,j,k,l,m){returng=n(g),"retain"===g.subtree?h:(h=G(g,h,j,f,e),Da(g)?F(g,h,a,j,b,i,k,l,m):null!=g&&d(g)?P(g,h,k,a,j,i,l,m):c(g)?h:D(h,g,j,a,i,k,b))}functionR(a,b){returna.action-b.action||a.index-b.index}functionS(a,b,c){for(vardinb)Ba.call(b,d)&&(null!=c&&c[d]===b[d]||(a.style[d]=b[d]));for(dinc)Ba.call(c,d)&&(Ba.call(b,d)||(a.style[d]=""))}functionT(a,b,e,f,g,h){if("config"===b||"key"===b)return!0;if(c(e)&&"on"===b.slice(0,2))a[b]=aa(e,a);elseif("style"===b&&null!=e&&d(e))S(a,e,f);elseif(null!=h)"href"===b?a.setAttributeNS("http://www.w3.org/1999/xlink","href",e):a.setAttribute("className"===b?"class":b,e);elseif(bina&&!Ma[b])try{"input"===g&&a[b]===e||(a[b]=e)}catch(i){a.setAttribute(b,e)}elsea.setAttribute(b,e)}functionU(a,b,c,d,e,f,g){if(bine&&d===c&&xa.activeElement!==a)"value"===b&&"input"===f&&a.value!==c&&(a.value=c);else{e[b]=c;try{returnT(a,b,c,d,f,g)}catch(h){if(h.message.indexOf("Invalid argument")<0)throwh}}}functionV(a,b,c,d,e){for(varfinc)!Ba.call(c,f)||!U(a,f,c[f],d[f],d,b,e);returnd}functionW(a,b){for(varc=a.length-1;c>-1;c--)if(a[c]&&a[c].parentNode){try{a[c].parentNode.removeChild(a[c])}catch(d){}b=[].concat(b),b[c]&&X(b[c])}a.length&&(a.length=0)}functionX(a){a.configContext&&c(a.configContext.onunload)&&(a.configContext.onunload(),a.configContext.onunload=null),a.controllers&&l(a.controllers,function(a){c(a.onunload)&&a.onunload({preventDefault:f})}),a.children&&(Da(a.children)?l(a.children,X):a.children.tag&&X(a.children))}functionY(a,b){try{a.appendChild(xa.createRange().createContextualFragment(b))}catch(c){a.insertAdjacentHTML("beforeend",b),Z(a)}}functionZ(a){if("SCRIPT"===a.tagName)a.parentNode.replaceChild($(a),a);else{varb=a.childNodes;if(b&&b.length)for(varc=0;c<b.length;c++)Z(b[c])}returna}function$(a){for(varb=document.createElement("script"),c=a.attributes,d=0;d<c.length;d++)b.setAttribute(c[d].name,c[d].value);returnb.text=a.innerHTML,b}function_(a,b,c){vard=a.childNodes[b];if(d){vare=1!==d.nodeType,f=xa.createElement("span");e?(a.insertBefore(f,d||null),f.insertAdjacentHTML("beforebegin",c),a.removeChild(f)):d.insertAdjacentHTML("beforebegin",c)}elseY(a,c);for(varg=[];a.childNodes[b]!==d;)g.push(a.childNodes[b]),b++;returng}functionaa(a,b){returnfunction(c){c=c||event,k.redraw.strategy("diff"),k.startComputation();try{returna.call(b,c)}finally{ha()}}}functionba(a){varb=Oa.indexOf(a);return0>b?Oa.push(a)-1:b}functionca(a){functionb(){returnarguments.length&&(a=arguments[0]),a}returnb.toJSON=function(){returna},b}functionda(a,b){functionc(){return(a.controller||f).apply(this,b)||this}functiond(c){for(vard=[c].concat(b),e=1;e<arguments.length;e++)d.push(arguments[e]);returna.view.apply(a,d)}a.controller&&(c.prototype=a.controller.prototype),d.$original=a.view;vare={controller:c,view:d};returnb[0]&&null!=b[0].key&&(e.attrs={key:b[0].key}),e}functionea(a,b,c,d){if(!d){k.redraw.strategy("all"),k.startComputation(),Ra[c]=b;vare;e=Qa=a?a:a={controller:f};varg=new(a.controller||f);returne===Qa&&(Ta[c]=g,Sa[c]=a),ha(),null===a&&fa(b,c),Ta[c]}null==a&&fa(b,c)}functionfa(a,b){Ra.splice(b,1),Ta.splice(b,1),Sa.splice(b,1),oa(a),Oa.splice(ba(a),1)}functionga(){Wa&&(Wa(),Wa=null),l(Ra,function(a,b){varc=Sa[b];if(Ta[b]){vard=[Ta[b]];k.render(a,c.view?c.view(Ta[b],d):"")}}),Xa&&(Xa(),Xa=null),Ua=null,Va=newDate,k.redraw.strategy("diff")}functionha(){"none"===k.redraw.strategy()?(Ia--,k.redraw.strategy("diff")):k.endComputation()}functionia(a){returna.slice(ab[k.route.mode].length)}functionja(a,b,c){$a={};vard=c.indexOf("?");-1!==d&&($a=na(c.substr(d+1,c.length)),c=c.substr(0,d));vare=Object.keys(b),f=e.indexOf(c);if(-1!==f)returnk.mount(a,b[e[f]]),!0;for(varginb)if(Ba.call(b,g)){if(g===c)returnk.mount(a,b[g]),!0;varh=newRegExp("^"+g.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(h.test(c))returnc.replace(h,function(){varc=g.match(/:[^\/]+/g)||[],d=[].slice.call(arguments,1,-2);l(c,function(a,b){$a[a.replace(/:|\./g,"")]=decodeURIComponent(d[b])}),k.mount(a,b[g])}),!0}}functionka(a){if(a=a||event,!(a.ctrlKey||a.metaKey||a.shiftKey||2===a.which)){a.preventDefault?a.preventDefault():a.returnValue=!1;varb,c=a.currentTarget||a.srcElement;for(b="pathname"===k.route.mode&&c.search?na(c.search.slice(1)):{};c&&!/a/i.test(c.nodeName);)c=c.parentNode;Ia=0,k.route(c[k.route.mode].slice(ab[k.route.mode].length),b)}}functionla(){"hash"!==k.route.mode&&ya.hash?ya.hash=ya.hash:a.scrollTo(0,0)}functionma(a,c){vare={},f=[];for(vargina)if(Ba.call(a,g)){varh=c?c+"["+g+"]":g,i=a[g];if(null===i)f.push(encodeURIComponent(h));elseif(d(i))f.push(ma(i,h));elseif(Da(i)){varj=[];e[h]=e[h]||{},l(i,function(a){e[h][a]||(e[h][a]=!0,j.push(encodeURIComponent(h)+"="+encodeURIComponent(a)))}),f.push(j.join("&"))}elsei!==b&&f.push(encodeURIComponent(h)+"="+encodeURIComponent(i))}returnf.join("&")}functionna(a){if(""===a||null==a)return{};"?"===a.charAt(0)&&(a=a.slice(1));varb=a.split("&"),c={};returnl(b,function(a){varb=a.split("="),d=decodeURIComponent(b[0]),e=2===b.length?decodeURIComponent(b[1]):null;null!=c[d]?(Da(c[d])||(c[d]=[c[d]]),c[d].push(e)):c[d]=e}),c}functionoa(a){varc=ba(a);W(a.childNodes,Pa[c]),Pa[c]=b}functionpa(a,b){varc=k.prop(b);returna.then(c),c.then=function(c,d){returnpa(a.then(c,d),b)},c["catch"]=c.then.bind(null,null),c}functionqa(a,b){functione(a){i=a||gb,l.map(function(a){i===fb?a.resolve(j):a.reject(j)})}functionf(a,b,e,f){if((null!=j&&d(j)||c(j))&&c(a))try{varg=0;a.call(j,function(a){g++||(j=a,b())},function(a){g++||(j=a,e())})}catch(h){k.deferred.onerror(h),j=h,e()}elsef()}functiong(){vard;try{d=j&&j.then}catch(l){returnk.deferred.onerror(l),j=l,i=eb,g()}i===eb&&k.deferred.onerror(j),f(d,function(){i=db,g()},function(){i=eb,g()},function(){try{i===db&&c(a)?j=a(j):i===eb&&c(b)&&(j=b(j),i=db)}catch(g){returnk.deferred.onerror(g),j=g,e()}j===h?(j=TypeError(),e()):f(d,function(){e(fb)},e,function(){e(i===db&&fb)})})}varh=this,i=0,j=0,l=[];h.promise={},h.resolve=function(a){returni||(j=a,i=db,g()),h},h.reject=function(a){returni||(j=a,i=eb,g()),h},h.promise.then=function(a,b){varc=newqa(a,b);returni===fb?c.resolve(j):i===gb?c.reject(j):l.push(c),c.promise}}functionra(a){returna}functionsa(c){vard=c.callbackName||"mithril_callback_"+(newDate).getTime()+"_"+Math.round(1e16*Math.random()).toString(36),e=xa.createElement("script");a[d]=function(f){e.parentNode.removeChild(e),c.onload({type:"load",target:{responseText:f}}),a[d]=b},e.onerror=function(){returne.parentNode.removeChild(e),c.onerror({type:"error",target:{status:500,responseText:JSON.stringify({error:"Error making jsonp request"})}}),a[d]=b,!1},e.onload=function(){return!1},e.src=c.url+(c.url.indexOf("?")>0?"&":"?")+(c.callbackKey?c.callbackKey:"callback")+"="+d+"&"+ma(c.data||{}),xa.body.appendChild(e)}functionta(b){vard=newa.XMLHttpRequest;if(d.open(b.method,b.url,!0,b.user,b.password),d.onreadystatechange=function(){4===d.readyState&&(d.status>=200&&d.status<300?b.onload({type:"load",target:d}):b.onerror({type:"error",target:d}))},b.serialize===JSON.stringify&&b.data&&"GET"!==b.method&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),b.deserialize===JSON.parse&&d.setRequestHeader("Accept","application/json, text/*"),c(b.config)){varf=b.config(d,b);null!=f&&(d=f)}varg="GET"!==b.method&&b.data?b.data:"";if(g&&!e(g)&&g.constructor!==a.FormData)thrownewError("Request data should be either be a string or FormData. Check the `serialize` option in `m.request`");returnd.send(g),d}functionua(a){returna.dataType&&"jsonp"===a.dataType.toLowerCase()?sa(a):ta(a)}functionva(a,b,c){if("GET"===a.method&&"jsonp"!==a.dataType){vard=a.url.indexOf("?")<0?"?":"&",e=ma(b);a.url+=e?d+e:""}elsea.data=c(b)}functionwa(a,b){returnb&&(a=a.replace(/:[a-z]\w+/gi,function(a){varc=a.slice(1),d=b[c]||a;returndeleteb[c],d})),a}k.version=function(){return"v0.2.5"};varxa,ya,za,Aa,Ba={}.hasOwnProperty,Ca={}.toString,Da=Array.isArray||function(a){return"[object Array]"===Ca.call(a)},Ea={AREA:1,BASE:1,BR:1,COL:1,COMMAND:1,EMBED:1,HR:1,IMG:1,INPUT:1,KEYGEN:1,LINK:1,META:1,PARAM:1,SOURCE:1,TRACK:1,WBR:1};k.deps=function(b){returng(a=b||window),a},k.deps(a);varFa=1,Ga=2,Ha=3,Ia=0;k.startComputation=function(){Ia++},k.endComputation=function(){Ia>1?Ia--:(Ia=0,k.redraw())};varJa,Ka=[],La=!1,Ma={list:1,style:1,form:1,type:1,width:1,height:1},Na={appendChild:function(a){Ja===b&&(Ja=xa.createElement("html")),xa.documentElement&&xa.documentElement!==a?xa.replaceChild(a,xa.documentElement):xa.appendChild(a),this.childNodes=xa.childNodes},insertBefore:function(a){this.appendChild(a)},childNodes:[]},Oa=[],Pa={};k.render=function(a,c,d){if(!a)thrownewError("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");vare,f=[],g=ba(a),h=a===xa;e=h||a===xa.documentElement?Na:a,h&&"html"!==c.tag&&(c={tag:"html",attrs:{},children:c}),Pa[g]===b&&W(e.childNodes),d===!0&&oa(a),Pa[g]=Q(e,null,b,b,c,Pa[g],!1,0,null,b,f),l(f,function(a){a()})},k.trust=function(a){returna=newString(a),a.$trusted=!0,a},k.prop=function(a){return(null!=a&&(d(a)||c(a))||"undefined"!=typeofPromise&&ainstanceofPromise)&&c(a.then)?pa(a):ca(a)};varQa,Ra=[],Sa=[],Ta=[],Ua=null,Va=0,Wa=null,Xa=null,Ya=16;k.component=function(a){for(varb=newArray(arguments.length-1),c=1;c<arguments.length;c++)b[c-1]=arguments[c];returnda(a,b)},k.mount=k.module=function(a,b){if(!a)thrownewError("Please ensure the DOM element exists before rendering a template into it.");vard=Ra.indexOf(a);0>d&&(d=Ra.length);vare=!1,f={preventDefault:function(){e=!0,Wa=Xa=null}};returnl(Ka,function(a){a.handler.call(a.controller,f),a.controller.onunload=null}),e?l(Ka,function(a){a.controller.onunload=a.handler}):Ka=[],Ta[d]&&c(Ta[d].onunload)&&Ta[d].onunload(f),ea(b,a,d,e)};varZa=!1;k.redraw=function(b){if(!Za){Za=!0,b&&(La=!0);try{Ua&&!b?(za===a.requestAnimationFrame||newDate-Va>Ya)&&(Ua>0&&Aa(Ua),Ua=za(ga,Ya)):(ga(),Ua=za(function(){Ua=null},Ya))}finally{Za=La=!1}}},k.redraw.strategy=k.prop(),k.withAttr=function(a,b,c){returnfunction(d){d=d||window.event;vare=d.currentTarget||this,f=c||this,g=aine?e[a]:e.getAttribute(a);b.call(f,g)}};var$a,_a,ab={pathname:"",hash:"#",search:"?"},bb=f,cb=!1;k.route=function(b,c,d,f){if(0===arguments.length)return_a;if(3===arguments.length&&e(c)){bb=function(a){vare=_a=ia(a);if(!ja(b,d,e)){if(cb)thrownewError("Ensure the default route matches one of the routes defined in m.route");cb=!0,k.route(c,!0),cb=!1}};varg="hash"===k.route.mode?"onhashchange":"onpopstate";returna[g]=function(){vara=ya[k.route.mode];"pathname"===k.route.mode&&(a+=ya.search),_a!==ia(a)&&bb(a)},Wa=la,voida[g]()}if(b.addEventListener||b.attachEvent){varh="pathname"!==k.route.mode?ya.pathname:"";returnb.href=h+ab[k.route.mode]+f.attrs.href,void(b.addEventListener?(b.removeEventListener("click",ka),b.addEventListener("click",ka)):(b.detachEvent("onclick",ka),b.attachEvent("onclick",ka)))}if(e(b)){vari=_a;_a=b;varj,l=c||{},m=_a.indexOf("?");j=m>-1?na(_a.slice(m+1)):{};for(varninl)Ba.call(l,n)&&(j[n]=l[n]);varo,p=ma(j);o=m>-1?_a.slice(0,m):_a,p&&(_a=o+(-1===o.indexOf("?")?"?":"&")+p);varq=(3===arguments.length?d:c)===!0||i===b;if(a.history.pushState){varr=q?"replaceState":"pushState";Wa=la,Xa=function(){try{a.history[r](null,xa.title,ab[k.route.mode]+_a)}catch(b){ya[k.route.mode]=_a}},bb(ab[k.route.mode]+_a)}elseya[k.route.mode]=_a,bb(ab[k.route.mode]+_a)}},k.route.param=function(a){if(!$a)thrownewError("You must call m.route(element, defaultRoute, routes) before calling m.route.param()");returna?$a[a]:$a},k.route.mode="search",k.route.buildQueryString=ma,k.route.parseQueryString=na,k.deferred=function(){vara=newqa;returna.promise=pa(a.promise),a};vardb=1,eb=2,fb=3,gb=4;returnk.deferred.onerror=function(a){if("[object Error]"===Ca.call(a)&&!/ Error/.test(a.constructor.toString()))throwIa=0,a},k.sync=function(a){functionb(a,b){returnfunction(g){returne[a]=g,b||(f="reject"),0===--d&&(c.promise(e),c[f](e)),g}}varc=k.deferred(),d=a.length,e=[],f="resolve";returna.length>0?l(a,function(a,c){a.then(b(c,!0),b(c,!1))}):c.resolve([]),c.promise},k.request=function(a){a.background!==!0&&k.startComputation();varb,c,d,e=newqa,f=a.dataType&&"jsonp"===a.dataType.toLowerCase();returnf?(b=a.serialize=c=a.deserialize=ra,d=function(a){returna.responseText}):(b=a.serialize=a.serialize||JSON.stringify,c=a.deserialize=a.deserialize||JSON.parse,d=a.extract||function(a){returna.responseText.length||c!==JSON.parse?a.responseText:null}),a.method=(a.method||"GET").toUpperCase(),a.url=wa(a.url,a.data),va(a,a.data,b),a.onload=a.onerror=function(b){try{b=b||event;varf=c(d(b.target,a));"load"===b.type?(a.unwrapSuccess&&(f=a.unwrapSuccess(f,b.target)),Da(f)&&a.type?l(f,function(b,c){f[c]=newa.type(b)}):a.type&&(f=newa.type(f)),e.resolve(f)):(a.unwrapError&&(f=a.unwrapError(f,b.target)),e.reject(f))}catch(g){e.reject(g),k.deferred.onerror(g)}finally{a.background!==!0&&k.endComputation()}},ua(a),e.promise=pa(e.promise,a.initialValue),e.promise},k});