Skip to content

Instantly share code, notes, and snippets.

@SteveSanderson
Created August 19, 2011 11:54
Show Gist options
  • Save SteveSanderson/1156647 to your computer and use it in GitHub Desktop.
Save SteveSanderson/1156647 to your computer and use it in GitHub Desktop.
// Knockout JavaScript library v1.3.0ctp
// (c) Steven Sanderson - http://knockoutjs.com/
// License: MIT (http://www.opensource.org/licenses/mit-license.php)
(function(window,undefined){
function b(d){throw d;}var l=void 0,n=null,q=window.ko={};q.b=function(d,e){for(var c=d.split("."),a=window,g=0;g<c.length-1;g++)a=a[c[g]];a[c[c.length-1]]=e};q.j=function(d,e,c){d[e]=c};
q.a=new function(){function d(a,g){if(a.tagName!="INPUT"||!a.type)return!1;if(g.toLowerCase()!="click")return!1;var f=a.type.toLowerCase();return f=="checkbox"||f=="radio"}var e=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,c={click:1,dblclick:1,mousedown:1,mouseup:1,mousemove:1,mouseover:1,mouseout:1,mouseenter:1,mouseleave:1};return{ua:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],o:function(a,g){for(var f=0,c=a.length;f<c;f++)g(a[f])},h:function(a,g){if(typeof a.indexOf=="function")return a.indexOf(g);
for(var f=0,c=a.length;f<c;f++)if(a[f]===g)return f;return-1},Oa:function(a,g,f){for(var c=0,d=a.length;c<d;c++)if(g.call(f,a[c]))return a[c];return n},U:function(a,g){var f=q.a.h(a,g);f>=0&&a.splice(f,1)},T:function(a,g){for(var a=a||[],f=[],c=0,d=a.length;c<d;c++)f.push(g(a[c]));return f},S:function(a,g){for(var a=a||[],f=[],c=0,d=a.length;c<d;c++)g(a[c])&&f.push(a[c]);return f},G:function(a,g){for(var f=0,c=g.length;f<c;f++)a.push(g[f]);return a},I:function(a){for(;a.firstChild;)q.removeNode(a.firstChild)},
ha:function(a,g){q.a.I(a);g&&q.a.o(g,function(g){a.appendChild(g)})},Da:function(a,g){var f=a.nodeType?[a]:a;if(f.length>0){for(var c=f[0],d=c.parentNode,e=0,j=g.length;e<j;e++)d.insertBefore(g[e],c);e=0;for(j=f.length;e<j;e++)q.removeNode(f[e])}},Fa:function(a,g){navigator.userAgent.indexOf("MSIE 6")>=0?a.setAttribute("selected",g):a.selected=g},v:function(a){return(a||"").replace(e,"")},wb:function(a,g){for(var f=[],c=(a||"").split(g),d=0,e=c.length;d<e;d++){var j=q.a.v(c[d]);j!==""&&f.push(j)}return f},
tb:function(a,g){a=a||"";return g.length>a.length?!1:a.substring(0,g.length)===g},Ya:function(a){for(var g=Array.prototype.slice.call(arguments,1),f="return ("+a+")",c=0;c<g.length;c++)g[c]&&typeof g[c]=="object"&&(f="with(sc["+c+"]) { "+f+" } ");return(new Function("sc",f))(g)},Wa:function(a,g){if(g.compareDocumentPosition)return(g.compareDocumentPosition(a)&16)==16;for(;a!=n;){if(a==g)return!0;a=a.parentNode}return!1},Z:function(a){return q.a.Wa(a,document)},r:function(a,g,f){if(typeof jQuery!=
"undefined"){if(d(a,g))var c=f,f=function(a,g){var f=this.checked;if(g)this.checked=g.Qa!==!0;c.call(this,a);this.checked=f};jQuery(a).bind(g,f)}else typeof a.addEventListener=="function"?a.addEventListener(g,f,!1):typeof a.attachEvent!="undefined"?a.attachEvent("on"+g,function(g){f.call(a,g)}):b(Error("Browser doesn't support addEventListener or attachEvent"))},ma:function(a,g){(!a||!a.nodeType)&&b(Error("element must be a DOM node when calling triggerEvent"));if(typeof jQuery!="undefined"){var f=
[];d(a,g)&&f.push({Qa:a.checked});jQuery(a).trigger(g,f)}else if(typeof document.createEvent=="function")typeof a.dispatchEvent=="function"?(f=document.createEvent(g in c?"MouseEvents":"HTMLEvents"),f.initEvent(g,!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,a),a.dispatchEvent(f)):b(Error("The supplied element doesn't support dispatchEvent"));else if(typeof a.fireEvent!="undefined"){if(g=="click"&&a.tagName=="INPUT"&&(a.type.toLowerCase()=="checkbox"||a.type.toLowerCase()=="radio"))a.checked=a.checked!==!0;
a.fireEvent("on"+g)}else b(Error("Browser doesn't support triggering events"))},d:function(a){return q.N(a)?a():a},Va:function(a,g){return q.a.h((a.className||"").split(/\s+/),g)>=0},Ia:function(a,g,f){var c=q.a.Va(a,g);if(f&&!c)a.className=(a.className||"")+" "+g;else if(c&&!f){for(var f=(a.className||"").split(/\s+/),c="",d=0;d<f.length;d++)f[d]!=g&&(c+=f[d]+" ");a.className=q.a.v(c)}},outerHTML:function(a){var g=a.outerHTML;if(typeof g=="string")return g;g=window.document.createElement("div");
g.appendChild(a.cloneNode(!0));return g.innerHTML},ob:function(a,g){for(var a=q.a.d(a),g=q.a.d(g),f=[],c=a;c<=g;c++)f.push(c);return f},da:function(a){for(var g=[],f=0,c=a.length;f<c;f++)g.push(a[f]);return g},ba:/MSIE 6/i.test(navigator.userAgent),fb:/MSIE 7/i.test(navigator.userAgent),va:function(a,g){for(var f=q.a.da(a.getElementsByTagName("INPUT")).concat(q.a.da(a.getElementsByTagName("TEXTAREA"))),c=typeof g=="string"?function(a){return a.name===g}:function(a){return g.test(a.name)},d=[],e=f.length-
1;e>=0;e--)c(f[e])&&d.push(f[e]);return d},lb:function(a){return typeof a=="string"&&(a=q.a.v(a))?window.JSON&&window.JSON.parse?window.JSON.parse(a):(new Function("return "+a))():n},ja:function(a){(typeof JSON=="undefined"||typeof JSON.stringify=="undefined")&&b(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"));return JSON.stringify(q.a.d(a))},
mb:function(a,g,f){var f=f||{},c=f.params||{},d=f.includeFields||this.ua,e=a;if(typeof a=="object"&&a.tagName=="FORM")for(var e=a.action,j=d.length-1;j>=0;j--)for(var m=q.a.va(a,d[j]),o=m.length-1;o>=0;o--)c[m[o].name]=m[o].value;var g=q.a.d(g),p=document.createElement("FORM");p.style.display="none";p.action=e;p.method="post";for(var r in g)a=document.createElement("INPUT"),a.name=r,a.value=q.a.ja(q.a.d(g[r])),p.appendChild(a);for(r in c)a=document.createElement("INPUT"),a.name=r,a.value=c[r],p.appendChild(a);
document.body.appendChild(p);f.submitter?f.submitter(p):p.submit();setTimeout(function(){p.parentNode.removeChild(p)},0)}}};q.b("ko.utils",q.a);q.b("ko.utils.arrayForEach",q.a.o);q.b("ko.utils.arrayFirst",q.a.Oa);q.b("ko.utils.arrayFilter",q.a.S);q.b("ko.utils.arrayGetDistinctValues",q.a.vb);q.b("ko.utils.arrayIndexOf",q.a.h);q.b("ko.utils.arrayMap",q.a.T);q.b("ko.utils.arrayPushAll",q.a.G);q.b("ko.utils.arrayRemoveItem",q.a.U);q.b("ko.utils.fieldsIncludedWithJsonPost",q.a.ua);
q.b("ko.utils.getFormFields",q.a.va);q.b("ko.utils.postJson",q.a.mb);q.b("ko.utils.parseJson",q.a.lb);q.b("ko.utils.registerEventHandler",q.a.r);q.b("ko.utils.stringifyJson",q.a.ja);q.b("ko.utils.range",q.a.ob);q.b("ko.utils.toggleDomNodeCssClass",q.a.Ia);q.b("ko.utils.triggerEvent",q.a.ma);q.b("ko.utils.unwrapObservable",q.a.d);Function.prototype.bind||(Function.prototype.bind=function(d){var e=this,c=Array.prototype.slice.call(arguments),d=c.shift();return function(){return e.apply(d,c.concat(Array.prototype.slice.call(arguments)))}});
q.a.e=new function(){var d=0,e="__ko__"+(new Date).getTime(),c={};return{get:function(a,g){var f=q.a.e.getAll(a,!1);return f===l?l:f[g]},set:function(a,g,f){f===l&&q.a.e.getAll(a,!1)===l||(q.a.e.getAll(a,!0)[g]=f)},getAll:function(a,g){var f=a[e];if(!(f&&f!=="null")){if(!g)return;f=a[e]="ko"+d++;c[f]={}}return c[f]},clear:function(a){var g=a[e];g&&(delete c[g],a[e]=n)}}};
q.a.u=new function(){function d(a,g){var f=q.a.e.get(a,c);f===l&&g&&(f=[],q.a.e.set(a,c,f));return f}function e(a){var g=d(a,!1);if(g)for(var g=g.slice(0),f=0;f<g.length;f++)g[f](a);q.a.e.clear(a);typeof jQuery=="function"&&typeof jQuery.cleanData=="function"&&jQuery.cleanData([a])}var c="__ko_domNodeDisposal__"+(new Date).getTime();return{pa:function(a,g){typeof g!="function"&&b(Error("Callback must be a function"));d(a,!0).push(g)},Ca:function(a,g){var f=d(a,!1);f&&(q.a.U(f,g),f.length==0&&q.a.e.set(a,
c,l))},B:function(a){if(!(a.nodeType!=1&&a.nodeType!=9)){e(a);var g=[];q.a.G(g,a.getElementsByTagName("*"));for(var a=0,f=g.length;a<f;a++)e(g[a])}},removeNode:function(a){q.B(a);a.parentNode&&a.parentNode.removeChild(a)}}};q.B=q.a.u.B;q.removeNode=q.a.u.removeNode;q.b("ko.cleanNode",q.B);q.b("ko.removeNode",q.removeNode);q.b("ko.utils.domNodeDisposal",q.a.u);q.b("ko.utils.domNodeDisposal.addDisposeCallback",q.a.u.pa);q.b("ko.utils.domNodeDisposal.removeDisposeCallback",q.a.u.Ca);
(function(){function d(c){for(var c=c||"",a=[];c.match(e);)c=c.replace(e,function(g,f,c){f&&a.push(new document.createTextNode(f));a.push(document.createComment(c));return""});var g=q.a.v(c).toLowerCase(),f=document.createElement("div"),g=g.match(/^<(thead|tbody|tfoot)/)&&[1,"<table>","</table>"]||!g.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!g.indexOf("<td")||!g.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||[0,"",""];for(f.innerHTML=g[1]+c+g[2];g[0]--;)f=f.lastChild;
return a.concat(q.a.da(f.childNodes))}var e=/^(\s*)<\!--(.*?)--\>/;q.a.ya=function(c){return typeof jQuery!="undefined"?jQuery.clean([c]):d(c)};q.a.rb=function(c,a){q.a.I(c);if(a!==n&&a!==l)if(typeof a!="string"&&(a=a.toString()),typeof jQuery!="undefined")jQuery(c).html(a);else for(var g=q.a.ya(a),f=0;f<g.length;f++)c.appendChild(g[f])}})();
q.p=function(){function d(){return((1+Math.random())*4294967296|0).toString(16).substring(1)}function e(a,g){if(a)if(a.nodeType==8){var f=q.p.za(a.nodeValue);f!=n&&g.push({Ua:a,ib:f})}else if(a.nodeType==1)for(var f=0,c=a.childNodes,d=c.length;f<d;f++)e(c[f],g)}var c={};return{ea:function(a){typeof a!="function"&&b(Error("You can only pass a function to ko.memoization.memoize()"));var g=d()+d();c[g]=a;return"<\!--[ko_memo:"+g+"]--\>"},Ka:function(a,g){var f=c[a];f===l&&b(Error("Couldn't find any memo with ID "+
a+". Perhaps it's already been unmemoized."));try{return f.apply(n,g||[]),!0}finally{delete c[a]}},La:function(a,g){var f=[];e(a,f);for(var c=0,d=f.length;c<d;c++){var i=f[c].Ua,j=[i];g&&q.a.G(j,g);q.p.Ka(f[c].ib,j);i.nodeValue="";i.parentNode&&i.parentNode.removeChild(i)}},za:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:n}}}();q.b("ko.memoization",q.p);q.b("ko.memoization.memoize",q.p.ea);q.b("ko.memoization.unmemoize",q.p.Ka);q.b("ko.memoization.parseMemoText",q.p.za);
q.b("ko.memoization.unmemoizeDomNodeAndDescendants",q.p.La);q.ta={};function y(d){var e=this;if(d)for(var c in d){var a=q.ta[c];typeof a=="function"&&(e=a(e,d[c]))}return e}q.b("ko.extenders",q.ta);q.ub=function(d,e){this.V=d;this.t=function(){this.eb=!0;e()}.bind(this);q.j(this,"dispose",this.t)};
q.ka=function(){var d=[];this.la=function(e,c){var a=c?e.bind(c):e,g=new q.ub(a,function(){q.a.U(d,g)});d.push(g);return g};this.K=function(e){q.a.o(d.slice(0),function(c){c&&c.eb!==!0&&c.V(e)})};this.ab=function(){return d.length};this.extend=y;q.j(this,"subscribe",this.la);q.j(this,"extend",this.extend);q.j(this,"notifySubscribers",this.K);q.j(this,"getSubscriptionsCount",this.ab)};q.xa=function(d){return typeof d.la=="function"&&typeof d.K=="function"};q.b("ko.subscribable",q.ka);
q.b("ko.isSubscribable",q.xa);q.L=function(){var d=[];return{Pa:function(e){d.push({V:e,sa:[]})},end:function(){d.pop()},Ba:function(e){q.xa(e)||b("Only subscribable things can act as dependencies");if(d.length>0){var c=d[d.length-1];q.a.h(c.sa,e)>=0||(c.sa.push(e),c.V(e))}}}}();var z={undefined:!0,"boolean":!0,number:!0,string:!0};function A(d,e){return d===n||typeof d in z?d===e:!1}
q.F=function(d){function e(){if(arguments.length>0){if(!e.equalityComparer||!e.equalityComparer(c,arguments[0]))c=arguments[0],e.K(c);return this}else return q.L.Ba(e),c}var c=d;e.w=q.F;e.Q=function(){e.K(c)};e.equalityComparer=A;q.ka.call(e);q.j(e,"valueHasMutated",e.Q);return e};q.N=function(d){return d===n||d===l||d.w===l?!1:d.w===q.F?!0:q.N(d.w)};q.J=function(d){return typeof d=="function"&&d.w===q.F?!0:typeof d=="function"&&d.w===q.l&&d.bb?!0:!1};q.b("ko.observable",q.F);
q.b("ko.isObservable",q.N);q.b("ko.isWriteableObservable",q.J);
q.kb=function(d){arguments.length==0&&(d=[]);d!==n&&d!==l&&!("length"in d)&&b(Error("The argument passed when initializing an observable array must be an array, or null, or undefined."));var e=new q.F(d);q.a.o("pop,push,reverse,shift,sort,splice,unshift".split(","),function(c){e[c]=function(){var a=e(),a=a[c].apply(a,arguments);e.Q();return a}});q.a.o(["slice"],function(c){e[c]=function(){var a=e();return a[c].apply(a,arguments)}});e.remove=function(c){for(var a=e(),g=[],f=[],d=typeof c=="function"?
c:function(a){return a===c},k=0,i=a.length;k<i;k++){var j=a[k];d(j)?f.push(j):g.push(j)}e(g);return f};e.pb=function(c){if(c===l){var a=e();e([]);return a}return!c?[]:e.remove(function(a){return q.a.h(c,a)>=0})};e.Y=function(c){for(var a=e(),g=typeof c=="function"?c:function(a){return a===c},f=a.length-1;f>=0;f--)g(a[f])&&(a[f]._destroy=!0);e.Q()};e.Ta=function(c){return c===l?e.Y(function(){return!0}):!c?[]:e.Y(function(a){return q.a.h(c,a)>=0})};e.indexOf=function(c){var a=e();return q.a.h(a,c)};
e.replace=function(c,a){var g=e.indexOf(c);g>=0&&(e()[g]=a,e.Q())};q.j(e,"remove",e.remove);q.j(e,"removeAll",e.pb);q.j(e,"destroy",e.Y);q.j(e,"destroyAll",e.Ta);q.j(e,"indexOf",e.indexOf);return e};q.b("ko.observableArray",q.kb);
q.l=function(d,e,c){function a(){q.a.o(o,function(a){a.t()});o=[]}function g(){if(k&&typeof c.disposeWhen=="function"&&c.disposeWhen())f.t();else{try{a(),q.L.Pa(function(a){o.push(a.la(g))}),h=c.owner?c.read.call(c.owner):c.read()}finally{q.L.end()}f.K(h);k=!0}}function f(){if(arguments.length>0)if(typeof c.write==="function"){var a=arguments[0];c.owner?c.write.call(c.owner,a):c.write(a)}else b("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.");
else return k||g(),q.L.Ba(f),h}var h,k=!1;d&&typeof d=="object"?c=d:(c=c||{},c.read=d||c.read,c.owner=e||c.owner);typeof c.read!="function"&&b("Pass a function that returns the value of the dependentObservable");var i=typeof c.disposeWhenNodeIsRemoved=="object"?c.disposeWhenNodeIsRemoved:n,j=n;if(i){j=function(){f.t()};q.a.u.pa(i,j);var m=c.disposeWhen;c.disposeWhen=function(){return!q.a.Z(i)||typeof m=="function"&&m()}}var o=[];f.w=q.l;f.$a=function(){return o.length};f.bb=typeof c.write==="function";
f.t=function(){i&&q.a.u.Ca(i,j);a()};q.ka.call(f);c.deferEvaluation!==!0&&g();q.j(f,"dispose",f.t);q.j(f,"getDependenciesCount",f.$a);return f};q.l.w=q.F;q.b("ko.dependentObservable",q.l);
(function(){function d(a,g,f){f=f||new c;a=g(a);if(!(typeof a=="object"&&a!==n&&a!==l))return a;var h=a instanceof Array?[]:{};f.save(a,h);e(a,function(c){var e=g(a[c]);switch(typeof e){case "boolean":case "number":case "string":case "function":h[c]=e;break;case "object":case "undefined":var j=f.get(e);h[c]=j!==l?j:d(e,g,f)}});return h}function e(a,g){if(a instanceof Array)for(var f=0;f<a.length;f++)g(f);else for(f in a)g(f)}function c(){var a=[],g=[];this.save=function(f,c){var d=q.a.h(a,f);d>=0?
g[d]=c:(a.push(f),g.push(c))};this.get=function(c){c=q.a.h(a,c);return c>=0?g[c]:l}}q.Ha=function(a){arguments.length==0&&b(Error("When calling ko.toJS, pass the object you want to convert."));return d(a,function(a){for(var c=0;q.N(a)&&c<10;c++)a=a();return a})};q.toJSON=function(a){a=q.Ha(a);return q.a.ja(a)}})();q.b("ko.toJS",q.Ha);q.b("ko.toJSON",q.toJSON);
q.g={q:function(d){return d.tagName=="OPTION"?d.__ko__hasDomDataOptionValue__===!0?q.a.e.get(d,q.c.options.fa):d.getAttribute("value"):d.tagName=="SELECT"?d.selectedIndex>=0?q.g.q(d.options[d.selectedIndex]):l:d.value},R:function(d,e){if(d.tagName=="OPTION")switch(typeof e){case "string":case "number":q.a.e.set(d,q.c.options.fa,l);"__ko__hasDomDataOptionValue__"in d&&delete d.__ko__hasDomDataOptionValue__;d.value=e;break;default:q.a.e.set(d,q.c.options.fa,e),d.__ko__hasDomDataOptionValue__=!0,d.value=
""}else if(d.tagName=="SELECT")for(var c=d.options.length-1;c>=0;c--){if(q.g.q(d.options[c])==e){d.selectedIndex=c;break}}else{if(e===n||e===l)e="";d.value=e}}};q.b("ko.selectExtensions",q.g);q.b("ko.selectExtensions.readValue",q.g.q);q.b("ko.selectExtensions.writeValue",q.g.R);
q.D=function(){function d(a,c){for(var d=n;a!=d;)d=a,a=a.replace(e,function(a,g){return c[g]});return a}var e=/\@ko_token_(\d+)\@/g,c=/^[\_$a-z][\_$a-z0-9]*(\[.*?\])*(\.[\_$a-z][\_$a-z0-9]*(\[.*?\])*)*$/i,a=["true","false"];return{Aa:function(a){var c=q.a.v(a);if(c.length<3)return[];c.charAt(0)==="{"&&(c=c.substring(1,c.length-1));for(var a=[],e=n,k,i=0;i<c.length;i++){var j=c.charAt(i);if(e===n)switch(j){case '"':case "'":case "/":e=i,k=j}else if(j==k&&c.charAt(i-1)!=="\\"){j=c.substring(e,i+1);
a.push(j);var m="@ko_token_"+(a.length-1)+"@",c=c.substring(0,e)+m+c.substring(i+1);i-=j.length-m.length;e=n}}k=e=n;for(var o=0,p=n,i=0;i<c.length;i++){j=c.charAt(i);if(e===n)switch(j){case "{":e=i;p=j;k="}";break;case "(":e=i;p=j;k=")";break;case "[":e=i,p=j,k="]"}j===p?o++:j===k&&(o--,o===0&&(j=c.substring(e,i+1),a.push(j),m="@ko_token_"+(a.length-1)+"@",c=c.substring(0,e)+m+c.substring(i+1),i-=j.length-m.length,e=n))}k=[];c=c.split(",");e=0;for(i=c.length;e<i;e++)o=c[e],p=o.indexOf(":"),p>0&&p<
o.length-1?(j=o.substring(p+1),k.push({key:d(o.substring(0,p),a),value:d(j,a)})):k.push({Ja:d(o,a)});return k},aa:function(g){for(var f=q.D.Aa(g),d=[],g=[],e,i=0;e=f[i];i++)if(d.length>0&&d.push(","),e.key){var j;a:{j=e.key;var m=q.a.v(j);switch(m.length&&m.charAt(0)){case "'":case '"':break a;default:j="'"+m+"'"}}d.push(j);d.push(":");d.push(e.value);m=q.a.v(e.value);if(q.a.h(a,q.a.v(m).toLowerCase())>=0?0:m.match(c)!==n)g.length>0&&g.push(", "),g.push(j+" : function(__ko_value) { "+e.value+" = __ko_value; }")}else e.Ja&&
d.push(e.Ja);f=d.join("");g.length>0&&(f=f+", '_ko_property_writers' : { "+g.join("")+" } ");return f}}}();q.b("ko.jsonExpressionRewriting",q.D);q.b("ko.jsonExpressionRewriting.parseObjectLiteral",q.D.Aa);q.b("ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson",q.D.aa);
(function(){function d(a){return a.nodeType==8&&a.nodeValue.match(c)}function e(c){for(var f=c,e=1,k=[];f=f.nextSibling;){if(f.nodeType==8&&f.nodeValue.match(a)&&(e--,e===0))return k;k.push(f);d(f)&&e++}b(Error("Cannot find closing comment tag to match: "+c.nodeValue))}var c=/^\s*ko\s+(.*\:.*)\s*$/,a=/^\s*\/ko\s*$/;q.k={childNodes:function(a){return d(a)?e(a):a.childNodes},$:function(a){if(d(a))for(var a=q.k.childNodes(a),c=0,e=a.length;c<e;c++)q.removeNode(a[c]);else q.a.I(a)},ha:function(a,c){if(d(a)){q.k.$(a);
for(var e=a.nextSibling,k=0,i=c.length;k<i;k++)e.parentNode.insertBefore(c[k],e)}else q.a.ha(a,c)},nb:function(a,c){d(a)?a.parentNode.insertBefore(c,a.nextSibling):a.firstChild?a.insertBefore(c,a.firstChild):a.appendChild(c)},cb:function(a,c,e){d(a)?a.parentNode.insertBefore(c,e.nextSibling):e.nextSibling?a.insertBefore(c,e.nextSibling):a.appendChild(c)},nextSibling:function(c){if(d(c))var f=e(c),c=(f.length>0?f[f.length-1].nextSibling:c.nextSibling).nextSibling;else c=c.nextSibling&&c.nextSibling.nodeType==
8&&c.nextSibling.nodeValue.match(a)?l:c.nextSibling;return c},na:function(a){return(a=d(a))?a[1]:n},Za:function(a){if(q.k.na(a)){var c;c=q.k.childNodes(a);for(var d=[],e=0,i=c.length;e<i;e++)q.a.u.B(c[e]),d.push(q.a.outerHTML(c[e]));c=String.prototype.concat.apply("",d);q.k.$(a);(new q.i.z(a)).text(c)}}}})();
(function(){function d(a,g,f){var h=!0,k=g.nodeType==1,i=q.k.na(g),j=q.a.e.get(g,"bindings");if(i||j||k&&f||k&&g.getAttribute(c))h=e(g,j,a,f).sb;if(k&&h)for(g=g.childNodes[0];g;)d(a,g,!1),g=q.k.nextSibling(g)}function e(a,d,f,e){function k(a){return function(){return o[a]}}function i(){return o}var j=!0,m=c;q.k.Za(a);var o,p;new q.l(function(){var c=f&&f instanceof q.A?f:new q.A(q.a.d(f)),v=c.$data;e&&q.Ga(a,c);var t=typeof d=="function"?d():d,u=a.nodeType==1&&a.getAttribute(m)||q.k.na(a);if(t||u){if(!t)try{var w=
" { "+q.D.aa(u)+" } ",t=q.a.Ya(w,v===n?window:v,c)}catch(x){b(Error("Unable to parse binding attribute.\nMessage: "+x+";\nAttribute value: "+u))}o=t;if(j)for(var s in o)if(q.c[s]&&typeof q.c[s].init=="function"&&(u=(0,q.c[s].init)(a,k(s),i,v,c))&&u.controlsDescendantBindings)p!==l&&b(Error("Multiple bindings ("+p+" and "+s+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.")),p=s;for(s in o)q.c[s]&&typeof q.c[s].update=="function"&&
(0,q.c[s].update)(a,k(s),i,v,c)}},n,{disposeWhenNodeIsRemoved:a});j=!1;return{sb:p===l}}var c="data-bind";q.c={};q.A=function(a,c){this.$data=a;c?(this.$parent=c.$data,this.$parents=(c.$parents||[]).slice(0),this.$parents.unshift(this.$parent),this.$root=c.$root):(this.$parents=[],this.$root=a)};q.A.prototype={X:function(a){return new q.A(a,this)}};q.Ga=function(a,c){if(arguments.length==2)q.a.e.set(a,"__ko_bindingContext__",c);else return q.a.e.get(a,"__ko_bindingContext__")};q.ra=function(a,c,d){return e(a,
c,d,!0)};q.qa=function(a,c){c&&c.nodeType!==1&&c.nodeType!==8&&b(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node"));c=c||window.document.body;typeof q.beforeApplyBindings==="function"&&q.beforeApplyBindings(c);d(a,c,!0)};q.W=function(a){var c=q.Ga(a);if(c)return c;if(a.parentNode)return q.W(a.parentNode)};q.Sa=function(a){return(a=q.W(a))?a.$data:l};q.b("ko.bindingHandlers",q.c);q.b("ko.applyBindings",q.qa);q.b("ko.applyBindingsToNode",q.ra);
q.b("ko.contextFor",q.W);q.b("ko.dataFor",q.Sa)})();q.a.o(["click"],function(d){q.c[d]={init:function(e,c,a,g){return q.c.event.init.call(this,e,function(){var a={};a[d]=c();return a},a,g)}}});q.c.event={init:function(d,e,c,a){var g=e()||{},f;for(f in g)(function(){var g=f;typeof g=="string"&&q.a.r(d,g,function(d){var f,j=e()[g],m=c();try{f=j.apply(a,arguments)}finally{if(f!==!0)d.preventDefault?d.preventDefault():d.returnValue=!1}if(m[g+"Bubble"]===!1)d.cancelBubble=!0,d.stopPropagation&&d.stopPropagation()})})()}};
q.c.submit={init:function(d,e,c,a){typeof e()!="function"&&b(Error("The value for a submit binding must be a function to invoke on submit"));q.a.r(d,"submit",function(c){var f,h=e();try{f=h.call(a,d)}finally{if(f!==!0)c.preventDefault?c.preventDefault():c.returnValue=!1}})}};q.c.visible={update:function(d,e){var c=q.a.d(e()),a=d.style.display!="none";if(c&&!a)d.style.display="";else if(!c&&a)d.style.display="none"}};
q.c.enable={update:function(d,e){var c=q.a.d(e());if(c&&d.disabled)d.removeAttribute("disabled");else if(!c&&!d.disabled)d.disabled=!0}};q.c.disable={update:function(d,e){q.c.enable.update(d,function(){return!q.a.d(e())})}};
q.c.value={init:function(d,e,c){var a=c().valueUpdate||"change",g=!1;q.a.tb(a,"after")&&(g=!0,a=a.substring(5));var f=g?function(a){setTimeout(a,0)}:function(a){a()};q.a.r(d,a,function(){f(function(){var a=e(),g=q.g.q(d);q.J(a)?a(g):(a=c(),a._ko_property_writers&&a._ko_property_writers.value&&a._ko_property_writers.value(g))})})},update:function(d,e){var c=q.a.d(e()),a=q.g.q(d),g=c!=a;c===0&&a!==0&&a!=="0"&&(g=!0);g&&(a=function(){q.g.R(d,c)},a(),d.tagName=="SELECT"&&setTimeout(a,0));d.tagName=="SELECT"&&
(a=q.g.q(d),a!==c&&q.a.ma(d,"change"))}};
q.c.options={update:function(d,e,c){d.tagName!="SELECT"&&b(Error("options binding applies only to SELECT elements"));var a=q.a.T(q.a.S(d.childNodes,function(a){return a.tagName&&a.tagName=="OPTION"&&a.selected}),function(a){return q.g.q(a)||a.innerText||a.textContent}),g=d.scrollTop,f=q.a.d(e());q.a.I(d);if(f){var h=c();typeof f.length!="number"&&(f=[f]);if(h.optionsCaption){var k=document.createElement("OPTION");k.innerHTML=h.optionsCaption;q.g.R(k,l);d.appendChild(k)}c=0;for(e=f.length;c<e;c++){var k=
document.createElement("OPTION"),i=typeof h.optionsValue=="string"?f[c][h.optionsValue]:f[c],j=h.optionsText;optionText=typeof j=="function"?j(f[c]):typeof j=="string"?f[c][j]:i;i=q.a.d(i);optionText=q.a.d(optionText);q.g.R(k,i);k.innerHTML=optionText.toString();d.appendChild(k)}f=d.getElementsByTagName("OPTION");c=h=0;for(e=f.length;c<e;c++)q.a.h(a,q.g.q(f[c]))>=0&&(q.a.Fa(f[c],!0),h++);if(g)d.scrollTop=g}}};q.c.options.fa="__ko.bindingHandlers.options.optionValueDomData__";
q.c.selectedOptions={wa:function(d){for(var e=[],d=d.childNodes,c=0,a=d.length;c<a;c++){var g=d[c];g.tagName=="OPTION"&&g.selected&&e.push(q.g.q(g))}return e},init:function(d,e,c){q.a.r(d,"change",function(){var a=e();q.J(a)?a(q.c.selectedOptions.wa(this)):(a=c(),a._ko_property_writers&&a._ko_property_writers.value&&a._ko_property_writers.value(q.c.selectedOptions.wa(this)))})},update:function(d,e){d.tagName!="SELECT"&&b(Error("values binding applies only to SELECT elements"));var c=q.a.d(e());if(c&&
typeof c.length=="number")for(var a=d.childNodes,g=0,f=a.length;g<f;g++){var h=a[g];h.tagName=="OPTION"&&q.a.Fa(h,q.a.h(c,q.g.q(h))>=0)}}};q.c.text={update:function(d,e){var c=q.a.d(e());if(c===n||c===l)c="";typeof d.innerText=="string"?d.innerText=c:d.textContent=c}};q.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(d,e){var c=q.a.d(e());q.a.rb(d,c)}};
q.c.css={update:function(d,e){var c=q.a.d(e()||{}),a;for(a in c)if(typeof a=="string"){var g=q.a.d(c[a]);q.a.Ia(d,a,g)}}};q.c.style={update:function(d,e){var c=q.a.d(e()||{}),a;for(a in c)if(typeof a=="string"){var g=q.a.d(c[a]);d.style[a]=g||""}}};q.c.uniqueName={init:function(d,e){if(e())d.name="ko_unique_"+ ++q.c.uniqueName.Ra,q.a.ba&&d.mergeAttributes(document.createElement("<input name='"+d.name+"'/>"),!1)}};q.c.uniqueName.Ra=0;
q.c.checked={init:function(d,e,c){q.a.r(d,"click",function(){var a;if(d.type=="checkbox")a=d.checked;else if(d.type=="radio"&&d.checked)a=d.value;else return;var g=e();d.type=="checkbox"&&q.a.d(g)instanceof Array?(a=q.a.h(q.a.d(g),d.value),d.checked&&a<0?g.push(d.value):!d.checked&&a>=0&&g.splice(a,1)):q.J(g)?g()!==a&&g(a):(g=c(),g._ko_property_writers&&g._ko_property_writers.checked&&g._ko_property_writers.checked(a))});d.type=="radio"&&!d.name&&q.c.uniqueName.init(d,function(){return!0})},update:function(d,
e){var c=q.a.d(e());if(d.type=="checkbox")d.checked=c instanceof Array?q.a.h(c,d.value)>=0:c,c&&q.a.ba&&d.mergeAttributes(document.createElement("<input type='checkbox' checked='checked' />"),!1);else if(d.type=="radio")d.checked=d.value==c,d.value==c&&(q.a.ba||q.a.fb)&&d.mergeAttributes(document.createElement("<input type='radio' checked='checked' />"),!1)}};
q.c.attr={update:function(d,e){var c=q.a.d(e())||{},a;for(a in c)if(typeof a=="string"){var g=q.a.d(c[a]);g===!1||g===n||g===l?d.removeAttribute(a):d.setAttribute(a,g.toString())}}};
q.c.hasfocus={init:function(d,e,c){function a(a){var d=e();a!=q.a.d(d)&&(q.J(d)?d(a):(d=c(),d._ko_property_writers&&d._ko_property_writers.hasfocus&&d._ko_property_writers.hasfocus(a)))}q.a.r(d,"focus",function(){a(!0)});q.a.r(d,"focusin",function(){a(!0)});q.a.r(d,"blur",function(){a(!1)});q.a.r(d,"focusout",function(){a(!1)})},update:function(d,e){var c=q.a.d(e());c?d.focus():d.blur();q.a.ma(d,c?"focusin":"focusout")}};
q.c["with"]={m:function(d){return function(){var e=d();return{"if":e,data:e,templateEngine:q.n.C}}},init:function(d,e){return q.c.template.init(d,q.c["with"].m(e))},update:function(d,e,c,a,g){return q.c.template.update(d,q.c["with"].m(e),c,a,g)}};q.c["if"]={m:function(d){return function(){return{"if":d(),templateEngine:q.n.C}}},init:function(d,e){return q.c.template.init(d,q.c["if"].m(e))},update:function(d,e,c,a,g){return q.c.template.update(d,q.c["if"].m(e),c,a,g)}};
q.c.ifnot={m:function(d){return function(){return{ifnot:d(),templateEngine:q.n.C}}},init:function(d,e){return q.c.template.init(d,q.c.ifnot.m(e))},update:function(d,e,c,a,g){return q.c.template.update(d,q.c.ifnot.m(e),c,a,g)}};
q.c.foreach={m:function(d){return function(){var e=q.a.d(d());return!e||typeof e.length=="number"?{foreach:e,templateEngine:q.n.C}:{foreach:e.data,includeDestroyed:e.includeDestroyed,afterAdd:e.afterAdd,beforeRemove:e.beforeRemove,afterRender:e.afterRender,templateEngine:q.n.C}}},init:function(d,e){return q.c.template.init(d,q.c.foreach.m(e))},update:function(d,e,c,a,g){return q.c.template.update(d,q.c.foreach.m(e),c,a,g)}};q.s=function(){};q.s.prototype.renderTemplateSource=function(){b("Override renderTemplateSource in your ko.templateEngine subclass")};
q.s.prototype.createJavaScriptEvaluatorBlock=function(){b("Override createJavaScriptEvaluatorBlock in your ko.templateEngine subclass")};q.s.prototype.makeTemplateSource=function(d){if(typeof d=="string"){var e=document.getElementById(d);e||b(Error("Cannot find template with ID "+d));return new q.i.f(e)}else if(d.nodeType==1||d.nodeType==8)return new q.i.z(d);else b(Error("Unrecognised template type: "+d))};
q.s.prototype.renderTemplate=function(d,e,c){return this.renderTemplateSource(this.makeTemplateSource(d),e,c)};q.s.prototype.isTemplateRewritten=function(d){return this.allowTemplateRewriting===!1?!0:this.O&&this.O[d]?!0:this.makeTemplateSource(d).data("isRewritten")};q.s.prototype.rewriteTemplate=function(d,e){var c=this.makeTemplateSource(d),a=e(c.text());c.text(a);c.data("isRewritten",!0);if(typeof d=="string")this.O=this.O||{},this.O[d]=!0};q.b("ko.templateEngine",q.s);
q.P=function(){var d=/(<[a-z]+\d*(\s+(?!data-bind=)[a-z0-9\-]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])([\s\S]*?)\5/gi;return{Xa:function(d,c){c.isTemplateRewritten(d)||c.rewriteTemplate(d,function(a){return q.P.jb(a,c)})},jb:function(e,c){return e.replace(d,function(a,d,e,h,k,i,j){a=q.D.aa(j);return c.createJavaScriptEvaluatorBlock("ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() { return (function() { return { "+a+" } })() })")+d})},
Ma:function(d){return q.p.ea(function(c,a){c.nextSibling&&q.ra(c.nextSibling,d,a)})}}}();q.b("ko.templateRewriting",q.P);q.b("ko.templateRewriting.applyMemoizedBindingsToNextSibling",q.P.Ma);
(function(){q.i={};q.i.f=function(d){this.f=d};q.i.f.prototype.text=function(){if(arguments.length==0)return this.f.tagName.toLowerCase()=="script"?this.f.text:this.f.innerHTML;else{var d=arguments[0];this.f.tagName.toLowerCase()=="script"?this.f.text=d:this.f.innerHTML=d}};q.i.f.prototype.data=function(d){if(arguments.length===1)return q.a.e.get(this.f,"templateSourceData_"+d);else q.a.e.set(this.f,"templateSourceData_"+d,arguments[0])};q.i.z=function(d){this.f=d};q.i.z.prototype=new q.i.f;q.i.z.prototype.text=
function(){if(arguments.length==0)return q.a.e.get(this.f,"__ko_anon_template__");else q.a.e.set(this.f,"__ko_anon_template__",arguments[0])};q.b("ko.templateSources",q.i);q.b("ko.templateSources.domElement",q.i.f);q.b("ko.templateSources.anonymousTemplate",q.i.z)})();
(function(){function d(c,a,d,f,h){var h=h||{},k=h.templateEngine||e;q.P.Xa(d,k);d=k.renderTemplate(d,f,h);(typeof d.length!="number"||d.length>0&&typeof d[0].nodeType!="number")&&b("Template engine must return an array of DOM nodes");k=!1;switch(a){case "replaceChildren":q.k.ha(c,d);k=!0;break;case "replaceNode":q.a.Da(c,d);k=!0;break;case "ignoreTargetNode":break;default:b(Error("Unknown renderMode: "+a))}k&&(q.oa(d,f),h.afterRender&&h.afterRender(d,f.$data));return d}var e;q.ia=function(c){c!=l&&
!(c instanceof q.s)&&b("templateEngine must inherit from ko.templateEngine");e=c};q.oa=function(c,a){for(var d=q.a.G([],c),e,h=c.length>0?c[0].parentNode:n,k=0;e=d[k];k++)if(e.parentNode===h)switch(e.nodeType){case 1:case 8:q.qa(a,e),q.p.La(e,[a])}};q.ga=function(c,a,g,f,h){g=g||{};(g.templateEngine||e)==l&&b("Set a template engine before calling renderTemplate");h=h||"replaceChildren";if(f){var k=f.nodeType?f:f.length>0?f[0]:n;return new q.l(function(){var e=a&&a instanceof q.A?a:new q.A(q.a.d(a)),
j=typeof c=="function"?c(e.$data):c,e=d(f,h,j,e,g);h=="replaceNode"&&(f=e,k=f.nodeType?f:f.length>0?f[0]:n)},n,{disposeWhen:function(){return!k||!q.a.Z(k)},disposeWhenNodeIsRemoved:k&&h=="replaceNode"?k.parentNode:k})}else return q.p.ea(function(d){q.ga(c,a,g,d,"replaceNode")})};q.qb=function(c,a,e,f,h){function k(a,c){var d=h.X(q.a.d(a));q.oa(c,d);e.afterRender&&e.afterRender(c,d.$data)}return new q.l(function(){var i=q.a.d(a)||[];typeof i.length=="undefined"&&(i=[i]);i=q.a.S(i,function(a){return e.includeDestroyed||
!a._destroy});q.a.Ea(f,i,function(a){var f=typeof c=="function"?c(a):c;return d(n,"ignoreTargetNode",f,h.X(q.a.d(a)),e)},e,k)},n,{disposeWhenNodeIsRemoved:f})};q.c.template={init:function(c,a){var d=q.a.d(a());typeof d!="string"&&!d.name&&c.nodeType==1&&((new q.i.z(c)).text(c.innerHTML),q.a.I(c));return{controlsDescendantBindings:!0}},update:function(c,a,d,e,h){a=q.a.d(a());e=!0;typeof a=="string"?d=a:(d=a.name,"if"in a&&(e=e&&q.a.d(a["if"])),"ifnot"in a&&(e=e&&!q.a.d(a.ifnot)));var k=n;typeof a.foreach!=
"undefined"?k=q.qb(d||c,e&&a.foreach||[],a,c,h):e?(h=typeof a=="object"&&"data"in a?h.X(q.a.d(a.data)):h,k=q.ga(d||c,h,a,c)):q.k.$(c);h=k;(a=q.a.e.get(c,"__ko__templateSubscriptionDomDataKey__"))&&typeof a.t=="function"&&a.t();q.a.e.set(c,"__ko__templateSubscriptionDomDataKey__",h)}}})();q.b("ko.setTemplateEngine",q.ia);q.b("ko.renderTemplate",q.ga);
q.a.H=function(d,e,c){if(c===l)return q.a.H(d,e,1)||q.a.H(d,e,10)||q.a.H(d,e,Number.MAX_VALUE);else{for(var d=d||[],e=e||[],a=d,g=e,f=[],h=0;h<=g.length;h++)f[h]=[];for(var h=0,k=Math.min(a.length,c);h<=k;h++)f[0][h]=h;h=1;for(k=Math.min(g.length,c);h<=k;h++)f[h][0]=h;for(var k=a.length,i,j=g.length,h=1;h<=k;h++){i=Math.max(1,h-c);for(var m=Math.min(j,h+c);i<=m;i++)f[i][h]=a[h-1]===g[i-1]?f[i-1][h-1]:Math.min(f[i-1][h]===l?Number.MAX_VALUE:f[i-1][h]+1,f[i][h-1]===l?Number.MAX_VALUE:f[i][h-1]+1)}c=
d.length;a=e.length;g=[];h=f[a][c];if(h===l)f=n;else{for(;c>0||a>0;){k=f[a][c];j=a>0?f[a-1][c]:h+1;m=c>0?f[a][c-1]:h+1;i=a>0&&c>0?f[a-1][c-1]:h+1;if(j===l||j<k-1)j=h+1;if(m===l||m<k-1)m=h+1;i<k-1&&(i=h+1);j<=m&&j<i?(g.push({status:"added",value:e[a-1]}),a--):(m<j&&m<i?g.push({status:"deleted",value:d[c-1]}):(g.push({status:"retained",value:d[c-1]}),a--),c--)}f=g.reverse()}return f}};q.b("ko.utils.compareArrays",q.a.H);
(function(){function d(d,c,a,g){var f=[],d=q.l(function(){var d=c(a)||[];f.length>0&&(q.a.Da(f,d),g&&g(a,d));f.splice(0,f.length);q.a.G(f,d)},n,{disposeWhenNodeIsRemoved:d,disposeWhen:function(){return f.length==0||!q.a.Z(f[0])}});return{hb:f,l:d}}q.a.Ea=function(e,c,a,g,f){for(var c=c||[],g=g||{},h=q.a.e.get(e,"setDomNodeChildrenFromArrayMapping_lastMappingResult")===l,k=q.a.e.get(e,"setDomNodeChildrenFromArrayMapping_lastMappingResult")||[],i=q.a.T(k,function(a){return a.Na}),j=q.a.H(i,c),c=[],
m=0,o=[],i=[],p=n,r=0,v=j.length;r<v;r++)switch(j[r].status){case "retained":var t=k[m];c.push(t);t.M.length>0&&(p=t.M[t.M.length-1]);m++;break;case "deleted":k[m].l.t();q.a.o(k[m].M,function(a){o.push({element:a,index:r,value:j[r].value});p=a});m++;break;case "added":var t=j[r].value,u=d(e,a,t,f),w=u.hb;c.push({Na:j[r].value,M:w,l:u.l});for(var u=0,x=w.length;u<x;u++){var s=w[u];i.push({element:s,index:r,value:j[r].value});p==n?q.k.nb(e,s):q.k.cb(e,s,p);p=s}f&&f(t,w)}q.a.o(o,function(a){q.B(a.element)});
a=!1;if(!h){if(g.afterAdd)for(r=0;r<i.length;r++)g.afterAdd(i[r].element,i[r].index,i[r].value);if(g.beforeRemove){for(r=0;r<o.length;r++)g.beforeRemove(o[r].element,o[r].index,o[r].value);a=!0}}a||q.a.o(o,function(a){q.removeNode(a.element)});q.a.e.set(e,"setDomNodeChildrenFromArrayMapping_lastMappingResult",c)}})();q.b("ko.utils.setDomNodeChildrenFromArrayMapping",q.a.Ea);q.n=function(){this.allowTemplateRewriting=!1};q.n.prototype=new q.s;
q.n.prototype.renderTemplateSource=function(d){d=d.text();return q.a.ya(d)};q.n.C=new q.n;q.ia(q.n.C);q.b("ko.nativeTemplateEngine",q.n);
(function(){q.ca=function(){var d=this.gb=function(){if(typeof jQuery=="undefined"||!jQuery.tmpl)return 0;try{if(jQuery.tmpl.tag.tmpl.open.toString().indexOf("__")>=0)return 2}catch(c){}return 1}();this.renderTemplateSource=function(c,a,g){var g=g||{},f=d==0?"jquery.tmpl not detected.\nTo use KO's default template engine, reference jQuery and jquery.tmpl. See Knockout installation documentation for more details.":d==1?"Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.":
n;f&&b(Error(f));f=c.data("precompiled");f||(f=c.text()||"",f=jQuery.template(n,"{{ko_with $item.koBindingContext}}"+f+"{{/ko_with}}"),c.data("precompiled",f));c=[a.$data];a=jQuery.extend({koBindingContext:a},g.templateOptions);a=jQuery.tmpl(f,c,a);a.appendTo(document.createElement("div"));jQuery.fragments={};return a};this.createJavaScriptEvaluatorBlock=function(c){return"{{ko_code ((function() { return "+c+" })()) }}"};this.addTemplate=function(c,a){document.write("<script type='text/html' id='"+
c+"'>"+a+"<\/script>")};if(d>=2)jQuery.tmpl.tag.ko_code={open:"__.push($1 || '');"},jQuery.tmpl.tag.ko_with={open:"with($1) {",close:"} "}};q.ca.prototype=new q.s;var d=new q.ca;d.gb>0&&q.ia(d);q.b("ko.jqueryTmplTemplateEngine",q.ca)})();
})(window);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment