﻿(function(a){var r=a.fn.domManip,d="_tmplitem",q=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,b={},f={},e,p={key:0,data:{}},i=0,c=0,l=[];function g(g,d,h,e){var c={data:e||e===0||e===false?e:d?d.data:{},_wrap:d?d._wrap:null,tmpl:null,parent:d||null,nodes:[],calls:u,nest:w,wrap:x,html:v,update:t};g&&a.extend(c,g,{nodes:[],parent:d});if(h){c.tmpl=h;c._ctnt=c._ctnt||c.tmpl(a,c);c.key=++i;(l.length?f:b)[i]=c}return c}a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(f,d){a.fn[f]=function(n){var g=[],i=a(n),k,h,m,l,j=this.length===1&&this[0].parentNode;e=b||{};if(j&&j.nodeType===11&&j.childNodes.length===1&&i.length===1){i[d](this[0]);g=this}else{for(h=0,m=i.length;h<m;h++){c=h;k=(h>0?this.clone(true):this).get();a(i[h])[d](k);g=g.concat(k)}c=0;g=this.pushStack(g,f,i.selector)}l=e;e=null;a.tmpl.complete(l);return g}});a.fn.extend({tmpl:function(d,c,b){return a.tmpl(this[0],d,c,b)},tmplItem:function(){return a.tmplItem(this[0])},template:function(b){return a.template(b,this[0])},domManip:function(d,l,k){if(d[0]&&a.isArray(d[0])){var g=a.makeArray(arguments),h=d[0],j=h.length,i=0,f;while(i<j&&!(f=a.data(h[i++],"tmplItem")));if(f&&c)g[2]=function(b){a.tmpl.afterManip(this,b,k)};r.apply(this,g)}else r.apply(this,arguments);c=0;!e&&a.tmpl.complete(b);return this}});a.extend({tmpl:function(d,h,e,c){var i,k=!c;if(k){c=p;d=a.template[d]||a.template(null,d);f={}}else if(!d){d=c.tmpl;b[c.key]=c;c.nodes=[];c.wrapped&&n(c,c.wrapped);return a(j(c,null,c.tmpl(a,c)))}if(!d)return[];if(typeof h==="function")h=h.call(c||{});e&&e.wrapped&&n(e,e.wrapped);i=a.isArray(h)?a.map(h,function(a){return a?g(e,c,d,a):null}):[g(e,c,d,h)];return k?a(j(c,null,i)):i},tmplItem:function(b){var c;if(b instanceof a)b=b[0];while(b&&b.nodeType===1&&!(c=a.data(b,"tmplItem"))&&(b=b.parentNode));return c||p},template:function(c,b){if(b){if(typeof b==="string")b=o(b);else if(b instanceof a)b=b[0]||{};if(b.nodeType)b=a.data(b,"tmpl")||a.data(b,"tmpl",o(b.innerHTML));return typeof c==="string"?a.template[c]=b:b}return c?typeof c!=="string"?a.template(null,c):a.template[c]||a.template(null,q.test(c)?c:a(c)):null},encode:function(a){return(""+a).split("<").join("&lt;").split(">").join("&gt;").split('"').join("&#34;").split("'").join("&#39;")}});a.extend(a.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},wrap:{_default:{$2:"null"},open:"$item.calls(__,$1,$2);__=[];",close:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},"if":{open:"if(($notnull_1) && $1a){",close:"}"},"else":{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){__.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){__.push($.encode($1a));}"},"!":{open:""}},complete:function(){b={}},afterManip:function(f,b,d){var e=b.nodeType===11?a.makeArray(b.childNodes):b.nodeType===1?[b]:[];d.call(f,b);m(e);c++}});function j(e,g,f){var b,c=f?a.map(f,function(a){return typeof a==="string"?e.key?a.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+d+'="'+e.key+'" $2'):a:j(a,e,a._ctnt)}):e;if(g)return c;c=c.join("");c.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(f,c,e,d){b=a(e).get();m(b);if(c)b=k(c).concat(b);if(d)b=b.concat(k(d))});return b?b:k(c)}function k(c){var b=document.createElement("div");b.innerHTML=c;return a.makeArray(b.childNodes)}function o(b){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+a.trim(b).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(m,l,k,g,b,c,d){var j=a.tmpl.tag[k],i,e,f;if(!j)throw"Unknown template tag: "+k;i=j._default||[];if(c&&!/\w$/.test(b)){b+=c;c=""}if(b){b=h(b);d=d?","+h(d)+")":c?")":"";e=c?b.indexOf(".")>-1?b+h(c):"("+b+").call($item"+d:b;f=c?e:"(typeof("+b+")==='function'?("+b+").call($item):("+b+"))"}else f=e=i.$1||"null";g=h(g);return"');"+j[l?"close":"open"].split("$notnull_1").join(b?"typeof("+b+")!=='undefined' && ("+b+")!=null":"true").split("$1a").join(f).split("$1").join(e).split("$2").join(g||i.$2||"")+"__.push('"})+"');}return __;")}function n(c,b){c._wrap=j(c,true,a.isArray(b)?b:[q.test(b)?b:a(b).html()]).join("")}function h(a){return a?a.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function s(b){var a=document.createElement("div");a.appendChild(b.cloneNode(true));return a.innerHTML}function m(o){var n="_"+c,k,j,l={},e,p,h;for(e=0,p=o.length;e<p;e++){if((k=o[e]).nodeType!==1)continue;j=k.getElementsByTagName("*");for(h=j.length-1;h>=0;h--)m(j[h]);m(k)}function m(j){var p,h=j,k,e,m;if(m=j.getAttribute(d)){while(h.parentNode&&(h=h.parentNode).nodeType===1&&!(p=h.getAttribute(d)));if(p!==m){h=h.parentNode?h.nodeType===11?0:h.getAttribute(d)||0:0;if(!(e=b[m])){e=f[m];e=g(e,b[h]||f[h]);e.key=++i;b[i]=e}c&&o(m)}j.removeAttribute(d)}else if(c&&(e=a.data(j,"tmplItem"))){o(e.key);b[e.key]=e;h=a.data(j.parentNode,"tmplItem");h=h?h.key:0}if(e){k=e;while(k&&k.key!=h){k.nodes.push(j);k=k.parent}delete e._ctnt;delete e._wrap;a.data(j,"tmplItem",e)}function o(a){a=a+n;e=l[a]=l[a]||g(e,b[e.parent.key+n]||e.parent)}}}function u(a,d,c,b){if(!a)return l.pop();l.push({_:a,tmpl:d,item:this,data:c,options:b})}function w(d,c,b){return a.tmpl(a.template(d),c,b,this)}function x(b,d){var c=b.options||{};c.wrapped=d;return a.tmpl(a.template(b.tmpl),b.data,c,b.item)}function v(d,c){var b=this._wrap;return a.map(a(a.isArray(b)?b.join(""):b).filter(d||"*"),function(a){return c?a.innerText||a.textContent:a.outerHTML||s(a)})}function t(){var b=this.nodes;a.tmpl(null,null,null,this).insertBefore(b[0]);a(b).remove()}})(jQuery);$.extend($.tmpl.tag,{"var":{open:"var $1;"}});(function(c,b){var a=c.ko={};a.exportSymbol=function(e,f){for(var a=e.split("."),b=c,d=0;d<a.length-1;d++)b=b[a[d]];b[a[a.length-1]]=f};a.exportProperty=function(c,a,b){c[a]=b};a.utils=new function(){var l=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,d={},h={},k=/Firefox\/2/i.test(navigator.userAgent)?"KeyboardEvent":"UIEvents";d[k]=["keyup","keydown","keypress"];d.MouseEvents=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave"];for(var j in d){var f=d[j];if(f.length)for(var g=0,o=f.length;g<o;g++)h[f[g]]=j}var e=function(){var a=3,c=document.createElement("div"),d=c.getElementsByTagName("i");while(c.innerHTML="<!--[if gt IE "+ ++a+"]><i></i><![endif]-->",d[0]);return a>4?a:b}(),m=e===6,n=e===7;function i(a,c){if(a.tagName!="INPUT"||!a.type)return false;if(c.toLowerCase()!="click")return false;var b=a.type.toLowerCase();return b=="checkbox"||b=="radio"}return{fieldsIncludedWithJsonPost:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],arrayForEach:function(b,c){for(var a=0,d=b.length;a<d;a++)c(b[a])},arrayIndexOf:function(b,c){if(typeof Array.prototype.indexOf=="function")return Array.prototype.indexOf.call(b,c);for(var a=0,d=b.length;a<d;a++)if(b[a]===c)return a;return-1},arrayFirst:function(b,d,c){for(var a=0,e=b.length;a<e;a++)if(d.call(c,b[a]))return b[a];return null},arrayRemoveItem:function(b,d){var c=a.utils.arrayIndexOf(b,d);c>=0&&b.splice(c,1)},arrayGetDistinctValues:function(b){b=b||[];for(var d=[],c=0,e=b.length;c<e;c++)a.utils.arrayIndexOf(d,b[c])<0&&d.push(b[c]);return d},arrayMap:function(a,d){a=a||[];for(var c=[],b=0,e=a.length;b<e;b++)c.push(d(a[b]));return c},arrayFilter:function(a,d){a=a||[];for(var c=[],b=0,e=a.length;b<e;b++)d(a[b])&&c.push(a[b]);return c},arrayPushAll:function(c,b){for(var a=0,d=b.length;a<d;a++)c.push(b[a]);return c},extend:function(c,a){for(var b in a)if(a.hasOwnProperty(b))c[b]=a[b];return c},emptyDomNode:function(b){while(b.firstChild)a.removeNode(b.firstChild)},setDomNodeChildren:function(c,b){a.utils.emptyDomNode(c);b&&a.utils.arrayForEach(b,function(a){c.appendChild(a)})},replaceDomNodes:function(d,f){var c=d.nodeType?[d]:d;if(c.length>0){for(var e=c[0],h=e.parentNode,b=0,g=f.length;b<g;b++)h.insertBefore(f[b],e);for(var b=0,g=c.length;b<g;b++)a.removeNode(c[b])}},setOptionNodeSelectionState:function(b,a){if(navigator.userAgent.indexOf("MSIE 6")>=0)b.setAttribute("selected",a);else b.selected=a},stringTrim:function(a){return(a||"").replace(l,"")},stringTokenize:function(g,f){for(var d=[],e=(g||"").split(f),b=0,h=e.length;b<h;b++){var c=a.utils.stringTrim(e[b]);c!==""&&d.push(c)}return d},stringStartsWith:function(a,b){a=a||"";return b.length>a.length?false:a.substring(0,b.length)===b},evalWithinScope:function(d){for(var b=Array.prototype.slice.call(arguments,1),c="return ("+d+")",a=0;a<b.length;a++)if(b[a]&&typeof b[a]=="object")c="with(sc["+a+"]) { "+c+" } ";return new Function("sc",c)(b)},domNodeIsContainedBy:function(a,b){if(b.compareDocumentPosition)return(b.compareDocumentPosition(a)&16)==16;while(a!=null){if(a==b)return true;a=a.parentNode}return false},domNodeIsAttachedToDocument:function(b){return a.utils.domNodeIsContainedBy(b,document)},registerEventHandler:function(a,c,b){if(typeof jQuery!="undefined"){if(i(a,c)){var d=b;b=function(c,a){var b=this.checked;if(a)this.checked=a.checkedStateBeforeEvent!==true;d.call(this,c);this.checked=b}}jQuery(a).bind(c,b)}else if(typeof a.addEventListener=="function")a.addEventListener(c,b,false);else if(typeof a.attachEvent!="undefined")a.attachEvent("on"+c,function(c){b.call(a,c)});else throw new Error("Browser doesn't support addEventListener or attachEvent");},triggerEvent:function(a,b){if(!(a&&a.nodeType))throw new Error("element must be a DOM node when calling triggerEvent");if(typeof jQuery!="undefined"){var d=[];i(a,b)&&d.push({checkedStateBeforeEvent:a.checked});jQuery(a).trigger(b,d)}else if(typeof document.createEvent=="function")if(typeof a.dispatchEvent=="function"){var f=h[b]||"HTMLEvents",e=document.createEvent(f);e.initEvent(b,true,true,c,0,0,0,0,0,false,false,false,false,0,a);a.dispatchEvent(e)}else throw new Error("The supplied element doesn't support dispatchEvent");else if(typeof a.fireEvent!="undefined"){if(b=="click")if(a.tagName=="INPUT"&&(a.type.toLowerCase()=="checkbox"||a.type.toLowerCase()=="radio"))a.checked=a.checked!==true;a.fireEvent("on"+b)}else throw new Error("Browser doesn't support triggering events");},unwrapObservable:function(b){return a.isObservable(b)?b():b},domNodeHasCssClass:function(d,c){var b=(d.className||"").split(/\s+/);return a.utils.arrayIndexOf(b,c)>=0},toggleDomNodeCssClass:function(b,e,f){var h=a.utils.domNodeHasCssClass(b,e);if(f&&!h)b.className=(b.className||"")+" "+e;else if(h&&!f){for(var d=(b.className||"").split(/\s+/),g="",c=0;c<d.length;c++)if(d[c]!=e)g+=d[c]+" ";b.className=a.utils.stringTrim(g)}},outerHTML:function(f){if(e===b){var a=f.outerHTML;if(typeof a=="string")return a}var d=c.document.createElement("div");d.appendChild(f.cloneNode(true));return d.innerHTML},setTextContent:function(c,f){var d=a.utils.unwrapObservable(f);if(d===null||d===b)d="";"innerText"in c?c.innerText=d:c.textContent=d;if(e>=9)c.innerHTML=c.innerHTML},range:function(c,b){c=a.utils.unwrapObservable(c);b=a.utils.unwrapObservable(b);for(var e=[],d=c;d<=b;d++)e.push(d);return e},makeArray:function(b){for(var c=[],a=0,d=b.length;a<d;a++)c.push(b[a]);return c},isIe6:m,isIe7:n,getFormFields:function(f,c){for(var d=a.utils.makeArray(f.getElementsByTagName("INPUT")).concat(a.utils.makeArray(f.getElementsByTagName("TEXTAREA"))),g=typeof c=="string"?function(a){return a.name===c}:function(a){return c.test(a.name)},e=[],b=d.length-1;b>=0;b--)g(d[b])&&e.push(d[b]);return e},parseJson:function(b){if(typeof b=="string"){b=a.utils.stringTrim(b);if(b)return c.JSON&&c.JSON.parse?c.JSON.parse(b):new Function("return "+b)()}return null},stringifyJson:function(b){if(typeof JSON=="undefined"||typeof JSON.stringify=="undefined")throw new 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(a.utils.unwrapObservable(b))},postJson:function(e,f,c){c=c||{};var j=c.params||{},l=c.includeFields||this.fieldsIncludedWithJsonPost,n=e;if(typeof e=="object"&&e.tagName=="FORM"){var m=e;n=m.action;for(var k=l.length-1;k>=0;k--)for(var i=a.utils.getFormFields(m,l[k]),h=i.length-1;h>=0;h--)j[i[h].name]=i[h].value}f=a.utils.unwrapObservable(f);var b=document.createElement("FORM");b.style.display="none";b.action=n;b.method="post";for(var g in f){var d=document.createElement("INPUT");d.name=g;d.value=a.utils.stringifyJson(a.utils.unwrapObservable(f[g]));b.appendChild(d)}for(var g in j){var d=document.createElement("INPUT");d.name=g;d.value=j[g];b.appendChild(d)}document.body.appendChild(b);c.submitter?c.submitter(b):b.submit();setTimeout(function(){b.parentNode.removeChild(b)},0)}}};a.exportSymbol("ko.utils",a.utils);a.utils.arrayForEach([["arrayForEach",a.utils.arrayForEach],["arrayFirst",a.utils.arrayFirst],["arrayFilter",a.utils.arrayFilter],["arrayGetDistinctValues",a.utils.arrayGetDistinctValues],["arrayIndexOf",a.utils.arrayIndexOf],["arrayMap",a.utils.arrayMap],["arrayPushAll",a.utils.arrayPushAll],["arrayRemoveItem",a.utils.arrayRemoveItem],["extend",a.utils.extend],["fieldsIncludedWithJsonPost",a.utils.fieldsIncludedWithJsonPost],["getFormFields",a.utils.getFormFields],["postJson",a.utils.postJson],["parseJson",a.utils.parseJson],["registerEventHandler",a.utils.registerEventHandler],["stringifyJson",a.utils.stringifyJson],["range",a.utils.range],["toggleDomNodeCssClass",a.utils.toggleDomNodeCssClass],["triggerEvent",a.utils.triggerEvent],["unwrapObservable",a.utils.unwrapObservable]],function(b){a.exportSymbol("ko.utils."+b[0],b[1])});if(!Function.prototype.bind)Function.prototype.bind=function(c){var b=this,a=Array.prototype.slice.call(arguments),c=a.shift();return function(){return b.apply(c,a.concat(Array.prototype.slice.call(arguments)))}};a.utils.domData=new function(){var e=0,c="__ko__"+(new Date).getTime(),d={};return{"get":function(d,e){var c=a.utils.domData.getAll(d,false);return c===b?b:c[e]},"set":function(d,f,c){if(c===b)if(a.utils.domData.getAll(d,false)===b)return;var e=a.utils.domData.getAll(d,true);e[f]=c},getAll:function(f,h){var a=f[c],g=a&&a!=="null";if(!g){if(!h)return b;a=f[c]="ko"+e++;d[a]={}}return d[a]},clear:function(b){var a=b[c];if(a){delete d[a];b[c]=null}}}};a.exportSymbol("ko.utils.domData",a.utils.domData);a.exportSymbol("ko.utils.domData.clear",a.utils.domData.clear);a.utils.domNodeDisposal=new function(){var d="__ko_domNodeDisposal__"+(new Date).getTime();function c(e,f){var c=a.utils.domData.get(e,d);if(c===b&&f){c=[];a.utils.domData.set(e,d,c)}return c}function f(c){a.utils.domData.set(c,d,b)}function e(d){var b=c(d,false);if(b){b=b.slice(0);for(var e=0;e<b.length;e++)b[e](d)}a.utils.domData.clear(d);typeof jQuery=="function"&&typeof jQuery.cleanData=="function"&&jQuery.cleanData([d])}return{addDisposeCallback:function(b,a){if(typeof a!="function")throw new Error("Callback must be a function");c(b,true).push(a)},removeDisposeCallback:function(d,e){var b=c(d,false);if(b){a.utils.arrayRemoveItem(b,e);b.length==0&&f(d)}},cleanNode:function(b){if(b.nodeType!=1&&b.nodeType!=9)return;e(b);var c=[];a.utils.arrayPushAll(c,b.getElementsByTagName("*"));for(var d=0,f=c.length;d<f;d++)e(c[d])},removeNode:function(b){a.cleanNode(b);b.parentNode&&b.parentNode.removeChild(b)}}};a.cleanNode=a.utils.domNodeDisposal.cleanNode;a.removeNode=a.utils.domNodeDisposal.removeNode;a.exportSymbol("ko.cleanNode",a.cleanNode);a.exportSymbol("ko.removeNode",a.removeNode);a.exportSymbol("ko.utils.domNodeDisposal",a.utils.domNodeDisposal);a.exportSymbol("ko.utils.domNodeDisposal.addDisposeCallback",a.utils.domNodeDisposal.addDisposeCallback);a.exportSymbol("ko.utils.domNodeDisposal.removeDisposeCallback",a.utils.domNodeDisposal.removeDisposeCallback);(function(){var f=/^(\s*)<!--(.*?)-->/;function e(g){var d=a.utils.stringTrim(g).toLowerCase(),b=document.createElement("div"),e=d.match(/^<(thead|tbody|tfoot)/)&&[1,"<table>","</table>"]||!d.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!d.indexOf("<td")||!d.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||[0,"",""],f="ignored<div>"+e[1]+g+e[2]+"</div>";if(typeof c.innerShiv=="function")b.appendChild(c.innerShiv(f));else b.innerHTML=f;while(e[0]--)b=b.lastChild;return a.utils.makeArray(b.lastChild.childNodes)}function d(c){var b=jQuery.clean([c]);if(b&&b[0]){var a=b[0];while(a.parentNode&&a.parentNode.nodeType!==11)a=a.parentNode;a.parentNode&&a.parentNode.removeChild(a)}return b}a.utils.parseHtmlFragment=function(a){return typeof jQuery!="undefined"?d(a):e(a)};a.utils.setHtml=function(d,c){a.utils.emptyDomNode(d);if(c!==null&&c!==b){if(typeof c!="string")c=c.toString();if(typeof jQuery!="undefined")jQuery(d).html(c);else for(var f=a.utils.parseHtmlFragment(c),e=0;e<f.length;e++)d.appendChild(f[e])}}})();a.exportSymbol("ko.utils.parseHtmlFragment",a.utils.parseHtmlFragment);a.exportSymbol("ko.utils.setHtml",a.utils.setHtml);a.memoization=function(){var c={};function d(){return((1+Math.random())*4294967296|0).toString(16).substring(1)}function f(){return d()+d()}function e(b,d){if(!b)return;if(b.nodeType==8){var g=a.memoization.parseMemoText(b.nodeValue);g!=null&&d.push({domNode:b,memoId:g})}else if(b.nodeType==1)for(var c=0,f=b.childNodes,h=f.length;c<h;c++)e(f[c],d)}return{memoize:function(a){if(typeof a!="function")throw new Error("You can only pass a function to ko.memoization.memoize()");var b=f();c[b]=a;return"<!--[ko_memo:"+b+"]-->"},unmemoize:function(a,e){var d=c[a];if(d===b)throw new Error("Couldn't find any memo with ID "+a+". Perhaps it's already been unmemoized.");try{d.apply(null,e||[]);return true}finally{delete c[a]}},unmemoizeDomNodeAndDescendants:function(h,f){var c=[];e(h,c);for(var d=0,i=c.length;d<i;d++){var b=c[d].domNode,g=[b];f&&a.utils.arrayPushAll(g,f);a.memoization.unmemoize(c[d].memoId,g);b.nodeValue="";b.parentNode&&b.parentNode.removeChild(b)}},parseMemoText:function(b){var a=b.match(/^\[ko_memo\:(.*?)\]$/);return a?a[1]:null}}}();a.exportSymbol("ko.memoization",a.memoization);a.exportSymbol("ko.memoization.memoize",a.memoization.memoize);a.exportSymbol("ko.memoization.unmemoize",a.memoization.unmemoize);a.exportSymbol("ko.memoization.parseMemoText",a.memoization.parseMemoText);a.exportSymbol("ko.memoization.unmemoizeDomNodeAndDescendants",a.memoization.unmemoizeDomNodeAndDescendants);a.extenders={throttle:function(b,d){b.throttleEvaluation=d;var c=null;return a.dependentObservable({read:b,write:function(a){clearTimeout(c);c=setTimeout(function(){b(a)},d)}})},notify:function(b,c){b.equalityComparer=c=="always"?function(){return false}:a.observable.fn.equalityComparer;return b}};function g(b){var c=this;if(b)for(var e in b){var d=a.extenders[e];if(typeof d=="function")c=d(c,b[e])}return c}a.exportSymbol("ko.extenders",a.extenders);a.subscription=function(c,b){this.callback=c;this.disposeCallback=b;a.exportProperty(this,"dispose",this.dispose)};a.subscription.prototype.dispose=function(){this.isDisposed=true;this.disposeCallback()};a.subscribable=function(){this._subscriptions={};a.utils.extend(this,a.subscribable.fn);a.exportProperty(this,"subscribe",this.subscribe);a.exportProperty(this,"extend",this.extend);a.exportProperty(this,"getSubscriptionsCount",this.getSubscriptionsCount)};var e="change";a.subscribable.fn={subscribe:function(f,d,b){b=b||e;var g=d?f.bind(d):f,c=new a.subscription(g,function(){a.utils.arrayRemoveItem(this._subscriptions[b],c)}.bind(this));if(!this._subscriptions[b])this._subscriptions[b]=[];this._subscriptions[b].push(c);return c},notifySubscribers:function(c,b){b=b||e;this._subscriptions[b]&&a.utils.arrayForEach(this._subscriptions[b].slice(0),function(a){a&&a.isDisposed!==true&&a.callback(c)})},getSubscriptionsCount:function(){var b=0;for(var a in this._subscriptions)if(this._subscriptions.hasOwnProperty(a))b+=this._subscriptions[a].length;return b},extend:g};a.isSubscribable=function(a){return typeof a.subscribe=="function"&&typeof a.notifySubscribers=="function"};a.exportSymbol("ko.subscribable",a.subscribable);a.exportSymbol("ko.isSubscribable",a.isSubscribable);a.dependencyDetection=function(){var b=[];return{begin:function(a){b.push({callback:a,distinctDependencies:[]})},end:function(){b.pop()},registerDependency:function(c){if(!a.isSubscribable(c))throw"Only subscribable things can act as dependencies";if(b.length>0){var d=b[b.length-1];if(a.utils.arrayIndexOf(d.distinctDependencies,c)>=0)return;d.distinctDependencies.push(c);d.callback(c)}}}}();var i={undefined:true,"boolean":true,number:true,string:true};a.observable=function(d){var c=d;function b(){if(arguments.length>0){if(!b.equalityComparer||!b.equalityComparer(c,arguments[0])){b.valueWillMutate();c=arguments[0];b.valueHasMutated()}return this}else{a.dependencyDetection.registerDependency(b);return c}}a.subscribable.call(b);b.valueHasMutated=function(){b.notifySubscribers(c)};b.valueWillMutate=function(){b.notifySubscribers(c,"beforeChange")};a.utils.extend(b,a.observable.fn);a.exportProperty(b,"valueHasMutated",b.valueHasMutated);a.exportProperty(b,"valueWillMutate",b.valueWillMutate);return b};a.observable.fn={__ko_proto__:a.observable,equalityComparer:function(a,c){var b=a===null||typeof a in i;return b?a===c:false}};a.isObservable=function(c){return c===null||c===b||c.__ko_proto__===b?false:c.__ko_proto__===a.observable?true:a.isObservable(c.__ko_proto__)};a.isWriteableObservable=function(b){return typeof b=="function"&&b.__ko_proto__===a.observable?true:typeof b=="function"&&b.__ko_proto__===a.dependentObservable&&b.hasWriteFunction?true:false};a.exportSymbol("ko.observable",a.observable);a.exportSymbol("ko.isObservable",a.isObservable);a.exportSymbol("ko.isWriteableObservable",a.isWriteableObservable);a.observableArray=function(d){if(arguments.length==0)d=[];if(d!==null&&d!==b&&!("length"in d))throw new Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");var c=new a.observable(d);a.utils.extend(c,a.observableArray.fn);a.exportProperty(c,"remove",c.remove);a.exportProperty(c,"removeAll",c.removeAll);a.exportProperty(c,"destroy",c.destroy);a.exportProperty(c,"destroyAll",c.destroyAll);a.exportProperty(c,"indexOf",c.indexOf);a.exportProperty(c,"replace",c.replace);return c};a.observableArray.fn={remove:function(c){for(var d=this(),b=[],f=typeof c=="function"?c:function(a){return a===c},a=0;a<d.length;a++){var e=d[a];if(f(e)){b.length===0&&this.valueWillMutate();b.push(e);d.splice(a,1);a--}}b.length&&this.valueHasMutated();return b},removeAll:function(d){if(d===b){var c=this(),e=c.slice(0);this.valueWillMutate();c.splice(0,c.length);this.valueHasMutated();return e}return!d?[]:this.remove(function(b){return a.utils.arrayIndexOf(d,b)>=0})},destroy:function(b){var c=this(),d=typeof b=="function"?b:function(a){return a===b};this.valueWillMutate();for(var a=c.length-1;a>=0;a--){var e=c[a];if(d(e))c[a]._destroy=true}this.valueHasMutated()},destroyAll:function(c){return c===b?this.destroy(function(){return true}):!c?[]:this.destroy(function(b){return a.utils.arrayIndexOf(c,b)>=0})},indexOf:function(c){var b=this();return a.utils.arrayIndexOf(b,c)},replace:function(c,b){var a=this.indexOf(c);if(a>=0){this.valueWillMutate();this()[a]=b;this.valueHasMutated()}}};a.utils.arrayForEach(["pop","push","reverse","shift","sort","splice","unshift"],function(b){a.observableArray.fn[b]=function(){var a=this();this.valueWillMutate();var c=a[b].apply(a,arguments);this.valueHasMutated();return c}});a.utils.arrayForEach(["slice"],function(b){a.observableArray.fn[b]=function(){var a=this();return a[b].apply(a,arguments)}});a.exportSymbol("ko.observableArray",a.observableArray);function h(b,c,a){if(b&&typeof b=="object")a=b;else{a=a||{};a.read=b||a.read}if(typeof a.read!="function")throw"Pass a function that returns the value of the dependentObservable";return a}a.dependentObservable=function(o,j,c){var g,k=false,c=h(o,j,c),d=typeof c.disposeWhenNodeIsRemoved=="object"?c.disposeWhenNodeIsRemoved:null,i=null;if(d){i=function(){b.dispose()};a.utils.domNodeDisposal.addDisposeCallback(d,i);var m=c.disposeWhen;c.disposeWhen=function(){return!a.utils.domNodeIsAttachedToDocument(d)||typeof m=="function"&&m()}}var e=[];function l(){a.utils.arrayForEach(e,function(a){a.dispose()});e=[]}var n=null;function p(){var a=b.throttleEvaluation;if(a&&a>=0){clearTimeout(n);n=setTimeout(f,a)}else f()}function f(){if(k&&typeof c.disposeWhen=="function")if(c.disposeWhen()){b.dispose();return}try{l();a.dependencyDetection.begin(function(a){e.push(a.subscribe(p))});var d=c.owner||j,f=c.read.call(d);b.notifySubscribers(g,"beforeChange");g=f}finally{a.dependencyDetection.end()}b.notifySubscribers(g);k=true}function b(){if(arguments.length>0)if(typeof c.write==="function"){var d=c.owner||j;c.write.apply(d,arguments)}else 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.";else{!k&&f();a.dependencyDetection.registerDependency(b);return g}}b.getDependenciesCount=function(){return e.length};b.hasWriteFunction=typeof c.write==="function";b.dispose=function(){d&&a.utils.domNodeDisposal.removeDisposeCallback(d,i);l()};a.subscribable.call(b);a.utils.extend(b,a.dependentObservable.fn);c.deferEvaluation!==true&&f();a.exportProperty(b,"dispose",b.dispose);a.exportProperty(b,"getDependenciesCount",b.getDependenciesCount);return b};a.dependentObservable.fn={__ko_proto__:a.dependentObservable};a.dependentObservable.__ko_proto__=a.observable;a.exportSymbol("ko.dependentObservable",a.dependentObservable);a.exportSymbol("ko.computed",a.dependentObservable);(function(){var e=10;a.toJS=function(b){if(arguments.length==0)throw new Error("When calling ko.toJS, pass the object you want to convert.");return c(b,function(b){for(var c=0;a.isObservable(b)&&c<e;c++)b=b();return b})};a.toJSON=function(c){var b=a.toJS(c);return a.utils.stringifyJson(b)};function c(a,h,e){e=e||new f;a=h(a);var i=typeof a=="object"&&a!==null&&a!==b&&!(a instanceof Date);if(!i)return a;var g=a instanceof Array?[]:{};e.save(a,g);d(a,function(f){var d=h(a[f]);switch(typeof d){case"boolean":case"number":case"string":case"function":g[f]=d;break;case"object":case"undefined":var i=e.get(d);g[f]=i!==b?i:c(d,h,e)}});return g}function d(a,c){if(a instanceof Array)for(var b=0;b<a.length;b++)c(b);else for(var d in a)c(d)}function f(){var d=[],c=[];this.save=function(f,e){var b=a.utils.arrayIndexOf(d,f);if(b>=0)c[b]=e;else{d.push(f);c.push(e)}};this.get=function(f){var e=a.utils.arrayIndexOf(d,f);return e>=0?c[e]:b}}})();a.exportSymbol("ko.toJS",a.toJS);a.exportSymbol("ko.toJSON",a.toJSON);(function(){var c="__ko__hasDomDataOptionValue__";a.selectExtensions={readValue:function(d){return d.tagName=="OPTION"?d[c]===true?a.utils.domData.get(d,a.bindingHandlers.options.optionValueDomDataKey):d.getAttribute("value"):d.tagName=="SELECT"?d.selectedIndex>=0?a.selectExtensions.readValue(d.options[d.selectedIndex]):b:d.value},writeValue:function(d,e){if(d.tagName=="OPTION")switch(typeof e){case"string":a.utils.domData.set(d,a.bindingHandlers.options.optionValueDomDataKey,b);if(c in d)delete d[c];d.value=e;break;default:a.utils.domData.set(d,a.bindingHandlers.options.optionValueDomDataKey,e);d[c]=true;d.value=typeof e==="number"?e:""}else if(d.tagName=="SELECT"){for(var f=d.options.length-1;f>=0;f--)if(a.selectExtensions.readValue(d.options[f])==e){d.selectedIndex=f;break}}else{if(e===null||e===b)e="";d.value=e}}}})();a.exportSymbol("ko.selectExtensions",a.selectExtensions);a.exportSymbol("ko.selectExtensions.readValue",a.selectExtensions.readValue);a.exportSymbol("ko.selectExtensions.writeValue",a.selectExtensions.writeValue);a.jsonExpressionRewriting=function(){var d=/\@ko_token_(\d+)\@/g,c=/^[\_$a-z][\_$a-z0-9]*(\[.*?\])*(\.[\_$a-z][\_$a-z0-9]*(\[.*?\])*)*$/i,e=["true","false"];function b(a,c){var b=null;while(a!=b){b=a;a=a.replace(d,function(b,a){return c[a]})}return a}function f(b){return a.utils.arrayIndexOf(e,a.utils.stringTrim(b).toLowerCase())>=0?false:b.match(c)!==null}function g(c){var b=a.utils.stringTrim(c);switch(b.length&&b.charAt(0)){case"'":case'"':return c;default:return"'"+b+"'"}}return{bindingRewriteValidators:[],parseObjectLiteral:function(r){var c=a.utils.stringTrim(r);if(c.length<3)return[];if(c.charAt(0)==="{")c=c.substring(1,c.length-1);for(var h=[],e=null,g,d=0;d<c.length;d++){var f=c.charAt(d);if(e===null)switch(f){case'"':case"'":case"/":e=d;g=f}else if(f==g&&c.charAt(d-1)!=="\\"){var m=c.substring(e,d+1);h.push(m);var k="@ko_token_"+(h.length-1)+"@";c=c.substring(0,e)+k+c.substring(d+1);d-=m.length-k.length;e=null}}e=null;g=null;for(var n=0,j=null,d=0;d<c.length;d++){var f=c.charAt(d);if(e===null)switch(f){case"{":e=d;j=f;g="}";break;case"(":e=d;j=f;g=")";break;case"[":e=d;j=f;g="]"}if(f===j)n++;else if(f===g){n--;if(n===0){var m=c.substring(e,d+1);h.push(m);var k="@ko_token_"+(h.length-1)+"@";c=c.substring(0,e)+k+c.substring(d+1);d-=m.length-k.length;e=null}}}for(var o=[],q=c.split(","),p=0,u=q.length;p<u;p++){var i=q[p],l=i.indexOf(":");if(l>0&&l<i.length-1){var t=i.substring(0,l),s=i.substring(l+1);o.push({key:b(t,h),value:b(s,h)})}else o.push({unknown:b(i,h)})}return o},insertPropertyAccessorsIntoJson:function(e){for(var m=typeof e==="string"?a.jsonExpressionRewriting.parseObjectLiteral(e):e,b=[],d=[],c,k=0;c=m[k];k++){b.length>0&&b.push(",");if(c.key){var j=g(c.key),i=c.value;b.push(j);b.push(":");b.push(i);if(f(a.utils.stringTrim(i))){d.length>0&&d.push(", ");d.push(j+" : function(__ko_value) { "+i+" = __ko_value; }")}}else c.unknown&&b.push(c.unknown)}var h=b.join("");if(d.length>0){var l=d.join("");h=h+", '_ko_property_writers' : { "+l+" } "}return h},keyValueArrayContainsKey:function(c,d){for(var b=0;b<c.length;b++)if(a.utils.stringTrim(c[b].key)==d)return true;return false}}}();a.exportSymbol("ko.jsonExpressionRewriting",a.jsonExpressionRewriting);a.exportSymbol("ko.jsonExpressionRewriting.bindingRewriteValidators",a.jsonExpressionRewriting.bindingRewriteValidators);a.exportSymbol("ko.jsonExpressionRewriting.parseObjectLiteral",a.jsonExpressionRewriting.parseObjectLiteral);a.exportSymbol("ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson",a.jsonExpressionRewriting.insertPropertyAccessorsIntoJson);(function(){var d=document.createComment("test").text==="<!--test-->",j=d?/^<!--\s*ko\s+(.*\:.*)\s*-->$/:/^\s*ko\s+(.*\:.*)\s*$/,k=d?/^<!--\s*\/ko\s*-->$/:/^\s*\/ko\s*$/,h={ul:true,ol:true};function c(a){return a.nodeType==8&&(d?a.text:a.nodeValue).match(j)}function e(a){return a.nodeType==8&&(d?a.text:a.nodeValue).match(k)}function g(d,g){var a=d,b=1,f=[];while(a=a.nextSibling){if(e(a)){b--;if(b===0)return f}f.push(a);if(c(a))b++}if(!g)throw new Error("Cannot find closing comment tag to match: "+d.nodeValue);return null}function f(b,c){var a=g(b,c);return a?a.length>0?a[a.length-1].nextSibling:b.nextSibling:null}function l(c,e){for(var d=[],b=0,f=c.length;b<f;b++){e&&a.utils.domNodeDisposal.cleanNode(c[b]);d.push(a.utils.outerHTML(c[b]))}return String.prototype.concat.apply("",d)}function i(g){var a=g.firstChild,b=null;if(a)do if(b)b.push(a);else if(c(a)){var d=f(a,true);if(d)a=d;else b=[a]}else if(e(a))b=[a];while(a=a.nextSibling);return b}a.virtualElements={allowedBindings:{},childNodes:function(a){return c(a)?g(a):a.childNodes},emptyNode:function(b){if(!c(b))a.utils.emptyDomNode(b);else for(var e=a.virtualElements.childNodes(b),d=0,f=e.length;d<f;d++)a.removeNode(e[d])},setDomNodeChildren:function(b,d){if(!c(b))a.utils.setDomNodeChildren(b,d);else{a.virtualElements.emptyNode(b);for(var f=b.nextSibling,e=0,g=d.length;e<g;e++)f.parentNode.insertBefore(d[e],f)}},prepend:function(a,b){if(!c(a))if(a.firstChild)a.insertBefore(b,a.firstChild);else a.appendChild(b);else a.parentNode.insertBefore(b,a.nextSibling)},insertAfter:function(a,d,b){if(!c(a))if(b.nextSibling)a.insertBefore(d,b.nextSibling);else a.appendChild(d);else a.parentNode.insertBefore(d,b.nextSibling)},nextSibling:function(a){return!c(a)?a.nextSibling&&e(a.nextSibling)?b:a.nextSibling:f(a).nextSibling},virtualNodeBindingValue:function(b){var a=c(b);return a?a[1]:null},extractAnonymousTemplateIfVirtualElement:function(b){if(a.virtualElements.virtualNodeBindingValue(b)){var d=a.virtualElements.childNodes(b),c=l(d,true);a.virtualElements.emptyNode(b);new a.templateSources.anonymousTemplate(b).text(c)}},normaliseVirtualElementDomStructure:function(b){if(!h[b.tagName.toLowerCase()])return;var a=b.firstChild;if(a)do if(a.nodeType===1){var c=i(a);if(c)for(var e=a.nextSibling,d=0;d<c.length;d++)if(e)b.insertBefore(c[d],e);else b.appendChild(c[d])}while(a=a.nextSibling)}}})();(function(){var b="data-bind";a.bindingProvider=function(){};a.utils.extend(a.bindingProvider.prototype,{nodeHasBindings:function(c){switch(c.nodeType){case 1:return c.getAttribute(b)!=null;case 8:return a.virtualElements.virtualNodeBindingValue(c)!=null;default:return false}},getBindings:function(c,a){var b=this.getBindingsString(c,a);return b?this.parseBindingsString(b,a):null},getBindingsString:function(c){switch(c.nodeType){case 1:return c.getAttribute(b);case 8:return a.virtualElements.virtualNodeBindingValue(c);default:return null}},parseBindingsString:function(d,b){try{var e=b.$data,f=" { "+a.jsonExpressionRewriting.insertPropertyAccessorsIntoJson(d)+" } ";return a.utils.evalWithinScope(f,e===null?c:e,b)}catch(g){throw new Error("Unable to parse bindings.\nMessage: "+g+";\nBindings value: "+d);}}});a.bindingProvider.instance=new a.bindingProvider})();a.exportSymbol("ko.bindingProvider",a.bindingProvider);(function(){a.bindingHandlers={};a.bindingContext=function(b,a){this.$data=b;if(a){this.$parent=a.$data;this.$parents=(a.$parents||[]).slice(0);this.$parents.unshift(this.$parent);this.$root=a.$root}else{this.$parents=[];this.$root=b}};a.bindingContext.prototype.createChildContext=function(b){return new a.bindingContext(b,this)};function h(b){var c=a.virtualElements.allowedBindings[b];if(!c)throw new Error("The binding '"+b+"' cannot be used with virtual elements");}function e(f,e){var b,c=e.childNodes[0];while(b=c){c=a.virtualElements.nextSibling(b);d(f,b,false)}}function d(h,b,d){var f=true,c=b.nodeType==1;c&&a.virtualElements.normaliseVirtualElementDomStructure(b);var i=c&&d||a.bindingProvider.instance.nodeHasBindings(b);if(i)f=g(b,null,h,d).shouldBindDescendants;c&&f&&e(h,b)}function g(c,i,f,l){var g=0;a.virtualElements.extractAnonymousTemplateIfVirtualElement(c);var d;function k(a){return function(){return d[a]}}function j(){return d}var e;new a.dependentObservable(function(){var o=f&&f instanceof a.bindingContext?f:new a.bindingContext(a.utils.unwrapObservable(f)),q=o.$data;l&&a.storedBindingContextForNode(c,o);var r=typeof i=="function"?i():i;d=r||a.bindingProvider.instance.getBindings(c,o);if(d){if(g===0){g=1;for(var m in d){var n=a.bindingHandlers[m];n&&c.nodeType===8&&h(m);if(n&&typeof n.init=="function"){var t=n.init,p=t(c,k(m),j,q,o);if(p&&p.controlsDescendantBindings){if(e!==b)throw new Error("Multiple bindings ("+e+" and "+m+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");e=m}}}g=2}if(g===2)for(var m in d){var n=a.bindingHandlers[m];if(n&&typeof n.update=="function"){var s=n.update;s(c,k(m),j,q,o)}}}},null,{disposeWhenNodeIsRemoved:c});return{shouldBindDescendants:e===b}}var f="__ko_bindingContext__";a.storedBindingContextForNode=function(b,c){if(arguments.length==2)a.utils.domData.set(b,f,c);else return a.utils.domData.get(b,f)};a.applyBindingsToNode=function(b,d,c){b.nodeType===1&&a.virtualElements.normaliseVirtualElementDomStructure(b);return g(b,d,c,true)};a.applyBindingsToDescendants=function(b,a){a.nodeType===1&&e(b,a)};a.applyBindings=function(b,a){if(a&&a.nodeType!==1&&a.nodeType!==8)throw new Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");a=a||c.document.body;d(b,a,true)};a.contextFor=function(c){switch(c.nodeType){case 1:case 8:var d=a.storedBindingContextForNode(c);if(d)return d;if(c.parentNode)return a.contextFor(c.parentNode)}return b};a.dataFor=function(d){var c=a.contextFor(d);return c?c.$data:b};a.exportSymbol("ko.bindingHandlers",a.bindingHandlers);a.exportSymbol("ko.applyBindings",a.applyBindings);a.exportSymbol("ko.applyBindingsToDescendants",a.applyBindingsToDescendants);a.exportSymbol("ko.applyBindingsToNode",a.applyBindingsToNode);a.exportSymbol("ko.contextFor",a.contextFor);a.exportSymbol("ko.dataFor",a.dataFor)})();var f=["click"];a.utils.arrayForEach(f,function(b){a.bindingHandlers[b]={init:function(g,e,c,f){var d=function(){var a={};a[b]=e();return a};return a.bindingHandlers.event.init.call(this,g,d,c,f)}}});a.bindingHandlers.event={init:function(g,b,e,c){var f=b()||{};for(var d in f)(function(){var f=d;typeof f=="string"&&a.utils.registerEventHandler(g,f,function(d){var g,h=b()[f];if(!h)return;var j=e();try{var i=a.utils.makeArray(arguments);i.unshift(c);g=h.apply(c,i)}finally{if(g!==true)if(d.preventDefault)d.preventDefault();else d.returnValue=false}var k=j[f+"Bubble"]!==false;if(!k){d.cancelBubble=true;d.stopPropagation&&d.stopPropagation()}})})()}};a.bindingHandlers.submit={init:function(c,b,e,d){if(typeof b()!="function")throw new Error("The value for a submit binding must be a function");a.utils.registerEventHandler(c,"submit",function(a){var e,f=b();try{e=f.call(d,c)}finally{if(e!==true)if(a.preventDefault)a.preventDefault();else a.returnValue=false}})}};a.bindingHandlers.visible={update:function(b,e){var d=a.utils.unwrapObservable(e()),c=!(b.style.display=="none");if(d&&!c)b.style.display="";else if(!d&&c)b.style.display="none"}};a.bindingHandlers.enable={update:function(b,d){var c=a.utils.unwrapObservable(d());if(c&&b.disabled)b.removeAttribute("disabled");else if(!c&&!b.disabled)b.disabled=true}};a.bindingHandlers.disable={update:function(c,b){a.bindingHandlers.enable.update(c,function(){return!a.utils.unwrapObservable(b())})}};function d(b,c,d){if(d)c!==a.selectExtensions.readValue(b)&&a.selectExtensions.writeValue(b,c);c!==a.selectExtensions.readValue(b)&&a.utils.triggerEvent(b,"change")}a.bindingHandlers.value={init:function(e,f,d){var c=["change"],b=d().valueUpdate;if(b){if(typeof b=="string")b=[b];a.utils.arrayPushAll(c,b);c=a.utils.arrayGetDistinctValues(c)}a.utils.arrayForEach(c,function(b){var c=false;if(a.utils.stringStartsWith(b,"after")){c=true;b=b.substring("after".length)}var g=c?function(a){setTimeout(a,0)}:function(a){a()};a.utils.registerEventHandler(e,b,function(){g(function(){var g=f(),c=a.selectExtensions.readValue(e);if(a.isWriteableObservable(g))g(c);else{var b=d();b._ko_property_writers&&b._ko_property_writers.value&&b._ko_property_writers.value(c)}})})})},update:function(b,i){var c=a.utils.unwrapObservable(i()),e=a.selectExtensions.readValue(b),g=c!=e;if(c===0&&e!==0&&e!=="0")g=true;if(g){var f=function(){a.selectExtensions.writeValue(b,c)};f();var h=b.tagName=="SELECT";h&&setTimeout(f,0)}b.tagName=="SELECT"&&b.length>0&&d(b,c,false)}};a.bindingHandlers.options={update:function(c,s,r){if(c.tagName!="SELECT")throw new Error("options binding applies only to SELECT elements");var o=c.length==0,q=a.utils.arrayMap(a.utils.arrayFilter(c.childNodes,function(a){return a.tagName&&a.tagName=="OPTION"&&a.selected}),function(b){return a.selectExtensions.readValue(b)||b.innerText||b.textContent}),m=c.scrollTop;c.scrollTop=0;var f=a.utils.unwrapObservable(s()),t=c.value;while(c.length>0){a.cleanNode(c.options[0]);c.remove(0)}if(f){var g=r();if(typeof f.length!="number")f=[f];if(g.optionsCaption){var i=document.createElement("OPTION");a.utils.setHtml(i,g.optionsCaption);a.selectExtensions.writeValue(i,b);c.appendChild(i)}for(var e=0,n=f.length;e<n;e++){var i=document.createElement("OPTION"),k=typeof g.optionsValue=="string"?f[e][g.optionsValue]:f[e];k=a.utils.unwrapObservable(k);a.selectExtensions.writeValue(i,k);var j=g.optionsText,h;if(typeof j=="function")h=j(f[e]);else if(typeof j=="string")h=f[e][j];else h=k;if(h===null||h===b)h="";a.utils.setTextContent(i,h);c.appendChild(i)}for(var l=c.getElementsByTagName("OPTION"),p=0,e=0,n=l.length;e<n;e++)if(a.utils.arrayIndexOf(q,a.selectExtensions.readValue(l[e]))>=0){a.utils.setOptionNodeSelectionState(l[e],true);p++}if(m)c.scrollTop=m;o&&"value"in g&&d(c,a.utils.unwrapObservable(g.value),true)}}};a.bindingHandlers.options.optionValueDomDataKey="__ko.optionValueDomData__";a.bindingHandlers.selectedOptions={getSelectedValuesFromSelectNode:function(f){for(var d=[],e=f.childNodes,c=0,g=e.length;c<g;c++){var b=e[c];b.tagName=="OPTION"&&b.selected&&d.push(a.selectExtensions.readValue(b))}return d},init:function(d,c,b){a.utils.registerEventHandler(d,"change",function(){var e=c();if(a.isWriteableObservable(e))e(a.bindingHandlers.selectedOptions.getSelectedValuesFromSelectNode(this));else{var d=b();d._ko_property_writers&&d._ko_property_writers.value&&d._ko_property_writers.value(a.bindingHandlers.selectedOptions.getSelectedValuesFromSelectNode(this))}})},update:function(e,g){if(e.tagName!="SELECT")throw new Error("values binding applies only to SELECT elements");var b=a.utils.unwrapObservable(g());if(b&&typeof b.length=="number")for(var f=e.childNodes,d=0,h=f.length;d<h;d++){var c=f[d];c.tagName=="OPTION"&&a.utils.setOptionNodeSelectionState(c,a.utils.arrayIndexOf(b,a.selectExtensions.readValue(c))>=0)}}};a.bindingHandlers.text={update:function(c,b){a.utils.setTextContent(c,b())}};a.bindingHandlers.html={init:function(){return{controlsDescendantBindings:true}},update:function(c,b){var d=a.utils.unwrapObservable(b());a.utils.setHtml(c,d)}};a.bindingHandlers.css={update:function(f,e){var c=a.utils.unwrapObservable(e()||{});for(var b in c)if(typeof b=="string"){var d=a.utils.unwrapObservable(c[b]);a.utils.toggleDomNodeCssClass(f,b,d)}}};a.bindingHandlers.style={update:function(f,d){var c=a.utils.unwrapObservable(d()||{});for(var b in c)if(typeof b=="string"){var e=a.utils.unwrapObservable(c[b]);f.style[b]=e||""}}};a.bindingHandlers.uniqueName={init:function(b,c){if(c()){b.name="ko_unique_"+ ++a.bindingHandlers.uniqueName.currentIndex;(a.utils.isIe6||a.utils.isIe7)&&b.mergeAttributes(document.createElement("<input name='"+b.name+"'/>"),false)}}};a.bindingHandlers.uniqueName.currentIndex=0;a.bindingHandlers.checked={init:function(b,e,c){var d=function(){var f;if(b.type=="checkbox")f=b.checked;else if(b.type=="radio"&&b.checked)f=b.value;else return;var d=e();if(b.type=="checkbox"&&a.utils.unwrapObservable(d)instanceof Array){var g=a.utils.arrayIndexOf(a.utils.unwrapObservable(d),b.value);if(b.checked&&g<0)d.push(b.value);else!b.checked&&g>=0&&d.splice(g,1)}else if(a.isWriteableObservable(d))d()!==f&&d(f);else{var h=c();h._ko_property_writers&&h._ko_property_writers.checked&&h._ko_property_writers.checked(f)}};a.utils.registerEventHandler(b,"click",d);b.type=="radio"&&!b.name&&a.bindingHandlers.uniqueName.init(b,function(){return true})},update:function(b,d){var c=a.utils.unwrapObservable(d());if(b.type=="checkbox")if(c instanceof Array)b.checked=a.utils.arrayIndexOf(c,b.value)>=0;else b.checked=c;else if(b.type=="radio")b.checked=b.value==c}};a.bindingHandlers.attr={update:function(e,g){var f=a.utils.unwrapObservable(g())||{};for(var d in f)if(typeof d=="string"){var c=a.utils.unwrapObservable(f[d]);if(c===false||c===null||c===b)e.removeAttribute(d);else e.setAttribute(d,c.toString())}}};a.bindingHandlers.hasfocus={init:function(c,e,d){var b=function(b){var f=e();if(b==a.utils.unwrapObservable(f))return;if(a.isWriteableObservable(f))f(b);else{var c=d();c._ko_property_writers&&c._ko_property_writers.hasfocus&&c._ko_property_writers.hasfocus(b)}};a.utils.registerEventHandler(c,"focus",function(){b(true)});a.utils.registerEventHandler(c,"focusin",function(){b(true)});a.utils.registerEventHandler(c,"blur",function(){b(false)});a.utils.registerEventHandler(c,"focusout",function(){b(false)})},update:function(b,d){var c=a.utils.unwrapObservable(d());c?b.focus():b.blur();a.utils.triggerEvent(b,c?"focusin":"focusout")}};a.bindingHandlers["with"]={makeTemplateValueAccessor:function(b){return function(){var c=b();return{"if":c,data:c,templateEngine:a.nativeTemplateEngine.instance}}},init:function(c,b){return a.bindingHandlers.template.init(c,a.bindingHandlers["with"].makeTemplateValueAccessor(b))},update:function(f,d,b,e,c){return a.bindingHandlers.template.update(f,a.bindingHandlers["with"].makeTemplateValueAccessor(d),b,e,c)}};a.jsonExpressionRewriting.bindingRewriteValidators["with"]=false;a.virtualElements.allowedBindings["with"]=true;a.bindingHandlers["if"]={makeTemplateValueAccessor:function(b){return function(){return{"if":b(),templateEngine:a.nativeTemplateEngine.instance}}},init:function(c,b){return a.bindingHandlers.template.init(c,a.bindingHandlers["if"].makeTemplateValueAccessor(b))},update:function(f,d,b,e,c){return a.bindingHandlers.template.update(f,a.bindingHandlers["if"].makeTemplateValueAccessor(d),b,e,c)}};a.jsonExpressionRewriting.bindingRewriteValidators["if"]=false;a.virtualElements.allowedBindings["if"]=true;a.bindingHandlers.ifnot={makeTemplateValueAccessor:function(b){return function(){return{ifnot:b(),templateEngine:a.nativeTemplateEngine.instance}}},init:function(c,b){return a.bindingHandlers.template.init(c,a.bindingHandlers.ifnot.makeTemplateValueAccessor(b))},update:function(f,d,b,e,c){return a.bindingHandlers.template.update(f,a.bindingHandlers.ifnot.makeTemplateValueAccessor(d),b,e,c)}};a.jsonExpressionRewriting.bindingRewriteValidators.ifnot=false;a.virtualElements.allowedBindings.ifnot=true;a.bindingHandlers.foreach={makeTemplateValueAccessor:function(b){return function(){var c=a.utils.unwrapObservable(b());return!c||typeof c.length=="number"?{foreach:c,templateEngine:a.nativeTemplateEngine.instance}:{foreach:c.data,includeDestroyed:c.includeDestroyed,afterAdd:c.afterAdd,beforeRemove:c.beforeRemove,afterRender:c.afterRender,templateEngine:a.nativeTemplateEngine.instance}}},init:function(c,b){return a.bindingHandlers.template.init(c,a.bindingHandlers.foreach.makeTemplateValueAccessor(b))},update:function(f,d,b,e,c){return a.bindingHandlers.template.update(f,a.bindingHandlers.foreach.makeTemplateValueAccessor(d),b,e,c)}};a.jsonExpressionRewriting.bindingRewriteValidators.foreach=false;a.virtualElements.allowedBindings.foreach=true;a.exportSymbol("ko.allowedVirtualElementBindings",a.virtualElements.allowedBindings);a.templateEngine=function(){};a.templateEngine.prototype.renderTemplateSource=function(){throw"Override renderTemplateSource";};a.templateEngine.prototype.createJavaScriptEvaluatorBlock=function(){throw"Override createJavaScriptEvaluatorBlock";};a.templateEngine.prototype.makeTemplateSource=function(b){if(typeof b=="string"){var c=document.getElementById(b);if(!c)throw new Error("Cannot find template with ID "+b);return new a.templateSources.domElement(c)}else if(b.nodeType==1||b.nodeType==8)return new a.templateSources.anonymousTemplate(b);else throw new Error("Unknown template type: "+b);};a.templateEngine.prototype.renderTemplate=function(c,a,d){var b=this.makeTemplateSource(c);return this.renderTemplateSource(b,a,d)};a.templateEngine.prototype.isTemplateRewritten=function(a){return this.allowTemplateRewriting===false?true:this.knownRewrittenTemplates&&this.knownRewrittenTemplates[a]?true:this.makeTemplateSource(a).data("isRewritten")};a.templateEngine.prototype.rewriteTemplate=function(b,c){var a=this.makeTemplateSource(b),d=c(a.text());a.text(d);a.data("isRewritten",true);if(typeof b=="string"){this.knownRewrittenTemplates=this.knownRewrittenTemplates||{};this.knownRewrittenTemplates[b]=true}};a.exportSymbol("ko.templateEngine",a.templateEngine);a.templateRewriting=function(){var d=/(<[a-z]+\d*(\s+(?!data-bind=)[a-z0-9\-]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])([\s\S]*?)\5/gi,c=/<!--\s*ko\b\s*([\s\S]*?)\s*-->/g;function e(c){for(var g=a.jsonExpressionRewriting.bindingRewriteValidators,b=0;b<c.length;b++){var e=c[b].key;if(g.hasOwnProperty(e)){var d=g[e];if(typeof d==="function"){var f=d(c[b].value);if(f)throw new Error(f);}else if(!d)throw new Error("This template engine does not support the '"+e+"' binding within its templates");}}}function b(f,h,g){var b=a.jsonExpressionRewriting.parseObjectLiteral(f);e(b);var d=a.jsonExpressionRewriting.insertPropertyAccessorsIntoJson(b),c="ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() {             return (function() { return { "+d+" } })()         })";return g.createJavaScriptEvaluatorBlock(c)+h}return{ensureTemplateIsRewritten:function(c,b){!b.isTemplateRewritten(c)&&b.rewriteTemplate(c,function(c){return a.templateRewriting.memoizeBindingAttributeSyntax(c,b)})},memoizeBindingAttributeSyntax:function(e,a){return e.replace(d,function(){return b(arguments[6],arguments[1],a)}).replace(c,function(){return b(arguments[1],"<!-- ko -->",a)})},applyMemoizedBindingsToNextSibling:function(b){return a.memoization.memoize(function(c,d){c.nextSibling&&a.applyBindingsToNode(c.nextSibling,b,d)})}}}();a.exportSymbol("ko.templateRewriting",a.templateRewriting);a.exportSymbol("ko.templateRewriting.applyMemoizedBindingsToNextSibling",a.templateRewriting.applyMemoizedBindingsToNextSibling);(function(){a.templateSources={};a.templateSources.domElement=function(a){this.domElement=a};a.templateSources.domElement.prototype.text=function(){if(arguments.length==0)return this.domElement.tagName.toLowerCase()=="script"?this.domElement.text:this.domElement.innerHTML;else{var b=arguments[0];if(this.domElement.tagName.toLowerCase()=="script")this.domElement.text=b;else a.utils.setHtml(this.domElement,b)}};a.templateSources.domElement.prototype.data=function(b){if(arguments.length===1)return a.utils.domData.get(this.domElement,"templateSourceData_"+b);else a.utils.domData.set(this.domElement,"templateSourceData_"+b,arguments[1])};var b="__ko_anon_template__";a.templateSources.anonymousTemplate=function(a){this.domElement=a};a.templateSources.anonymousTemplate.prototype=new a.templateSources.domElement;a.templateSources.anonymousTemplate.prototype.text=function(){if(arguments.length==0)return a.utils.domData.get(this.domElement,b);else{var c=arguments[0];a.utils.domData.set(this.domElement,b,c)}};a.exportSymbol("ko.templateSources",a.templateSources);a.exportSymbol("ko.templateSources.domElement",a.templateSources.domElement);a.exportSymbol("ko.templateSources.anonymousTemplate",a.templateSources.anonymousTemplate)})();(function(){var c;a.setTemplateEngine=function(d){if(d!=b&&!(d instanceof a.templateEngine))throw"templateEngine must inherit from ko.templateEngine";c=d};function d(b,d,c){for(var a=0;node=b[a];a++){if(node.parentNode!==d)continue;(node.nodeType===1||node.nodeType===8)&&c(node)}}a.activateBindingsOnTemplateRenderedNodes=function(b,e){var f=a.utils.arrayPushAll([],b),c=b.length>0?b[0].parentNode:null;d(f,c,function(b){a.applyBindings(e,b)});d(f,c,function(b){a.memoization.unmemoizeDomNodeAndDescendants(b,[e])})};function f(a){return a.nodeType?a:a.length>0?a[0]:null}function g(g,i,j,f,d){d=d||{};var h=d.templateEngine||c;a.templateRewriting.ensureTemplateIsRewritten(j,h);var b=h.renderTemplate(j,f,d);if(typeof b.length!="number"||b.length>0&&typeof b[0].nodeType!="number")throw"Template engine must return an array of DOM nodes";var e=false;switch(i){case"replaceChildren":a.virtualElements.setDomNodeChildren(g,b);e=true;break;case"replaceNode":a.utils.replaceDomNodes(g,b);e=true;break;case"ignoreTargetNode":break;default:throw new Error("Unknown renderMode: "+i);}if(e){a.activateBindingsOnTemplateRenderedNodes(b,f);d.afterRender&&d.afterRender(b,f.$data)}return b}a.renderTemplate=function(k,h,j,e,i){j=j||{};if((j.templateEngine||c)==b)throw"Set a template engine before calling renderTemplate";i=i||"replaceChildren";if(e){var d=f(e),m=function(){return!d||!a.utils.domNodeIsAttachedToDocument(d)},l=d&&i=="replaceNode"?d.parentNode:d;return new a.dependentObservable(function(){var b=h&&h instanceof a.bindingContext?h:new a.bindingContext(a.utils.unwrapObservable(h)),l=typeof k=="function"?k(b.$data):k,c=g(e,i,l,b,j);if(i=="replaceNode"){e=c;d=f(e)}},null,{disposeWhen:m,disposeWhenNodeIsRemoved:l})}else return a.memoization.memoize(function(b){a.renderTemplate(k,h,j,b,"replaceNode")})};a.renderTemplateForEach=function(d,i,c,f,j){var e=function(b){return j.createChildContext(a.utils.unwrapObservable(b))},h=function(f,b){var d=e(f);a.activateBindingsOnTemplateRenderedNodes(b,d);c.afterRender&&c.afterRender(b,d.$data)};return new a.dependentObservable(function(){var j=a.utils.unwrapObservable(i)||[];if(typeof j.length=="undefined")j=[j];var k=a.utils.arrayFilter(j,function(d){return c.includeDestroyed||d===b||d===null||!a.utils.unwrapObservable(d._destroy)});a.utils.setDomNodeChildrenFromArrayMapping(f,k,function(a){var b=typeof d=="function"?d(a):d;return g(null,"ignoreTargetNode",b,e(a),c)},c,h)},null,{disposeWhenNodeIsRemoved:f})};var e="__ko__templateSubscriptionDomDataKey__";function h(c,d){var b=a.utils.domData.get(c,e);b&&typeof b.dispose=="function"&&b.dispose();a.utils.domData.set(c,e,d)}a.bindingHandlers.template={init:function(b,d){var c=a.utils.unwrapObservable(d());if(typeof c!="string"&&!c.name&&b.nodeType==1){new a.templateSources.anonymousTemplate(b).text(b.innerHTML);a.utils.emptyDomNode(b)}return{controlsDescendantBindings:true}},update:function(d,j,l,m,g){var b=a.utils.unwrapObservable(j()),e,c=true;if(typeof b=="string")e=b;else{e=b.name;if("if"in b)c=c&&a.utils.unwrapObservable(b["if"]);if("ifnot"in b)c=c&&!a.utils.unwrapObservable(b.ifnot)}var f=null;if(typeof b==="object"&&"foreach"in b){var k=c&&b.foreach||[];f=a.renderTemplateForEach(e||d,k,b,d,g)}else if(c){var i=typeof b=="object"&&"data"in b?g.createChildContext(a.utils.unwrapObservable(b.data)):g;f=a.renderTemplate(e||d,i,b,d)}else a.virtualElements.emptyNode(d);h(d,f)}};a.jsonExpressionRewriting.bindingRewriteValidators.template=function(c){var b=a.jsonExpressionRewriting.parseObjectLiteral(c);return b.length==1&&b[0].unknown?null:a.jsonExpressionRewriting.keyValueArrayContainsKey(b,"name")?null:"This template engine does not support anonymous templates nested within its templates"};a.virtualElements.allowedBindings.template=true})();a.exportSymbol("ko.setTemplateEngine",a.setTemplateEngine);a.exportSymbol("ko.renderTemplate",a.renderTemplate);(function(){function d(h,g,f){for(var c=[],e=0;e<=g.length;e++)c[e]=[];for(var e=0,i=Math.min(h.length,f);e<=i;e++)c[0][e]=e;for(var e=1,i=Math.min(g.length,f);e<=i;e++)c[e][0]=e;for(var o=h.length,d,n=g.length,p,q,a=1;a<=o;a++){var k=Math.max(1,a-f),j=Math.min(n,a+f);for(d=k;d<=j;d++)if(h[a-1]===g[d-1])c[d][a]=c[d-1][a-1];else{var l=c[d-1][a]===b?Number.MAX_VALUE:c[d-1][a]+1,m=c[d][a-1]===b?Number.MAX_VALUE:c[d][a-1]+1;c[d][a]=Math.min(l,m)}}return c}function c(g,j,l){var a=j.length,c=l.length,i=[],d=g[c][a];if(d===b)return null;while(a>0||c>0){var k=g[c][a],f=c>0?g[c-1][a]:d+1,e=a>0?g[c][a-1]:d+1,h=c>0&&a>0?g[c-1][a-1]:d+1;if(f===b||f<k-1)f=d+1;if(e===b||e<k-1)e=d+1;if(h<k-1)h=d+1;if(f<=e&&f<h){i.push({status:"added",value:l[c-1]});c--}else if(e<f&&e<h){i.push({status:"deleted",value:j[a-1]});a--}else{i.push({status:"retained",value:j[a-1]});c--;a--}}return i.reverse()}a.utils.compareArrays=function(f,e,g){if(g===b)return a.utils.compareArrays(f,e,1)||a.utils.compareArrays(f,e,10)||a.utils.compareArrays(f,e,Number.MAX_VALUE);else{f=f||[];e=e||[];var h=d(f,e,g);return c(h,f,e)}}})();a.exportSymbol("ko.utils.compareArrays",a.utils.compareArrays);(function(){function d(a){if(a.length>2){var b=a[0],d=a[a.length-1],c=[b];while(b!==d){b=b.nextSibling;if(!b)return;c.push(b)}Array.prototype.splice.apply(a,[0,a.length].concat(c))}}function e(g,h,e,c){var b=[],f=a.dependentObservable(function(){var f=h(e)||[];if(b.length>0){d(b);a.utils.replaceDomNodes(b,f);c&&c(e,f)}b.splice(0,b.length);a.utils.arrayPushAll(b,f)},null,{disposeWhenNodeIsRemoved:g,disposeWhen:function(){return b.length==0||!a.utils.domNodeIsAttachedToDocument(b[0])}});return{mappedNodes:b,dependentObservable:f}}var c="setDomNodeChildrenFromArrayMapping_lastMappingResult";a.utils.setDomNodeChildrenFromArrayMapping=function(j,u,B,k,r){u=u||[];k=k||{};for(var y=a.utils.domData.get(j,c)===b,l=a.utils.domData.get(j,c)||[],A=a.utils.arrayMap(l,function(a){return a.arrayEntry}),i=a.utils.compareArrays(A,u),s=[],h=0,g=[],n=[],m=null,f=0,C=i.length;f<C;f++)switch(i[f].status){case"retained":var o=l[h];s.push(o);if(o.domNodes.length>0)m=o.domNodes[o.domNodes.length-1];h++;break;case"deleted":l[h].dependentObservable.dispose();d(l[h].domNodes);a.utils.arrayForEach(l[h].domNodes,function(a){g.push({element:a,index:f,value:i[f].value});m=a});h++;break;case"added":var w=i[f].value,x=e(j,B,w,r),p=x.mappedNodes;s.push({arrayEntry:i[f].value,domNodes:p,dependentObservable:x.dependentObservable});for(var t=0,z=p.length;t<z;t++){var q=p[t];n.push({element:q,index:f,value:i[f].value});if(m==null)a.virtualElements.prepend(j,q);else a.virtualElements.insertAfter(j,q,m);m=q}r&&r(w,p)}a.utils.arrayForEach(g,function(b){a.cleanNode(b.element)});var v=false;if(!y){if(k.afterAdd)for(var f=0;f<n.length;f++)k.afterAdd(n[f].element,n[f].index,n[f].value);if(k.beforeRemove){for(var f=0;f<g.length;f++)k.beforeRemove(g[f].element,g[f].index,g[f].value);v=true}}!v&&a.utils.arrayForEach(g,function(b){a.removeNode(b.element)});a.utils.domData.set(j,c,s)}})();a.exportSymbol("ko.utils.setDomNodeChildrenFromArrayMapping",a.utils.setDomNodeChildrenFromArrayMapping);a.nativeTemplateEngine=function(){this.allowTemplateRewriting=false};a.nativeTemplateEngine.prototype=new a.templateEngine;a.nativeTemplateEngine.prototype.renderTemplateSource=function(b){var c=b.text();return a.utils.parseHtmlFragment(c)};a.nativeTemplateEngine.instance=new a.nativeTemplateEngine;a.setTemplateEngine(a.nativeTemplateEngine.instance);a.exportSymbol("ko.nativeTemplateEngine",a.nativeTemplateEngine);(function(){a.jqueryTmplTemplateEngine=function(){var a=this.jQueryTmplVersion=function(){if(typeof jQuery=="undefined"||!jQuery.tmpl)return 0;try{if(jQuery.tmpl.tag.tmpl.open.toString().indexOf("__")>=0)return 2}catch(a){}return 1}();function b(){if(a<2)throw new Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");}function c(b,c,a){return jQuery.tmpl(b,c,a)}this.renderTemplateSource=function(d,g,f){f=f||{};b();var a=d.data("precompiled");if(!a){var e=d.text()||"";e="{{ko_with $item.koBindingContext}}"+e+"{{/ko_with}}";a=jQuery.template(null,e);d.data("precompiled",a)}var j=[g.$data],i=jQuery.extend({koBindingContext:g},f.templateOptions),h=c(a,j,i);h.appendTo(document.createElement("div"));jQuery.fragments={};return h};this.createJavaScriptEvaluatorBlock=function(a){return"{{ko_code ((function() { return "+a+" })()) }}"};this.addTemplate=function(b,a){document.write("<script type='text/html' id='"+b+"'>"+a+"<\/script>")};if(a>0){jQuery.tmpl.tag.ko_code={open:"__.push($1 || '');"};jQuery.tmpl.tag.ko_with={open:"with($1) {",close:"} "}}};a.jqueryTmplTemplateEngine.prototype=new a.templateEngine;var b=new a.jqueryTmplTemplateEngine;b.jQueryTmplVersion>0&&a.setTemplateEngine(b);a.exportSymbol("ko.jqueryTmplTemplateEngine",a.jqueryTmplTemplateEngine)})()})(window);var logErrorUrl="/Error/LogJavaScriptError/";function logError(a,b){if(a==null)return;if(logErrorUrl==null){alert("logErrorUrl must be defined.");return}var d=a.fileName!=null?a.fileName:document.location;if(b==null&&a.stack!=null)b=a.stack;var c=a.message!=null?a.name+": "+a.message:a;c+=": at document path '"+d+"'.";if(b!=null)c+="\n  at "+b.join("\n  at ");$.ajax({type:"POST",url:logErrorUrl,data:{message:c}})}Function.prototype.trace=function(){var b=[],a=this;while(a){b.push(a.signature());a=a.caller}return b};Function.prototype.signature=function(){var b={name:this.getName(),params:[],toString:function(){var a=this.params.length>0?"'"+this.params.join("', '")+"'":"";return this.name+"("+a+")"}};if(this.arguments)for(var a=0;a<this.arguments.length;a++)b.params.push(this.arguments[a]);return b};Function.prototype.getName=function(){if(this.name)return this.name;var a=this.toString().split("\n")[0],b=/^function ([^\s(]+).+/;return b.test(a)?a.split("\n")[0].replace(b,"$1")||"anonymous":"anonymous"};window.onerror=function(a){logError(a,arguments.callee.trace())};jQuery.namespace=function(){for(var e=arguments,b=null,a,c,d=0;d<e.length;d=d+1){c=e[d].split(".");b=window;for(a=0;a<c.length;a=a+1){b[c[a]]=b[c[a]]||{};b=b[c[a]]}}return b};new function(a){a.fn.placeholder=function(b){b=b||{};var c=b.dataKey||"placeholderValue",k=b.attr||"placeholder",d=b.className||"placeholder",h=b.values||[],j=b.blockSubmit||false,i=b.blankSubmit||false,e=b.onSubmit||false,f=b.value||"",g=b.cursor_position||0;return this.filter(":input").each(function(b){a.data(this,c,h[b]||a(this).attr(k))}).each(function(){a.trim(a(this).val())===""&&a(this).addClass(d).val(a.data(this,c))}).focus(function(){a.trim(a(this).val())===a.data(this,c)&&a(this).removeClass(d).val(f);a.fn.setCursorPosition&&a(this).setCursorPosition(g)}).blur(function(){a.trim(a(this).val())===f&&a(this).addClass(d).val(a.data(this,c))}).each(function(f,b){if(j)new function(b){a(b.form).submit(function(){return a.trim(a(b).val())!=a.data(b,c)})}(b);else if(i)new function(b){a(b.form).submit(function(){a.trim(a(b).val())==a.data(b,c)&&a(b).removeClass(d).val("");return true})}(b);else e&&new function(b){a(b.form).submit(e)}(b)})}}(jQuery);$(document).ready(function(){jQuery.namespace("searchandquote.account");searchandquote.account.login=function(c,b){var a=false;$.ajax({url:"/Account/Login",type:"post",data:{username:c,password:b},datatype:"json",async:false,success:function(b){if(b&&b.success)a=true}});return a};searchandquote.account.logout=function(){var a=false;$.ajax({url:"/Account/Logout",type:"post",datatype:"json",async:false,success:function(b){if(b&&b.success)a=true}});return a};searchandquote.account.isUserLoggedIn=function(){var a=false;$.ajax({url:"/Account/IsUserLoggedIn",type:"POST",dataType:"json",async:false,success:function(b){if(b&&b.success==true)a=true}});return a};searchandquote.account.getUserProjects=function(){var a="";$.ajax({url:"/Account/GetMyProjects",type:"post",dataType:"json",async:false,success:function(b){b&&$(b).each(function(e,b){var c="";if(b.Depth>0)for(var d=0;d<b.Depth;d++)c+="&nbsp;&nbsp;&nbsp;";a+='<option value="'+b.ProjectId+'">'+c+b.Name+"</option>"})}});return a};searchandquote.account.createUserProject=function(f,d,c,e,b){var a=0;$.ajax({url:"/Account/CreateNewProject",type:"post",data:{name:f,location:d,description:c,value:e,parentProjectId:b},dataType:"json",async:false,success:function(b){if(b&&b.projectId)a=b.projectId}});return a};searchandquote.account.getUserName=function(){var a="";$.ajax({url:"/Account/GetUserName",type:"post",dataType:"json",async:false,success:function(b){if(b&&b.name)a=b.name}});return a};searchandquote.account.getUserEmail=function(a){var b="";$.ajax({url:"/Account/GetUserEmail",type:"post",dataType:"json",async:false,success:function(c){if(c&&c.email)b=c.email;a!=null&&a(c)}});return b};searchandquote.account.isPasswordRequired=function(b){var a=false;$.ajax({url:"/Account/IsPasswordRequired",type:"post",dataType:"json",data:{username:b},async:false,success:function(b){if(b.success==true)a=true}});return a};searchandquote.account.registerCaddetailsUser=function(a,c,b){$.ajax({url:"/Account/RegisterCaddetailsUser",type:"POST",dataType:"json",data:{viewModelString:JSON.stringify(a)},success:function(d,b,a){c(d,b,a)},error:function(a,c,d){b(a,c,d)}})}});$("#login-menu-container").live("loginchange",function(){$.ajax({url:"/Account/SpecLoginToolbar",type:"post",datatype:"json",complete:function(a){$("#login-menu-container").html(a.responseText)}})});$(".logout-link").live("click",function(){var a=searchandquote.account.logout();if(a){$("#login-menu-container").trigger({type:"loginchange",isLoggedIn:false});searchandquote.myquotetoolbar.updateQuoteToolbar();searchandquote.login._logoutCallback!=null&&searchandquote.login._logoutCallback()}});function Login(){var a=$("#loginUsername").val(),b=$("#login-password").val();if(b=="")if(searchandquote.account.isPasswordRequired(a)){$("#login-error-message").hide();$("#login-invalid-message").hide();$("#login-form-controls .hide-password").css("display","block");$("#login-password").focus()}else searchandquote.login.attemptLogin(a);else searchandquote.login.attemptLogin(a,b);searchandquote.myquotetoolbar.updateQuoteToolbar()}$(document).ready(function(){jQuery.namespace("searchandquote.login");searchandquote.login._hasLoggedInCallback=function(){};searchandquote.login._enableCallback=false;searchandquote.login._logoutCallback=function(){};$("#login-trigger").overlay({top:"center",left:"center",closeOnClick:false,close:"#login-cancel",mask:{color:"#000000",loadSpeed:"fast",closeSpeed:"fast",opacity:.5},onLoad:function(){$("#loginUsername").focus()},onClose:function(){$("#login-form-controls .hide-password").css("display","none");$("#login-error-message").hide();$("#login-invalid-message").hide()}});$("#loginUsername, #login-password").keyup(function(a){a.keyCode==13&&Login()});$("#login-submit").click(function(){Login()});$("#loginRegisterNow").live("click",function(){$("#registerCaddetailsUserContainer").data("overlay").load()});searchandquote.login.showLogin=function(){$("#login-password").val("");$("#login-trigger").data("overlay").load()};searchandquote.login.hideLogin=function(){$("#login-trigger").data("overlay").close()};searchandquote.login.attemptLogin=function(a,c){if(a&&!a.length>0){alert("Username is required");return}$("#login-error-message").hide();$("#login-invalid-message").hide();var b=searchandquote.account.login(a,c);$("#login-menu-container").trigger({type:"loginchange",isLoggedIn:b});if(b){searchandquote.login.hideLogin();searchandquote.login._enableCallback&&searchandquote.login._hasLoggedInCallback()}else $("#login-error-message").show()};var a=getQueryStringParameter("newsletteremail");if(a!=null&&a!="")if(!searchandquote.account.isUserLoggedIn()){$("#loginUsername").val(a);Login()}});jQuery.fn.outerHtml=function(){return $($("<div></div>").html(this.clone())).html()};var g_imageCache=[],g_browseByProductFamilyDataCache=null,g_browseByManufacturerDataCache=null;function AddMouseOverImageEvent(b,a,c){if(a===undefined)a="gif";$(b).hover(function(){if(c)$(b).css("background-image",$(b).css("background-image").replace("."+a,"_over."+a));else this.src=this.src.replace("."+a,"_over."+a)},function(){if(c)$(b).css("background-image",$(b).css("background-image").replace("_over."+a,"."+a));else this.src=this.src.replace("_over."+a,"."+a)})}function PreLoadImages(){for(var c=arguments.length,b=c;b--;){var a=document.createElement("img");a.src=arguments[b];g_imageCache.push(a)}}function getQueryStringParameter(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var c="[\\?&]"+a+"=([^&#]*)",d=new RegExp(c),b=d.exec(window.location.href);return b==null?"":decodeURIComponent(b[1].replace(/\+/g," "))}function roundNumber(c,a){return Math.round(c*Math.pow(10,a))/Math.pow(10,a)}function fixSelectBoxIE(){$.browser.msie&&$("select").each(function(){$(this).attr("multiple")==false&&$(this).mousedown(function(){if($(this).css("width")!="auto"){var a=$(this).width();$(this).data("origWidth",$(this).css("width")).css("width","auto");if($(this).width()<a){$(this).unbind("mousedown");$(this).css("width",$(this).data("origWidth"))}}}).blur(function(){$(this).css("width",$(this).data("origWidth"))}).change(function(){$(this).css("width",$(this).data("origWidth"))})})}function checkSupportForPlaceholderText(){var a=document.createElement("input");return"placeholder"in a}function stripHtml(b){var a=document.createElement("DIV");a.innerHTML=b;return a.textContent||a.innerText}function SubmitSearch(b,a){$("#search-form #searchtext").val(unescape(a));$("#search-form #searchtype").val(b);$("#search-form").submit()}$(document).ready(function(){$(".login-link").live("click",function(){searchandquote.login.showLogin()})});var _gaq=_gaq||[];_gaq.push(["_setAccount","UA-18976046-1"]);_gaq.push(["_setDomainName","3partspecs.com"]);_gaq.push(["_setAllowLinker",true]);_gaq.push(["_trackPageview"]);var g_RAQ_InitialRequestAQuoteView=1,g_RAQ_ManufacturerInitialView=2,g_RAQ_UserReview=3,g_RAQ_UserCompletedForm=4,g_RAQ_ManufacturerCompletedForm=5,g_RAQ_FinalUserReview=6,g_RAQ_SimpleForm=7,g_RAQ_AdvancedForm=8;(function(){var a=document.createElement("script");a.type="text/javascript";a.async=true;a.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b)})();$(document).ready(function(){jQuery.namespace("searchandquote.tracking");searchandquote.tracking.trackSearch=function(b,a){_gaq.push(["_trackEvent","Search",""+b,""+a])};searchandquote.tracking.trackSearchSpecBuilder=function(b,a){_gaq.push(["_trackEvent","SpecBuilderSearch",""+b,""+a])};searchandquote.tracking.trackSpecBuilderById=function(a){_gaq.push(["_trackEvent","SpecBuilderLandingPage","Manufacturer",""+a])};searchandquote.tracking.trackProductConfigure=function(a){_gaq.push(["_trackEvent","Configure","Product",""+a])};searchandquote.tracking.trackSpecBuilderProductConfigure=function(a){_gaq.push(["_trackEvent","SpecBuilderConfigure","Product",""+a])};searchandquote.tracking.trackProductPrint=function(a){_gaq.push(["_trackEvent","Print","Product",""+a])};searchandquote.tracking.trackProductCompare=function(a){_gaq.push(["_trackEvent","Compare","Product",""+a])};searchandquote.tracking.trackProductCompareSpecBuilder=function(a){_gaq.push(["_trackEvent","SpecBuilderCompare","Product",""+a])};searchandquote.tracking.trackFOSMonthlyMarketingOpportunityClicks=function(){var a=new Date;_gaq.push(["_trackEvent","Home","FOS Monthly Marketing Opportunity",a.getDay()+"/"+a.getMonth()+"/"+a.getYear()])};searchandquote.tracking.trackPrintConfigurationButton=function(a){_gaq.push(["_trackEvent","Configure","Print Configuration Button",""+a])};searchandquote.tracking.trackSpecBuilderPrintConfigurationButton=function(a){_gaq.push(["_trackEvent","SpecBuilderConfigure","Print Configuration Button",""+a])};searchandquote.tracking.trackRequestForProductBrochure=function(a){_gaq.push(["_trackEvent","Configure","Request Product Brochure",""+a])};searchandquote.tracking.trackFOSManufacturerLogoLinks=function(a){_gaq.push(["_trackEvent","Home","FOS Manufacturer Logo Link",""+a])};searchandquote.tracking.trackGenerateSpec=function(a){_gaq.push(["_trackEvent","Configure","Specification",""+a])};searchandquote.tracking.trackDownloadAllDocuments=function(a){_gaq.push(["_trackEvent","Configure","Download All Documents",""+a])};searchandquote.tracking.trackSpecBuilderGenerateSpec=function(a){_gaq.push(["_trackEvent","SpecBuilderConfigure","Specification",""+a])};searchandquote.tracking.trackSpecBuilderDownloadAllDocuments=function(a){_gaq.push(["_trackEvent","SpecBuilderConfigure","Download All Documents",""+a])};searchandquote.tracking.trackSpecBuilderRequestForProductBrochure=function(a){_gaq.push(["_trackEvent","SpecBuilderConfigure","Request Product Brochure",""+a])};searchandquote.tracking.trackProductQuote=function(b,c){var a="Unknown";if(!isNaN(b))switch(b){case g_RAQ_InitialRequestAQuoteView:a="User initial view";break;case g_RAQ_ManufacturerInitialView:a="Manufacturer initial view";break;case g_RAQ_UserReview:a="User review view";break;case g_RAQ_UserCompletedForm:a="User completed form";break;case g_RAQ_ManufacturerCompletedForm:a="Manufacturer completed form";break;case g_RAQ_FinalUserReview:a="Final user review";break;case g_RAQ_SimpleForm:a="Switched to simple RAQ form";break;case g_RAQ_AdvancedForm:a="Switched to advanced RAQ form"}_gaq.push(["_trackEvent","Quote",""+a,""+c])};searchandquote.tracking.trackMultipleProductQuotes=function(c,e){var a="Unknown";if(!isNaN(c))switch(c){case g_RAQ_InitialRequestAQuoteView:a="User initial view";break;case g_RAQ_ManufacturerInitialView:a="Manufacturer initial view";break;case g_RAQ_UserReview:a="User review view";break;case g_RAQ_UserCompletedForm:a="User completed form";break;case g_RAQ_ManufacturerCompletedForm:a="Manufacturer completed form";break;case g_RAQ_FinalUserReview:a="Final user review";break;case g_RAQ_SimpleForm:a="Switched to simple RAQ form";break;case g_RAQ_AdvancedForm:a="Switched to advanced RAQ form"}var b=e.split(","),d=b.length;while(d--)_gaq.push(["_trackEvent","Quote",""+a,""+b[d]])}});var g_MyQuoteToolbarExists=true;$(document).ready(function(){$.namespace("searchandquote.myquotetoolbar");searchandquote.myquotetoolbar.updateMyQuoteNotificationTab=function(a){$(".myquotetoolbar-description").replaceWith(a)};searchandquote.myquotetoolbar.addToQuote=function(c,a,b){$.ajax({url:"/Quote/AddToQuote",type:"POST",dataType:"html",data:{productConfigurationString:JSON.stringify(c)},success:function(b){a!=null&&a();searchandquote.myquotetoolbar.updateMyQuoteNotificationTab(b)},error:function(){if(b==null){$("#error-notification-message").text("This configured product could not be saved.  Please try again.");$("#error-notification-trigger").overlay().load()}else b()}})};searchandquote.myquotetoolbar.updateQuoteToolbar=function(a,b){$.ajax({url:"/Quote/MyQuoteToolbar",type:"GET",dataType:"html",cache:false,success:function(b){a!=null&&a();searchandquote.myquotetoolbar.updateMyQuoteNotificationTab(b)},error:function(){if(b==null){$("#error-notification-message").text("This configured product could not be saved.  Please try again.");$("#error-notification-trigger").overlay().load()}else b()}})};searchandquote.myquotetoolbar.deleteFromQuote=function(c,a,b){$.ajax({url:"/Quote/DeleteFromQuote/",type:"POST",dataType:"html",data:{productConfigurationId:c},success:function(b){searchandquote.myquotetoolbar.updateMyQuoteNotificationTab(b);a!=null&&a()},error:function(){b!=null&&b()}})}})
