From 6765372a2181abf8d22a95b4fb65a0ac35c96c0e Mon Sep 17 00:00:00 2001 From: caseyWebb Date: Mon, 13 Jun 2016 23:23:32 -0400 Subject: [PATCH] 3.9.0 --- example/dist/bundle.js | 20 ++++++++++---------- example/dist/bundle.js.map | 2 +- package.json | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/example/dist/bundle.js b/example/dist/bundle.js index 264fbfd..9cda05a 100644 --- a/example/dist/bundle.js +++ b/example/dist/bundle.js @@ -3,9 +3,9 @@ * (c) Steven Sanderson - http://knockoutjs.com/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) */ -!function(){var i=!0;!function(l){var s=this||(0,eval)("this"),c=s.document,u=s.navigator,d=s.jQuery,p=s.JSON;!function(i){n(8).amd?(r=[t,n],o=i,a="function"==typeof o?o.apply(t,r):o,!(a!==l&&(e.exports=a))):i(e.exports||t)}(function(e,t){function n(e,t){var n=null===e||typeof e in y;return n?e===t:!1}function o(e,t){var n;return function(){n||(n=v.utils.setTimeout(function(){n=l,e()},t))}}function r(e,t){var n;return function(){clearTimeout(n),n=v.utils.setTimeout(e,t)}}function a(e){var t=this;return e&&v.utils.objectForEach(e,function(e,n){var o=v.extenders[e];"function"==typeof o&&(t=o(t,n)||t)}),t}function f(e,t){t&&t!==x?"beforeChange"===t?this._limitBeforeChange(e):this._origNotifySubscribers(e,t):this._limitChange(e)}function b(e,t){null!==t&&t.dispose&&t.dispose()}function h(e,t){var n=this.computedObservable,o=n[C];o.isDisposed||(this.disposalCount&&this.disposalCandidates[t]?(n.addDependencyTracking(t,e,this.disposalCandidates[t]),this.disposalCandidates[t]=null,--this.disposalCount):o.dependencyTracking[t]||n.addDependencyTracking(t,e,o.isSleeping?{_target:e}:n.subscribeToDependency(e)))}function g(e){v.bindingHandlers[e]={init:function(t,n,o,r,a){var i=function(){var t={};return t[e]=n(),t};return v.bindingHandlers.event.init.call(this,t,i,o,r,a)}}}function m(e,t,n,o){v.bindingHandlers[e]={init:function(e,r,a,i,l){var s,c;return v.computed(function(){var a=v.utils.unwrapObservable(r()),i=!n!=!a,u=!c,d=u||t||i!==s;d&&(u&&v.computedContext.getDependenciesCount()&&(c=v.utils.cloneNodes(v.virtualElements.childNodes(e),!0)),i?(u||v.virtualElements.setDomNodeChildren(e,v.utils.cloneNodes(c)),v.applyBindingsToDescendants(o?o(l,a):l,e)):v.virtualElements.emptyNode(e),s=i)},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}},v.expressionRewriting.bindingRewriteValidators[e]=!1,v.virtualElements.allowedBindings[e]=!0}var v="undefined"!=typeof e?e:{};v.exportSymbol=function(e,t){for(var n=e.split("."),o=v,r=0;rn;n++)g[t[n]]=e});var y={propertychange:!0},x=c&&function(){for(var e=3,t=c.createElement("div"),n=t.getElementsByTagName("i");t.innerHTML="",n[0];);return e>4?e:l}(),w=6===x,k=7===x,F=/\S+/g;return{fieldsIncludedWithJsonPost:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],arrayForEach:function(e,t){for(var n=0,o=e.length;o>n;n++)t(e[n],n)},arrayIndexOf:function(e,t){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(e,t);for(var n=0,o=e.length;o>n;n++)if(e[n]===t)return n;return-1},arrayFirst:function(e,t,n){for(var o=0,r=e.length;r>o;o++)if(t.call(n,e[o],o))return e[o];return null},arrayRemoveItem:function(e,t){var n=v.utils.arrayIndexOf(e,t);n>0?e.splice(n,1):0===n&&e.shift()},arrayGetDistinctValues:function(e){e=e||[];for(var t=[],n=0,o=e.length;o>n;n++)v.utils.arrayIndexOf(t,e[n])<0&&t.push(e[n]);return t},arrayMap:function(e,t){e=e||[];for(var n=[],o=0,r=e.length;r>o;o++)n.push(t(e[o],o));return n},arrayFilter:function(e,t){e=e||[];for(var n=[],o=0,r=e.length;r>o;o++)t(e[o],o)&&n.push(e[o]);return n},arrayPushAll:function(e,t){if(t instanceof Array)e.push.apply(e,t);else for(var n=0,o=t.length;o>n;n++)e.push(t[n]);return e},addOrRemoveItem:function(e,t,n){var o=v.utils.arrayIndexOf(v.utils.peekObservable(e),t);0>o?n&&e.push(t):n||e.splice(o,1)},canSetPrototype:f,extend:t,setPrototypeOf:n,setPrototypeOfOrExtend:f?n:t,objectForEach:e,objectMap:function(e,t){if(!e)return e;var n={};for(var o in e)e.hasOwnProperty(o)&&(n[o]=t(e[o],o,e));return n},emptyDomNode:function(e){for(;e.firstChild;)v.removeNode(e.firstChild)},moveCleanedNodesToContainerElement:function(e){for(var t=v.utils.makeArray(e),n=t[0]&&t[0].ownerDocument||c,o=n.createElement("div"),r=0,a=t.length;a>r;r++)o.appendChild(v.cleanNode(t[r]));return o},cloneNodes:function(e,t){for(var n=0,o=e.length,r=[];o>n;n++){var a=e[n].cloneNode(!0);r.push(t?v.cleanNode(a):a)}return r},setDomNodeChildren:function(e,t){if(v.utils.emptyDomNode(e),t)for(var n=0,o=t.length;o>n;n++)e.appendChild(t[n])},replaceDomNodes:function(e,t){var n=e.nodeType?[e]:e;if(n.length>0){for(var o=n[0],r=o.parentNode,a=0,i=t.length;i>a;a++)r.insertBefore(t[a],o);for(var a=0,i=n.length;i>a;a++)v.removeNode(n[a])}},fixUpContinuousNodeArray:function(e,t){if(e.length){for(t=8===t.nodeType&&t.parentNode||t;e.length&&e[0].parentNode!==t;)e.splice(0,1);for(;e.length>1&&e[e.length-1].parentNode!==t;)e.length--;if(e.length>1){var n=e[0],o=e[e.length-1];for(e.length=0;n!==o;)e.push(n),n=n.nextSibling;e.push(o)}}return e},setOptionNodeSelectionState:function(e,t){7>x?e.setAttribute("selected",t):e.selected=t},stringTrim:function(e){return null===e||e===l?"":e.trim?e.trim():e.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},stringStartsWith:function(e,t){return e=e||"",t.length>e.length?!1:e.substring(0,t.length)===t},domNodeIsContainedBy:function(e,t){if(e===t)return!0;if(11===e.nodeType)return!1;if(t.contains)return t.contains(3===e.nodeType?e.parentNode:e);if(t.compareDocumentPosition)return 16==(16&t.compareDocumentPosition(e));for(;e&&e!=t;)e=e.parentNode;return!!e},domNodeIsAttachedToDocument:function(e){return v.utils.domNodeIsContainedBy(e,e.ownerDocument.documentElement)},anyDomNodeIsAttachedToDocument:function(e){return!!v.utils.arrayFirst(e,v.utils.domNodeIsAttachedToDocument)},tagNameLower:function(e){return e&&e.tagName&&e.tagName.toLowerCase()},catchFunctionErrors:function(e){return v.onError?function(){try{return e.apply(this,arguments)}catch(t){throw v.onError&&v.onError(t),t}}:e},setTimeout:function(e,t){return setTimeout(v.utils.catchFunctionErrors(e),t)},deferError:function(e){setTimeout(function(){throw v.onError&&v.onError(e),e},0)},registerEventHandler:function(e,t,n){var o=v.utils.catchFunctionErrors(n),r=x&&y[t];if(v.options.useOnlyNativeEvents||r||!d)if(r||"function"!=typeof e.addEventListener){if("undefined"==typeof e.attachEvent)throw new Error("Browser doesn't support addEventListener or attachEvent");var a=function(t){o.call(e,t)},i="on"+t;e.attachEvent(i,a),v.utils.domNodeDisposal.addDisposeCallback(e,function(){e.detachEvent(i,a)})}else e.addEventListener(t,o,!1);else d(e).bind(t,o)},triggerEvent:function(e,t){if(!e||!e.nodeType)throw new Error("element must be a DOM node when calling triggerEvent");var n=o(e,t);if(v.options.useOnlyNativeEvents||!d||n)if("function"==typeof c.createEvent){if("function"!=typeof e.dispatchEvent)throw new Error("The supplied element doesn't support dispatchEvent");var r=g[t]||"HTMLEvents",a=c.createEvent(r);a.initEvent(t,!0,!0,s,0,0,0,0,0,!1,!1,!1,!1,0,e),e.dispatchEvent(a)}else if(n&&e.click)e.click();else{if("undefined"==typeof e.fireEvent)throw new Error("Browser doesn't support triggering events");e.fireEvent("on"+t)}else d(e).trigger(t)},unwrapObservable:function(e){return v.isObservable(e)?e():e},peekObservable:function(e){return v.isObservable(e)?e.peek():e},toggleDomNodeCssClass:r,setTextContent:function(e,t){var n=v.utils.unwrapObservable(t);null!==n&&n!==l||(n="");var o=v.virtualElements.firstChild(e);!o||3!=o.nodeType||v.virtualElements.nextSibling(o)?v.virtualElements.setDomNodeChildren(e,[e.ownerDocument.createTextNode(n)]):o.data=n,v.utils.forceRefresh(e)},setElementName:function(e,t){if(e.name=t,7>=x)try{e.mergeAttributes(c.createElement(""),!1)}catch(n){}},forceRefresh:function(e){if(x>=9){var t=1==e.nodeType?e:e.parentNode;t.style&&(t.style.zoom=t.style.zoom)}},ensureSelectElementIsRenderedCorrectly:function(e){if(x){var t=e.style.width;e.style.width=0,e.style.width=t}},range:function(e,t){e=v.utils.unwrapObservable(e),t=v.utils.unwrapObservable(t);for(var n=[],o=e;t>=o;o++)n.push(o);return n},makeArray:function(e){for(var t=[],n=0,o=e.length;o>n;n++)t.push(e[n]);return t},createSymbolOrString:function(e){return b?Symbol(e):e},isIe6:w,isIe7:k,ieVersion:x,getFormFields:function(e,t){for(var n=v.utils.makeArray(e.getElementsByTagName("input")).concat(v.utils.makeArray(e.getElementsByTagName("textarea"))),o="string"==typeof t?function(e){return e.name===t}:function(e){return t.test(e.name)},r=[],a=n.length-1;a>=0;a--)o(n[a])&&r.push(n[a]);return r},parseJson:function(e){return"string"==typeof e&&(e=v.utils.stringTrim(e))?p&&p.parse?p.parse(e):new Function("return "+e)():null},stringifyJson:function(e,t,n){if(!p||!p.stringify)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 p.stringify(v.utils.unwrapObservable(e),t,n)},postJson:function(t,n,o){o=o||{};var r=o.params||{},a=o.includeFields||this.fieldsIncludedWithJsonPost,i=t;if("object"==typeof t&&"form"===v.utils.tagNameLower(t)){var l=t;i=l.action;for(var s=a.length-1;s>=0;s--)for(var u=v.utils.getFormFields(l,a[s]),d=u.length-1;d>=0;d--)r[u[d].name]=u[d].value}n=v.utils.unwrapObservable(n);var p=c.createElement("form");p.style.display="none",p.action=i,p.method="post";for(var f in n){var b=c.createElement("input");b.type="hidden",b.name=f,b.value=v.utils.stringifyJson(v.utils.unwrapObservable(n[f])),p.appendChild(b)}e(r,function(e,t){var n=c.createElement("input");n.type="hidden",n.name=e,n.value=t,p.appendChild(n)}),c.body.appendChild(p),o.submitter?o.submitter(p):p.submit(),setTimeout(function(){p.parentNode.removeChild(p)},0)}}}(),v.exportSymbol("utils",v.utils),v.exportSymbol("utils.arrayForEach",v.utils.arrayForEach),v.exportSymbol("utils.arrayFirst",v.utils.arrayFirst),v.exportSymbol("utils.arrayFilter",v.utils.arrayFilter),v.exportSymbol("utils.arrayGetDistinctValues",v.utils.arrayGetDistinctValues),v.exportSymbol("utils.arrayIndexOf",v.utils.arrayIndexOf),v.exportSymbol("utils.arrayMap",v.utils.arrayMap),v.exportSymbol("utils.arrayPushAll",v.utils.arrayPushAll),v.exportSymbol("utils.arrayRemoveItem",v.utils.arrayRemoveItem),v.exportSymbol("utils.extend",v.utils.extend),v.exportSymbol("utils.fieldsIncludedWithJsonPost",v.utils.fieldsIncludedWithJsonPost),v.exportSymbol("utils.getFormFields",v.utils.getFormFields),v.exportSymbol("utils.peekObservable",v.utils.peekObservable),v.exportSymbol("utils.postJson",v.utils.postJson),v.exportSymbol("utils.parseJson",v.utils.parseJson),v.exportSymbol("utils.registerEventHandler",v.utils.registerEventHandler),v.exportSymbol("utils.stringifyJson",v.utils.stringifyJson),v.exportSymbol("utils.range",v.utils.range),v.exportSymbol("utils.toggleDomNodeCssClass",v.utils.toggleDomNodeCssClass),v.exportSymbol("utils.triggerEvent",v.utils.triggerEvent),v.exportSymbol("utils.unwrapObservable",v.utils.unwrapObservable),v.exportSymbol("utils.objectForEach",v.utils.objectForEach),v.exportSymbol("utils.addOrRemoveItem",v.utils.addOrRemoveItem),v.exportSymbol("utils.setTextContent",v.utils.setTextContent),v.exportSymbol("unwrap",v.utils.unwrapObservable),Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(1===arguments.length)return function(){return t.apply(e,arguments)};var n=Array.prototype.slice.call(arguments,1);return function(){var o=n.slice(0);return o.push.apply(o,arguments),t.apply(e,o)}}),v.utils.domData=new function(){function e(e,r){var a=e[n],i=a&&"null"!==a&&o[a];if(!i){if(!r)return l;a=e[n]="ko"+t++,o[a]={}}return o[a]}var t=0,n="__ko__"+(new Date).getTime(),o={};return{get:function(t,n){var o=e(t,!1);return o===l?l:o[n]},set:function(t,n,o){if(o!==l||e(t,!1)!==l){var r=e(t,!0);r[n]=o}},clear:function(e){var t=e[n];return t?(delete o[t],e[n]=null,!0):!1},nextKey:function(){return t++ +n}}},v.exportSymbol("utils.domData",v.utils.domData),v.exportSymbol("utils.domData.clear",v.utils.domData.clear),v.utils.domNodeDisposal=new function(){function e(e,t){var n=v.utils.domData.get(e,r);return n===l&&t&&(n=[],v.utils.domData.set(e,r,n)),n}function t(e){v.utils.domData.set(e,r,l)}function n(t){var n=e(t,!1);if(n){n=n.slice(0);for(var r=0;ro;o++)n(t[o])}return e},removeNode:function(e){v.cleanNode(e),e.parentNode&&e.parentNode.removeChild(e)},cleanExternalData:function(e){d&&"function"==typeof d.cleanData&&d.cleanData([e])}}},v.cleanNode=v.utils.domNodeDisposal.cleanNode,v.removeNode=v.utils.domNodeDisposal.removeNode,v.exportSymbol("cleanNode",v.cleanNode),v.exportSymbol("removeNode",v.removeNode),v.exportSymbol("utils.domNodeDisposal",v.utils.domNodeDisposal),v.exportSymbol("utils.domNodeDisposal.addDisposeCallback",v.utils.domNodeDisposal.addDisposeCallback),v.exportSymbol("utils.domNodeDisposal.removeDisposeCallback",v.utils.domNodeDisposal.removeDisposeCallback),function(){function e(e){var t=e.match(/^<([a-z]+)[ >]/);return t&&p[t[1]]||o}function t(t,n){n||(n=c);var o=n.parentWindow||n.defaultView||s,r=v.utils.stringTrim(t).toLowerCase(),a=n.createElement("div"),i=e(r),l=i[0],u="ignored
"+i[1]+t+i[2]+"
";for("function"==typeof o.innerShiv?a.appendChild(o.innerShiv(u)):(f&&n.appendChild(a),a.innerHTML=u,f&&a.parentNode.removeChild(a));l--;)a=a.lastChild;return v.utils.makeArray(a.lastChild.childNodes)}function n(e,t){if(d.parseHTML)return d.parseHTML(e,t)||[];var n=d.clean([e],t);if(n&&n[0]){for(var o=n[0];o.parentNode&&11!==o.parentNode.nodeType;)o=o.parentNode;o.parentNode&&o.parentNode.removeChild(o)}return n}var o=[0,"",""],r=[1,"","
"],a=[2,"","
"],i=[3,"","
"],u=[1,""],p={thead:r,tbody:r,tfoot:r,tr:a,td:i,th:i,option:u,optgroup:u},f=v.utils.ieVersion<=8;v.utils.parseHtmlFragment=function(e,o){return d?n(e,o):t(e,o)},v.utils.setHtml=function(e,t){if(v.utils.emptyDomNode(e),t=v.utils.unwrapObservable(t),null!==t&&t!==l)if("string"!=typeof t&&(t=t.toString()),d)d(e).html(t);else for(var n=v.utils.parseHtmlFragment(t,e.ownerDocument),o=0;or;r++)n(a[r],t)}var o={};return{memoize:function(e){if("function"!=typeof e)throw new Error("You can only pass a function to ko.memoization.memoize()");var n=t();return o[n]=e,""},unmemoize:function(e,t){var n=o[e];if(n===l)throw new Error("Couldn't find any memo with ID "+e+". Perhaps it's already been unmemoized.");try{return n.apply(null,t||[]),!0}finally{delete o[e]}},unmemoizeDomNodeAndDescendants:function(e,t){var o=[];n(e,o);for(var r=0,a=o.length;a>r;r++){var i=o[r].domNode,l=[i];t&&v.utils.arrayPushAll(l,t),v.memoization.unmemoize(o[r].memoId,l),i.nodeValue="",i.parentNode&&i.parentNode.removeChild(i)}},parseMemoText:function(e){var t=e.match(/^\[ko_memo\:(.*?)\]$/);return t?t[1]:null}}}(),v.exportSymbol("memoization",v.memoization),v.exportSymbol("memoization.memoize",v.memoization.memoize),v.exportSymbol("memoization.unmemoize",v.memoization.unmemoize),v.exportSymbol("memoization.parseMemoText",v.memoization.parseMemoText),v.exportSymbol("memoization.unmemoizeDomNodeAndDescendants",v.memoization.unmemoizeDomNodeAndDescendants),v.tasks=function(){function e(){if(a)for(var e,t=a,n=0;a>l;)if(e=r[l++]){if(l>t){if(++n>=5e3){l=a,v.utils.deferError(Error("'Too much recursion' after processing "+n+" task groups."));break}t=a}try{e()}catch(o){v.utils.deferError(o)}}}function t(){e(),l=a=r.length=0}function n(){v.tasks.scheduler(t)}var o,r=[],a=0,i=1,l=0;o=s.MutationObserver?function(e){var t=c.createElement("div");return new MutationObserver(e).observe(t,{attributes:!0}),function(){t.classList.toggle("foo")}}(t):c&&"onreadystatechange"in c.createElement("script")?function(e){var t=c.createElement("script");t.onreadystatechange=function(){t.onreadystatechange=null,c.documentElement.removeChild(t),t=null,e()},c.documentElement.appendChild(t)}:function(e){setTimeout(e,0)};var u={scheduler:o,schedule:function(e){return a||n(),r[a++]=e,i++},cancel:function(e){var t=e-(i-a);t>=l&&a>t&&(r[t]=null)},resetForTesting:function(){var e=a-l;return l=a=r.length=0,e},runEarly:e};return u}(),v.exportSymbol("tasks",v.tasks),v.exportSymbol("tasks.schedule",v.tasks.schedule),v.exportSymbol("tasks.runEarly",v.tasks.runEarly),v.extenders={throttle:function(e,t){e.throttleEvaluation=t;var n=null;return v.dependentObservable({read:e,write:function(o){clearTimeout(n),n=v.utils.setTimeout(function(){e(o)},t)}})},rateLimit:function(e,t){var n,a,i;"number"==typeof t?n=t:(n=t.timeout,a=t.method),e._deferUpdates=!1,i="notifyWhenChangesStop"==a?r:o,e.limit(function(e){return i(e,n)})},deferred:function(e,t){if(t!==!0)throw new Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");e._deferUpdates||(e._deferUpdates=!0,e.limit(function(t){var n;return function(){v.tasks.cancel(n),n=v.tasks.schedule(t),e.notifySubscribers(l,"dirty")}}))},notify:function(e,t){e.equalityComparer="always"==t?null:n}};var y={undefined:1,"boolean":1,number:1,string:1};v.exportSymbol("extenders",v.extenders),v.subscription=function(e,t,n){this._target=e,this.callback=t,this.disposeCallback=n,this.isDisposed=!1,v.exportProperty(this,"dispose",this.dispose)},v.subscription.prototype.dispose=function(){this.isDisposed=!0,this.disposeCallback()},v.subscribable=function(){v.utils.setPrototypeOfOrExtend(this,w),w.init(this)};var x="change",w={init:function(e){e._subscriptions={},e._versionNumber=1},subscribe:function(e,t,n){var o=this;n=n||x;var r=t?e.bind(t):e,a=new v.subscription(o,r,function(){v.utils.arrayRemoveItem(o._subscriptions[n],a),o.afterSubscriptionRemove&&o.afterSubscriptionRemove(n)});return o.beforeSubscriptionAdd&&o.beforeSubscriptionAdd(n),o._subscriptions[n]||(o._subscriptions[n]=[]),o._subscriptions[n].push(a),a},notifySubscribers:function(e,t){if(t=t||x,t===x&&this.updateVersion(),this.hasSubscriptionsForEvent(t))try{v.dependencyDetection.begin();for(var n,o=this._subscriptions[t].slice(0),r=0;n=o[r];++r)n.isDisposed||n.callback(e)}finally{v.dependencyDetection.end()}},getVersion:function(){return this._versionNumber},hasChanged:function(e){return this.getVersion()!==e},updateVersion:function(){++this._versionNumber},limit:function(e){var t,n,o,r=this,a=v.isObservable(r),i="beforeChange";r._origNotifySubscribers||(r._origNotifySubscribers=r.notifySubscribers,r.notifySubscribers=f);var l=e(function(){r._notificationIsPending=!1,a&&o===r&&(o=r()),t=!1,r.isDifferent(n,o)&&r._origNotifySubscribers(n=o)});r._limitChange=function(e){r._notificationIsPending=t=!0,o=e,l()},r._limitBeforeChange=function(e){t||(n=e,r._origNotifySubscribers(e,i))}},hasSubscriptionsForEvent:function(e){return this._subscriptions[e]&&this._subscriptions[e].length},getSubscriptionsCount:function(e){if(e)return this._subscriptions[e]&&this._subscriptions[e].length||0;var t=0;return v.utils.objectForEach(this._subscriptions,function(e,n){"dirty"!==e&&(t+=n.length)}),t},isDifferent:function(e,t){return!this.equalityComparer||!this.equalityComparer(e,t)},extend:a};v.exportProperty(w,"subscribe",w.subscribe),v.exportProperty(w,"extend",w.extend),v.exportProperty(w,"getSubscriptionsCount",w.getSubscriptionsCount),v.utils.canSetPrototype&&v.utils.setPrototypeOf(w,Function.prototype),v.subscribable.fn=w,v.isSubscribable=function(e){return null!=e&&"function"==typeof e.subscribe&&"function"==typeof e.notifySubscribers},v.exportSymbol("subscribable",v.subscribable),v.exportSymbol("isSubscribable",v.isSubscribable),v.computedContext=v.dependencyDetection=function(){function e(){return++a}function t(e){r.push(o),o=e}function n(){o=r.pop()}var o,r=[],a=0;return{begin:t,end:n,registerDependency:function(t){if(o){if(!v.isSubscribable(t))throw new Error("Only subscribable things can act as dependencies");o.callback.call(o.callbackTarget,t,t._id||(t._id=e()))}},ignore:function(e,o,r){try{return t(),e.apply(o,r||[])}finally{n()}},getDependenciesCount:function(){return o?o.computed.getDependenciesCount():void 0},isInitial:function(){return o?o.isInitial:void 0}}}(),v.exportSymbol("computedContext",v.computedContext),v.exportSymbol("computedContext.getDependenciesCount",v.computedContext.getDependenciesCount),v.exportSymbol("computedContext.isInitial",v.computedContext.isInitial),v.exportSymbol("ignoreDependencies",v.ignoreDependencies=v.dependencyDetection.ignore);var k=v.utils.createSymbolOrString("_latestValue");v.observable=function(e){function t(){return arguments.length>0?(t.isDifferent(t[k],arguments[0])&&(t.valueWillMutate(),t[k]=arguments[0],t.valueHasMutated()),this):(v.dependencyDetection.registerDependency(t),t[k])}return t[k]=e,v.utils.canSetPrototype||v.utils.extend(t,v.subscribable.fn),v.subscribable.fn.init(t),v.utils.setPrototypeOfOrExtend(t,F),v.options.deferUpdates&&v.extenders.deferred(t,!0),t};var F={equalityComparer:n,peek:function(){return this[k]},valueHasMutated:function(){this.notifySubscribers(this[k])},valueWillMutate:function(){this.notifySubscribers(this[k],"beforeChange")}};v.utils.canSetPrototype&&v.utils.setPrototypeOf(F,v.subscribable.fn);var S=v.observable.protoProperty="__ko_proto__";F[S]=v.observable,v.hasPrototype=function(e,t){return null===e||e===l||e[S]===l?!1:e[S]===t?!0:v.hasPrototype(e[S],t)},v.isObservable=function(e){return v.hasPrototype(e,v.observable)},v.isWriteableObservable=function(e){return"function"==typeof e&&e[S]===v.observable?!0:!("function"!=typeof e||e[S]!==v.dependentObservable||!e.hasWriteFunction)},v.exportSymbol("observable",v.observable),v.exportSymbol("isObservable",v.isObservable),v.exportSymbol("isWriteableObservable",v.isWriteableObservable),v.exportSymbol("isWritableObservable",v.isWriteableObservable),v.exportSymbol("observable.fn",F),v.exportProperty(F,"peek",F.peek),v.exportProperty(F,"valueHasMutated",F.valueHasMutated),v.exportProperty(F,"valueWillMutate",F.valueWillMutate),v.observableArray=function(e){if(e=e||[],"object"!=typeof e||!("length"in e))throw new Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");var t=v.observable(e);return v.utils.setPrototypeOfOrExtend(t,v.observableArray.fn),t.extend({trackArrayChanges:!0})},v.observableArray.fn={remove:function(e){for(var t=this.peek(),n=[],o="function"!=typeof e||v.isObservable(e)?function(t){return t===e}:e,r=0;r=0}):[]},destroy:function(e){var t=this.peek(),n="function"!=typeof e||v.isObservable(e)?function(t){return t===e}:e;this.valueWillMutate();for(var o=t.length-1;o>=0;o--){var r=t[o];n(r)&&(t[o]._destroy=!0)}this.valueHasMutated()},destroyAll:function(e){return e===l?this.destroy(function(){return!0}):e?this.destroy(function(t){return v.utils.arrayIndexOf(e,t)>=0}):[]},indexOf:function(e){var t=this();return v.utils.arrayIndexOf(t,e)},replace:function(e,t){var n=this.indexOf(e);n>=0&&(this.valueWillMutate(),this.peek()[n]=t,this.valueHasMutated())}},v.utils.canSetPrototype&&v.utils.setPrototypeOf(v.observableArray.fn,v.observable.fn),v.utils.arrayForEach(["pop","push","reverse","shift","sort","splice","unshift"],function(e){v.observableArray.fn[e]=function(){var t=this.peek();this.valueWillMutate(),this.cacheDiffForKnownOperation(t,e,arguments);var n=t[e].apply(t,arguments);return this.valueHasMutated(),n===t?this:n}}),v.utils.arrayForEach(["slice"],function(e){v.observableArray.fn[e]=function(){var t=this();return t[e].apply(t,arguments)}}),v.exportSymbol("observableArray",v.observableArray);var E="arrayChange";v.extenders.trackArrayChanges=function(e,t){function n(){if(!a){a=!0;var t=e.notifySubscribers;e.notifySubscribers=function(e,n){return n&&n!==x||++l,t.apply(this,arguments)};var n=[].concat(e.peek()||[]);i=null,r=e.subscribe(function(t){if(t=[].concat(t||[]),e.hasSubscriptionsForEvent(E))var r=o(n,t);n=t,i=null,l=0,r&&r.length&&e.notifySubscribers(r,E)})}}function o(t,n){return(!i||l>1)&&(i=v.utils.compareArrays(t,n,e.compareArrayOptions)),i}if(e.compareArrayOptions={},t&&"object"==typeof t&&v.utils.extend(e.compareArrayOptions,t),e.compareArrayOptions.sparse=!0,!e.cacheDiffForKnownOperation){var r,a=!1,i=null,l=0,s=e.beforeSubscriptionAdd,c=e.afterSubscriptionRemove;e.beforeSubscriptionAdd=function(t){s&&s.call(e,t),t===E&&n()},e.afterSubscriptionRemove=function(t){c&&c.call(e,t),t!==E||e.hasSubscriptionsForEvent(E)||(r.dispose(),a=!1)},e.cacheDiffForKnownOperation=function(e,t,n){function o(e,t,n){return r[r.length]={status:e,value:t,index:n}}if(a&&!l){var r=[],s=e.length,c=n.length,u=0;switch(t){case"push":u=s;case"unshift":for(var d=0;c>d;d++)o("added",n[d],u+d);break;case"pop":u=s-1;case"shift":s&&o("deleted",e[u],u);break;case"splice":for(var p=Math.min(Math.max(0,n[0]<0?s+n[0]:n[0]),s),f=1===c?s:Math.min(p+(n[1]||0),s),b=p+c-2,h=Math.max(f,b),g=[],m=[],d=p,y=2;h>d;++d,++y)f>d&&m.push(o("deleted",e[d],d)),b>d&&g.push(o("added",n[y],d));v.utils.findMovesInArrayComparison(m,g);break;default:return}i=r}}}};var C=v.utils.createSymbolOrString("_state");v.computed=v.dependentObservable=function(e,t,n){function o(){if(arguments.length>0){if("function"!=typeof r)throw new Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return r.apply(a.evaluatorFunctionTarget,arguments),this}return v.dependencyDetection.registerDependency(o),(a.isStale||a.isSleeping&&o.haveDependenciesChanged())&&o.evaluateImmediate(),a.latestValue}if("object"==typeof e?n=e:(n=n||{},e&&(n.read=e)),"function"!=typeof n.read)throw Error("Pass a function that returns the value of the ko.computed");var r=n.write,a={latestValue:l,isStale:!0,isBeingEvaluated:!1,suppressDisposalUntilDisposeWhenReturnsFalse:!1,isDisposed:!1,pure:!1,isSleeping:!1,readFunction:n.read,evaluatorFunctionTarget:t||n.owner,disposeWhenNodeIsRemoved:n.disposeWhenNodeIsRemoved||n.disposeWhenNodeIsRemoved||null,disposeWhen:n.disposeWhen||n.disposeWhen,domNodeDisposalCallback:null,dependencyTracking:{},dependenciesCount:0,evaluationTimeoutInstance:null};return o[C]=a,o.hasWriteFunction="function"==typeof r,v.utils.canSetPrototype||v.utils.extend(o,v.subscribable.fn),v.subscribable.fn.init(o),v.utils.setPrototypeOfOrExtend(o,T),n.pure?(a.pure=!0,a.isSleeping=!0,v.utils.extend(o,N)):n.deferEvaluation&&v.utils.extend(o,A),v.options.deferUpdates&&v.extenders.deferred(o,!0),i&&(o._options=n),a.disposeWhenNodeIsRemoved&&(a.suppressDisposalUntilDisposeWhenReturnsFalse=!0,a.disposeWhenNodeIsRemoved.nodeType||(a.disposeWhenNodeIsRemoved=null)),a.isSleeping||n.deferEvaluation||o.evaluateImmediate(),a.disposeWhenNodeIsRemoved&&o.isActive()&&v.utils.domNodeDisposal.addDisposeCallback(a.disposeWhenNodeIsRemoved,a.domNodeDisposalCallback=function(){o.dispose()}),o};var T={equalityComparer:n,getDependenciesCount:function(){return this[C].dependenciesCount},addDependencyTracking:function(e,t,n){if(this[C].pure&&t===this)throw Error("A 'pure' computed must not be called recursively");this[C].dependencyTracking[e]=n,n._order=this[C].dependenciesCount++,n._version=t.getVersion()},haveDependenciesChanged:function(){var e,t,n=this[C].dependencyTracking;for(e in n)if(n.hasOwnProperty(e)&&(t=n[e],t._target.hasChanged(t._version)))return!0},markDirty:function(){this._evalDelayed&&!this[C].isBeingEvaluated&&this._evalDelayed()},isActive:function(){return this[C].isStale||this[C].dependenciesCount>0},respondToChange:function(){this._notificationIsPending||this.evaluatePossiblyAsync()},subscribeToDependency:function(e){if(e._deferUpdates&&!this[C].disposeWhenNodeIsRemoved){var t=e.subscribe(this.markDirty,this,"dirty"),n=e.subscribe(this.respondToChange,this);return{_target:e,dispose:function(){t.dispose(),n.dispose()}}}return e.subscribe(this.evaluatePossiblyAsync,this)},evaluatePossiblyAsync:function(){var e=this,t=e.throttleEvaluation;t&&t>=0?(clearTimeout(this[C].evaluationTimeoutInstance),this[C].evaluationTimeoutInstance=v.utils.setTimeout(function(){e.evaluateImmediate(!0)},t)):e._evalDelayed?e._evalDelayed():e.evaluateImmediate(!0)},evaluateImmediate:function(e){var t=this,n=t[C],o=n.disposeWhen;if(!n.isBeingEvaluated&&!n.isDisposed){if(n.disposeWhenNodeIsRemoved&&!v.utils.domNodeIsAttachedToDocument(n.disposeWhenNodeIsRemoved)||o&&o()){if(!n.suppressDisposalUntilDisposeWhenReturnsFalse)return void t.dispose()}else n.suppressDisposalUntilDisposeWhenReturnsFalse=!1;n.isBeingEvaluated=!0;try{this.evaluateImmediate_CallReadWithDependencyDetection(e)}finally{n.isBeingEvaluated=!1}n.dependenciesCount||t.dispose()}},evaluateImmediate_CallReadWithDependencyDetection:function(e){var t=this,n=t[C],o=n.pure?l:!n.dependenciesCount,r={computedObservable:t,disposalCandidates:n.dependencyTracking,disposalCount:n.dependenciesCount};v.dependencyDetection.begin({callbackTarget:r,callback:h,computed:t,isInitial:o}),n.dependencyTracking={},n.dependenciesCount=0;var a=this.evaluateImmediate_CallReadThenEndDependencyDetection(n,r);t.isDifferent(n.latestValue,a)&&(n.isSleeping||t.notifySubscribers(n.latestValue,"beforeChange"),n.latestValue=a,n.isSleeping?t.updateVersion():e&&t.notifySubscribers(n.latestValue)),o&&t.notifySubscribers(n.latestValue,"awake")},evaluateImmediate_CallReadThenEndDependencyDetection:function(e,t){try{var n=e.readFunction;return e.evaluatorFunctionTarget?n.call(e.evaluatorFunctionTarget):n()}finally{v.dependencyDetection.end(),t.disposalCount&&!e.isSleeping&&v.utils.objectForEach(t.disposalCandidates,b),e.isStale=!1}},peek:function(){var e=this[C];return(e.isStale&&!e.dependenciesCount||e.isSleeping&&this.haveDependenciesChanged())&&this.evaluateImmediate(),e.latestValue},limit:function(e){v.subscribable.fn.limit.call(this,e), +!function(){var i=!0;!function(l){var s=this||(0,eval)("this"),c=s.document,u=s.navigator,d=s.jQuery,p=s.JSON;!function(i){n(8).amd?(r=[t,n],o=i,a="function"==typeof o?o.apply(t,r):o,!(a!==l&&(e.exports=a))):i(e.exports||t)}(function(e,t){function n(e,t){var n=null===e||typeof e in y;return n?e===t:!1}function o(e,t){var n;return function(){n||(n=v.utils.setTimeout(function(){n=l,e()},t))}}function r(e,t){var n;return function(){clearTimeout(n),n=v.utils.setTimeout(e,t)}}function a(e){var t=this;return e&&v.utils.objectForEach(e,function(e,n){var o=v.extenders[e];"function"==typeof o&&(t=o(t,n)||t)}),t}function f(e,t){t&&t!==x?"beforeChange"===t?this._limitBeforeChange(e):this._origNotifySubscribers(e,t):this._limitChange(e)}function b(e,t){null!==t&&t.dispose&&t.dispose()}function h(e,t){var n=this.computedObservable,o=n[C];o.isDisposed||(this.disposalCount&&this.disposalCandidates[t]?(n.addDependencyTracking(t,e,this.disposalCandidates[t]),this.disposalCandidates[t]=null,--this.disposalCount):o.dependencyTracking[t]||n.addDependencyTracking(t,e,o.isSleeping?{_target:e}:n.subscribeToDependency(e)))}function g(e){v.bindingHandlers[e]={init:function(t,n,o,r,a){var i=function(){var t={};return t[e]=n(),t};return v.bindingHandlers.event.init.call(this,t,i,o,r,a)}}}function m(e,t,n,o){v.bindingHandlers[e]={init:function(e,r,a,i,l){var s,c;return v.computed(function(){var a=v.utils.unwrapObservable(r()),i=!n!=!a,u=!c,d=u||t||i!==s;d&&(u&&v.computedContext.getDependenciesCount()&&(c=v.utils.cloneNodes(v.virtualElements.childNodes(e),!0)),i?(u||v.virtualElements.setDomNodeChildren(e,v.utils.cloneNodes(c)),v.applyBindingsToDescendants(o?o(l,a):l,e)):v.virtualElements.emptyNode(e),s=i)},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}},v.expressionRewriting.bindingRewriteValidators[e]=!1,v.virtualElements.allowedBindings[e]=!0}var v="undefined"!=typeof e?e:{};v.exportSymbol=function(e,t){for(var n=e.split("."),o=v,r=0;rn;n++)g[t[n]]=e});var y={propertychange:!0},x=c&&function(){for(var e=3,t=c.createElement("div"),n=t.getElementsByTagName("i");t.innerHTML="",n[0];);return e>4?e:l}(),w=6===x,k=7===x,F=/\S+/g;return{fieldsIncludedWithJsonPost:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],arrayForEach:function(e,t){for(var n=0,o=e.length;o>n;n++)t(e[n],n)},arrayIndexOf:function(e,t){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(e,t);for(var n=0,o=e.length;o>n;n++)if(e[n]===t)return n;return-1},arrayFirst:function(e,t,n){for(var o=0,r=e.length;r>o;o++)if(t.call(n,e[o],o))return e[o];return null},arrayRemoveItem:function(e,t){var n=v.utils.arrayIndexOf(e,t);n>0?e.splice(n,1):0===n&&e.shift()},arrayGetDistinctValues:function(e){e=e||[];for(var t=[],n=0,o=e.length;o>n;n++)v.utils.arrayIndexOf(t,e[n])<0&&t.push(e[n]);return t},arrayMap:function(e,t){e=e||[];for(var n=[],o=0,r=e.length;r>o;o++)n.push(t(e[o],o));return n},arrayFilter:function(e,t){e=e||[];for(var n=[],o=0,r=e.length;r>o;o++)t(e[o],o)&&n.push(e[o]);return n},arrayPushAll:function(e,t){if(t instanceof Array)e.push.apply(e,t);else for(var n=0,o=t.length;o>n;n++)e.push(t[n]);return e},addOrRemoveItem:function(e,t,n){var o=v.utils.arrayIndexOf(v.utils.peekObservable(e),t);0>o?n&&e.push(t):n||e.splice(o,1)},canSetPrototype:f,extend:t,setPrototypeOf:n,setPrototypeOfOrExtend:f?n:t,objectForEach:e,objectMap:function(e,t){if(!e)return e;var n={};for(var o in e)e.hasOwnProperty(o)&&(n[o]=t(e[o],o,e));return n},emptyDomNode:function(e){for(;e.firstChild;)v.removeNode(e.firstChild)},moveCleanedNodesToContainerElement:function(e){for(var t=v.utils.makeArray(e),n=t[0]&&t[0].ownerDocument||c,o=n.createElement("div"),r=0,a=t.length;a>r;r++)o.appendChild(v.cleanNode(t[r]));return o},cloneNodes:function(e,t){for(var n=0,o=e.length,r=[];o>n;n++){var a=e[n].cloneNode(!0);r.push(t?v.cleanNode(a):a)}return r},setDomNodeChildren:function(e,t){if(v.utils.emptyDomNode(e),t)for(var n=0,o=t.length;o>n;n++)e.appendChild(t[n])},replaceDomNodes:function(e,t){var n=e.nodeType?[e]:e;if(n.length>0){for(var o=n[0],r=o.parentNode,a=0,i=t.length;i>a;a++)r.insertBefore(t[a],o);for(var a=0,i=n.length;i>a;a++)v.removeNode(n[a])}},fixUpContinuousNodeArray:function(e,t){if(e.length){for(t=8===t.nodeType&&t.parentNode||t;e.length&&e[0].parentNode!==t;)e.splice(0,1);for(;e.length>1&&e[e.length-1].parentNode!==t;)e.length--;if(e.length>1){var n=e[0],o=e[e.length-1];for(e.length=0;n!==o;)e.push(n),n=n.nextSibling;e.push(o)}}return e},setOptionNodeSelectionState:function(e,t){7>x?e.setAttribute("selected",t):e.selected=t},stringTrim:function(e){return null===e||e===l?"":e.trim?e.trim():e.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},stringStartsWith:function(e,t){return e=e||"",t.length>e.length?!1:e.substring(0,t.length)===t},domNodeIsContainedBy:function(e,t){if(e===t)return!0;if(11===e.nodeType)return!1;if(t.contains)return t.contains(3===e.nodeType?e.parentNode:e);if(t.compareDocumentPosition)return 16==(16&t.compareDocumentPosition(e));for(;e&&e!=t;)e=e.parentNode;return!!e},domNodeIsAttachedToDocument:function(e){return v.utils.domNodeIsContainedBy(e,e.ownerDocument.documentElement)},anyDomNodeIsAttachedToDocument:function(e){return!!v.utils.arrayFirst(e,v.utils.domNodeIsAttachedToDocument)},tagNameLower:function(e){return e&&e.tagName&&e.tagName.toLowerCase()},catchFunctionErrors:function(e){return v.onError?function(){try{return e.apply(this,arguments)}catch(t){throw v.onError&&v.onError(t),t}}:e},setTimeout:function(e,t){return setTimeout(v.utils.catchFunctionErrors(e),t)},deferError:function(e){setTimeout(function(){throw v.onError&&v.onError(e),e},0)},registerEventHandler:function(e,t,n){var o=v.utils.catchFunctionErrors(n),r=x&&y[t];if(v.options.useOnlyNativeEvents||r||!d)if(r||"function"!=typeof e.addEventListener){if("undefined"==typeof e.attachEvent)throw new Error("Browser doesn't support addEventListener or attachEvent");var a=function(t){o.call(e,t)},i="on"+t;e.attachEvent(i,a),v.utils.domNodeDisposal.addDisposeCallback(e,function(){e.detachEvent(i,a)})}else e.addEventListener(t,o,!1);else d(e).bind(t,o)},triggerEvent:function(e,t){if(!e||!e.nodeType)throw new Error("element must be a DOM node when calling triggerEvent");var n=o(e,t);if(v.options.useOnlyNativeEvents||!d||n)if("function"==typeof c.createEvent){if("function"!=typeof e.dispatchEvent)throw new Error("The supplied element doesn't support dispatchEvent");var r=g[t]||"HTMLEvents",a=c.createEvent(r);a.initEvent(t,!0,!0,s,0,0,0,0,0,!1,!1,!1,!1,0,e),e.dispatchEvent(a)}else if(n&&e.click)e.click();else{if("undefined"==typeof e.fireEvent)throw new Error("Browser doesn't support triggering events");e.fireEvent("on"+t)}else d(e).trigger(t)},unwrapObservable:function(e){return v.isObservable(e)?e():e},peekObservable:function(e){return v.isObservable(e)?e.peek():e},toggleDomNodeCssClass:r,setTextContent:function(e,t){var n=v.utils.unwrapObservable(t);null!==n&&n!==l||(n="");var o=v.virtualElements.firstChild(e);!o||3!=o.nodeType||v.virtualElements.nextSibling(o)?v.virtualElements.setDomNodeChildren(e,[e.ownerDocument.createTextNode(n)]):o.data=n,v.utils.forceRefresh(e)},setElementName:function(e,t){if(e.name=t,7>=x)try{e.mergeAttributes(c.createElement(""),!1)}catch(n){}},forceRefresh:function(e){if(x>=9){var t=1==e.nodeType?e:e.parentNode;t.style&&(t.style.zoom=t.style.zoom)}},ensureSelectElementIsRenderedCorrectly:function(e){if(x){var t=e.style.width;e.style.width=0,e.style.width=t}},range:function(e,t){e=v.utils.unwrapObservable(e),t=v.utils.unwrapObservable(t);for(var n=[],o=e;t>=o;o++)n.push(o);return n},makeArray:function(e){for(var t=[],n=0,o=e.length;o>n;n++)t.push(e[n]);return t},createSymbolOrString:function(e){return b?Symbol(e):e},isIe6:w,isIe7:k,ieVersion:x,getFormFields:function(e,t){for(var n=v.utils.makeArray(e.getElementsByTagName("input")).concat(v.utils.makeArray(e.getElementsByTagName("textarea"))),o="string"==typeof t?function(e){return e.name===t}:function(e){return t.test(e.name)},r=[],a=n.length-1;a>=0;a--)o(n[a])&&r.push(n[a]);return r},parseJson:function(e){return"string"==typeof e&&(e=v.utils.stringTrim(e))?p&&p.parse?p.parse(e):new Function("return "+e)():null},stringifyJson:function(e,t,n){if(!p||!p.stringify)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 p.stringify(v.utils.unwrapObservable(e),t,n)},postJson:function(t,n,o){o=o||{};var r=o.params||{},a=o.includeFields||this.fieldsIncludedWithJsonPost,i=t;if("object"==typeof t&&"form"===v.utils.tagNameLower(t)){var l=t;i=l.action;for(var s=a.length-1;s>=0;s--)for(var u=v.utils.getFormFields(l,a[s]),d=u.length-1;d>=0;d--)r[u[d].name]=u[d].value}n=v.utils.unwrapObservable(n);var p=c.createElement("form");p.style.display="none",p.action=i,p.method="post";for(var f in n){var b=c.createElement("input");b.type="hidden",b.name=f,b.value=v.utils.stringifyJson(v.utils.unwrapObservable(n[f])),p.appendChild(b)}e(r,function(e,t){var n=c.createElement("input");n.type="hidden",n.name=e,n.value=t,p.appendChild(n)}),c.body.appendChild(p),o.submitter?o.submitter(p):p.submit(),setTimeout(function(){p.parentNode.removeChild(p)},0)}}}(),v.exportSymbol("utils",v.utils),v.exportSymbol("utils.arrayForEach",v.utils.arrayForEach),v.exportSymbol("utils.arrayFirst",v.utils.arrayFirst),v.exportSymbol("utils.arrayFilter",v.utils.arrayFilter),v.exportSymbol("utils.arrayGetDistinctValues",v.utils.arrayGetDistinctValues),v.exportSymbol("utils.arrayIndexOf",v.utils.arrayIndexOf),v.exportSymbol("utils.arrayMap",v.utils.arrayMap),v.exportSymbol("utils.arrayPushAll",v.utils.arrayPushAll),v.exportSymbol("utils.arrayRemoveItem",v.utils.arrayRemoveItem),v.exportSymbol("utils.extend",v.utils.extend),v.exportSymbol("utils.fieldsIncludedWithJsonPost",v.utils.fieldsIncludedWithJsonPost),v.exportSymbol("utils.getFormFields",v.utils.getFormFields),v.exportSymbol("utils.peekObservable",v.utils.peekObservable),v.exportSymbol("utils.postJson",v.utils.postJson),v.exportSymbol("utils.parseJson",v.utils.parseJson),v.exportSymbol("utils.registerEventHandler",v.utils.registerEventHandler),v.exportSymbol("utils.stringifyJson",v.utils.stringifyJson),v.exportSymbol("utils.range",v.utils.range),v.exportSymbol("utils.toggleDomNodeCssClass",v.utils.toggleDomNodeCssClass),v.exportSymbol("utils.triggerEvent",v.utils.triggerEvent),v.exportSymbol("utils.unwrapObservable",v.utils.unwrapObservable),v.exportSymbol("utils.objectForEach",v.utils.objectForEach),v.exportSymbol("utils.addOrRemoveItem",v.utils.addOrRemoveItem),v.exportSymbol("utils.setTextContent",v.utils.setTextContent),v.exportSymbol("unwrap",v.utils.unwrapObservable),Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(1===arguments.length)return function(){return t.apply(e,arguments)};var n=Array.prototype.slice.call(arguments,1);return function(){var o=n.slice(0);return o.push.apply(o,arguments),t.apply(e,o)}}),v.utils.domData=new function(){function e(e,r){var a=e[n],i=a&&"null"!==a&&o[a];if(!i){if(!r)return l;a=e[n]="ko"+t++,o[a]={}}return o[a]}var t=0,n="__ko__"+(new Date).getTime(),o={};return{get:function(t,n){var o=e(t,!1);return o===l?l:o[n]},set:function(t,n,o){if(o!==l||e(t,!1)!==l){var r=e(t,!0);r[n]=o}},clear:function(e){var t=e[n];return t?(delete o[t],e[n]=null,!0):!1},nextKey:function(){return t++ +n}}},v.exportSymbol("utils.domData",v.utils.domData),v.exportSymbol("utils.domData.clear",v.utils.domData.clear),v.utils.domNodeDisposal=new function(){function e(e,t){var n=v.utils.domData.get(e,r);return n===l&&t&&(n=[],v.utils.domData.set(e,r,n)),n}function t(e){v.utils.domData.set(e,r,l)}function n(t){var n=e(t,!1);if(n){n=n.slice(0);for(var r=0;ro;o++)n(t[o])}return e},removeNode:function(e){v.cleanNode(e),e.parentNode&&e.parentNode.removeChild(e)},cleanExternalData:function(e){d&&"function"==typeof d.cleanData&&d.cleanData([e])}}},v.cleanNode=v.utils.domNodeDisposal.cleanNode,v.removeNode=v.utils.domNodeDisposal.removeNode,v.exportSymbol("cleanNode",v.cleanNode),v.exportSymbol("removeNode",v.removeNode),v.exportSymbol("utils.domNodeDisposal",v.utils.domNodeDisposal),v.exportSymbol("utils.domNodeDisposal.addDisposeCallback",v.utils.domNodeDisposal.addDisposeCallback),v.exportSymbol("utils.domNodeDisposal.removeDisposeCallback",v.utils.domNodeDisposal.removeDisposeCallback),function(){function e(e){var t=e.match(/^<([a-z]+)[ >]/);return t&&p[t[1]]||o}function t(t,n){n||(n=c);var o=n.parentWindow||n.defaultView||s,r=v.utils.stringTrim(t).toLowerCase(),a=n.createElement("div"),i=e(r),l=i[0],u="ignored
"+i[1]+t+i[2]+"
";for("function"==typeof o.innerShiv?a.appendChild(o.innerShiv(u)):(f&&n.appendChild(a),a.innerHTML=u,f&&a.parentNode.removeChild(a));l--;)a=a.lastChild;return v.utils.makeArray(a.lastChild.childNodes)}function n(e,t){if(d.parseHTML)return d.parseHTML(e,t)||[];var n=d.clean([e],t);if(n&&n[0]){for(var o=n[0];o.parentNode&&11!==o.parentNode.nodeType;)o=o.parentNode;o.parentNode&&o.parentNode.removeChild(o)}return n}var o=[0,"",""],r=[1,"","
"],a=[2,"","
"],i=[3,"","
"],u=[1,""],p={thead:r,tbody:r,tfoot:r,tr:a,td:i,th:i,option:u,optgroup:u},f=v.utils.ieVersion<=8;v.utils.parseHtmlFragment=function(e,o){return d?n(e,o):t(e,o)},v.utils.setHtml=function(e,t){if(v.utils.emptyDomNode(e),t=v.utils.unwrapObservable(t),null!==t&&t!==l)if("string"!=typeof t&&(t=t.toString()),d)d(e).html(t);else for(var n=v.utils.parseHtmlFragment(t,e.ownerDocument),o=0;or;r++)n(a[r],t)}var o={};return{memoize:function(e){if("function"!=typeof e)throw new Error("You can only pass a function to ko.memoization.memoize()");var n=t();return o[n]=e,""},unmemoize:function(e,t){var n=o[e];if(n===l)throw new Error("Couldn't find any memo with ID "+e+". Perhaps it's already been unmemoized.");try{return n.apply(null,t||[]),!0}finally{delete o[e]}},unmemoizeDomNodeAndDescendants:function(e,t){var o=[];n(e,o);for(var r=0,a=o.length;a>r;r++){var i=o[r].domNode,l=[i];t&&v.utils.arrayPushAll(l,t),v.memoization.unmemoize(o[r].memoId,l),i.nodeValue="",i.parentNode&&i.parentNode.removeChild(i)}},parseMemoText:function(e){var t=e.match(/^\[ko_memo\:(.*?)\]$/);return t?t[1]:null}}}(),v.exportSymbol("memoization",v.memoization),v.exportSymbol("memoization.memoize",v.memoization.memoize),v.exportSymbol("memoization.unmemoize",v.memoization.unmemoize),v.exportSymbol("memoization.parseMemoText",v.memoization.parseMemoText),v.exportSymbol("memoization.unmemoizeDomNodeAndDescendants",v.memoization.unmemoizeDomNodeAndDescendants),v.tasks=function(){function e(){if(a)for(var e,t=a,n=0;a>l;)if(e=r[l++]){if(l>t){if(++n>=5e3){l=a,v.utils.deferError(Error("'Too much recursion' after processing "+n+" task groups."));break}t=a}try{e()}catch(o){v.utils.deferError(o)}}}function t(){e(),l=a=r.length=0}function n(){v.tasks.scheduler(t)}var o,r=[],a=0,i=1,l=0;o=s.MutationObserver?function(e){var t=c.createElement("div");return new MutationObserver(e).observe(t,{attributes:!0}),function(){t.classList.toggle("foo")}}(t):c&&"onreadystatechange"in c.createElement("script")?function(e){var t=c.createElement("script");t.onreadystatechange=function(){t.onreadystatechange=null,c.documentElement.removeChild(t),t=null,e()},c.documentElement.appendChild(t)}:function(e){setTimeout(e,0)};var u={scheduler:o,schedule:function(e){return a||n(),r[a++]=e,i++},cancel:function(e){var t=e-(i-a);t>=l&&a>t&&(r[t]=null)},resetForTesting:function(){var e=a-l;return l=a=r.length=0,e},runEarly:e};return u}(),v.exportSymbol("tasks",v.tasks),v.exportSymbol("tasks.schedule",v.tasks.schedule),v.exportSymbol("tasks.runEarly",v.tasks.runEarly),v.extenders={throttle:function(e,t){e.throttleEvaluation=t;var n=null;return v.dependentObservable({read:e,write:function(o){clearTimeout(n),n=v.utils.setTimeout(function(){e(o)},t)}})},rateLimit:function(e,t){var n,a,i;"number"==typeof t?n=t:(n=t.timeout,a=t.method),e._deferUpdates=!1,i="notifyWhenChangesStop"==a?r:o,e.limit(function(e){return i(e,n)})},deferred:function(e,t){if(t!==!0)throw new Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");e._deferUpdates||(e._deferUpdates=!0,e.limit(function(t){var n;return function(){v.tasks.cancel(n),n=v.tasks.schedule(t),e.notifySubscribers(l,"dirty")}}))},notify:function(e,t){e.equalityComparer="always"==t?null:n}};var y={undefined:1,"boolean":1,number:1,string:1};v.exportSymbol("extenders",v.extenders),v.subscription=function(e,t,n){this._target=e,this.callback=t,this.disposeCallback=n,this.isDisposed=!1,v.exportProperty(this,"dispose",this.dispose)},v.subscription.prototype.dispose=function(){this.isDisposed=!0,this.disposeCallback()},v.subscribable=function(){v.utils.setPrototypeOfOrExtend(this,w),w.init(this)};var x="change",w={init:function(e){e._subscriptions={},e._versionNumber=1},subscribe:function(e,t,n){var o=this;n=n||x;var r=t?e.bind(t):e,a=new v.subscription(o,r,function(){v.utils.arrayRemoveItem(o._subscriptions[n],a),o.afterSubscriptionRemove&&o.afterSubscriptionRemove(n)});return o.beforeSubscriptionAdd&&o.beforeSubscriptionAdd(n),o._subscriptions[n]||(o._subscriptions[n]=[]),o._subscriptions[n].push(a),a},notifySubscribers:function(e,t){if(t=t||x,t===x&&this.updateVersion(),this.hasSubscriptionsForEvent(t))try{v.dependencyDetection.begin();for(var n,o=this._subscriptions[t].slice(0),r=0;n=o[r];++r)n.isDisposed||n.callback(e)}finally{v.dependencyDetection.end()}},getVersion:function(){return this._versionNumber},hasChanged:function(e){return this.getVersion()!==e},updateVersion:function(){++this._versionNumber},limit:function(e){var t,n,o,r=this,a=v.isObservable(r),i="beforeChange";r._origNotifySubscribers||(r._origNotifySubscribers=r.notifySubscribers,r.notifySubscribers=f);var l=e(function(){r._notificationIsPending=!1,a&&o===r&&(o=r()),t=!1,r.isDifferent(n,o)&&r._origNotifySubscribers(n=o)});r._limitChange=function(e){r._notificationIsPending=t=!0,o=e,l()},r._limitBeforeChange=function(e){t||(n=e,r._origNotifySubscribers(e,i))}},hasSubscriptionsForEvent:function(e){return this._subscriptions[e]&&this._subscriptions[e].length},getSubscriptionsCount:function(e){if(e)return this._subscriptions[e]&&this._subscriptions[e].length||0;var t=0;return v.utils.objectForEach(this._subscriptions,function(e,n){"dirty"!==e&&(t+=n.length)}),t},isDifferent:function(e,t){return!this.equalityComparer||!this.equalityComparer(e,t)},extend:a};v.exportProperty(w,"subscribe",w.subscribe),v.exportProperty(w,"extend",w.extend),v.exportProperty(w,"getSubscriptionsCount",w.getSubscriptionsCount),v.utils.canSetPrototype&&v.utils.setPrototypeOf(w,Function.prototype),v.subscribable.fn=w,v.isSubscribable=function(e){return null!=e&&"function"==typeof e.subscribe&&"function"==typeof e.notifySubscribers},v.exportSymbol("subscribable",v.subscribable),v.exportSymbol("isSubscribable",v.isSubscribable),v.computedContext=v.dependencyDetection=function(){function e(){return++a}function t(e){r.push(o),o=e}function n(){o=r.pop()}var o,r=[],a=0;return{begin:t,end:n,registerDependency:function(t){if(o){if(!v.isSubscribable(t))throw new Error("Only subscribable things can act as dependencies");o.callback.call(o.callbackTarget,t,t._id||(t._id=e()))}},ignore:function(e,o,r){try{return t(),e.apply(o,r||[])}finally{n()}},getDependenciesCount:function(){return o?o.computed.getDependenciesCount():void 0},isInitial:function(){return o?o.isInitial:void 0}}}(),v.exportSymbol("computedContext",v.computedContext),v.exportSymbol("computedContext.getDependenciesCount",v.computedContext.getDependenciesCount),v.exportSymbol("computedContext.isInitial",v.computedContext.isInitial),v.exportSymbol("ignoreDependencies",v.ignoreDependencies=v.dependencyDetection.ignore);var k=v.utils.createSymbolOrString("_latestValue");v.observable=function(e){function t(){return arguments.length>0?(t.isDifferent(t[k],arguments[0])&&(t.valueWillMutate(),t[k]=arguments[0],t.valueHasMutated()),this):(v.dependencyDetection.registerDependency(t),t[k])}return t[k]=e,v.utils.canSetPrototype||v.utils.extend(t,v.subscribable.fn),v.subscribable.fn.init(t),v.utils.setPrototypeOfOrExtend(t,F),v.options.deferUpdates&&v.extenders.deferred(t,!0),t};var F={equalityComparer:n,peek:function(){return this[k]},valueHasMutated:function(){this.notifySubscribers(this[k])},valueWillMutate:function(){this.notifySubscribers(this[k],"beforeChange")}};v.utils.canSetPrototype&&v.utils.setPrototypeOf(F,v.subscribable.fn);var E=v.observable.protoProperty="__ko_proto__";F[E]=v.observable,v.hasPrototype=function(e,t){return null===e||e===l||e[E]===l?!1:e[E]===t?!0:v.hasPrototype(e[E],t)},v.isObservable=function(e){return v.hasPrototype(e,v.observable)},v.isWriteableObservable=function(e){return"function"==typeof e&&e[E]===v.observable?!0:!("function"!=typeof e||e[E]!==v.dependentObservable||!e.hasWriteFunction)},v.exportSymbol("observable",v.observable),v.exportSymbol("isObservable",v.isObservable),v.exportSymbol("isWriteableObservable",v.isWriteableObservable),v.exportSymbol("isWritableObservable",v.isWriteableObservable),v.exportSymbol("observable.fn",F),v.exportProperty(F,"peek",F.peek),v.exportProperty(F,"valueHasMutated",F.valueHasMutated),v.exportProperty(F,"valueWillMutate",F.valueWillMutate),v.observableArray=function(e){if(e=e||[],"object"!=typeof e||!("length"in e))throw new Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");var t=v.observable(e);return v.utils.setPrototypeOfOrExtend(t,v.observableArray.fn),t.extend({trackArrayChanges:!0})},v.observableArray.fn={remove:function(e){for(var t=this.peek(),n=[],o="function"!=typeof e||v.isObservable(e)?function(t){return t===e}:e,r=0;r=0}):[]},destroy:function(e){var t=this.peek(),n="function"!=typeof e||v.isObservable(e)?function(t){return t===e}:e;this.valueWillMutate();for(var o=t.length-1;o>=0;o--){var r=t[o];n(r)&&(t[o]._destroy=!0)}this.valueHasMutated()},destroyAll:function(e){return e===l?this.destroy(function(){return!0}):e?this.destroy(function(t){return v.utils.arrayIndexOf(e,t)>=0}):[]},indexOf:function(e){var t=this();return v.utils.arrayIndexOf(t,e)},replace:function(e,t){var n=this.indexOf(e);n>=0&&(this.valueWillMutate(),this.peek()[n]=t,this.valueHasMutated())}},v.utils.canSetPrototype&&v.utils.setPrototypeOf(v.observableArray.fn,v.observable.fn),v.utils.arrayForEach(["pop","push","reverse","shift","sort","splice","unshift"],function(e){v.observableArray.fn[e]=function(){var t=this.peek();this.valueWillMutate(),this.cacheDiffForKnownOperation(t,e,arguments);var n=t[e].apply(t,arguments);return this.valueHasMutated(),n===t?this:n}}),v.utils.arrayForEach(["slice"],function(e){v.observableArray.fn[e]=function(){var t=this();return t[e].apply(t,arguments)}}),v.exportSymbol("observableArray",v.observableArray);var S="arrayChange";v.extenders.trackArrayChanges=function(e,t){function n(){if(!a){a=!0;var t=e.notifySubscribers;e.notifySubscribers=function(e,n){return n&&n!==x||++l,t.apply(this,arguments)};var n=[].concat(e.peek()||[]);i=null,r=e.subscribe(function(t){if(t=[].concat(t||[]),e.hasSubscriptionsForEvent(S))var r=o(n,t);n=t,i=null,l=0,r&&r.length&&e.notifySubscribers(r,S)})}}function o(t,n){return(!i||l>1)&&(i=v.utils.compareArrays(t,n,e.compareArrayOptions)),i}if(e.compareArrayOptions={},t&&"object"==typeof t&&v.utils.extend(e.compareArrayOptions,t),e.compareArrayOptions.sparse=!0,!e.cacheDiffForKnownOperation){var r,a=!1,i=null,l=0,s=e.beforeSubscriptionAdd,c=e.afterSubscriptionRemove;e.beforeSubscriptionAdd=function(t){s&&s.call(e,t),t===S&&n()},e.afterSubscriptionRemove=function(t){c&&c.call(e,t),t!==S||e.hasSubscriptionsForEvent(S)||(r.dispose(),a=!1)},e.cacheDiffForKnownOperation=function(e,t,n){function o(e,t,n){return r[r.length]={status:e,value:t,index:n}}if(a&&!l){var r=[],s=e.length,c=n.length,u=0;switch(t){case"push":u=s;case"unshift":for(var d=0;c>d;d++)o("added",n[d],u+d);break;case"pop":u=s-1;case"shift":s&&o("deleted",e[u],u);break;case"splice":for(var p=Math.min(Math.max(0,n[0]<0?s+n[0]:n[0]),s),f=1===c?s:Math.min(p+(n[1]||0),s),b=p+c-2,h=Math.max(f,b),g=[],m=[],d=p,y=2;h>d;++d,++y)f>d&&m.push(o("deleted",e[d],d)),b>d&&g.push(o("added",n[y],d));v.utils.findMovesInArrayComparison(m,g);break;default:return}i=r}}}};var C=v.utils.createSymbolOrString("_state");v.computed=v.dependentObservable=function(e,t,n){function o(){if(arguments.length>0){if("function"!=typeof r)throw new Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return r.apply(a.evaluatorFunctionTarget,arguments),this}return v.dependencyDetection.registerDependency(o),(a.isStale||a.isSleeping&&o.haveDependenciesChanged())&&o.evaluateImmediate(),a.latestValue}if("object"==typeof e?n=e:(n=n||{},e&&(n.read=e)),"function"!=typeof n.read)throw Error("Pass a function that returns the value of the ko.computed");var r=n.write,a={latestValue:l,isStale:!0,isBeingEvaluated:!1,suppressDisposalUntilDisposeWhenReturnsFalse:!1,isDisposed:!1,pure:!1,isSleeping:!1,readFunction:n.read,evaluatorFunctionTarget:t||n.owner,disposeWhenNodeIsRemoved:n.disposeWhenNodeIsRemoved||n.disposeWhenNodeIsRemoved||null,disposeWhen:n.disposeWhen||n.disposeWhen,domNodeDisposalCallback:null,dependencyTracking:{},dependenciesCount:0,evaluationTimeoutInstance:null};return o[C]=a,o.hasWriteFunction="function"==typeof r,v.utils.canSetPrototype||v.utils.extend(o,v.subscribable.fn),v.subscribable.fn.init(o),v.utils.setPrototypeOfOrExtend(o,T),n.pure?(a.pure=!0,a.isSleeping=!0,v.utils.extend(o,N)):n.deferEvaluation&&v.utils.extend(o,A),v.options.deferUpdates&&v.extenders.deferred(o,!0),i&&(o._options=n),a.disposeWhenNodeIsRemoved&&(a.suppressDisposalUntilDisposeWhenReturnsFalse=!0,a.disposeWhenNodeIsRemoved.nodeType||(a.disposeWhenNodeIsRemoved=null)),a.isSleeping||n.deferEvaluation||o.evaluateImmediate(),a.disposeWhenNodeIsRemoved&&o.isActive()&&v.utils.domNodeDisposal.addDisposeCallback(a.disposeWhenNodeIsRemoved,a.domNodeDisposalCallback=function(){o.dispose()}),o};var T={equalityComparer:n,getDependenciesCount:function(){return this[C].dependenciesCount},addDependencyTracking:function(e,t,n){if(this[C].pure&&t===this)throw Error("A 'pure' computed must not be called recursively");this[C].dependencyTracking[e]=n,n._order=this[C].dependenciesCount++,n._version=t.getVersion()},haveDependenciesChanged:function(){var e,t,n=this[C].dependencyTracking;for(e in n)if(n.hasOwnProperty(e)&&(t=n[e],t._target.hasChanged(t._version)))return!0},markDirty:function(){this._evalDelayed&&!this[C].isBeingEvaluated&&this._evalDelayed()},isActive:function(){return this[C].isStale||this[C].dependenciesCount>0},respondToChange:function(){this._notificationIsPending||this.evaluatePossiblyAsync()},subscribeToDependency:function(e){if(e._deferUpdates&&!this[C].disposeWhenNodeIsRemoved){var t=e.subscribe(this.markDirty,this,"dirty"),n=e.subscribe(this.respondToChange,this);return{_target:e,dispose:function(){t.dispose(),n.dispose()}}}return e.subscribe(this.evaluatePossiblyAsync,this)},evaluatePossiblyAsync:function(){var e=this,t=e.throttleEvaluation;t&&t>=0?(clearTimeout(this[C].evaluationTimeoutInstance),this[C].evaluationTimeoutInstance=v.utils.setTimeout(function(){e.evaluateImmediate(!0)},t)):e._evalDelayed?e._evalDelayed():e.evaluateImmediate(!0)},evaluateImmediate:function(e){var t=this,n=t[C],o=n.disposeWhen;if(!n.isBeingEvaluated&&!n.isDisposed){if(n.disposeWhenNodeIsRemoved&&!v.utils.domNodeIsAttachedToDocument(n.disposeWhenNodeIsRemoved)||o&&o()){if(!n.suppressDisposalUntilDisposeWhenReturnsFalse)return void t.dispose()}else n.suppressDisposalUntilDisposeWhenReturnsFalse=!1;n.isBeingEvaluated=!0;try{this.evaluateImmediate_CallReadWithDependencyDetection(e)}finally{n.isBeingEvaluated=!1}n.dependenciesCount||t.dispose()}},evaluateImmediate_CallReadWithDependencyDetection:function(e){var t=this,n=t[C],o=n.pure?l:!n.dependenciesCount,r={computedObservable:t,disposalCandidates:n.dependencyTracking,disposalCount:n.dependenciesCount};v.dependencyDetection.begin({callbackTarget:r,callback:h,computed:t,isInitial:o}),n.dependencyTracking={},n.dependenciesCount=0;var a=this.evaluateImmediate_CallReadThenEndDependencyDetection(n,r);t.isDifferent(n.latestValue,a)&&(n.isSleeping||t.notifySubscribers(n.latestValue,"beforeChange"),n.latestValue=a,n.isSleeping?t.updateVersion():e&&t.notifySubscribers(n.latestValue)),o&&t.notifySubscribers(n.latestValue,"awake")},evaluateImmediate_CallReadThenEndDependencyDetection:function(e,t){try{var n=e.readFunction;return e.evaluatorFunctionTarget?n.call(e.evaluatorFunctionTarget):n()}finally{v.dependencyDetection.end(),t.disposalCount&&!e.isSleeping&&v.utils.objectForEach(t.disposalCandidates,b),e.isStale=!1}},peek:function(){var e=this[C];return(e.isStale&&!e.dependenciesCount||e.isSleeping&&this.haveDependenciesChanged())&&this.evaluateImmediate(),e.latestValue},limit:function(e){v.subscribable.fn.limit.call(this,e), this._evalDelayed=function(){this._limitBeforeChange(this[C].latestValue),this[C].isStale=!0,this._limitChange(this)}},dispose:function(){var e=this[C];!e.isSleeping&&e.dependencyTracking&&v.utils.objectForEach(e.dependencyTracking,function(e,t){t.dispose&&t.dispose()}),e.disposeWhenNodeIsRemoved&&e.domNodeDisposalCallback&&v.utils.domNodeDisposal.removeDisposeCallback(e.disposeWhenNodeIsRemoved,e.domNodeDisposalCallback),e.dependencyTracking=null,e.dependenciesCount=0,e.isDisposed=!0,e.isStale=!1,e.isSleeping=!1,e.disposeWhenNodeIsRemoved=null}},N={beforeSubscriptionAdd:function(e){var t=this,n=t[C];if(!n.isDisposed&&n.isSleeping&&"change"==e){if(n.isSleeping=!1,n.isStale||t.haveDependenciesChanged())n.dependencyTracking=null,n.dependenciesCount=0,n.isStale=!0,t.evaluateImmediate();else{var o=[];v.utils.objectForEach(n.dependencyTracking,function(e,t){o[t._order]=e}),v.utils.arrayForEach(o,function(e,o){var r=n.dependencyTracking[e],a=t.subscribeToDependency(r._target);a._order=o,a._version=r._version,n.dependencyTracking[e]=a})}n.isDisposed||t.notifySubscribers(n.latestValue,"awake")}},afterSubscriptionRemove:function(e){var t=this[C];t.isDisposed||"change"!=e||this.hasSubscriptionsForEvent("change")||(v.utils.objectForEach(t.dependencyTracking,function(e,n){n.dispose&&(t.dependencyTracking[e]={_target:n._target,_order:n._order,_version:n._version},n.dispose())}),t.isSleeping=!0,this.notifySubscribers(l,"asleep"))},getVersion:function(){var e=this[C];return e.isSleeping&&(e.isStale||this.haveDependenciesChanged())&&this.evaluateImmediate(),v.subscribable.fn.getVersion.call(this)}},A={beforeSubscriptionAdd:function(e){"change"!=e&&"beforeChange"!=e||this.peek()}};v.utils.canSetPrototype&&v.utils.setPrototypeOf(T,v.subscribable.fn);var D=v.observable.protoProperty;v.computed[D]=v.observable,T[D]=v.computed,v.isComputed=function(e){return v.hasPrototype(e,v.computed)},v.isPureComputed=function(e){return v.hasPrototype(e,v.computed)&&e[C]&&e[C].pure},v.exportSymbol("computed",v.computed),v.exportSymbol("dependentObservable",v.computed),v.exportSymbol("isComputed",v.isComputed),v.exportSymbol("isPureComputed",v.isPureComputed),v.exportSymbol("computed.fn",T),v.exportProperty(T,"peek",T.peek),v.exportProperty(T,"dispose",T.dispose),v.exportProperty(T,"isActive",T.isActive),v.exportProperty(T,"getDependenciesCount",T.getDependenciesCount),v.pureComputed=function(e,t){return"function"==typeof e?v.computed(e,t,{pure:!0}):(e=v.utils.extend({},e),e.pure=!0,v.computed(e,t))},v.exportSymbol("pureComputed",v.pureComputed),function(){function e(o,r,a){a=a||new n,o=r(o);var i=!("object"!=typeof o||null===o||o===l||o instanceof RegExp||o instanceof Date||o instanceof String||o instanceof Number||o instanceof Boolean);if(!i)return o;var s=o instanceof Array?[]:{};return a.save(o,s),t(o,function(t){var n=r(o[t]);switch(typeof n){case"boolean":case"number":case"string":case"function":s[t]=n;break;case"object":case"undefined":var i=a.get(n);s[t]=i!==l?i:e(n,r,a)}}),s}function t(e,t){if(e instanceof Array){for(var n=0;nt;t++)e=e();return e})},v.toJSON=function(e,t,n){var o=v.toJS(e);return v.utils.stringifyJson(o,t,n)},n.prototype={constructor:n,save:function(e,t){var n=v.utils.arrayIndexOf(this.keys,e);n>=0?this.values[n]=t:(this.keys.push(e),this.values.push(t))},get:function(e){var t=v.utils.arrayIndexOf(this.keys,e);return t>=0?this.values[t]:l}}}(),v.exportSymbol("toJS",v.toJS),v.exportSymbol("toJSON",v.toJSON),function(){var e="__ko__hasDomDataOptionValue__";v.selectExtensions={readValue:function(t){switch(v.utils.tagNameLower(t)){case"option":return t[e]===!0?v.utils.domData.get(t,v.bindingHandlers.options.optionValueDomDataKey):v.utils.ieVersion<=7?t.getAttributeNode("value")&&t.getAttributeNode("value").specified?t.value:t.text:t.value;case"select":return t.selectedIndex>=0?v.selectExtensions.readValue(t.options[t.selectedIndex]):l;default:return t.value}},writeValue:function(t,n,o){switch(v.utils.tagNameLower(t)){case"option":switch(typeof n){case"string":v.utils.domData.set(t,v.bindingHandlers.options.optionValueDomDataKey,l),e in t&&delete t[e],t.value=n;break;default:v.utils.domData.set(t,v.bindingHandlers.options.optionValueDomDataKey,n),t[e]=!0,t.value="number"==typeof n?n:""}break;case"select":""!==n&&null!==n||(n=l);for(var r,a=-1,i=0,s=t.options.length;s>i;++i)if(r=v.selectExtensions.readValue(t.options[i]),r==n||""==r&&n===l){a=i;break}(o||a>=0||n===l&&t.size>1)&&(t.selectedIndex=a);break;default:null!==n&&n!==l||(n=""),t.value=n}}}}(),v.exportSymbol("selectExtensions",v.selectExtensions),v.exportSymbol("selectExtensions.readValue",v.selectExtensions.readValue),v.exportSymbol("selectExtensions.writeValue",v.selectExtensions.writeValue),v.expressionRewriting=function(){function e(e){if(v.utils.arrayIndexOf(o,e)>=0)return!1;var t=e.match(r);return null===t?!1:t[1]?"Object("+t[1]+")"+t[2]:e}function t(e){var t=v.utils.stringTrim(e);123===t.charCodeAt(0)&&(t=t.slice(1,-1));var n,o=[],r=t.match(d),a=[],i=0;if(r){r.push(",");for(var l,s=0;l=r[s];++s){var c=l.charCodeAt(0);if(44===c){if(0>=i){o.push(n&&a.length?{key:n,value:a.join("")}:{unknown:n||a.join("")}),n=i=0,a=[];continue}}else if(58===c){if(!i&&!n&&1===a.length){n=a.pop();continue}}else if(47===c&&s&&l.length>1){var u=r[s-1].match(p);u&&!f[u[0]]&&(t=t.substr(t.indexOf(l)+1),r=t.match(d),r.push(","),s=-1,l="/")}else 40===c||123===c||91===c?++i:41===c||125===c||93===c?--i:n||a.length||34!==c&&39!==c||(l=l.slice(1,-1));a.push(l)}}return o}function n(n,o){function r(t,n){function o(e){return e&&e.preprocess?n=e.preprocess(n,t,r):!0}var c;if(!s){if(!o(v.getBindingHandler(t)))return;b[t]&&(c=e(n))&&i.push("'"+t+"':function(_z){"+c+"=_z}")}l&&(n="function(){return "+n+" }"),a.push("'"+t+"':"+n)}o=o||{};var a=[],i=[],l=o.valueAccessors,s=o.bindingParams,c="string"==typeof n?t(n):n;return v.utils.arrayForEach(c,function(e){r(e.key||e.unknown,e.value)}),i.length&&r("_ko_property_writers","{"+i.join(",")+" }"),a.join(",")}var o=["true","false","null","undefined"],r=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,a='"(?:[^"\\\\]|\\\\.)*"',i="'(?:[^'\\\\]|\\\\.)*'",l="/(?:[^/\\\\]|\\\\.)*/w*",s=",\"'{}()/:[\\]",c="[^\\s:,/][^"+s+"]*[^\\s"+s+"]",u="[^\\s]",d=RegExp(a+"|"+i+"|"+l+"|"+c+"|"+u,"g"),p=/[\])"'A-Za-z0-9_$]+$/,f={"in":1,"return":1,"typeof":1},b={};return{bindingRewriteValidators:[],twoWayBindings:b,parseObjectLiteral:t,preProcessBindings:n,keyValueArrayContainsKey:function(e,t){for(var n=0;n0?o[o.length-1].nextSibling:e.nextSibling:null}function r(n){var r=n.firstChild,a=null;if(r)do if(a)a.push(r);else if(e(r)){var i=o(r,!0);i?r=i:a=[r]}else t(r)&&(a=[r]);while(r=r.nextSibling);return a}var a=c&&""===c.createComment("test").text,i=a?/^$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,l=a?/^$/:/^\s*\/ko\s*$/,s={ul:!0,ol:!0};v.virtualElements={allowedBindings:{},childNodes:function(t){return e(t)?n(t):t.childNodes},emptyNode:function(t){if(e(t))for(var n=v.virtualElements.childNodes(t),o=0,r=n.length;r>o;o++)v.removeNode(n[o]);else v.utils.emptyDomNode(t)},setDomNodeChildren:function(t,n){if(e(t)){v.virtualElements.emptyNode(t);for(var o=t.nextSibling,r=0,a=n.length;a>r;r++)o.parentNode.insertBefore(n[r],o)}else v.utils.setDomNodeChildren(t,n)},prepend:function(t,n){e(t)?t.parentNode.insertBefore(n,t.nextSibling):t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n)},insertAfter:function(t,n,o){o?e(t)?t.parentNode.insertBefore(n,o.nextSibling):o.nextSibling?t.insertBefore(n,o.nextSibling):t.appendChild(n):v.virtualElements.prepend(t,n)},firstChild:function(n){return e(n)?!n.nextSibling||t(n.nextSibling)?null:n.nextSibling:n.firstChild},nextSibling:function(n){return e(n)&&(n=o(n)),n.nextSibling&&t(n.nextSibling)?null:n.nextSibling},hasBindingValue:e,virtualNodeBindingValue:function(e){var t=(a?e.text:e.nodeValue).match(i);return t?t[1]:null},normaliseVirtualElementDomStructure:function(e){if(s[v.utils.tagNameLower(e)]){var t=e.firstChild;if(t)do if(1===t.nodeType){var n=r(t);if(n)for(var o=t.nextSibling,a=0;a=0:i?e.checked=n:e.checked=a()===n}var a=v.pureComputed(function(){return n.has("checkedValue")?v.utils.unwrapObservable(n.get("checkedValue")):n.has("value")?v.utils.unwrapObservable(n.get("value")):e.value}),i="checkbox"==e.type,s="radio"==e.type;if(i||s){var c=t(),u=i&&v.utils.unwrapObservable(c)instanceof Array,d=!(u&&c.push&&c.splice),p=u?a():l,f=s||u;s&&!e.name&&v.bindingHandlers.uniqueName.init(e,function(){return!0}),v.computed(o,null,{disposeWhenNodeIsRemoved:e}),v.utils.registerEventHandler(e,"click",o),v.computed(r,null,{disposeWhenNodeIsRemoved:e}),c=l}}},v.expressionRewriting.twoWayBindings.checked=!0,v.bindingHandlers.checkedValue={update:function(e,t){e.value=v.utils.unwrapObservable(t())}}}();var j="__ko__cssValue";v.bindingHandlers.css={update:function(e,t){var n=v.utils.unwrapObservable(t());null!==n&&"object"==typeof n?v.utils.objectForEach(n,function(t,n){n=v.utils.unwrapObservable(n),v.utils.toggleDomNodeCssClass(e,t,n)}):(n=v.utils.stringTrim(String(n||"")),v.utils.toggleDomNodeCssClass(e,e[j],!1),e[j]=n,v.utils.toggleDomNodeCssClass(e,n,!0))}},v.bindingHandlers.enable={update:function(e,t){var n=v.utils.unwrapObservable(t());n&&e.disabled?e.removeAttribute("disabled"):n||e.disabled||(e.disabled=!0)}},v.bindingHandlers.disable={update:function(e,t){v.bindingHandlers.enable.update(e,function(){return!v.utils.unwrapObservable(t())})}},v.bindingHandlers.event={init:function(e,t,n,o,r){var a=t()||{};v.utils.objectForEach(a,function(a){"string"==typeof a&&v.utils.registerEventHandler(e,a,function(e){var i,l=t()[a];if(l){try{var s=v.utils.makeArray(arguments);o=r.$data,s.unshift(o),i=l.apply(o,s)}finally{i!==!0&&(e.preventDefault?e.preventDefault():e.returnValue=!1)}var c=n.get(a+"Bubble")!==!1;c||(e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation())}})})}},v.bindingHandlers.foreach={makeTemplateValueAccessor:function(e){return function(){var t=e(),n=v.utils.peekObservable(t);return n&&"number"!=typeof n.length?(v.utils.unwrapObservable(t),{foreach:n.data,as:n.as,includeDestroyed:n.includeDestroyed,afterAdd:n.afterAdd,beforeRemove:n.beforeRemove,afterRender:n.afterRender,beforeMove:n.beforeMove,afterMove:n.afterMove,templateEngine:v.nativeTemplateEngine.instance}):{foreach:t,templateEngine:v.nativeTemplateEngine.instance}}},init:function(e,t,n,o,r){return v.bindingHandlers.template.init(e,v.bindingHandlers.foreach.makeTemplateValueAccessor(t))},update:function(e,t,n,o,r){return v.bindingHandlers.template.update(e,v.bindingHandlers.foreach.makeTemplateValueAccessor(t),n,o,r)}},v.expressionRewriting.bindingRewriteValidators.foreach=!1,v.virtualElements.allowedBindings.foreach=!0;var P="__ko_hasfocusUpdating",_="__ko_hasfocusLastValue";v.bindingHandlers.hasfocus={init:function(e,t,n){var o=function(o){e[P]=!0;var r=e.ownerDocument;if("activeElement"in r){var a;try{a=r.activeElement}catch(i){a=r.body}o=a===e}var l=t();v.expressionRewriting.writeValueToProperty(l,n,"hasfocus",o,!0),e[_]=o,e[P]=!1},r=o.bind(null,!0),a=o.bind(null,!1);v.utils.registerEventHandler(e,"focus",r),v.utils.registerEventHandler(e,"focusin",r),v.utils.registerEventHandler(e,"blur",a),v.utils.registerEventHandler(e,"focusout",a)},update:function(e,t){var n=!!v.utils.unwrapObservable(t());e[P]||e[_]===n||(n?e.focus():e.blur(),!n&&e[_]&&e.ownerDocument.body.focus(),v.dependencyDetection.ignore(v.utils.triggerEvent,null,[e,n?"focusin":"focusout"]))}},v.expressionRewriting.twoWayBindings.hasfocus=!0,v.bindingHandlers.hasFocus=v.bindingHandlers.hasfocus,v.expressionRewriting.twoWayBindings.hasFocus=!0,v.bindingHandlers.html={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){v.utils.setHtml(e,t())}},m("if"),m("ifnot",!1,!0),m("with",!0,!1,function(e,t){return e.createChildContext(t)});var q={};v.bindingHandlers.options={init:function(e){if("select"!==v.utils.tagNameLower(e))throw new Error("options binding applies only to SELECT elements");for(;e.length>0;)e.remove(0);return{controlsDescendantBindings:!0}},update:function(e,t,n){function o(){return v.utils.arrayFilter(e.options,function(e){return e.selected})}function r(e,t,n){var o=typeof t;return"function"==o?t(e):"string"==o?e[t]:n}function a(t,o,a){a.length&&(m=!b&&a[0].selected?[v.selectExtensions.readValue(a[0])]:[],y=!0);var i=e.ownerDocument.createElement("option");if(t===q)v.utils.setTextContent(i,n.get("optionsCaption")),v.selectExtensions.writeValue(i,l);else{var s=r(t,n.get("optionsValue"),t);v.selectExtensions.writeValue(i,v.utils.unwrapObservable(s));var c=r(t,n.get("optionsText"),s);v.utils.setTextContent(i,c)}return[i]}function i(t,o){if(y&&b)v.selectExtensions.writeValue(e,v.utils.unwrapObservable(n.get("value")),!0);else if(m.length){var r=v.utils.arrayIndexOf(m,v.selectExtensions.readValue(o[0]))>=0;v.utils.setOptionNodeSelectionState(o[0],r),y&&!r&&v.dependencyDetection.ignore(v.utils.triggerEvent,null,[e,"change"])}}var s,c,u=0==e.length,d=e.multiple,p=!u&&d?e.scrollTop:null,f=v.utils.unwrapObservable(t()),b=n.get("valueAllowUnset")&&n.has("value"),h=n.get("optionsIncludeDestroyed"),g={},m=[];b||(d?m=v.utils.arrayMap(o(),v.selectExtensions.readValue):e.selectedIndex>=0&&m.push(v.selectExtensions.readValue(e.options[e.selectedIndex]))),f&&("undefined"==typeof f.length&&(f=[f]),c=v.utils.arrayFilter(f,function(e){return h||e===l||null===e||!v.utils.unwrapObservable(e._destroy)}),n.has("optionsCaption")&&(s=v.utils.unwrapObservable(n.get("optionsCaption")),null!==s&&s!==l&&c.unshift(q)));var y=!1;g.beforeRemove=function(t){e.removeChild(t)};var x=i;n.has("optionsAfterRender")&&"function"==typeof n.get("optionsAfterRender")&&(x=function(e,t){i(e,t),v.dependencyDetection.ignore(n.get("optionsAfterRender"),null,[t[0],e!==q?e:l])}),v.utils.setDomNodeChildrenFromArrayMapping(e,c,a,g,x),v.dependencyDetection.ignore(function(){if(b)v.selectExtensions.writeValue(e,v.utils.unwrapObservable(n.get("value")),!0);else{var t;t=d?m.length&&o().length=0?v.selectExtensions.readValue(e.options[e.selectedIndex])!==m[0]:m.length||e.selectedIndex>=0,t&&v.utils.triggerEvent(e,"change")}}),v.utils.ensureSelectElementIsRenderedCorrectly(e),p&&Math.abs(p-e.scrollTop)>20&&(e.scrollTop=p)}},v.bindingHandlers.options.optionValueDomDataKey=v.utils.domData.nextKey(),v.bindingHandlers.selectedOptions={after:["options","foreach"],init:function(e,t,n){v.utils.registerEventHandler(e,"change",function(){var o=t(),r=[];v.utils.arrayForEach(e.getElementsByTagName("option"),function(e){e.selected&&r.push(v.selectExtensions.readValue(e))}),v.expressionRewriting.writeValueToProperty(o,n,"selectedOptions",r)})},update:function(e,t){if("select"!=v.utils.tagNameLower(e))throw new Error("values binding applies only to SELECT elements");var n=v.utils.unwrapObservable(t()),o=e.scrollTop;n&&"number"==typeof n.length&&v.utils.arrayForEach(e.getElementsByTagName("option"),function(e){var t=v.utils.arrayIndexOf(n,v.selectExtensions.readValue(e))>=0;e.selected!=t&&v.utils.setOptionNodeSelectionState(e,t)}),e.scrollTop=o}},v.expressionRewriting.twoWayBindings.selectedOptions=!0,v.bindingHandlers.style={update:function(e,t){var n=v.utils.unwrapObservable(t()||{});v.utils.objectForEach(n,function(t,n){n=v.utils.unwrapObservable(n),null!==n&&n!==l&&n!==!1||(n=""),e.style[t]=n})}},v.bindingHandlers.submit={init:function(e,t,n,o,r){if("function"!=typeof t())throw new Error("The value for a submit binding must be a function");v.utils.registerEventHandler(e,"submit",function(n){var o,a=t();try{o=a.call(r.$data,e)}finally{o!==!0&&(n.preventDefault?n.preventDefault():n.returnValue=!1); -}})}},v.bindingHandlers.text={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){v.utils.setTextContent(e,t())}},v.virtualElements.allowedBindings.text=!0,function(){if(s&&s.navigator)var e=function(e){return e?parseFloat(e[1]):void 0},t=s.opera&&s.opera.version&&parseInt(s.opera.version()),n=s.navigator.userAgent,o=e(n.match(/^(?:(?!chrome).)*version\/([^ ]*) safari/i)),r=e(n.match(/Firefox\/([^ ]*)/));if(v.utils.ieVersion<10)var a=v.utils.domData.nextKey(),c=v.utils.domData.nextKey(),u=function(e){var t=this.activeElement,n=t&&v.utils.domData.get(t,c);n&&n(e)},d=function(e,t){var n=e.ownerDocument;v.utils.domData.get(n,a)||(v.utils.domData.set(n,a,!0),v.utils.registerEventHandler(n,"selectionchange",u)),v.utils.domData.set(e,c,t)};v.bindingHandlers.textInput={init:function(e,n,a){var s,c,u=e.value,p=function(t){clearTimeout(s),c=s=l;var o=e.value;u!==o&&(i&&t&&(e._ko_textInputProcessedEvent=t.type),u=o,v.expressionRewriting.writeValueToProperty(n(),a,"textInput",o))},f=function(t){if(!s){c=e.value;var n=i?p.bind(e,{type:t.type}):p;s=v.utils.setTimeout(n,4)}},b=9==v.utils.ieVersion?f:p,h=function(){var t=v.utils.unwrapObservable(n());return null!==t&&t!==l||(t=""),c!==l&&t===c?void v.utils.setTimeout(h,4):void(e.value!==t&&(u=t,e.value=t))},g=function(t,n){v.utils.registerEventHandler(e,t,n)};i&&v.bindingHandlers.textInput._forceUpdateOn?v.utils.arrayForEach(v.bindingHandlers.textInput._forceUpdateOn,function(e){"after"==e.slice(0,5)?g(e.slice(5),f):g(e,p)}):v.utils.ieVersion<10?(g("propertychange",function(e){"value"===e.propertyName&&b(e)}),8==v.utils.ieVersion&&(g("keyup",p),g("keydown",p)),v.utils.ieVersion>=8&&(d(e,b),g("dragend",f))):(g("input",p),5>o&&"textarea"===v.utils.tagNameLower(e)?(g("keydown",f),g("paste",f),g("cut",f)):11>t?g("keydown",f):4>r&&(g("DOMAutoComplete",p),g("dragdrop",p),g("drop",p))),g("change",p),v.computed(h,null,{disposeWhenNodeIsRemoved:e})}},v.expressionRewriting.twoWayBindings.textInput=!0,v.bindingHandlers.textinput={preprocess:function(e,t,n){n("textInput",e)}}}(),v.bindingHandlers.uniqueName={init:function(e,t){if(t()){var n="ko_unique_"+ ++v.bindingHandlers.uniqueName.currentIndex;v.utils.setElementName(e,n)}}},v.bindingHandlers.uniqueName.currentIndex=0,v.bindingHandlers.value={after:["options","foreach"],init:function(e,t,n){if("input"==e.tagName.toLowerCase()&&("checkbox"==e.type||"radio"==e.type))return void v.applyBindingAccessorsToNode(e,{checkedValue:t});var o=["change"],r=n.get("valueUpdate"),a=!1,i=null;r&&("string"==typeof r&&(r=[r]),v.utils.arrayPushAll(o,r),o=v.utils.arrayGetDistinctValues(o));var l=function(){i=null,a=!1;var o=t(),r=v.selectExtensions.readValue(e);v.expressionRewriting.writeValueToProperty(o,n,"value",r)},s=v.utils.ieVersion&&"input"==e.tagName.toLowerCase()&&"text"==e.type&&"off"!=e.autocomplete&&(!e.form||"off"!=e.form.autocomplete);s&&-1==v.utils.arrayIndexOf(o,"propertychange")&&(v.utils.registerEventHandler(e,"propertychange",function(){a=!0}),v.utils.registerEventHandler(e,"focus",function(){a=!1}),v.utils.registerEventHandler(e,"blur",function(){a&&l()})),v.utils.arrayForEach(o,function(t){var n=l;v.utils.stringStartsWith(t,"after")&&(n=function(){i=v.selectExtensions.readValue(e),v.utils.setTimeout(l,0)},t=t.substring("after".length)),v.utils.registerEventHandler(e,t,n)});var c=function(){var o=v.utils.unwrapObservable(t()),r=v.selectExtensions.readValue(e);if(null!==i&&o===i)return void v.utils.setTimeout(c,0);var a=o!==r;if(a)if("select"===v.utils.tagNameLower(e)){var l=n.get("valueAllowUnset"),s=function(){v.selectExtensions.writeValue(e,o,l)};s(),l||o===v.selectExtensions.readValue(e)?v.utils.setTimeout(s,0):v.dependencyDetection.ignore(v.utils.triggerEvent,null,[e,"change"])}else v.selectExtensions.writeValue(e,o)};v.computed(c,null,{disposeWhenNodeIsRemoved:e})},update:function(){}},v.expressionRewriting.twoWayBindings.value=!0,v.bindingHandlers.visible={update:function(e,t){var n=v.utils.unwrapObservable(t()),o=!("none"==e.style.display);n&&!o?e.style.display="":!n&&o&&(e.style.display="none")}},g("click"),v.templateEngine=function(){},v.templateEngine.prototype.renderTemplateSource=function(e,t,n,o){throw new Error("Override renderTemplateSource")},v.templateEngine.prototype.createJavaScriptEvaluatorBlock=function(e){throw new Error("Override createJavaScriptEvaluatorBlock")},v.templateEngine.prototype.makeTemplateSource=function(e,t){if("string"==typeof e){t=t||c;var n=t.getElementById(e);if(!n)throw new Error("Cannot find template with ID "+e);return new v.templateSources.domElement(n)}if(1==e.nodeType||8==e.nodeType)return new v.templateSources.anonymousTemplate(e);throw new Error("Unknown template type: "+e)},v.templateEngine.prototype.renderTemplate=function(e,t,n,o){var r=this.makeTemplateSource(e,o);return this.renderTemplateSource(r,t,n,o)},v.templateEngine.prototype.isTemplateRewritten=function(e,t){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(e,t).data("isRewritten")},v.templateEngine.prototype.rewriteTemplate=function(e,t,n){var o=this.makeTemplateSource(e,n),r=t(o.text());o.text(r),o.data("isRewritten",!0)},v.exportSymbol("templateEngine",v.templateEngine),v.templateRewriting=function(){function e(e){for(var t=v.expressionRewriting.bindingRewriteValidators,n=0;n]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,o=//g;return{ensureTemplateIsRewritten:function(e,t,n){t.isTemplateRewritten(e,n)||t.rewriteTemplate(e,function(e){return v.templateRewriting.memoizeBindingAttributeSyntax(e,t)},n)},memoizeBindingAttributeSyntax:function(e,r){return e.replace(n,function(){return t(arguments[4],arguments[1],arguments[2],r)}).replace(o,function(){return t(arguments[1],"","#comment",r)})},applyMemoizedBindingsToNextSibling:function(e,t){return v.memoization.memoize(function(n,o){var r=n.nextSibling;r&&r.nodeName.toLowerCase()===t&&v.applyBindingAccessorsToNode(r,e,o)})}}}(),v.exportSymbol("__tr_ambtns",v.templateRewriting.applyMemoizedBindingsToNextSibling),function(){function e(e){return v.utils.domData.get(e,s)||{}}function t(e,t){v.utils.domData.set(e,s,t)}v.templateSources={};var n=1,o=2,r=3,a=4;v.templateSources.domElement=function(e){if(this.domElement=e,e){var t=v.utils.tagNameLower(e);this.templateType="script"===t?n:"textarea"===t?o:"template"==t&&e.content&&11===e.content.nodeType?r:a}},v.templateSources.domElement.prototype.text=function(){var e=this.templateType===n?"text":this.templateType===o?"value":"innerHTML";if(0==arguments.length)return this.domElement[e];var t=arguments[0];"innerHTML"===e?v.utils.setHtml(this.domElement,t):this.domElement[e]=t};var i=v.utils.domData.nextKey()+"_";v.templateSources.domElement.prototype.data=function(e){return 1===arguments.length?v.utils.domData.get(this.domElement,i+e):void v.utils.domData.set(this.domElement,i+e,arguments[1])};var s=v.utils.domData.nextKey();v.templateSources.domElement.prototype.nodes=function(){var n=this.domElement;if(0==arguments.length){var o=e(n),i=o.containerData;return i||(this.templateType===r?n.content:this.templateType===a?n:l)}var s=arguments[0];t(n,{containerData:s})},v.templateSources.anonymousTemplate=function(e){this.domElement=e},v.templateSources.anonymousTemplate.prototype=new v.templateSources.domElement,v.templateSources.anonymousTemplate.prototype.constructor=v.templateSources.anonymousTemplate,v.templateSources.anonymousTemplate.prototype.text=function(){if(0==arguments.length){var n=e(this.domElement);return n.textData===l&&n.containerData&&(n.textData=n.containerData.innerHTML),n.textData}var o=arguments[0];t(this.domElement,{textData:o})},v.exportSymbol("templateSources",v.templateSources),v.exportSymbol("templateSources.domElement",v.templateSources.domElement),v.exportSymbol("templateSources.anonymousTemplate",v.templateSources.anonymousTemplate)}(),function(){function e(e,t,n){for(var o,r=e,a=v.virtualElements.nextSibling(t);r&&(o=r)!==a;)r=v.virtualElements.nextSibling(o),n(o,r)}function t(t,n){if(t.length){var o=t[0],r=t[t.length-1],a=o.parentNode,i=v.bindingProvider.instance,l=i.preprocessNode;if(l){if(e(o,r,function(e,t){var n=e.previousSibling,a=l.call(i,e);a&&(e===o&&(o=a[0]||t),e===r&&(r=a[a.length-1]||n))}),t.length=0,!o)return;o===r?t.push(o):(t.push(o,r),v.utils.fixUpContinuousNodeArray(t,a))}e(o,r,function(e){1!==e.nodeType&&8!==e.nodeType||v.applyBindings(n,e)}),e(o,r,function(e){1!==e.nodeType&&8!==e.nodeType||v.memoization.unmemoizeDomNodeAndDescendants(e,[n])}),v.utils.fixUpContinuousNodeArray(t,a)}}function n(e){return e.nodeType?e:e.length>0?e[0]:null}function o(e,o,r,a,l){l=l||{};var s=e&&n(e),c=(s||r||{}).ownerDocument,u=l.templateEngine||i;v.templateRewriting.ensureTemplateIsRewritten(r,u,c);var d=u.renderTemplate(r,a,l,c);if("number"!=typeof d.length||d.length>0&&"number"!=typeof d[0].nodeType)throw new Error("Template engine must return an array of DOM nodes");var p=!1;switch(o){case"replaceChildren":v.virtualElements.setDomNodeChildren(e,d),p=!0;break;case"replaceNode":v.utils.replaceDomNodes(e,d),p=!0;break;case"ignoreTargetNode":break;default:throw new Error("Unknown renderMode: "+o)}return p&&(t(d,a),l.afterRender&&v.dependencyDetection.ignore(l.afterRender,null,[d,a.$data])),d}function r(e,t,n){return v.isObservable(e)?e():"function"==typeof e?e(t,n):e}function a(e,t){var n=v.utils.domData.get(e,s);n&&"function"==typeof n.dispose&&n.dispose(),v.utils.domData.set(e,s,t&&t.isActive()?t:l)}var i;v.setTemplateEngine=function(e){if(e!=l&&!(e instanceof v.templateEngine))throw new Error("templateEngine must inherit from ko.templateEngine");i=e},v.renderTemplate=function(e,t,a,s,c){if(a=a||{},(a.templateEngine||i)==l)throw new Error("Set a template engine before calling renderTemplate");if(c=c||"replaceChildren",s){var u=n(s),d=function(){return!u||!v.utils.domNodeIsAttachedToDocument(u)},p=u&&"replaceNode"==c?u.parentNode:u;return v.dependentObservable(function(){var i=t&&t instanceof v.bindingContext?t:new v.bindingContext(v.utils.unwrapObservable(t)),l=r(e,i.$data,i),d=o(s,c,l,i,a);"replaceNode"==c&&(s=d,u=n(s))},null,{disposeWhen:d,disposeWhenNodeIsRemoved:p})}return v.memoization.memoize(function(n){v.renderTemplate(e,t,a,n,"replaceNode")})},v.renderTemplateForEach=function(e,n,a,i,s){var c,u=function(t,n){c=s.createChildContext(t,a.as,function(e){e.$index=n});var i=r(e,t,c);return o(null,"ignoreTargetNode",i,c,a)},d=function(e,n,o){t(n,c),a.afterRender&&a.afterRender(n,e),c=null};return v.dependentObservable(function(){var e=v.utils.unwrapObservable(n)||[];"undefined"==typeof e.length&&(e=[e]);var t=v.utils.arrayFilter(e,function(e){return a.includeDestroyed||e===l||null===e||!v.utils.unwrapObservable(e._destroy)});v.dependencyDetection.ignore(v.utils.setDomNodeChildrenFromArrayMapping,null,[i,t,u,a,d])},null,{disposeWhenNodeIsRemoved:i})};var s=v.utils.domData.nextKey();v.bindingHandlers.template={init:function(e,t){var n=v.utils.unwrapObservable(t());if("string"==typeof n||n.name)v.virtualElements.emptyNode(e);else if("nodes"in n){var o=n.nodes||[];if(v.isObservable(o))throw new Error('The "nodes" option must be a plain, non-observable array.');var r=v.utils.moveCleanedNodesToContainerElement(o);new v.templateSources.anonymousTemplate(e).nodes(r)}else{var a=v.virtualElements.childNodes(e),r=v.utils.moveCleanedNodesToContainerElement(a);new v.templateSources.anonymousTemplate(e).nodes(r)}return{controlsDescendantBindings:!0}},update:function(e,t,n,o,r){var i,l,s=t(),c=v.utils.unwrapObservable(s),u=!0,d=null;if("string"==typeof c?(l=s,c={}):(l=c.name,"if"in c&&(u=v.utils.unwrapObservable(c["if"])),u&&"ifnot"in c&&(u=!v.utils.unwrapObservable(c.ifnot)),i=v.utils.unwrapObservable(c.data)),"foreach"in c){var p=u&&c.foreach||[];d=v.renderTemplateForEach(l||e,p,c,e,r)}else if(u){var f="data"in c?r.createChildContext(i,c.as):r;d=v.renderTemplate(l||e,f,c,e)}else v.virtualElements.emptyNode(e);a(e,d)}},v.expressionRewriting.bindingRewriteValidators.template=function(e){var t=v.expressionRewriting.parseObjectLiteral(e);return 1==t.length&&t[0].unknown?null:v.expressionRewriting.keyValueArrayContainsKey(t,"name")?null:"This template engine does not support anonymous templates nested within its templates"},v.virtualElements.allowedBindings.template=!0}(),v.exportSymbol("setTemplateEngine",v.setTemplateEngine),v.exportSymbol("renderTemplate",v.renderTemplate),v.utils.findMovesInArrayComparison=function(e,t,n){if(e.length&&t.length){var o,r,a,i,l;for(o=r=0;(!n||n>o)&&(i=e[r]);++r){for(a=0;l=t[a];++a)if(i.value===l.value){i.moved=l.index,l.moved=i.index,t.splice(a,1),o=a=0;break}o+=a}}},v.utils.compareArrays=function(){function e(e,r,a){return a="boolean"==typeof a?{dontLimitMoves:a}:a||{},e=e||[],r=r||[],e.length=a;a++)for(s=l,f.push(l=[]),c=d(h,a+g),u=p(0,a-1),i=u;c>=i;i++)if(i)if(a)if(e[a-1]===t[i-1])l[i]=s[i-1];else{var y=s[i]||m,x=l[i-1]||m;l[i]=d(y,x)+1}else l[i]=i+1;else l[i]=a+1;var w,k=[],F=[],S=[];for(a=b,i=h;a||i;)w=f[a][i]-1,i&&w===f[a][i-1]?F.push(k[k.length]={status:n,value:t[--i],index:i}):a&&w===f[a-1][i]?S.push(k[k.length]={status:o,value:e[--a],index:a}):(--i,--a,r.sparse||k.push({status:"retained",value:t[i]}));return v.utils.findMovesInArrayComparison(S,F,!r.dontLimitMoves&&10*b),k.reverse()}var n="added",o="deleted";return e}(),v.exportSymbol("utils.compareArrays",v.utils.compareArrays),function(){function e(e,t,n,o,r){var a=[],i=v.dependentObservable(function(){var i=t(n,r,v.utils.fixUpContinuousNodeArray(a,e))||[];a.length>0&&(v.utils.replaceDomNodes(a,i),o&&v.dependencyDetection.ignore(o,null,[n,i,r])),a.length=0,v.utils.arrayPushAll(a,i)},null,{disposeWhenNodeIsRemoved:e,disposeWhen:function(){return!v.utils.anyDomNodeIsAttachedToDocument(a)}});return{mappedNodes:a,dependentObservable:i.isActive()?i:l}}var t=v.utils.domData.nextKey(),n=v.utils.domData.nextKey();v.utils.setDomNodeChildrenFromArrayMapping=function(o,r,a,i,s){function c(e,t){d=h[t],w!==t&&(E[e]=d),d.indexObservable(w++),v.utils.fixUpContinuousNodeArray(d.mappedNodes,o),y.push(d),F.push(d)}function u(e,t){if(e)for(var n=0,o=t.length;o>n;n++)t[n]&&v.utils.arrayForEach(t[n].mappedNodes,function(o){e(o,n,t[n].arrayEntry)})}r=r||[],i=i||{};for(var d,p,f,b=v.utils.domData.get(o,t)===l,h=v.utils.domData.get(o,t)||[],g=v.utils.arrayMap(h,function(e){return e.arrayEntry}),m=v.utils.compareArrays(g,r,i.dontLimitMoves),y=[],x=0,w=0,k=[],F=[],S=[],E=[],C=[],T=0;p=m[T];T++)switch(f=p.moved,p.status){case"deleted":f===l&&(d=h[x],d.dependentObservable&&(d.dependentObservable.dispose(),d.dependentObservable=l),v.utils.fixUpContinuousNodeArray(d.mappedNodes,o).length&&(i.beforeRemove&&(y.push(d),F.push(d),d.arrayEntry===n?d=null:S[T]=d),d&&k.push.apply(k,d.mappedNodes))),x++;break;case"retained":c(T,x++);break;case"added":f!==l?c(T,f):(d={arrayEntry:p.value,indexObservable:v.observable(w++)},y.push(d),F.push(d),b||(C[T]=d))}v.utils.domData.set(o,t,y),u(i.beforeMove,E),v.utils.arrayForEach(k,i.beforeRemove?v.cleanNode:v.removeNode);for(var N,A,T=0,D=v.virtualElements.firstChild(o);d=F[T];T++){d.mappedNodes||v.utils.extend(d,e(o,a,d.arrayEntry,s,d.indexObservable));for(var O=0;A=d.mappedNodes[O];D=A.nextSibling,N=A,O++)A!==D&&v.virtualElements.insertAfter(o,A,N);!d.initialized&&s&&(s(d.arrayEntry,d.mappedNodes,d.indexObservable),d.initialized=!0)}for(u(i.beforeRemove,S),T=0;Tn)throw new Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.")}function t(e,t,n){return d.tmpl(e,t,n)}var n=this.jQueryTmplVersion=function(){if(!d||!d.tmpl)return 0;try{if(d.tmpl.tag.tmpl.open.toString().indexOf("__")>=0)return 2}catch(e){}return 1}();this.renderTemplateSource=function(n,o,r,a){a=a||c,r=r||{},e();var i=n.data("precompiled");if(!i){var l=n.text()||"";l="{{ko_with $item.koBindingContext}}"+l+"{{/ko_with}}",i=d.template(null,l),n.data("precompiled",i)}var s=[o.$data],u=d.extend({koBindingContext:o},r.templateOptions),p=t(i,s,u);return p.appendTo(a.createElement("div")),d.fragments={},p},this.createJavaScriptEvaluatorBlock=function(e){return"{{ko_code ((function() { return "+e+" })()) }}"},this.addTemplate=function(e,t){c.write("")},n>0&&(d.tmpl.tag.ko_code={open:"__.push($1 || '');"},d.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},v.jqueryTmplTemplateEngine.prototype=new v.templateEngine,v.jqueryTmplTemplateEngine.prototype.constructor=v.jqueryTmplTemplateEngine;var e=new v.jqueryTmplTemplateEngine;e.jQueryTmplVersion>0&&v.setTemplateEngine(e),v.exportSymbol("jqueryTmplTemplateEngine",v.jqueryTmplTemplateEngine)}()})}()}()}).call(t,n(9)(e))},function(e,t,n){var o,r;/*! +}})}},v.bindingHandlers.text={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){v.utils.setTextContent(e,t())}},v.virtualElements.allowedBindings.text=!0,function(){if(s&&s.navigator)var e=function(e){return e?parseFloat(e[1]):void 0},t=s.opera&&s.opera.version&&parseInt(s.opera.version()),n=s.navigator.userAgent,o=e(n.match(/^(?:(?!chrome).)*version\/([^ ]*) safari/i)),r=e(n.match(/Firefox\/([^ ]*)/));if(v.utils.ieVersion<10)var a=v.utils.domData.nextKey(),c=v.utils.domData.nextKey(),u=function(e){var t=this.activeElement,n=t&&v.utils.domData.get(t,c);n&&n(e)},d=function(e,t){var n=e.ownerDocument;v.utils.domData.get(n,a)||(v.utils.domData.set(n,a,!0),v.utils.registerEventHandler(n,"selectionchange",u)),v.utils.domData.set(e,c,t)};v.bindingHandlers.textInput={init:function(e,n,a){var s,c,u=e.value,p=function(t){clearTimeout(s),c=s=l;var o=e.value;u!==o&&(i&&t&&(e._ko_textInputProcessedEvent=t.type),u=o,v.expressionRewriting.writeValueToProperty(n(),a,"textInput",o))},f=function(t){if(!s){c=e.value;var n=i?p.bind(e,{type:t.type}):p;s=v.utils.setTimeout(n,4)}},b=9==v.utils.ieVersion?f:p,h=function(){var t=v.utils.unwrapObservable(n());return null!==t&&t!==l||(t=""),c!==l&&t===c?void v.utils.setTimeout(h,4):void(e.value!==t&&(u=t,e.value=t))},g=function(t,n){v.utils.registerEventHandler(e,t,n)};i&&v.bindingHandlers.textInput._forceUpdateOn?v.utils.arrayForEach(v.bindingHandlers.textInput._forceUpdateOn,function(e){"after"==e.slice(0,5)?g(e.slice(5),f):g(e,p)}):v.utils.ieVersion<10?(g("propertychange",function(e){"value"===e.propertyName&&b(e)}),8==v.utils.ieVersion&&(g("keyup",p),g("keydown",p)),v.utils.ieVersion>=8&&(d(e,b),g("dragend",f))):(g("input",p),5>o&&"textarea"===v.utils.tagNameLower(e)?(g("keydown",f),g("paste",f),g("cut",f)):11>t?g("keydown",f):4>r&&(g("DOMAutoComplete",p),g("dragdrop",p),g("drop",p))),g("change",p),v.computed(h,null,{disposeWhenNodeIsRemoved:e})}},v.expressionRewriting.twoWayBindings.textInput=!0,v.bindingHandlers.textinput={preprocess:function(e,t,n){n("textInput",e)}}}(),v.bindingHandlers.uniqueName={init:function(e,t){if(t()){var n="ko_unique_"+ ++v.bindingHandlers.uniqueName.currentIndex;v.utils.setElementName(e,n)}}},v.bindingHandlers.uniqueName.currentIndex=0,v.bindingHandlers.value={after:["options","foreach"],init:function(e,t,n){if("input"==e.tagName.toLowerCase()&&("checkbox"==e.type||"radio"==e.type))return void v.applyBindingAccessorsToNode(e,{checkedValue:t});var o=["change"],r=n.get("valueUpdate"),a=!1,i=null;r&&("string"==typeof r&&(r=[r]),v.utils.arrayPushAll(o,r),o=v.utils.arrayGetDistinctValues(o));var l=function(){i=null,a=!1;var o=t(),r=v.selectExtensions.readValue(e);v.expressionRewriting.writeValueToProperty(o,n,"value",r)},s=v.utils.ieVersion&&"input"==e.tagName.toLowerCase()&&"text"==e.type&&"off"!=e.autocomplete&&(!e.form||"off"!=e.form.autocomplete);s&&-1==v.utils.arrayIndexOf(o,"propertychange")&&(v.utils.registerEventHandler(e,"propertychange",function(){a=!0}),v.utils.registerEventHandler(e,"focus",function(){a=!1}),v.utils.registerEventHandler(e,"blur",function(){a&&l()})),v.utils.arrayForEach(o,function(t){var n=l;v.utils.stringStartsWith(t,"after")&&(n=function(){i=v.selectExtensions.readValue(e),v.utils.setTimeout(l,0)},t=t.substring("after".length)),v.utils.registerEventHandler(e,t,n)});var c=function(){var o=v.utils.unwrapObservable(t()),r=v.selectExtensions.readValue(e);if(null!==i&&o===i)return void v.utils.setTimeout(c,0);var a=o!==r;if(a)if("select"===v.utils.tagNameLower(e)){var l=n.get("valueAllowUnset"),s=function(){v.selectExtensions.writeValue(e,o,l)};s(),l||o===v.selectExtensions.readValue(e)?v.utils.setTimeout(s,0):v.dependencyDetection.ignore(v.utils.triggerEvent,null,[e,"change"])}else v.selectExtensions.writeValue(e,o)};v.computed(c,null,{disposeWhenNodeIsRemoved:e})},update:function(){}},v.expressionRewriting.twoWayBindings.value=!0,v.bindingHandlers.visible={update:function(e,t){var n=v.utils.unwrapObservable(t()),o=!("none"==e.style.display);n&&!o?e.style.display="":!n&&o&&(e.style.display="none")}},g("click"),v.templateEngine=function(){},v.templateEngine.prototype.renderTemplateSource=function(e,t,n,o){throw new Error("Override renderTemplateSource")},v.templateEngine.prototype.createJavaScriptEvaluatorBlock=function(e){throw new Error("Override createJavaScriptEvaluatorBlock")},v.templateEngine.prototype.makeTemplateSource=function(e,t){if("string"==typeof e){t=t||c;var n=t.getElementById(e);if(!n)throw new Error("Cannot find template with ID "+e);return new v.templateSources.domElement(n)}if(1==e.nodeType||8==e.nodeType)return new v.templateSources.anonymousTemplate(e);throw new Error("Unknown template type: "+e)},v.templateEngine.prototype.renderTemplate=function(e,t,n,o){var r=this.makeTemplateSource(e,o);return this.renderTemplateSource(r,t,n,o)},v.templateEngine.prototype.isTemplateRewritten=function(e,t){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(e,t).data("isRewritten")},v.templateEngine.prototype.rewriteTemplate=function(e,t,n){var o=this.makeTemplateSource(e,n),r=t(o.text());o.text(r),o.data("isRewritten",!0)},v.exportSymbol("templateEngine",v.templateEngine),v.templateRewriting=function(){function e(e){for(var t=v.expressionRewriting.bindingRewriteValidators,n=0;n]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,o=//g;return{ensureTemplateIsRewritten:function(e,t,n){t.isTemplateRewritten(e,n)||t.rewriteTemplate(e,function(e){return v.templateRewriting.memoizeBindingAttributeSyntax(e,t)},n)},memoizeBindingAttributeSyntax:function(e,r){return e.replace(n,function(){return t(arguments[4],arguments[1],arguments[2],r)}).replace(o,function(){return t(arguments[1],"","#comment",r)})},applyMemoizedBindingsToNextSibling:function(e,t){return v.memoization.memoize(function(n,o){var r=n.nextSibling;r&&r.nodeName.toLowerCase()===t&&v.applyBindingAccessorsToNode(r,e,o)})}}}(),v.exportSymbol("__tr_ambtns",v.templateRewriting.applyMemoizedBindingsToNextSibling),function(){function e(e){return v.utils.domData.get(e,s)||{}}function t(e,t){v.utils.domData.set(e,s,t)}v.templateSources={};var n=1,o=2,r=3,a=4;v.templateSources.domElement=function(e){if(this.domElement=e,e){var t=v.utils.tagNameLower(e);this.templateType="script"===t?n:"textarea"===t?o:"template"==t&&e.content&&11===e.content.nodeType?r:a}},v.templateSources.domElement.prototype.text=function(){var e=this.templateType===n?"text":this.templateType===o?"value":"innerHTML";if(0==arguments.length)return this.domElement[e];var t=arguments[0];"innerHTML"===e?v.utils.setHtml(this.domElement,t):this.domElement[e]=t};var i=v.utils.domData.nextKey()+"_";v.templateSources.domElement.prototype.data=function(e){return 1===arguments.length?v.utils.domData.get(this.domElement,i+e):void v.utils.domData.set(this.domElement,i+e,arguments[1])};var s=v.utils.domData.nextKey();v.templateSources.domElement.prototype.nodes=function(){var n=this.domElement;if(0==arguments.length){var o=e(n),i=o.containerData;return i||(this.templateType===r?n.content:this.templateType===a?n:l)}var s=arguments[0];t(n,{containerData:s})},v.templateSources.anonymousTemplate=function(e){this.domElement=e},v.templateSources.anonymousTemplate.prototype=new v.templateSources.domElement,v.templateSources.anonymousTemplate.prototype.constructor=v.templateSources.anonymousTemplate,v.templateSources.anonymousTemplate.prototype.text=function(){if(0==arguments.length){var n=e(this.domElement);return n.textData===l&&n.containerData&&(n.textData=n.containerData.innerHTML),n.textData}var o=arguments[0];t(this.domElement,{textData:o})},v.exportSymbol("templateSources",v.templateSources),v.exportSymbol("templateSources.domElement",v.templateSources.domElement),v.exportSymbol("templateSources.anonymousTemplate",v.templateSources.anonymousTemplate)}(),function(){function e(e,t,n){for(var o,r=e,a=v.virtualElements.nextSibling(t);r&&(o=r)!==a;)r=v.virtualElements.nextSibling(o),n(o,r)}function t(t,n){if(t.length){var o=t[0],r=t[t.length-1],a=o.parentNode,i=v.bindingProvider.instance,l=i.preprocessNode;if(l){if(e(o,r,function(e,t){var n=e.previousSibling,a=l.call(i,e);a&&(e===o&&(o=a[0]||t),e===r&&(r=a[a.length-1]||n))}),t.length=0,!o)return;o===r?t.push(o):(t.push(o,r),v.utils.fixUpContinuousNodeArray(t,a))}e(o,r,function(e){1!==e.nodeType&&8!==e.nodeType||v.applyBindings(n,e)}),e(o,r,function(e){1!==e.nodeType&&8!==e.nodeType||v.memoization.unmemoizeDomNodeAndDescendants(e,[n])}),v.utils.fixUpContinuousNodeArray(t,a)}}function n(e){return e.nodeType?e:e.length>0?e[0]:null}function o(e,o,r,a,l){l=l||{};var s=e&&n(e),c=(s||r||{}).ownerDocument,u=l.templateEngine||i;v.templateRewriting.ensureTemplateIsRewritten(r,u,c);var d=u.renderTemplate(r,a,l,c);if("number"!=typeof d.length||d.length>0&&"number"!=typeof d[0].nodeType)throw new Error("Template engine must return an array of DOM nodes");var p=!1;switch(o){case"replaceChildren":v.virtualElements.setDomNodeChildren(e,d),p=!0;break;case"replaceNode":v.utils.replaceDomNodes(e,d),p=!0;break;case"ignoreTargetNode":break;default:throw new Error("Unknown renderMode: "+o)}return p&&(t(d,a),l.afterRender&&v.dependencyDetection.ignore(l.afterRender,null,[d,a.$data])),d}function r(e,t,n){return v.isObservable(e)?e():"function"==typeof e?e(t,n):e}function a(e,t){var n=v.utils.domData.get(e,s);n&&"function"==typeof n.dispose&&n.dispose(),v.utils.domData.set(e,s,t&&t.isActive()?t:l)}var i;v.setTemplateEngine=function(e){if(e!=l&&!(e instanceof v.templateEngine))throw new Error("templateEngine must inherit from ko.templateEngine");i=e},v.renderTemplate=function(e,t,a,s,c){if(a=a||{},(a.templateEngine||i)==l)throw new Error("Set a template engine before calling renderTemplate");if(c=c||"replaceChildren",s){var u=n(s),d=function(){return!u||!v.utils.domNodeIsAttachedToDocument(u)},p=u&&"replaceNode"==c?u.parentNode:u;return v.dependentObservable(function(){var i=t&&t instanceof v.bindingContext?t:new v.bindingContext(v.utils.unwrapObservable(t)),l=r(e,i.$data,i),d=o(s,c,l,i,a);"replaceNode"==c&&(s=d,u=n(s))},null,{disposeWhen:d,disposeWhenNodeIsRemoved:p})}return v.memoization.memoize(function(n){v.renderTemplate(e,t,a,n,"replaceNode")})},v.renderTemplateForEach=function(e,n,a,i,s){var c,u=function(t,n){c=s.createChildContext(t,a.as,function(e){e.$index=n});var i=r(e,t,c);return o(null,"ignoreTargetNode",i,c,a)},d=function(e,n,o){t(n,c),a.afterRender&&a.afterRender(n,e),c=null};return v.dependentObservable(function(){var e=v.utils.unwrapObservable(n)||[];"undefined"==typeof e.length&&(e=[e]);var t=v.utils.arrayFilter(e,function(e){return a.includeDestroyed||e===l||null===e||!v.utils.unwrapObservable(e._destroy)});v.dependencyDetection.ignore(v.utils.setDomNodeChildrenFromArrayMapping,null,[i,t,u,a,d])},null,{disposeWhenNodeIsRemoved:i})};var s=v.utils.domData.nextKey();v.bindingHandlers.template={init:function(e,t){var n=v.utils.unwrapObservable(t());if("string"==typeof n||n.name)v.virtualElements.emptyNode(e);else if("nodes"in n){var o=n.nodes||[];if(v.isObservable(o))throw new Error('The "nodes" option must be a plain, non-observable array.');var r=v.utils.moveCleanedNodesToContainerElement(o);new v.templateSources.anonymousTemplate(e).nodes(r)}else{var a=v.virtualElements.childNodes(e),r=v.utils.moveCleanedNodesToContainerElement(a);new v.templateSources.anonymousTemplate(e).nodes(r)}return{controlsDescendantBindings:!0}},update:function(e,t,n,o,r){var i,l,s=t(),c=v.utils.unwrapObservable(s),u=!0,d=null;if("string"==typeof c?(l=s,c={}):(l=c.name,"if"in c&&(u=v.utils.unwrapObservable(c["if"])),u&&"ifnot"in c&&(u=!v.utils.unwrapObservable(c.ifnot)),i=v.utils.unwrapObservable(c.data)),"foreach"in c){var p=u&&c.foreach||[];d=v.renderTemplateForEach(l||e,p,c,e,r)}else if(u){var f="data"in c?r.createChildContext(i,c.as):r;d=v.renderTemplate(l||e,f,c,e)}else v.virtualElements.emptyNode(e);a(e,d)}},v.expressionRewriting.bindingRewriteValidators.template=function(e){var t=v.expressionRewriting.parseObjectLiteral(e);return 1==t.length&&t[0].unknown?null:v.expressionRewriting.keyValueArrayContainsKey(t,"name")?null:"This template engine does not support anonymous templates nested within its templates"},v.virtualElements.allowedBindings.template=!0}(),v.exportSymbol("setTemplateEngine",v.setTemplateEngine),v.exportSymbol("renderTemplate",v.renderTemplate),v.utils.findMovesInArrayComparison=function(e,t,n){if(e.length&&t.length){var o,r,a,i,l;for(o=r=0;(!n||n>o)&&(i=e[r]);++r){for(a=0;l=t[a];++a)if(i.value===l.value){i.moved=l.index,l.moved=i.index,t.splice(a,1),o=a=0;break}o+=a}}},v.utils.compareArrays=function(){function e(e,r,a){return a="boolean"==typeof a?{dontLimitMoves:a}:a||{},e=e||[],r=r||[],e.length=a;a++)for(s=l,f.push(l=[]),c=d(h,a+g),u=p(0,a-1),i=u;c>=i;i++)if(i)if(a)if(e[a-1]===t[i-1])l[i]=s[i-1];else{var y=s[i]||m,x=l[i-1]||m;l[i]=d(y,x)+1}else l[i]=i+1;else l[i]=a+1;var w,k=[],F=[],E=[];for(a=b,i=h;a||i;)w=f[a][i]-1,i&&w===f[a][i-1]?F.push(k[k.length]={status:n,value:t[--i],index:i}):a&&w===f[a-1][i]?E.push(k[k.length]={status:o,value:e[--a],index:a}):(--i,--a,r.sparse||k.push({status:"retained",value:t[i]}));return v.utils.findMovesInArrayComparison(E,F,!r.dontLimitMoves&&10*b),k.reverse()}var n="added",o="deleted";return e}(),v.exportSymbol("utils.compareArrays",v.utils.compareArrays),function(){function e(e,t,n,o,r){var a=[],i=v.dependentObservable(function(){var i=t(n,r,v.utils.fixUpContinuousNodeArray(a,e))||[];a.length>0&&(v.utils.replaceDomNodes(a,i),o&&v.dependencyDetection.ignore(o,null,[n,i,r])),a.length=0,v.utils.arrayPushAll(a,i)},null,{disposeWhenNodeIsRemoved:e,disposeWhen:function(){return!v.utils.anyDomNodeIsAttachedToDocument(a)}});return{mappedNodes:a,dependentObservable:i.isActive()?i:l}}var t=v.utils.domData.nextKey(),n=v.utils.domData.nextKey();v.utils.setDomNodeChildrenFromArrayMapping=function(o,r,a,i,s){function c(e,t){d=h[t],w!==t&&(S[e]=d),d.indexObservable(w++),v.utils.fixUpContinuousNodeArray(d.mappedNodes,o),y.push(d),F.push(d)}function u(e,t){if(e)for(var n=0,o=t.length;o>n;n++)t[n]&&v.utils.arrayForEach(t[n].mappedNodes,function(o){e(o,n,t[n].arrayEntry)})}r=r||[],i=i||{};for(var d,p,f,b=v.utils.domData.get(o,t)===l,h=v.utils.domData.get(o,t)||[],g=v.utils.arrayMap(h,function(e){return e.arrayEntry}),m=v.utils.compareArrays(g,r,i.dontLimitMoves),y=[],x=0,w=0,k=[],F=[],E=[],S=[],C=[],T=0;p=m[T];T++)switch(f=p.moved,p.status){case"deleted":f===l&&(d=h[x],d.dependentObservable&&(d.dependentObservable.dispose(),d.dependentObservable=l),v.utils.fixUpContinuousNodeArray(d.mappedNodes,o).length&&(i.beforeRemove&&(y.push(d),F.push(d),d.arrayEntry===n?d=null:E[T]=d),d&&k.push.apply(k,d.mappedNodes))),x++;break;case"retained":c(T,x++);break;case"added":f!==l?c(T,f):(d={arrayEntry:p.value,indexObservable:v.observable(w++)},y.push(d),F.push(d),b||(C[T]=d))}v.utils.domData.set(o,t,y),u(i.beforeMove,S),v.utils.arrayForEach(k,i.beforeRemove?v.cleanNode:v.removeNode);for(var N,A,T=0,D=v.virtualElements.firstChild(o);d=F[T];T++){d.mappedNodes||v.utils.extend(d,e(o,a,d.arrayEntry,s,d.indexObservable));for(var O=0;A=d.mappedNodes[O];D=A.nextSibling,N=A,O++)A!==D&&v.virtualElements.insertAfter(o,A,N);!d.initialized&&s&&(s(d.arrayEntry,d.mappedNodes,d.indexObservable),d.initialized=!0)}for(u(i.beforeRemove,E),T=0;Tn)throw new Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.")}function t(e,t,n){return d.tmpl(e,t,n)}var n=this.jQueryTmplVersion=function(){if(!d||!d.tmpl)return 0;try{if(d.tmpl.tag.tmpl.open.toString().indexOf("__")>=0)return 2}catch(e){}return 1}();this.renderTemplateSource=function(n,o,r,a){a=a||c,r=r||{},e();var i=n.data("precompiled");if(!i){var l=n.text()||"";l="{{ko_with $item.koBindingContext}}"+l+"{{/ko_with}}",i=d.template(null,l),n.data("precompiled",i)}var s=[o.$data],u=d.extend({koBindingContext:o},r.templateOptions),p=t(i,s,u);return p.appendTo(a.createElement("div")),d.fragments={},p},this.createJavaScriptEvaluatorBlock=function(e){return"{{ko_code ((function() { return "+e+" })()) }}"},this.addTemplate=function(e,t){c.write("")},n>0&&(d.tmpl.tag.ko_code={open:"__.push($1 || '');"},d.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},v.jqueryTmplTemplateEngine.prototype=new v.templateEngine,v.jqueryTmplTemplateEngine.prototype.constructor=v.jqueryTmplTemplateEngine;var e=new v.jqueryTmplTemplateEngine;e.jQueryTmplVersion>0&&v.setTemplateEngine(e),v.exportSymbol("jqueryTmplTemplateEngine",v.jqueryTmplTemplateEngine)}()})}()}()}).call(t,n(9)(e))},function(e,t,n){var o,r;/*! * jQuery JavaScript Library v2.2.4 * http://jquery.com/ * @@ -18,7 +18,7 @@ this._evalDelayed=function(){this._limitBeforeChange(this[C].latestValue),this[C * * Date: 2016-05-20T17:23Z */ -!function(t,n){"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,a){function i(e){var t=!!e&&"length"in e&&e.length,n=ce.type(e);return"function"===n||ce.isWindow(e)?!1:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function l(e,t,n){if(ce.isFunction(t))return ce.grep(e,function(e,o){return!!t.call(e,o,e)!==n});if(t.nodeType)return ce.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(ye.test(t))return ce.filter(t,e,n);t=ce.filter(t,e)}return ce.grep(e,function(e){return oe.call(t,e)>-1!==n})}function s(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function c(e){var t={};return ce.each(e.match(Ee)||[],function(e,n){t[n]=!0}),t}function u(){Z.removeEventListener("DOMContentLoaded",u),n.removeEventListener("load",u),ce.ready()}function d(){this.expando=ce.expando+d.uid++}function p(e,t,n){var o;if(void 0===n&&1===e.nodeType)if(o="data-"+t.replace(je,"-$&").toLowerCase(),n=e.getAttribute(o),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:Oe.test(n)?ce.parseJSON(n):n}catch(r){}De.set(e,t,n)}else n=void 0;return n}function f(e,t,n,o){var r,a=1,i=20,l=o?function(){return o.cur()}:function(){return ce.css(e,t,"")},s=l(),c=n&&n[3]||(ce.cssNumber[t]?"":"px"),u=(ce.cssNumber[t]||"px"!==c&&+s)&&_e.exec(ce.css(e,t));if(u&&u[3]!==c){c=c||u[3],n=n||[],u=+s||1;do a=a||".5",u/=a,ce.style(e,t,u+c);while(a!==(a=l()/s)&&1!==a&&--i)}return n&&(u=+u||+s||0,r=n[1]?u+(n[1]+1)*n[2]:+n[2],o&&(o.unit=c,o.start=u,o.end=r)),r}function b(e,t){var n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&ce.nodeName(e,t)?ce.merge([e],n):n}function h(e,t){for(var n=0,o=e.length;o>n;n++)Ae.set(e[n],"globalEval",!t||Ae.get(t[n],"globalEval"))}function g(e,t,n,o,r){for(var a,i,l,s,c,u,d=t.createDocumentFragment(),p=[],f=0,g=e.length;g>f;f++)if(a=e[f],a||0===a)if("object"===ce.type(a))ce.merge(p,a.nodeType?[a]:a);else if(He.test(a)){for(i=i||d.appendChild(t.createElement("div")),l=(ze.exec(a)||["",""])[1].toLowerCase(),s=Le[l]||Le._default,i.innerHTML=s[1]+ce.htmlPrefilter(a)+s[2],u=s[0];u--;)i=i.lastChild;ce.merge(p,i.childNodes),i=d.firstChild,i.textContent=""}else p.push(t.createTextNode(a));for(d.textContent="",f=0;a=p[f++];)if(o&&ce.inArray(a,o)>-1)r&&r.push(a);else if(c=ce.contains(a.ownerDocument,a),i=b(d.appendChild(a),"script"),c&&h(i),n)for(u=0;a=i[u++];)Me.test(a.type||"")&&n.push(a);return d}function m(){return!0}function v(){return!1}function y(){try{return Z.activeElement}catch(e){}}function x(e,t,n,o,r,a){var i,l;if("object"==typeof t){"string"!=typeof n&&(o=o||n,n=void 0);for(l in t)x(e,l,n,o,t[l],a);return e}if(null==o&&null==r?(r=n,o=n=void 0):null==r&&("string"==typeof n?(r=o,o=void 0):(r=o,o=n,n=void 0)),r===!1)r=v;else if(!r)return e;return 1===a&&(i=r,r=function(e){return ce().off(e),i.apply(this,arguments)},r.guid=i.guid||(i.guid=ce.guid++)),e.each(function(){ce.event.add(this,t,r,o,n)})}function w(e,t){return ce.nodeName(e,"table")&&ce.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function F(e){var t=Xe.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,o,r,a,i,l,s,c;if(1===t.nodeType){if(Ae.hasData(e)&&(a=Ae.access(e),i=Ae.set(t,a),c=a.events)){delete i.handle,i.events={};for(r in c)for(n=0,o=c[r].length;o>n;n++)ce.event.add(t,r,c[r][n])}De.hasData(e)&&(l=De.access(e),s=ce.extend({},l),De.set(t,s))}}function E(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Be.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function C(e,t,n,o){t=te.apply([],t);var r,a,i,l,s,c,u=0,d=e.length,p=d-1,f=t[0],h=ce.isFunction(f);if(h||d>1&&"string"==typeof f&&!le.checkClone&&Je.test(f))return e.each(function(r){var a=e.eq(r);h&&(t[0]=f.call(this,r,a.html())),C(a,t,n,o)});if(d&&(r=g(t,e[0].ownerDocument,!1,e,o),a=r.firstChild,1===r.childNodes.length&&(r=a),a||o)){for(i=ce.map(b(r,"script"),k),l=i.length;d>u;u++)s=r,u!==p&&(s=ce.clone(s,!0,!0),l&&ce.merge(i,b(s,"script"))),n.call(e[u],s,u);if(l)for(c=i[i.length-1].ownerDocument,ce.map(i,F),u=0;l>u;u++)s=i[u],Me.test(s.type||"")&&!Ae.access(s,"globalEval")&&ce.contains(c,s)&&(s.src?ce._evalUrl&&ce._evalUrl(s.src):ce.globalEval(s.textContent.replace(Ye,"")))}return e}function T(e,t,n){for(var o,r=t?ce.filter(t,e):e,a=0;null!=(o=r[a]);a++)n||1!==o.nodeType||ce.cleanData(b(o)),o.parentNode&&(n&&ce.contains(o.ownerDocument,o)&&h(b(o,"script")),o.parentNode.removeChild(o));return e}function N(e,t){var n=ce(t.createElement(e)).appendTo(t.body),o=ce.css(n[0],"display");return n.detach(),o}function A(e){var t=Z,n=Ke[e];return n||(n=N(e,t),"none"!==n&&n||(Ge=(Ge||ce("