throw"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.";
ga:function(a){returnr.a.fb(a,document)},s:function(e,b,f){if("undefined"!=typeofjQuery){if(a(e,b))vard=f,f=function(a,e){varb=this.checked;if(e)this.checked=e.Ya!==m;d.call(this,a);this.checked=b};jQuery(e).bind(b,f)}else"function"==typeofe.addEventListener?e.addEventListener(b,f,p):"undefined"!=typeofe.attachEvent?e.attachEvent("on"+b,function(a){f.call(e,a)}):c(Error("Browser doesn't support addEventListener or attachEvent"))},sa:function(b,f){(!b||!b.nodeType)&&c(Error("element must be a DOM node when calling triggerEvent"));
if("undefined"!=typeofjQuery){vard=[];a(b,f)&&d.push({Ya:b.checked});jQuery(b).trigger(f,d)}elseif("function"==typeofdocument.createEvent)"function"==typeofb.dispatchEvent?(d=document.createEvent(e[f]||"HTMLEvents"),d.initEvent(f,m,m,window,0,0,0,0,0,p,p,p,p,0,b),b.dispatchEvent(d)):c(Error("The supplied element doesn't support dispatchEvent"));elseif("undefined"!=typeofb.fireEvent){if("click"==f&&"INPUT"==b.tagName&&("checkbox"==b.type.toLowerCase()||"radio"==b.type.toLowerCase()))b.checked=
b.checked!==m;b.fireEvent("on"+f)}elsec(Error("Browser doesn't support triggering events"))},d:function(a){returnr.V(a)?a():a},eb:function(a,e){return0<=r.a.k((a.className||"").split(/\s+/),e)},Qa:function(a,e,b){varf=r.a.eb(a,e);if(b&&!f)a.className=(a.className||"")+""+e;elseif(f&&!b){for(varb=(a.className||"").split(/\s+/),f="",d=0;d<b.length;d++)b[d]!=e&&(f+=b[d]+"");a.className=r.a.z(f)}},outerHTML:function(a){if(j===l){vare=a.outerHTML;if("string"==typeofe)returne}e=window.document.createElement("div");
e}:function(a){returne.test(a.name)},d=[],h=b.length-1;0<=h;h--)f(b[h])&&d.push(b[h]);returnd},vb:function(a){return"string"==typeofa&&(a=r.a.z(a))?window.JSON&&window.JSON.parse?window.JSON.parse(a):(newFunction("return "+a))():o},qa:function(a){("undefined"==typeofJSON||"undefined"==typeofJSON.stringify)&&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"));
r.a.A=newfunction(){functiona(a,b){varh=r.a.e.get(a,d);h===l&&b&&(h=[],r.a.e.set(a,d,h));returnh}functionb(e){varb=a(e,p);if(b)for(varb=b.slice(0),d=0;d<b.length;d++)b[d](e);r.a.e.clear(e);"function"==typeofjQuery&&"function"==typeofjQuery.cleanData&&jQuery.cleanData([e])}vard="__ko_domNodeDisposal__"+(newDate).getTime();return{va:function(e,b){"function"!=typeofb&&c(Error("Callback must be a function"));a(e,m).push(b)},Ia:function(e,b){varh=a(e,p);h&&(r.a.ca(h,b),0==h.length&&r.a.e.set(e,
r.r=function(){functiona(){return(4294967296*(1+Math.random())|0).toString(16).substring(1)}functionb(a,f){if(a)if(8==a.nodeType){vard=r.r.Ga(a.nodeValue);d!=o&&f.push({cb:a,tb:d})}elseif(1==a.nodeType)for(vard=0,g=a.childNodes,i=g.length;d<i;d++)b(g[d],f)}vard={};return{ka:function(b){"function"!=typeofb&&c(Error("You can only pass a function to ko.memoization.memoize()"));varf=a()+a();d[f]=b;return"<\!--[ko_memo:"+f+"]--\>"},Ra:function(a,b){varh=d[a];h===l&&c(Error("Couldn't find any memo with ID "+
a+". Perhaps it's already been unmemoized."));try{returnh.apply(o,b||[]),m}finally{deleted[a]}},Sa:function(a,f){vard=[];b(a,d);for(varg=0,i=d.length;g<i;g++){varj=d[g].cb,k=[j];f&&r.a.J(k,f);r.r.Ra(d[g].tb,k);j.nodeValue="";j.parentNode&&j.parentNode.removeChild(j)}},Ga:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:o}}}();r.b("ko.memoization",r.r);r.b("ko.memoization.memoize",r.r.ka);r.b("ko.memoization.unmemoize",r.r.Ra);r.b("ko.memoization.parseMemoText",r.r.Ga);
r.Ea=function(a){return"function"==typeofa.ra&&"function"==typeofa.notifySubscribers};r.b("ko.subscribable",r.R);r.b("ko.isSubscribable",r.Ea);r.T=function(){vara=[];return{Xa:function(b){a.push({da:b,za:[]})},end:function(){a.pop()},Ha:function(b){r.Ea(b)||c("Only subscribable things can act as dependencies");if(0<a.length){vard=a[a.length-1];0<=r.a.k(d.za,b)||(d.za.push(b),d.da(b))}}}}();varB={undefined:m,"boolean":m,number:m,string:m};
r.Q=function(a){0==arguments.length&&(a=[]);a!==o&&a!==l&&!("length"ina)&&c(Error("The argument passed when initializing an observable array must be an array, or null, or undefined."));varb=newr.w(a);r.a.extend(b,r.Q.fn);r.l(b,"remove",b.remove);r.l(b,"removeAll",b.zb);r.l(b,"destroy",b.fa);r.l(b,"destroyAll",b.ab);r.l(b,"indexOf",b.indexOf);r.l(b,"replace",b.replace);returnb};
r.a.n(["slice"],function(a){r.Q.fn[a]=function(){varb=this();returnb[a].apply(b,arguments)}});r.b("ko.observableArray",r.Q);functionC(a,b){a&&"object"==typeofa?b=a:(b=b||{},b.read=a||b.read);"function"!=typeofb.read&&c("Pass a function that returns the value of the dependentObservable");returnb}
r.i=function(a,b,d){functione(){r.a.n(q,function(a){a.v()});q=[]}functionf(){vara=g.throttleEvaluation;a&&0<=a?(clearTimeout(v),v=setTimeout(h,a)):h()}functionh(){if(j&&"function"==typeofd.disposeWhen&&d.disposeWhen())g.v();else{try{e();r.T.Xa(function(a){q.push(a.ra(f))});vara=d.read.call(d.owner||b);g.notifySubscribers(i,"beforeChange");i=a}finally{r.T.end()}g.notifySubscribers(i);j=m}}functiong(){if(0<arguments.length)"function"===typeofd.write?d.write.apply(d.owner||b,arguments):c("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.");
r.a.k(a,d);0<=i?b[i]=g:(a.push(d),b.push(g))};this.get=function(d){d=r.a.k(a,d);return0<=d?b[d]:l}}r.Pa=function(b){0==arguments.length&&c(Error("When calling ko.toJS, pass the object you want to convert."));returna(b,function(a){for(varb=0;r.V(a)&&10>b;b++)a=a();returna})};r.toJSON=function(a){a=r.Pa(a);returnr.a.qa(a)}})();r.b("ko.toJS",r.Pa);r.b("ko.toJSON",r.toJSON);
(function(){functiona(a){return8==a.nodeType&&(f?a.text:a.nodeValue).match(h)}functionb(a){return8==a.nodeType&&(f?a.text:a.nodeValue).match(g)}functiond(e,d){for(varf=e,g=1,h=[];f=f.nextSibling;){if(b(f)&&(g--,0===g))returnh;h.push(f);a(f)&&g++}d||c(Error("Cannot find closing comment tag to match: "+e.nodeValue));returno}functione(a,b){vare=d(a,b);returne?0<e.length?e[e.length-1].nextSibling:a.nextSibling:o}varf="<\!--test--\>"===document.createComment("test").text,h=f?/^<\!--\s*ko\s+(.*\:.*)\s*--\>$/:
r.c[s];w&&8===a.nodeType&&!r.f.C[s]&&c(Error("The binding '"+s+"' cannot be used with virtual elements"));if(w&&"function"==typeofw.init&&(w=(0,w.init)(a,i(s),j,v,q))&&w.controlsDescendantBindings)t!==l&&c(Error("Multiple bindings ("+t+" and "+s+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.")),t=s}k=2}if(2===k)for(sinn)(w=r.c[s])&&"function"==typeofw.update&&(0,w.update)(a,i(s),j,v,q)}},o,{disposeWhenNodeIsRemoved:a});
a(b,d)};r.wa=function(a,d){d&&1!==d.nodeType&&8!==d.nodeType&&c(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node"));d=d||window.document.body;b(a,d,m)};r.ea=function(a){switch(a.nodeType){case1:case8:varb=r.Na(a);if(b)returnb;if(a.parentNode)returnr.ea(a.parentNode)}};r.$a=function(a){return(a=r.ea(a))?a.$data:l};r.b("ko.bindingHandlers",r.c);r.b("ko.applyBindings",r.wa);r.b("ko.applyBindingsToDescendants",r.Ta);r.b("ko.applyBindingsToNode",
r.c.submit={init:function(a,b,d,e){"function"!=typeofb()&&c(Error("The value for a submit binding must be a function"));r.a.s(a,"submit",function(d){varh,g=b();try{h=g.call(e,a)}finally{if(h!==m)d.preventDefault?d.preventDefault():d.returnValue=p}})}};r.c.visible={update:function(a,b){vard=r.a.d(b()),e="none"!=a.style.display;if(d&&!e)a.style.display="";elseif(!d&&e)a.style.display="none"}};
r.c.options={update:function(a,b,d){"SELECT"!=a.tagName&&c(Error("options binding applies only to SELECT elements"));vare=0==a.length,f=r.a.ba(r.a.aa(a.childNodes,function(a){returna.tagName&&"OPTION"==a.tagName&&a.selected}),function(a){returnr.h.q(a)||a.innerText||a.textContent}),h=a.scrollTop;a.scrollTop=0;for(varg=r.a.d(b());0<a.length;)r.F(a.options[0]),a.remove(0);if(g){d=d();"number"!=typeofg.length&&(g=[g]);if(d.optionsCaption){vari=document.createElement("OPTION");r.a.Z(i,d.optionsCaption);
r.c.selectedOptions={Da:function(a){for(varb=[],a=a.childNodes,d=0,e=a.length;d<e;d++){varf=a[d];"OPTION"==f.tagName&&f.selected&&b.push(r.h.q(f))}returnb},init:function(a,b,d){r.a.s(a,"change",function(){vara=b();r.P(a)?a(r.c.selectedOptions.Da(this)):(a=d(),a._ko_property_writers&&a._ko_property_writers.value&&a._ko_property_writers.value(r.c.selectedOptions.Da(this)))})},update:function(a,b){"SELECT"!=a.tagName&&c(Error("values binding applies only to SELECT elements"));vard=r.a.d(b());if(d&&
r.$=function(){functiona(a,b,d){for(vara=r.j.Y(a),g=r.j.D,i=0;i<a.length;i++){varj=a[i].key;if(g.hasOwnProperty(j)){vark=g[j];"function"===typeofk?(j=k(a[i].value))&&c(Error(j)):k||c(Error("This template engine does not support the '"+j+"' binding within its templates"))}}a="ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() { return (function() { return { "+r.j.ia(a)+" } })() })";returnd.createJavaScriptEvaluatorBlock(a)+b}varb=/(<[a-z]+\d*(\s+(?!data-bind=)[a-z0-9\-]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])([\s\S]*?)\5/gi,
d=/<\!--\s*ko\b\s*([\s\S]*?)\s*--\>/g;return{gb:function(a,b){b.isTemplateRewritten(a)||b.rewriteTemplate(a,function(a){returnr.$.ub(a,b)})},ub:function(e,f){returne.replace(b,function(b,e,d,j,k,n,t){returna(t,e,f)}).replace(d,function(b,e){returna(e,"<\!-- ko --\>",f)})},Ua:function(a){returnr.r.ka(function(b,d){b.nextSibling&&r.xa(b.nextSibling,a,d)})}}}();r.b("ko.templateRewriting",r.$);r.b("ko.templateRewriting.applyMemoizedBindingsToNextSibling",r.$.Ua);r.m={};r.m.g=function(a){this.g=a};
(function(){functiona(a,b,d){for(varg=0;node=a[g];g++)node.parentNode===b&&(1===node.nodeType||8===node.nodeType)&&d(node)}functionb(a,b,h,g,i){vari=i||{},j=i.templateEngine||d;r.$.gb(h,j);h=j.renderTemplate(h,g,i);("number"!=typeofh.length||0<h.length&&"number"!=typeofh[0].nodeType)&&c("Template engine must return an array of DOM nodes");j=p;switch(b){case"replaceChildren":r.f.oa(a,h);j=m;break;case"replaceNode":r.a.Ja(a,h);j=m;break;case"ignoreTargetNode":break;default:c(Error("Unknown renderMode: "+
b))}j&&(r.ua(h,g),i.afterRender&&i.afterRender(h,g.$data));returnh}vard;r.pa=function(a){a!=l&&!(ainstanceofr.t)&&c("templateEngine must inherit from ko.templateEngine");d=a};r.ua=function(b,d){varh=r.a.J([],b),g=0<b.length?b[0].parentNode:o;a(h,g,function(a){r.wa(d,a)});a(h,g,function(a){r.r.Sa(a,[d])})};r.na=function(a,f,h,g,i){h=h||{};(h.templateEngine||d)==l&&c("Set a template engine before calling renderTemplate");i=i||"replaceChildren";if(g){varj=g.nodeType?g:0<g.length?g[0]:o;returnnewr.i(function(){vard=
"name")?o:"This template engine does not support anonymous templates nested within its templates"};r.f.C.template=m})();r.b("ko.setTemplateEngine",r.pa);r.b("ko.renderTemplate",r.na);
(function(){r.ja=function(){vara=this.qb=function(){if("undefined"==typeofjQuery||!jQuery.tmpl)return0;try{if(0<=jQuery.tmpl.tag.tmpl.open.toString().indexOf("__"))return2}catch(a){}return1}();this.renderTemplateSource=function(d,e,f){f=f||{};2>a&&c(Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later."));varh=d.data("precompiled");h||(h=d.text()||"",h=jQuery.template(o,"{{ko_with $item.koBindingContext}}"+h+"{{/ko_with}}"),d.data("precompiled",h));
throw"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.";
ga:function(a){returnr.a.fb(a,document)},s:function(e,b,f){if("undefined"!=typeofjQuery){if(a(e,b))vard=f,f=function(a,e){varb=this.checked;if(e)this.checked=e.Ya!==m;d.call(this,a);this.checked=b};jQuery(e).bind(b,f)}else"function"==typeofe.addEventListener?e.addEventListener(b,f,p):"undefined"!=typeofe.attachEvent?e.attachEvent("on"+b,function(a){f.call(e,a)}):c(Error("Browser doesn't support addEventListener or attachEvent"))},sa:function(b,f){(!b||!b.nodeType)&&c(Error("element must be a DOM node when calling triggerEvent"));
if("undefined"!=typeofjQuery){vard=[];a(b,f)&&d.push({Ya:b.checked});jQuery(b).trigger(f,d)}elseif("function"==typeofdocument.createEvent)"function"==typeofb.dispatchEvent?(d=document.createEvent(e[f]||"HTMLEvents"),d.initEvent(f,m,m,window,0,0,0,0,0,p,p,p,p,0,b),b.dispatchEvent(d)):c(Error("The supplied element doesn't support dispatchEvent"));elseif("undefined"!=typeofb.fireEvent){if("click"==f&&"INPUT"==b.tagName&&("checkbox"==b.type.toLowerCase()||"radio"==b.type.toLowerCase()))b.checked=
b.checked!==m;b.fireEvent("on"+f)}elsec(Error("Browser doesn't support triggering events"))},d:function(a){returnr.V(a)?a():a},eb:function(a,e){return0<=r.a.k((a.className||"").split(/\s+/),e)},Qa:function(a,e,b){varf=r.a.eb(a,e);if(b&&!f)a.className=(a.className||"")+""+e;elseif(f&&!b){for(varb=(a.className||"").split(/\s+/),f="",d=0;d<b.length;d++)b[d]!=e&&(f+=b[d]+"");a.className=r.a.z(f)}},outerHTML:function(a){if(j===l){vare=a.outerHTML;if("string"==typeofe)returne}e=window.document.createElement("div");
e}:function(a){returne.test(a.name)},d=[],h=b.length-1;0<=h;h--)f(b[h])&&d.push(b[h]);returnd},vb:function(a){return"string"==typeofa&&(a=r.a.z(a))?window.JSON&&window.JSON.parse?window.JSON.parse(a):(newFunction("return "+a))():o},qa:function(a){("undefined"==typeofJSON||"undefined"==typeofJSON.stringify)&&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"));
r.a.A=newfunction(){functiona(a,b){varh=r.a.e.get(a,d);h===l&&b&&(h=[],r.a.e.set(a,d,h));returnh}functionb(e){varb=a(e,p);if(b)for(varb=b.slice(0),d=0;d<b.length;d++)b[d](e);r.a.e.clear(e);"function"==typeofjQuery&&"function"==typeofjQuery.cleanData&&jQuery.cleanData([e])}vard="__ko_domNodeDisposal__"+(newDate).getTime();return{va:function(e,b){"function"!=typeofb&&c(Error("Callback must be a function"));a(e,m).push(b)},Ia:function(e,b){varh=a(e,p);h&&(r.a.ca(h,b),0==h.length&&r.a.e.set(e,
r.r=function(){functiona(){return(4294967296*(1+Math.random())|0).toString(16).substring(1)}functionb(a,f){if(a)if(8==a.nodeType){vard=r.r.Ga(a.nodeValue);d!=o&&f.push({cb:a,tb:d})}elseif(1==a.nodeType)for(vard=0,g=a.childNodes,i=g.length;d<i;d++)b(g[d],f)}vard={};return{ka:function(b){"function"!=typeofb&&c(Error("You can only pass a function to ko.memoization.memoize()"));varf=a()+a();d[f]=b;return"<\!--[ko_memo:"+f+"]--\>"},Ra:function(a,b){varh=d[a];h===l&&c(Error("Couldn't find any memo with ID "+
a+". Perhaps it's already been unmemoized."));try{returnh.apply(o,b||[]),m}finally{deleted[a]}},Sa:function(a,f){vard=[];b(a,d);for(varg=0,i=d.length;g<i;g++){varj=d[g].cb,k=[j];f&&r.a.J(k,f);r.r.Ra(d[g].tb,k);j.nodeValue="";j.parentNode&&j.parentNode.removeChild(j)}},Ga:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:o}}}();r.b("ko.memoization",r.r);r.b("ko.memoization.memoize",r.r.ka);r.b("ko.memoization.unmemoize",r.r.Ra);r.b("ko.memoization.parseMemoText",r.r.Ga);
r.Ea=function(a){return"function"==typeofa.ra&&"function"==typeofa.notifySubscribers};r.b("ko.subscribable",r.R);r.b("ko.isSubscribable",r.Ea);r.T=function(){vara=[];return{Xa:function(b){a.push({da:b,za:[]})},end:function(){a.pop()},Ha:function(b){r.Ea(b)||c("Only subscribable things can act as dependencies");if(0<a.length){vard=a[a.length-1];0<=r.a.k(d.za,b)||(d.za.push(b),d.da(b))}}}}();varB={undefined:m,"boolean":m,number:m,string:m};
r.Q=function(a){0==arguments.length&&(a=[]);a!==o&&a!==l&&!("length"ina)&&c(Error("The argument passed when initializing an observable array must be an array, or null, or undefined."));varb=newr.w(a);r.a.extend(b,r.Q.fn);r.l(b,"remove",b.remove);r.l(b,"removeAll",b.zb);r.l(b,"destroy",b.fa);r.l(b,"destroyAll",b.ab);r.l(b,"indexOf",b.indexOf);r.l(b,"replace",b.replace);returnb};
r.a.n(["slice"],function(a){r.Q.fn[a]=function(){varb=this();returnb[a].apply(b,arguments)}});r.b("ko.observableArray",r.Q);functionC(a,b){a&&"object"==typeofa?b=a:(b=b||{},b.read=a||b.read);"function"!=typeofb.read&&c("Pass a function that returns the value of the dependentObservable");returnb}
r.i=function(a,b,d){functione(){r.a.n(q,function(a){a.v()});q=[]}functionf(){vara=g.throttleEvaluation;a&&0<=a?(clearTimeout(v),v=setTimeout(h,a)):h()}functionh(){if(j&&"function"==typeofd.disposeWhen&&d.disposeWhen())g.v();else{try{e();r.T.Xa(function(a){q.push(a.ra(f))});vara=d.read.call(d.owner||b);g.notifySubscribers(i,"beforeChange");i=a}finally{r.T.end()}g.notifySubscribers(i);j=m}}functiong(){if(0<arguments.length)"function"===typeofd.write?d.write.apply(d.owner||b,arguments):c("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.");
r.a.k(a,d);0<=i?b[i]=g:(a.push(d),b.push(g))};this.get=function(d){d=r.a.k(a,d);return0<=d?b[d]:l}}r.Pa=function(b){0==arguments.length&&c(Error("When calling ko.toJS, pass the object you want to convert."));returna(b,function(a){for(varb=0;r.V(a)&&10>b;b++)a=a();returna})};r.toJSON=function(a){a=r.Pa(a);returnr.a.qa(a)}})();r.b("ko.toJS",r.Pa);r.b("ko.toJSON",r.toJSON);
(function(){functiona(a){return8==a.nodeType&&(f?a.text:a.nodeValue).match(h)}functionb(a){return8==a.nodeType&&(f?a.text:a.nodeValue).match(g)}functiond(e,d){for(varf=e,g=1,h=[];f=f.nextSibling;){if(b(f)&&(g--,0===g))returnh;h.push(f);a(f)&&g++}d||c(Error("Cannot find closing comment tag to match: "+e.nodeValue));returno}functione(a,b){vare=d(a,b);returne?0<e.length?e[e.length-1].nextSibling:a.nextSibling:o}varf="<\!--test--\>"===document.createComment("test").text,h=f?/^<\!--\s*ko\s+(.*\:.*)\s*--\>$/:
r.c[s];w&&8===a.nodeType&&!r.f.C[s]&&c(Error("The binding '"+s+"' cannot be used with virtual elements"));if(w&&"function"==typeofw.init&&(w=(0,w.init)(a,i(s),j,v,q))&&w.controlsDescendantBindings)t!==l&&c(Error("Multiple bindings ("+t+" and "+s+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.")),t=s}k=2}if(2===k)for(sinn)(w=r.c[s])&&"function"==typeofw.update&&(0,w.update)(a,i(s),j,v,q)}},o,{disposeWhenNodeIsRemoved:a});
a(b,d)};r.wa=function(a,d){d&&1!==d.nodeType&&8!==d.nodeType&&c(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node"));d=d||window.document.body;b(a,d,m)};r.ea=function(a){switch(a.nodeType){case1:case8:varb=r.Na(a);if(b)returnb;if(a.parentNode)returnr.ea(a.parentNode)}};r.$a=function(a){return(a=r.ea(a))?a.$data:l};r.b("ko.bindingHandlers",r.c);r.b("ko.applyBindings",r.wa);r.b("ko.applyBindingsToDescendants",r.Ta);r.b("ko.applyBindingsToNode",
r.c.submit={init:function(a,b,d,e){"function"!=typeofb()&&c(Error("The value for a submit binding must be a function"));r.a.s(a,"submit",function(d){varh,g=b();try{h=g.call(e,a)}finally{if(h!==m)d.preventDefault?d.preventDefault():d.returnValue=p}})}};r.c.visible={update:function(a,b){vard=r.a.d(b()),e="none"!=a.style.display;if(d&&!e)a.style.display="";elseif(!d&&e)a.style.display="none"}};
r.c.options={update:function(a,b,d){"SELECT"!=a.tagName&&c(Error("options binding applies only to SELECT elements"));vare=0==a.length,f=r.a.ba(r.a.aa(a.childNodes,function(a){returna.tagName&&"OPTION"==a.tagName&&a.selected}),function(a){returnr.h.q(a)||a.innerText||a.textContent}),h=a.scrollTop;a.scrollTop=0;for(varg=r.a.d(b());0<a.length;)r.F(a.options[0]),a.remove(0);if(g){d=d();"number"!=typeofg.length&&(g=[g]);if(d.optionsCaption){vari=document.createElement("OPTION");r.a.Z(i,d.optionsCaption);
r.c.selectedOptions={Da:function(a){for(varb=[],a=a.childNodes,d=0,e=a.length;d<e;d++){varf=a[d];"OPTION"==f.tagName&&f.selected&&b.push(r.h.q(f))}returnb},init:function(a,b,d){r.a.s(a,"change",function(){vara=b();r.P(a)?a(r.c.selectedOptions.Da(this)):(a=d(),a._ko_property_writers&&a._ko_property_writers.value&&a._ko_property_writers.value(r.c.selectedOptions.Da(this)))})},update:function(a,b){"SELECT"!=a.tagName&&c(Error("values binding applies only to SELECT elements"));vard=r.a.d(b());if(d&&
r.$=function(){functiona(a,b,d){for(vara=r.j.Y(a),g=r.j.D,i=0;i<a.length;i++){varj=a[i].key;if(g.hasOwnProperty(j)){vark=g[j];"function"===typeofk?(j=k(a[i].value))&&c(Error(j)):k||c(Error("This template engine does not support the '"+j+"' binding within its templates"))}}a="ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() { return (function() { return { "+r.j.ia(a)+" } })() })";returnd.createJavaScriptEvaluatorBlock(a)+b}varb=/(<[a-z]+\d*(\s+(?!data-bind=)[a-z0-9\-]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])([\s\S]*?)\5/gi,
d=/<\!--\s*ko\b\s*([\s\S]*?)\s*--\>/g;return{gb:function(a,b){b.isTemplateRewritten(a)||b.rewriteTemplate(a,function(a){returnr.$.ub(a,b)})},ub:function(e,f){returne.replace(b,function(b,e,d,j,k,n,t){returna(t,e,f)}).replace(d,function(b,e){returna(e,"<\!-- ko --\>",f)})},Ua:function(a){returnr.r.ka(function(b,d){b.nextSibling&&r.xa(b.nextSibling,a,d)})}}}();r.b("ko.templateRewriting",r.$);r.b("ko.templateRewriting.applyMemoizedBindingsToNextSibling",r.$.Ua);r.m={};r.m.g=function(a){this.g=a};
(function(){functiona(a,b,d){for(varg=0;node=a[g];g++)node.parentNode===b&&(1===node.nodeType||8===node.nodeType)&&d(node)}functionb(a,b,h,g,i){vari=i||{},j=i.templateEngine||d;r.$.gb(h,j);h=j.renderTemplate(h,g,i);("number"!=typeofh.length||0<h.length&&"number"!=typeofh[0].nodeType)&&c("Template engine must return an array of DOM nodes");j=p;switch(b){case"replaceChildren":r.f.oa(a,h);j=m;break;case"replaceNode":r.a.Ja(a,h);j=m;break;case"ignoreTargetNode":break;default:c(Error("Unknown renderMode: "+
b))}j&&(r.ua(h,g),i.afterRender&&i.afterRender(h,g.$data));returnh}vard;r.pa=function(a){a!=l&&!(ainstanceofr.t)&&c("templateEngine must inherit from ko.templateEngine");d=a};r.ua=function(b,d){varh=r.a.J([],b),g=0<b.length?b[0].parentNode:o;a(h,g,function(a){r.wa(d,a)});a(h,g,function(a){r.r.Sa(a,[d])})};r.na=function(a,f,h,g,i){h=h||{};(h.templateEngine||d)==l&&c("Set a template engine before calling renderTemplate");i=i||"replaceChildren";if(g){varj=g.nodeType?g:0<g.length?g[0]:o;returnnewr.i(function(){vard=
"name")?o:"This template engine does not support anonymous templates nested within its templates"};r.f.C.template=m})();r.b("ko.setTemplateEngine",r.pa);r.b("ko.renderTemplate",r.na);
(function(){r.ja=function(){vara=this.qb=function(){if("undefined"==typeofjQuery||!jQuery.tmpl)return0;try{if(0<=jQuery.tmpl.tag.tmpl.open.toString().indexOf("__"))return2}catch(a){}return1}();this.renderTemplateSource=function(d,e,f){f=f||{};2>a&&c(Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later."));varh=d.data("precompiled");h||(h=d.text()||"",h=jQuery.template(o,"{{ko_with $item.koBindingContext}}"+h+"{{/ko_with}}"),d.data("precompiled",h));
# note: this is to convert between Dates as JSON strings and Date objects. To automate this, take a look at Backbone.Articulation: https://github.com/kmalakoff/backbone-articulation