// knockout javascript library v2.2.1 // (c) steven sanderson - http://knockoutjs.com/ // license: mit (http://www.opensource.org/licenses/mit-license.php) (function() {function j(w){throw w;}var m=!0,p=null,r=!1;function u(w){return function(){return w}};var x=window,y=document,ga=navigator,f=window.jquery,i=void 0; function l(w){function ha(a,d,c,e,f){var g=[];a=b.j(function(){var a=d(c,f)||[];0b.a.i(d,a[c])&&d.push(a[c]);return d},v:function(a,b){a=a||[];for(var d=[],c=0,e=a.length;cn?a.setattribute("selected",b):a.selected=b},d:function(a){return(a||"").replace(d,"")},rb:function(a,d){for(var c=[],e=(a||"").split(d),f=0,g=e.length;fa.length?r:a.substring(0,b.length)===b},tb:function(a,b){if(b.comparedocumentposition)return 16== (b.comparedocumentposition(a)&16);for(;a!=p;){if(a==b)return m;a=a.parentnode}return r},x:function(a){return b.a.tb(a,a.ownerdocument)},u:function(a){return a&&a.tagname&&a.tagname.tolowercase()},n:function(b,d,c){var e=n&&l[d];if(!e&&"undefined"!=typeof f){if(a(b,d)){var f=c;c=function(a,b){var d=this.checked;b&&(this.checked=b.nb!==m);f.call(this,a);this.checked=d}}f(b).bind(d,c)}else!e&&"function"==typeof b.addeventlistener?b.addeventlistener(d,c,r):"undefined"!=typeof b.attachevent?b.attachevent("on"+ d,function(a){c.call(b,a)}):j(error("browser doesn't support addeventlistener or attachevent"))},ba:function(b,d){(!b||!b.nodetype)&&j(error("element must be a dom node when calling triggerevent"));if("undefined"!=typeof f){var c=[];a(b,d)&&c.push({nb:b.checked});f(b).trigger(d,c)}else"function"==typeof y.createevent?"function"==typeof b.dispatchevent?(c=y.createevent(e[d]||"htmlevents"),c.initevent(d,m,m,x,0,0,0,0,0,r,r,r,r,0,b),b.dispatchevent(c)):j(error("the supplied element doesn't support dispatchevent")): "undefined"!=typeof b.fireevent?(a(b,d)&&(b.checked=b.checked!==m),b.fireevent("on"+d)):j(error("browser doesn't support triggering events"))},d:function(a){return b.$(a)?a():a},ua:function(a){return b.$(a)?a.t():a},da:function(a,d,c){if(d){var e=/[\w-]+/g,f=a.classname.match(e)||[];b.a.o(d.match(e),function(a){var d=b.a.i(f,a);0<=d?c||f.splice(d,1):c&&f.push(a)});a.classname=f.join(" ")}},cb:function(a,d){var c=b.a.d(d);if(c===p||c===i)c="";if(3===a.nodetype)a.data=c;else{var e=b.e.firstchild(a); !e||3!=e.nodetype||b.e.nextsibling(e)?b.e.n(a,[y.createtextnode(c)]):e.data=c;b.a.wb(a)}},ab:function(a,b){a.name=b;if(7>=n)try{a.mergeattributes(y.createelement(""),r)}catch(d){}},wb:function(a){9<=n&&(a=1==a.nodetype?a:a.parentnode,a.style&&(a.style.zoom=a.style.zoom))},ub:function(a){if(9<=n){var b=a.style.width;a.style.width=0;a.style.width=b}},lb:function(a,d){a=b.a.d(a);d=b.a.d(d);for(var c=[],e=a;e<=d;e++)c.push(e);return c},l:function(a){for(var b=[],d=0,c=a.length;d< c;d++)b.push(a[d]);return b},pb:6===n,qb:7===n,z:n,oa:function(a,d){for(var c=b.a.l(a.getelementsbytagname("input")).concat(b.a.l(a.getelementsbytagname("textarea"))),e="string"==typeof d?function(a){return a.name===d}:function(a){return d.test(a.name)},f=[],g=c.length-1;0<=g;g--)e(c[g])&&f.push(c[g]);return f},ib:function(a){return"string"==typeof a&&(a=b.a.d(a))?x.json&&x.json.parse?x.json.parse(a):(new function("return "+a))():p},xa:function(a,d,c){("undefined"==typeof json||"undefined"==typeof json.stringify)&& j(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(b.a.d(a),d,c)},jb:function(a,d,c){c=c||{};var e=c.params||{},f=c.includefields||this.na,g=a;if("object"==typeof a&&"form"===b.a.u(a))for(var g=a.action,h=f.length-1;0<=h;h--)for(var k=b.a.oa(a,f[h]),l=k.length-1;0<=l;l--)e[k[l].name]=k[l].value;d=b.a.d(d);var n=y.createelement("form"); n.style.display="none";n.action=g;n.method="post";for(var w in d)a=y.createelement("input"),a.name=w,a.value=b.a.xa(b.a.d(d[w])),n.appendchild(a);for(w in e)a=y.createelement("input"),a.name=w,a.value=e[w],n.appendchild(a);y.body.appendchild(n);c.submitter?c.submitter(n):n.submit();settimeout(function(){n.parentnode.removechild(n)},0)}}};b.b("utils",b.a);b.b("utils.arrayforeach",b.a.o);b.b("utils.arrayfirst",b.a.lb);b.b("utils.arrayfilter",b.a.fa);b.b("utils.arraygetdistinctvalues",b.a.ga);b.b("utils.arrayindexof", b.a.i);b.b("utils.arraymap",b.a.v);b.b("utils.arraypushall",b.a.p);b.b("utils.arrayremoveitem",b.a.ga);b.b("utils.extend",b.a.extend);b.b("utils.fieldsincludedwithjsonpost",b.a.na);b.b("utils.getformfields",b.a.oa);b.b("utils.peekobservable",b.a.ua);b.b("utils.postjson",b.a.jb);b.b("utils.parsejson",b.a.ib);b.b("utils.registereventhandler",b.a.n);b.b("utils.stringifyjson",b.a.xa);b.b("utils.range",b.a.lb);b.b("utils.toggledomnodecssclass",b.a.da);b.b("utils.triggerevent",b.a.ba);b.b("utils.unwrapobservable", b.a.d);function.prototype.bind||(function.prototype.bind=function(a){var b=this,c=array.prototype.slice.call(arguments);a=c.shift();return function(){return b.apply(a,c.concat(array.prototype.slice.call(arguments)))}});b.a.f=new function(){var a=0,d="__ko__"+(new date).gettime(),c={};return{get:function(a,d){var c=b.a.f.la(a,r);return c===i?i:c[d]},set:function(a,d,c){c===i&&b.a.f.la(a,r)===i||(b.a.f.la(a,m)[d]=c)},la:function(b,f){var g=b[d];if(!g||!("null"!==g&&c[g])){if(!f)return i;g=b[d]="ko"+ a++;c[g]={}}return c[g]},clear:function(a){var b=a[d];return b?(delete c[b],a[d]=p,m):r}}};b.b("utils.domdata",b.a.f);b.b("utils.domdata.clear",b.a.f.clear);b.a.f=new function(){function a(a,d){var e=b.a.f.get(a,c);e===i&&d&&(e=[],b.a.f.set(a,c,e));return e}function d(c){var e=a(c,r);if(e)for(var e=e.slice(0),k=0;k",""]||!c.indexof("",""]||(!c.indexof("",""]||[0,"",""];a="ignored
"+c[1]+a+c[2]+"
";for("function"==typeof x.innershiv?d.appendchild(x.innershiv(a)):d.innerhtml=a;c[0]--;)d=d.lastchild;d=b.a.l(d.lastchild.childnodes)}return d};b.a.ca=function(a,d){b.a.ka(a);d=b.a.d(d);if(d!==p&&d!==i)if("string"!=typeof d&&(d=d.tostring()), "undefined"!=typeof f)f(a).html(d);else for(var c=b.a.ta(d),e=0;ec;c++)a=a();return a})};b.tojson=function(a,d,c){a=b.gb(a);return b.a.xa(a,d,c)};b.b("tojs",b.gb);b.b("tojson",b.tojson);b.k={q:function(a){switch(b.a.u(a)){case "option":return a.__ko__hasdomdataoptionvalue__=== m?b.a.f.get(a,b.c.options.sa):7>=b.a.z?a.getattributenode("value").specified?a.value:a.text:a.value;case "select":return 0<=a.selectedindex?b.k.q(a.options[a.selectedindex]):i;default:return a.value}},t:function(a,d){switch(b.a.u(a)){case "option":switch(typeof d){case "string":b.a.f.set(a,b.c.options.sa,i);"__ko__hasdomdataoptionvalue__"in a&&delete a.__ko__hasdomdataoptionvalue__;a.value=d;break;default:b.a.f.set(a,b.c.options.sa,d),a.__ko__hasdomdataoptionvalue__=m,a.value="number"===typeof d? d:""}break;case "select":for(var c=a.options.length-1;0<=c;c--)if(b.k.q(a.options[c])==d){a.selectedindex=c;break}break;default:if(d===p||d===i)d="";a.value=d}}};b.b("selectextensions",b.k);b.b("selectextensions.readvalue",b.k.q);b.b("selectextensions.writevalue",b.k.t);var ka=/\@ko_token_(\d+)\@/g,na=["true","false"],oa=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i;b.g={q:[],aa:function(a){var d=b.a.d(a);if(3>d.length)return[];"{"===d.charat(0)&&(d=d.substring(1,d.length-1));a=[];for(var c= p,e,f=0;f=b.a.z&&e in fa?(e=fa[e],g?a.removeattribute(e): a[e]=f):g||a.setattribute(e,f.tostring());"name"===e&&b.a.ab(a,g?"":f.tostring())}}};b.c.checked={init:function(a,d,c){b.a.n(a,"click",function(){var e;if("checkbox"==a.type)e=a.checked;else if("radio"==a.type&&a.checked)e=a.value;else return;var f=d(),g=b.a.d(f);"checkbox"==a.type&&g instanceof array?(e=b.a.i(g,a.value),a.checked&&0>e?f.push(a.value):!a.checked&&0<=e&&f.splice(e,1)):b.g.ea(f,c,"checked",e,m)});"radio"==a.type&&!a.name&&b.c.uniquename.init(a,u(m))},update:function(a,d){var c=b.a.d(d()); "checkbox"==a.type?a.checked=c instanceof array?0<=b.a.i(c,a.value):c:"radio"==a.type&&(a.checked=a.value==c)}};b.c.css={update:function(a,d){var c=b.a.d(d());if("object"==typeof c)for(var e in c){var f=b.a.d(c[e]);b.a.da(a,e,f)}else c=string(c||""),b.a.da(a,a.__ko__cssvalue,r),a.__ko__cssvalue=c,b.a.da(a,c,m)}};b.c.enable={update:function(a,d){var c=b.a.d(d());c&&a.disabled?a.removeattribute("disabled"):!c&&!a.disabled&&(a.disabled=m)}};b.c.disable={update:function(a,d){b.c.enable.update(a,function(){return!b.a.d(d())})}}; b.c.event={init:function(a,d,c,e){var f=d()||{},g;for(g in f)(function(){var f=g;"string"==typeof f&&b.a.n(a,f,function(a){var g,n=d()[f];if(n){var q=c();try{var s=b.a.l(arguments);s.unshift(e);g=n.apply(e,s)}finally{g!==m&&(a.preventdefault?a.preventdefault():a.returnvalue=r)}q[f+"bubble"]===r&&(a.cancelbubble=m,a.stoppropagation&&a.stoppropagation())}})})()}};b.c.foreach={sa:function(a){return function(){var d=a(),c=b.a.ua(d);if(!c||"number"==typeof c.length)return{foreach:d,templateengine:b.c.oa}; b.a.d(d);return{foreach:c.data,as:c.as,includedestroyed:c.includedestroyed,afteradd:c.afteradd,beforeremove:c.beforeremove,afterrender:c.afterrender,beforemove:c.beforemove,aftermove:c.aftermove,templateengine:b.c.oa}}},init:function(a,d){return b.c.template.init(a,b.c.foreach.sa(d))},update:function(a,d,c,e,f){return b.c.template.update(a,b.c.foreach.sa(d),c,e,f)}};b.g.q.foreach=r;b.e.i.foreach=m;b.c.hasfocus={init:function(a,d,c){function e(e){a.__ko_hasfocusupdating=m;var f=a.ownerdocument;"activeelement"in f&&(e=f.activeelement===a);f=d();b.g.ea(f,c,"hasfocus",e,m);a.__ko_hasfocusupdating=r}var f=e.bind(p,m),g=e.bind(p,r);b.a.n(a,"focus",f);b.a.n(a,"focusin",f);b.a.n(a,"blur",g);b.a.n(a,"focusout",g)},update:function(a,d){var c=b.a.d(d());a.__ko_hasfocusupdating||(c?a.focus():a.blur(),b.r.k(b.a.ba,p,[a,c?"focusin":"focusout"]))}};b.c.html={init:function(){return{controlsdescendantbindings:m}},update:function(a,d){b.a.ca(a,d())}};var da="__ko_withifbindingdata";q("if");q("ifnot",r,m);q("with",m,r,function(a, b){return a.createchildcontext(b)});b.c.options={update:function(a,d,c){"select"!==b.a.u(a)&&j(error("options binding applies only to select elements"));for(var e=0==a.length,f=b.a.v(b.a.fa(a.childnodes,function(a){return a.tagname&&"option"===b.a.u(a)&&a.selected}),function(a){return b.k.q(a)||a.innertext||a.textcontent}),g=a.scrolltop,h=b.a.d(d());0b.a.z)&&a.nodes?a.nodes():p;if(d)return b.a.l(d.clonenode(m).childnodes);a=a.text();return b.a.ta(a)};b.c.oa=new b.c;b.wa(b.c.oa);b.b("nativetemplateengine",b.c);b.qa=function(){var a=this.db=function(){if("undefined"==typeof f||!f.tmpl)return 0;try{if(0<=f.tmpl.tag.tmpl.open.tostring().indexof("__"))return 2}catch(a){}return 1}();this.rendertemplatesource=function(b,c,e){e=e||{};2>a&&j(error("your version of jquery.tmpl is too old. please upgrade to jquery.tmpl 1.0.0pre or later.")); var f=b.data("precompiled");f||(f=b.text()||"",f=f.template(p,"{{ko_with $item.kobindingcontext}}"+f+"{{/ko_with}}"),b.data("precompiled",f));b=[c.$data];c=f.extend({kobindingcontext:c},e.templateoptions);c=f.tmpl(f,b,c);c.appendto(y.createelement("div"));f.fragments={};return c};this.createjavascriptevaluatorblock=function(a){return"{{ko_code ((function() { return "+a+" })()) }}"};this.addtemplate=function(a,b){y.write("