"undefined"){if(e(a,b))varf=d,d=function(a,b){vard=this.checked;if(b)this.checked=b.Aa!==!0;f.call(this,a);this.checked=d};jQuery(a).bind(b,d)}elsetypeofa.addEventListener=="function"?a.addEventListener(b,d,!1):typeofa.attachEvent!="undefined"?a.attachEvent("on"+b,function(b){d.call(a,b)}):c(Error("Browser doesn't support addEventListener or attachEvent"))},qa:function(a,b){(!a||!a.nodeType)&&c(Error("element must be a DOM node when calling triggerEvent"));if(typeofjQuery!="undefined"){vard=
[];e(a,b)&&d.push({Aa:a.checked});jQuery(a).trigger(b,d)}elseif(typeofdocument.createEvent=="function")typeofa.dispatchEvent=="function"?(d=document.createEvent(h[b]||"HTMLEvents"),d.initEvent(b,!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,a),a.dispatchEvent(d)):c(Error("The supplied element doesn't support dispatchEvent"));elseif(typeofa.fireEvent!="undefined"){if(b=="click"&&a.tagName=="INPUT"&&(a.type.toLowerCase()=="checkbox"||a.type.toLowerCase()=="radio"))a.checked=a.checked!==!0;a.fireEvent("on"+
b)}elsec(Error("Browser doesn't support triggering events"))},d:function(a){returnp.C(a)?a():a},Ea:function(a,b){returnp.a.h((a.className||"").split(/\s+/),b)>=0},pa:function(a,b,d){vare=p.a.Ea(a,b);if(d&&!e)a.className=(a.className||"")+""+b;elseif(e&&!d){for(vard=(a.className||"").split(/\s+/),e="",f=0;f<d.length;f++)d[f]!=b&&(e+=d[f]+"");a.className=p.a.k(e)}},Ua:function(a,b){for(vara=p.a.d(a),b=p.a.d(b),d=[],e=a;e<=b;e++)d.push(e);returnd},U:function(a){for(varb=[],d=0,e=a.length;d<
"undefined")&&c(Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js"));returnJSON.stringify(p.a.d(a))},Ta:function(a,b,d){vard=d||{},e=d.params||{},f=d.includeFields||this.ca,h=a;if(typeofa=="object"&&a.tagName=="FORM")for(varh=a.action,g=f.length-1;g>=0;g--)for(vari=p.a.ea(a,f[g]),k=i.length-1;k>=0;k--)e[i[k].name]=i[k].value;varb=p.a.d(b),
p.a.p=newfunction(){functione(a,d){vare=p.a.e.get(a,b);e===m&&d&&(e=[],p.a.e.set(a,b,e));returne}functiond(a){varb=e(a,!1);if(b)for(varb=b.slice(0),d=0;d<b.length;d++)b[d](a);p.a.e.clear(a);typeofjQuery=="function"&&typeofjQuery.cleanData=="function"&&jQuery.cleanData([a])}varb="__ko_domNodeDisposal__"+(newDate).getTime();return{ba:function(a,b){typeofb!="function"&&c(Error("Callback must be a function"));e(a,!0).push(b)},ja:function(a,d){varh=e(a,!1);h&&(p.a.N(h,d),h.length==0&&p.a.e.set(a,
p.l=function(){functione(){return((1+Math.random())*4294967296|0).toString(16).substring(1)}functiond(a,b){if(a)if(a.nodeType==8){vare=p.l.ha(a.nodeValue);e!=o&&b.push({Da:a,Pa:e})}elseif(a.nodeType==1)for(vare=0,g=a.childNodes,i=g.length;e<i;e++)d(g[e],b)}varb={};return{V:function(a){typeofa!="function"&&c(Error("You can only pass a function to ko.memoization.memoize()"));vard=e()+e();b[d]=a;return"<\!--[ko_memo:"+d+"]--\>"},ra:function(a,d){vare=b[a];e===m&&c(Error("Couldn't find any memo with ID "+
a+". Perhaps it's already been unmemoized."));try{returne.apply(o,d||[]),!0}finally{deleteb[a]}},sa:function(a,b){vare=[];d(a,e);for(varg=0,i=e.length;g<i;g++){vark=e[g].Da,j=[k];b&&p.a.u(j,b);p.l.ra(e[g].Pa,j);k.nodeValue="";k.parentNode&&k.parentNode.removeChild(k)}},ha:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:o}}}();p.b("ko.memoization",p.l);p.b("ko.memoization.memoize",p.l.V);p.b("ko.memoization.unmemoize",p.l.ra);p.b("ko.memoization.parseMemoText",p.l.ha);
p.ga=function(e){returntypeofe.$=="function"&&typeofe.z=="function"};p.b("ko.subscribable",p.Z);p.b("ko.isSubscribable",p.ga);p.A=function(){vare=[];return{ya:function(){e.push([])},end:function(){returne.pop()},ia:function(d){p.ga(d)||c("Only subscribable things can act as dependencies");e.length>0&&e[e.length-1].push(d)}}}();varx={undefined:!0,"boolean":!0,number:!0,string:!0};functiony(e,d){returne===o||typeofeinx?e===d:!1}
p.Ra=function(e){arguments.length==0&&(e=[]);e!==o&&e!==m&&!("length"ine)&&c(Error("The argument passed when initializing an observable array must be an array, or null, or undefined."));vard=newp.s(e);p.a.g(["pop","push","reverse","shift","sort","splice","unshift"],function(b){d[b]=function(){vara=d(),a=a[b].apply(a,arguments);d.H();returna}});p.a.g(["slice"],function(b){d[b]=function(){vara=d();returna[b].apply(a,arguments)}});d.remove=function(b){for(vara=d(),e=[],h=[],g=typeofb=="function"?
p.j=function(e,d,b){functiona(){p.a.g(n,function(a){a.n()});n=[]}functionf(b){a();p.a.g(b,function(a){n.push(a.$(h))})}functionh(){if(k&&typeofb.disposeWhen=="function"&&b.disposeWhen())g.n();else{try{p.A.ya(),i=b.owner?b.read.call(b.owner):b.read()}finally{vara=p.a.L(p.A.end());f(a)}g.z(i);k=!0}}functiong(){if(arguments.length>0)if(typeofb.write==="function"){vara=arguments[0];b.owner?b.write.call(b.owner,a):b.write(a)}elsec("Cannot write a value to a dependentObservable unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");
elsereturnk||h(),p.A.ia(g),i}vari,k=!1;e&&typeofe=="object"?b=e:(b=b||{},b.read=e||b.read,b.owner=d||b.owner);typeofb.read!="function"&&c("Pass a function that returns the value of the dependentObservable");varj=typeofb.disposeWhenNodeIsRemoved=="object"?b.disposeWhenNodeIsRemoved:o,l=o;if(j){l=function(){g.n()};p.a.p.ba(j,l);varq=b.disposeWhen;b.disposeWhen=function(){return!p.a.P(j)||typeofq=="function"&&q()}}varn=[];g.o=p.j;g.Ia=function(){returnn.length};g.Ka=typeofb.write==="function";
b[i]=e:(a.push(d),b.push(e))};this.get=function(d){d=p.a.h(a,d);returnd>=0?b[d]:m}}p.oa=function(a){arguments.length==0&&c(Error("When calling ko.toJS, pass the object you want to convert."));returne(a,function(a){for(varb=0;p.C(a)&&b<10;b++)a=a();returna})};p.toJSON=function(a){a=p.oa(a);returnp.a.Y(a)}})();p.b("ko.toJS",p.oa);p.b("ko.toJSON",p.toJSON);
f(n),h,b)},o,{disposeWhenNodeIsRemoved:e});g=!1};p.ua=function(e,d){d&&d.nodeType==m&&c(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node (note: this is a breaking change since KO version 1.05)"));vard=d||window.document.body,b=p.a.da(d,"data-bind");p.a.g(b,function(a){p.J(a,o,e)})};p.b("ko.bindingHandlers",p.c);p.b("ko.applyBindings",p.ua);p.b("ko.applyBindingsToNode",p.J);
p.c.submit={init:function(e,d,b,a){typeofd()!="function"&&c(Error("The value for a submit binding must be a function to invoke on submit"));p.a.t(e,"submit",function(b){varh,g=d();try{h=g.call(a,e)}finally{if(h!==!0)b.preventDefault?b.preventDefault():b.returnValue=!1}})}};p.c.visible={update:function(e,d){varb=p.a.d(d()),a=e.style.display!="none";if(b&&!a)e.style.display="";elseif(!b&&a)e.style.display="none"}};
p.c.options={update:function(e,d,b){e.tagName!="SELECT"&&c(Error("options binding applies only to SELECT elements"));vara=p.a.M(p.a.K(e.childNodes,function(a){returna.tagName&&a.tagName=="OPTION"&&a.selected}),function(a){returnp.f.m(a)||a.innerText||a.textContent}),f=e.scrollTop,h=p.a.d(d());p.a.Q(e);if(h){varg=b();typeofh.length!="number"&&(h=[h]);if(g.optionsCaption){vari=document.createElement("OPTION");i.innerHTML=g.optionsCaption;p.f.I(i,m);e.appendChild(i)}b=0;for(d=h.length;b<d;b++){vari=
p.c.selectedOptions={fa:function(e){for(vard=[],e=e.childNodes,b=0,a=e.length;b<a;b++){varf=e[b];f.tagName=="OPTION"&&f.selected&&d.push(p.f.m(f))}returnd},init:function(e,d,b){p.a.t(e,"change",function(){vara=d();p.D(a)?a(p.c.selectedOptions.fa(this)):(a=b(),a._ko_property_writers&&a._ko_property_writers.value&&a._ko_property_writers.value(p.c.selectedOptions.fa(this)))})},update:function(e,d){e.tagName!="SELECT"&&c(Error("values binding applies only to SELECT elements"));varb=p.a.d(d());if(b&&
p.aa=function(){this.renderTemplate=function(){c("Override renderTemplate in your ko.templateEngine subclass")};this.isTemplateRewritten=function(){c("Override isTemplateRewritten in your ko.templateEngine subclass")};this.rewriteTemplate=function(){c("Override rewriteTemplate in your ko.templateEngine subclass")};this.createJavaScriptEvaluatorBlock=function(){c("Override createJavaScriptEvaluatorBlock in your ko.templateEngine subclass")}};p.b("ko.templateEngine",p.aa);
(function(){functione(b,a,e,h,g){vari=p.a.d(h),g=g||{},k=g.templateEngine||d;p.G.Ga(e,k);e=k.renderTemplate(e,i,g);(typeofe.length!="number"||e.length>0&&typeofe[0].nodeType!="number")&&c("Template engine must return an array of DOM nodes");e&&p.a.g(e,function(a){p.l.sa(a,[h])});switch(a){case"replaceChildren":p.a.Xa(b,e);break;case"replaceNode":p.a.ka(b,e);break;case"ignoreTargetNode":break;default:c(Error("Unknown renderMode: "+a))}g.afterRender&&g.afterRender(e,h);returne}vard;p.na=function(b){b!=
m&&!(binstanceofp.aa)&&c("templateEngine must inherit from ko.templateEngine");d=b};p.X=function(b,a,f,h,g){f=f||{};(f.templateEngine||d)==m&&c("Set a template engine before calling renderTemplate");g=g||"replaceChildren";if(h){vari=h.nodeType?h:h.length>0?h[0]:o;returnnewp.j(function(){vard=typeofb=="function"?b(a):b,d=e(h,g,d,a,f);g=="replaceNode"&&(h=d,i=h.nodeType?h:h.length>0?h[0]:o)},o,{disposeWhen:function(){return!i||!p.a.P(i)},disposeWhenNodeIsRemoved:i&&g=="replaceNode"?i.parentNode:
p.T=function(){this.q=function(){if(typeofjQuery=="undefined"||!jQuery.tmpl)return0;if(jQuery.tmpl.tag){if(jQuery.tmpl.tag.tmpl&&jQuery.tmpl.tag.tmpl.open&&jQuery.tmpl.tag.tmpl.open.toString().indexOf("__")>=0)return3;return2}return1}();this.getTemplateNode=function(d){varb=document.getElementById(d);b==o&&c(Error("Cannot find template with ID="+d));returnb};vare=RegExp("__ko_apos__","g");this.renderTemplate=function(d,b,a){a=a||{};this.q==0&&c(Error("jquery.tmpl not detected.\nTo use KO's default template engine, reference jQuery and jquery.tmpl. See Knockout installation documentation for more details."));