(()=>{/** * @license * Knockout ES5 plugin - https://github.com/SteveSanderson/knockout-es5 * Copyright (c) Steve Sanderson * MIT license */var s="__knockoutObservables",o="__knockoutSubscribable";function f(r,t){if(!r)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var e=this,u=c(r,!0);return t=t||Object.getOwnPropertyNames(r),t.forEach(function(n){if(!(n===s||n===o)&&!(n in u)){var a=r[n],l=a instanceof Array,i=e.isObservable(a)?a:l?e.observableArray(a):e.observable(a);Object.defineProperty(r,n,{configurable:!0,enumerable:!0,get:i,set:e.isWriteableObservable(i)?i:void 0}),u[n]=i,l&&d(e,i)}}),r}function c(r,t){var e=r[s];return!e&&t&&(e={},Object.defineProperty(r,s,{value:e})),e}function v(r,t,e){var u=this,n={owner:r,deferEvaluation:!0};if(typeof e=="function")n.read=e;else{if("value"in e)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof e.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');n.read=e.get,n.write=e.set}return r[t]=u.computed(n),f.call(u,r,[t]),r}function d(r,t){var e=null;r.computed(function(){e&&(e.dispose(),e=null);var u=t();u instanceof Array&&(e=h(r,t,u))})}function h(r,t,e){var u=y(r,e);return u.subscribe(t)}function y(r,t){var e=t[o];if(!e){e=new r.subscribable,Object.defineProperty(t,o,{value:e});var u={};p(t,e,u),A(r,t,e,u)}return e}function p(r,t,e){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(u){var n=r[u];r[u]=function(){var a=n.apply(this,arguments);return e.pause!==!0&&t.notifySubscribers(this),a}})}function A(r,t,e,u){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(n){Object.defineProperty(t,n,{enumerable:!1,value:function(){var a;u.pause=!0;try{a=r.observableArray.fn[n].apply(r.observableArray(t),arguments)}finally{u.pause=!1}return e.notifySubscribers(t),a}})})}function b(r,t){if(!r)return null;var e=c(r,!1);return e&&e[t]||null}function g(r,t){var e=b(r,t);e&&e.valueHasMutated()}function w(r){r.track=f,r.getObservable=b,r.valueHasMutated=g,r.defineProperty=v}var E={attachToKo:w};})();