diff --git a/vendors/knockout/Gruntfile.js b/vendors/knockout/Gruntfile.js index 0b002d881..c5d7c0a70 100644 --- a/vendors/knockout/Gruntfile.js +++ b/vendors/knockout/Gruntfile.js @@ -63,8 +63,8 @@ module.exports = function(grunt) { function buildMin(output, done) { var cc = require('closure-compiler'); var options = { - language_in:'ECMASCRIPT6', - language_out:'ECMASCRIPT6', + language_in:'ECMASCRIPT_2018', + language_out:'ECMASCRIPT_2018', compilation_level: 'ADVANCED_OPTIMIZATIONS', output_wrapper: '(()=>{%output%})();' }; diff --git a/vendors/knockout/build/output/knockout-latest.debug.js b/vendors/knockout/build/output/knockout-latest.debug.js index 7dee957cd..707d83ca9 100644 --- a/vendors/knockout/build/output/knockout-latest.debug.js +++ b/vendors/knockout/build/output/knockout-latest.debug.js @@ -27,23 +27,10 @@ ko.exportSymbol = (koPath, object) => { ko.exportProperty = (owner, publicName, object) => owner[publicName] = object; ko.exportSymbol('version', "3.5.1-sm"); ko.utils = { - extend: (target, source) => { - source && Object.entries(source).forEach(prop => target[prop[0]] = prop[1]); - return target; - }, + extend: (target, source) => source ? Object.assign(target, source) : target, objectForEach: (obj, action) => obj && Object.entries(obj).forEach(prop => action(prop[0], prop[1])), - objectMap: (source, mapping, mappingOwner) => { - if (!source) - return source; - var target = {}; - Object.entries(source).forEach(prop => - target[prop[0]] = mapping.call(mappingOwner, prop[1], prop[0], source) - ); - return target; - }, - emptyDomNode: domNode => [...domNode.childNodes].forEach(child => ko.removeNode(child)), moveCleanedNodesToContainerElement: nodes => { @@ -117,10 +104,8 @@ ko.utils = { string.trim() : string.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g, ''), - domNodeIsContainedBy: (node, containedByNode) => - containedByNode.contains(node.nodeType !== 1 ? node.parentNode : node), - - domNodeIsAttachedToDocument: node => ko.utils.domNodeIsContainedBy(node, node.ownerDocument.documentElement), + domNodeIsAttachedToDocument: node => + node.ownerDocument.documentElement.contains(node.nodeType !== 1 ? node.parentNode : node), triggerEvent: (element, eventType) => { if (!(element && element.nodeType)) @@ -1403,7 +1388,7 @@ ko.pureComputed = (evaluatorFunctionOrOptions) => { if (typeof evaluatorFunctionOrOptions === 'function') { return ko.computed(evaluatorFunctionOrOptions, {'pure':true}); } - evaluatorFunctionOrOptions = ko.utils.extend({}, evaluatorFunctionOrOptions); // make a copy of the parameter object + evaluatorFunctionOrOptions = { ...evaluatorFunctionOrOptions }; // make a copy of the parameter object evaluatorFunctionOrOptions['pure'] = true; return ko.computed(evaluatorFunctionOrOptions); }; @@ -2483,14 +2468,12 @@ ko.expressionRewriting = (() => { ko.utils.domNodeDisposal.addDisposeCallback(element, disposeAssociatedComponentViewModel); ko.computed(() => { - var value = ko.utils.unwrapObservable(valueAccessor()), - componentName, componentParams; + var componentName = ko.utils.unwrapObservable(valueAccessor()), + componentParams; - if (typeof value === 'string') { - componentName = value; - } else { - componentName = ko.utils.unwrapObservable(value['name']); - componentParams = ko.utils.unwrapObservable(value['params']); + if (typeof componentName !== 'string') { + componentParams = ko.utils.unwrapObservable(componentName['params']); + componentName = ko.utils.unwrapObservable(componentName['name']); } if (!componentName) { @@ -2501,39 +2484,33 @@ ko.expressionRewriting = (() => { var loadingOperationId = currentLoadingOperationId = ++componentLoadingOperationUniqueId; ko.components.get(componentName, componentDefinition => { - // If this is not the current load operation for this element, ignore it. - if (currentLoadingOperationId !== loadingOperationId) { - return; - } + // If this is the current load operation for this element + if (currentLoadingOperationId === loadingOperationId) { + // Clean up previous state + disposeAssociatedComponentViewModel(); - // Clean up previous state - disposeAssociatedComponentViewModel(); + // Instantiate and bind new component. Implicitly this cleans any old DOM nodes. + if (!componentDefinition) { + throw new Error('Unknown component \'' + componentName + '\''); + } + // cloneTemplateIntoElement + var template = componentDefinition['template']; + if (!template) { + throw new Error('Component \'' + componentName + '\' has no template'); + } + ko.virtualElements.setDomNodeChildren(element, ko.utils.cloneNodes(template)); - // Instantiate and bind new component. Implicitly this cleans any old DOM nodes. - if (!componentDefinition) { - throw new Error('Unknown component \'' + componentName + '\''); - } - cloneTemplateIntoElement(componentName, componentDefinition, element); - - var componentInfo = { - 'element': element, - 'templateNodes': originalChildNodes - }; - - var componentViewModel = createViewModel(componentDefinition, componentParams, componentInfo), - childBindingContext = asyncContext['createChildContext'](componentViewModel, { - 'extend': ctx => { - ctx['$component'] = componentViewModel; - ctx['$componentTemplateNodes'] = originalChildNodes; - } + currentViewModel = componentDefinition['createViewModel'](componentParams, { + 'element': element, + 'templateNodes': originalChildNodes }); - - if (componentViewModel && componentViewModel['koDescendantsComplete']) { - afterRenderSub = ko.bindingEvent.subscribe(element, ko.bindingEvent.descendantsComplete, componentViewModel['koDescendantsComplete'], componentViewModel); + ko.applyBindingsToDescendants(asyncContext['createChildContext'](currentViewModel, { + 'extend': ctx => { + ctx['$component'] = currentViewModel; + ctx['$componentTemplateNodes'] = originalChildNodes; + } + }), element); } - - currentViewModel = componentViewModel; - ko.applyBindingsToDescendants(childBindingContext, element); }); }, { disposeWhenNodeIsRemoved: element }); @@ -2543,23 +2520,6 @@ ko.expressionRewriting = (() => { ko.virtualElements.allowedBindings['component'] = true; - function cloneTemplateIntoElement(componentName, componentDefinition, element) { - var template = componentDefinition['template']; - if (!template) { - throw new Error('Component \'' + componentName + '\' has no template'); - } - - var clonedNodesArray = ko.utils.cloneNodes(template); - ko.virtualElements.setDomNodeChildren(element, clonedNodesArray); - } - - function createViewModel(componentDefinition, componentParams, componentInfo) { - var componentViewModelFactory = componentDefinition['createViewModel']; - return componentViewModelFactory - ? componentViewModelFactory.call(componentDefinition, componentParams, componentInfo) - : componentParams; // Template-only component - } - })(); ko.bindingHandlers['attr'] = { 'update': (element, valueAccessor) => { diff --git a/vendors/knockout/build/output/knockout-latest.js b/vendors/knockout/build/output/knockout-latest.js index d129c41ab..30cc1de67 100644 --- a/vendors/knockout/build/output/knockout-latest.js +++ b/vendors/knockout/build/output/knockout-latest.js @@ -4,74 +4,73 @@ * License: MIT (http://www.opensource.org/licenses/mit-license.php) */ -(A=>{function E(a,c){return null===a||ba[typeof a]?a===c:!1}function D(a,c){var d;return()=>{d||(d=setTimeout(()=>{d=0;a()},c))}}function I(a,c){var d;return()=>{clearTimeout(d);d=setTimeout(a,c)}}function P(a,c){null!==c&&c.m&&c.m()}function T(a,c){var d=this.Xb,e=d[B];e.Y||(this.Ra&&this.xa[c]?(d.qb(c,a,this.xa[c]),this.xa[c]=null,--this.Ra):e.s[c]||d.qb(c,a,e.u?{S:a}:d.Ob(a)),a.ia&&a.Tb())}var Q=A.document,U={},b="undefined"!==typeof U?U:{};b.o=(a,c)=>{a=a.split(".");for(var d=b,e=0;e{a[c]=d};b.o("version","3.5.1-sm");b.a={extend:(a,c)=>{c&&Object.entries(c).forEach(d=>a[d[0]]=d[1]);return a},K:(a,c)=>a&&Object.entries(a).forEach(d=>c(d[0],d[1])),uc:(a,c,d)=>{if(!a)return a;var e={};Object.entries(a).forEach(k=>e[k[0]]=c.call(d,k[1],k[0],a));return e},Va:a=>[...a.childNodes].forEach(c=>b.removeNode(c)),Hb:a=>{a=[...a];var c=(a[0]&&a[0].ownerDocument||Q).createElement("div");a.forEach(d=>c.append(b.da(d)));return c},wa:(a,c)=>Array.prototype.map.call(a, -c?d=>b.da(d.cloneNode(!0)):d=>d.cloneNode(!0)),sa:(a,c)=>{b.a.Va(a);c&&a.append(...c)},ya:(a,c)=>{if(a.length){for(c=8===c.nodeType&&c.parentNode||c;a.length&&a[0].parentNode!==c;)a.splice(0,1);for(;1null==a?"":a.trim?a.trim():a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,""),Zb:(a,c)=>c.contains(1!==a.nodeType?a.parentNode:a),Ua:a=> -b.a.Zb(a,a.ownerDocument.documentElement),Qb:(a,c)=>{if(!a||!a.nodeType)throw Error("element must be a DOM node when calling triggerEvent");a.dispatchEvent(new Event(c))},g:a=>b.N(a)?a():a,eb:(a,c)=>a.textContent=b.a.g(c)||""};b.o("utils",b.a);b.o("unwrap",b.a.g);(()=>{let a=0,c="__ko__"+Date.now(),d=new WeakMap;b.a.f={get:(e,k)=>(d.get(e)||{})[k],set:(e,k,r)=>{if(d.has(e))d.get(e)[k]=r;else{let g={};g[k]=r;d.set(e,g)}return r},Xa:function(e,k,r){return this.get(e,k)||this.set(e,k,r)},clear:e=>d.delete(e), -U:()=>a++ +c}})();b.a.H=(()=>{var a=b.a.f.U(),c={1:1,8:1,9:1},d={1:1,9:1};const e=(g,f)=>{var h=b.a.f.get(g,a);f&&!h&&(h=new Set,b.a.f.set(g,a,h));return h},k=g=>{var f=e(g);f&&(new Set(f)).forEach(h=>h(g));b.a.f.clear(g);d[g.nodeType]&&r(g.childNodes,!0)},r=(g,f)=>{for(var h=[],q,p=0;p{if("function"!=typeof f)throw Error("Callback must be a function");e(g,1).add(f)},cb:(g,f)=> -{var h=e(g);h&&(h.delete(f),h.size||b.a.f.set(g,a,null))},da:g=>{b.l.M(()=>{c[g.nodeType]&&(k(g),d[g.nodeType]&&r(g.getElementsByTagName("*")))});return g},removeNode:g=>{b.da(g);g.parentNode&&g.parentNode.removeChild(g)}}})();b.da=b.a.H.da;b.removeNode=b.a.H.removeNode;b.o("utils.domNodeDisposal",b.a.H);b.o("utils.domNodeDisposal.addDisposeCallback",b.a.H.la);b.Pb=(()=>{function a(){if(e)for(var f=e,h=0,q;rf){if(5E3<=++h){r=e;setTimeout(()=>{throw Error(`'Too much recursion' after processing ${h} task groups.`); -},0);break}f=e}try{q()}catch(p){setTimeout(()=>{throw p;},0)}}}function c(){a();r=e=d.length=0}var d=[],e=0,k=1,r=0,g=(f=>{var h=Q.createElement("div");(new MutationObserver(f)).observe(h,{attributes:!0});return()=>h.classList.toggle("foo")})(c);return{Lb:f=>{e||g(c);d[e++]=f;return k++},cancel:f=>{f-=k-e;f>=r&&fa.Fa(d=>I(d,c)),rateLimit:(a,c)=>{if("number"==typeof c)var d=c;else{d=c.timeout;var e=c.method}var k="function"==typeof e?e:D;a.Fa(r=>k(r,d,c))}, -notify:(a,c)=>{a.equalityComparer="always"==c?null:E}};var ba={undefined:1,"boolean":1,number:1,string:1};b.o("extenders",b.Wa);class ca{constructor(a,c,d){this.S=a;this.kb=c;this.na=d;this.La=!1;this.B=this.V=null;b.X(this,"dispose",this.m);b.X(this,"disposeWhenNodeIsRemoved",this.i)}m(){this.La||(this.B&&b.a.H.cb(this.V,this.B),this.La=!0,this.na(),this.S=this.kb=this.na=this.V=this.B=null)}i(a){this.V=a;b.a.H.la(a,this.B=this.m.bind(this))}}b.P=function(){Object.setPrototypeOf(this,L);L.Ca(this)}; -var L={Ca:a=>{a.R=new Map;a.R.set("change",new Set);a.pb=1},subscribe:function(a,c,d){var e=this;d=d||"change";var k=new ca(e,c?a.bind(c):a,()=>{e.R.get(d).delete(k);e.ua&&e.ua(d)});e.ma&&e.ma(d);e.R.has(d)||e.R.set(d,new Set);e.R.get(d).add(k);return k},notifySubscribers:function(a,c){c=c||"change";"change"===c&&this.Ia();if(this.qa(c)){c="change"===c&&this.Rb||new Set(this.R.get(c));try{b.l.ub(),c.forEach(d=>{d.La||d.kb(a)})}finally{b.l.end()}}},Aa:function(){return this.pb},dc:function(a){return this.Aa()!== -a},Ia:function(){++this.pb},Fa:function(a){var c=this,d=b.N(c),e,k,r,g,f;c.ta||(c.ta=c.notifySubscribers,c.notifySubscribers=function(q,p){p&&"change"!==p?"beforeChange"===p?this.mb(q):this.ta(q,p):this.nb(q)});var h=a(()=>{c.ia=!1;d&&g===c&&(g=c.lb?c.lb():c());var q=k||f&&c.Ea(r,g);f=k=e=!1;q&&c.ta(r=g)});c.nb=(q,p)=>{p&&c.ia||(f=!p);c.Rb=new Set(c.R.get("change"));c.ia=e=!0;g=q;h()};c.mb=q=>{e||(r=q,c.ta(q,"beforeChange"))};c.ob=()=>{f=!0};c.Tb=()=>{c.Ea(r,c.F(!0))&&(k=!0)}},qa:function(a){return(this.R.get(a)|| -[]).size},Ea:function(a,c){return!this.equalityComparer||!this.equalityComparer(a,c)},toString:()=>"[object Object]",extend:function(a){var c=this;a&&b.a.K(a,(d,e)=>{d=b.Wa[d];"function"==typeof d&&(c=d(c,e)||c)});return c}};b.X(L,"init",L.Ca);b.X(L,"subscribe",L.subscribe);b.X(L,"extend",L.extend);Object.setPrototypeOf(L,Function.prototype);b.P.fn=L;b.hc=a=>null!=a&&"function"==typeof a.subscribe&&"function"==typeof a.notifySubscribers;(()=>{var a=[],c,d=0;b.l={ub:e=>{a.push(c);c=e},end:()=>c=a.pop(), -Kb:e=>{if(c){if(!b.hc(e))throw Error("Only subscribable things can act as dependencies");c.Vb.call(c.Wb,e,e.Sb||(e.Sb=++d))}},M:(e,k,r)=>{try{return a.push(c),c=void 0,e.apply(k,r||[])}finally{c=a.pop()}},za:()=>c&&c.j.za(),Za:()=>c&&c.Za,j:()=>c&&c.j}})();const K=Symbol("_latestValue");b.$=a=>{function c(){if(0null==c[K]?void 0:c[K].length}); -b.P.fn.Ca(c);Object.setPrototypeOf(c,N);return c};var N={toJSON:function(){let a=this[K];return a&&a.toJSON?a.toJSON():a},equalityComparer:E,F:function(){return this[K]},Ja:function(){this.notifySubscribers(this[K],"spectate");this.notifySubscribers(this[K])},ib:function(){this.notifySubscribers(this[K],"beforeChange")}};Object.setPrototypeOf(N,b.P.fn);var O=b.$.B="__ko_proto__";N[O]=b.$;b.N=a=>{if((a="function"==typeof a&&a[O])&&a!==N[O]&&a!==b.j.fn[O])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance"); -return!!a};b.ic=a=>"function"==typeof a&&(a[O]===N[O]||a[O]===b.j.fn[O]&&a.ec);b.o("observable",b.$);b.o("isObservable",b.N);b.o("observable.fn",N);b.X(N,"valueHasMutated",N.Ja);b.ga=a=>{a=a||[];if("object"!=typeof a||!("length"in a))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");a=b.$(a);Object.setPrototypeOf(a,b.ga.fn);return a.extend({trackArrayChanges:!0})};b.ga.fn={remove:function(a){for(var c=this.F(),d=!1,e="function"!=typeof a|| -b.N(a)?g=>g===a:a,k=c.length;k--;){var r=c[k];if(e(r)){if(c[k]!==r)throw Error("Array modified during remove; cannot remove item");d||this.ib();d=!0;c.splice(k,1)}}d&&this.Ja()}};Object.setPrototypeOf(b.ga.fn,b.$.fn);Object.getOwnPropertyNames(Array.prototype).forEach(a=>{"function"===typeof Array.prototype[a]&&"constructor"!=a&&("copyWithin fill pop push reverse shift sort splice unshift".split(" ").includes(a)?b.ga.fn[a]=function(...c){var d=this.F();this.ib();this.wb(d,a,c);c=d[a](...c);this.Ja(); -return c===d?this:c}:b.ga.fn[a]=function(...c){return this()[a](...c)})});b.Fb=a=>b.N(a)&&"function"==typeof a.remove&&"function"==typeof a.push;b.o("observableArray",b.ga);b.o("isObservableArray",b.Fb);b.Wa.trackArrayChanges=(a,c)=>{function d(){function t(){if(f){var l=[].concat(a.F()||[]);if(a.qa("arrayChange")){if(!k||1++f,null,"spectate"),h=[].concat(a.F()||[]),k=null, -r=a.subscribe(t))}a.Oa={};c&&"object"==typeof c&&b.a.extend(a.Oa,c);a.Oa.sparse=!0;if(!a.wb){var e=!1,k=null,r,g,f=0,h,q=a.ma,p=a.ua;a.ma=t=>{q&&q.call(a,t);"arrayChange"===t&&d()};a.ua=t=>{p&&p.call(a,t);"arrayChange"!==t||a.qa("arrayChange")||(r&&r.m(),g&&g.m(),g=r=null,e=!1,h=void 0)};a.wb=(t,l,m)=>{function n(H,F,z){return u[u.length]={status:H,value:F,index:z}}if(e&&!f){var u=[],w=t.length,v=m.length,y=0;switch(l){case "push":y=w;case "unshift":for(t=0;tm[0]?w+m[0]:m[0]),w);w=1===v?w:Math.min(y+(m[1]||0),w);v=y+v-2;l=Math.max(w,v);var x=[],C=[];for(let H=y,F=2;H{function d(){if(0{d.m()});return d};var R={equalityComparer:E,za:function(){return this[B].G},bc:function(){var a=[];b.a.K(this[B].s,(c,d)=>a[d.ja]=d.S);return a},Ya:function(a){if(!this[B].G)return!1;var c=this.bc();return c.includes(a)||!!c.find(d=>d.Ya&&d.Ya(a))},qb:function(a,c,d){if(this[B].bb&&c===this)throw Error("A 'pure' computed must not be called recursively"); -this[B].s[a]=d;d.ja=this[B].G++;d.ka=c.Aa()},ra:function(){var a,c=this[B].s;for(a in c)if(Object.prototype.hasOwnProperty.call(c,a)){var d=c[a];if(this.ha&&d.S.ia||d.S.dc(d.ka))return!0}},tc:function(){this.ha&&!this[B].Da&&this.ha(!1)},fa:function(){var a=this[B];return a.T||0 -a.O(!0),c)):a.ha?a.ha(!0):a.O(!0)},O:function(a){var c=this[B],d=c.oa,e=!1;if(!c.Da&&!c.Y){if(c.i&&!b.a.Ua(c.i)||d&&d()){if(!c.gb){this.m();return}}else c.gb=!1;c.Da=!0;try{e=this.$b(a)}finally{c.Da=!1}return e}},$b:function(a){var c=this[B],d=c.bb?void 0:!c.G;var e={Xb:this,xa:c.s,Ra:c.G};b.l.ub({Wb:e,Vb:T,j:this,Za:d});c.s={};c.G=0;a:{try{var k=c.Jb();break a}finally{b.l.end(),e.Ra&&!c.u&&b.a.K(e.xa,P),c.Z=c.T=!1}k=void 0}c.G?e=this.Ea(c.I,k):(this.m(),e=!0);e&&(c.u?this.Ia():this.notifySubscribers(c.I, -"beforeChange"),c.I=k,this.notifySubscribers(c.I,"spectate"),!c.u&&a&&this.notifySubscribers(c.I),this.ob&&this.ob());d&&this.notifySubscribers(c.I,"awake");return e},F:function(a){var c=this[B];(c.T&&(a||!c.G)||c.u&&this.ra())&&this.O();return c.I},Fa:function(a){b.P.fn.Fa.call(this,a);this.lb=function(){this[B].u||(this[B].Z?this.O():this[B].T=!1);return this[B].I};this.ha=function(c){this.mb(this[B].I);this[B].T=!0;c&&(this[B].Z=!0);this.nb(this,!c)}},m:function(){var a=this[B];!a.u&&a.s&&b.a.K(a.s, -(c,d)=>d.m&&d.m());a.i&&a.Ta&&b.a.H.cb(a.i,a.Ta);a.s=void 0;a.G=0;a.Y=!0;a.Z=!1;a.T=!1;a.u=!1;a.i=void 0;a.oa=void 0;a.Jb=void 0}},da={ma:function(a){var c=this,d=c[B];if(!d.Y&&d.u&&"change"==a){d.u=!1;if(d.Z||c.ra())d.s=null,d.G=0,c.O()&&c.Ia();else{var e=[];b.a.K(d.s,(k,r)=>e[r.ja]=k);e.forEach((k,r)=>{var g=d.s[k],f=c.Ob(g.S);f.ja=r;f.ka=g.ka;d.s[k]=f});c.ra()&&c.O()&&c.Ia()}d.Y||c.notifySubscribers(d.I,"awake")}},ua:function(a){var c=this[B];c.Y||"change"!=a||this.qa("change")||(b.a.K(c.s,(d, -e)=>{e.m&&(c.s[d]={S:e.S,ja:e.ja,ka:e.ka},e.m())}),c.u=!0,this.notifySubscribers(void 0,"asleep"))},Aa:function(){var a=this[B];a.u&&(a.Z||this.ra())&&this.O();return b.P.fn.Aa.call(this)}},ea={ma:function(a){"change"!=a&&"beforeChange"!=a||this.F()}};Object.setPrototypeOf(R,b.P.fn);R[b.$.B]=b.j;b.o("computed",b.j);b.o("computed.fn",R);b.X(R,"dispose",R.m);b.nc=a=>{if("function"===typeof a)return b.j(a,{pure:!0});a=b.a.extend({},a);a.pure=!0;return b.j(a)};(()=>{b.v={L:a=>{switch(a.nodeName){case "OPTION":return!0=== -a.__ko__hasDomDataOptionValue__?b.a.f.get(a,b.b.options.ab):a.value;case "SELECT":return 0<=a.selectedIndex?b.v.L(a.options[a.selectedIndex]):void 0;default:return a.value}},Ka:(a,c,d)=>{switch(a.nodeName){case "OPTION":"string"===typeof c?(b.a.f.set(a,b.b.options.ab,void 0),delete a.__ko__hasDomDataOptionValue__,a.value=c):(b.a.f.set(a,b.b.options.ab,c),a.__ko__hasDomDataOptionValue__=!0,a.value="number"===typeof c?c:"");break;case "SELECT":for(var e=-1,k=""===c||null==c,r=0,g=a.options.length,f;r< -g;++r)if(f=b.v.L(a.options[r]),f==c||""===f&&k){e=r;break}if(d||0<=e||k&&1{function a(f){f=b.a.Nb(f);123===f.charCodeAt(0)&&(f=f.slice(1,-1));f+="\n,";var h=[],q=f.match(e),p=[],t=0;if(1=t){h.push(u&&p.length?{key:u,value:p.join("")}:{unknown:u||p.join("")});var u=t=0;p=[];continue}}else if(58===n){if(!t&&!u&&1===p.length){u=p.pop();continue}}else if(47=== -n&&1 -q(n.key||n.unknown,n.value));t.length&&q("_ko_property_writers","{"+t.join(",")+" }");return p.join(",")},jc:(f,h)=>-1q.key==h),jb:(f,h,q,p,t)=>{if(f&&b.N(f))!b.ic(f)||t&&f.F()===p||f(p);else if((f=h.get("_ko_property_writers"))&&f[q])f[q](p)}}})();(()=>{function a(g){return 8==g.nodeType&&e.test(g.nodeValue)}function c(g){return 8==g.nodeType&&k.test(g.nodeValue)}function d(g,f){for(var h=g,q=1,p=[];h=h.nextSibling;){if(c(h)&&(b.a.f.set(h,r,!0),!--q))return p;p.push(h);a(h)&&++q}if(!f)throw Error("Cannot find closing comment tag to match: "+ -g.nodeValue);return null}var e=/^\s*ko(?:\s+([\s\S]+))?\s*$/,k=/^\s*\/ko\s*$/,r="__ko_matchedEndComment__";b.h={aa:{},childNodes:g=>a(g)?d(g):g.childNodes,pa:g=>{a(g)?(g=d(g))&&[...g].forEach(f=>b.removeNode(f)):b.a.Va(g)},sa:(g,f)=>{a(g)?(b.h.pa(g),g.after(...f)):b.a.sa(g,f)},prepend:(g,f)=>{a(g)?g.nextSibling.before(f):g.prepend(f)},Eb:(g,f,h)=>{h?h.after(f):b.h.prepend(g,f)},firstChild:g=>{if(a(g))return g=g.nextSibling,!g||c(g)?null:g;let f=g.firstChild;if(f&&c(f))throw Error("Found invalid end comment, as the first child of "+ -g);return f},nextSibling:g=>{if(a(g)){var f=d(g,void 0);g=f?(f.length?f[f.length-1]:g).nextSibling:null}if((f=g.nextSibling)&&c(f)){if(c(f)&&!b.a.f.get(f,r))throw Error("Found end comment without a matching opening comment, as child of "+g);return null}return f},cc:a,rc:g=>(g=g.nodeValue.match(e))?g[1]:null}})();(()=>{const a=new Map;b.vb=new class{kc(c){switch(c.nodeType){case 1:return null!=c.getAttribute("data-bind");case 8:return b.h.cc(c);default:return!1}}ac(c,d){a:{switch(c.nodeType){case 1:var e= -c.getAttribute("data-bind");break a;case 8:e=b.h.rc(c);break a}e=null}if(e)try{let r={valueAccessors:!0},g=a.get(e);if(!g){var k="with($context){with($data||{}){return{"+b.D.mc(e,r)+"}}}";g=new Function("$context","$element",k);a.set(e,g)}return g(d,c)}catch(r){throw r.message="Unable to parse bindings.\nBindings value: "+e+"\nMessage: "+r.message,r;}return null}}})();(()=>{function a(l){var m=(l=b.a.f.get(l,p))&&l.C;m&&(l.C=null,m.Ib())}function c(l,m){for(var n,u=b.h.firstChild(m);n=u;)u=b.h.nextSibling(n), -d(l,n);b.c.notify(m,b.c.A)}function d(l,m){var n=l;if(1===m.nodeType||b.vb.kc(m))n=k(m,null,l).bindingContextForDescendants;n&&m.matches&&!m.matches("SCRIPT,TEXTAREA,TEMPLATE")&&c(n,m)}function e(l){var m=[],n={},u=[];b.a.K(l,function y(v){if(!n[v]){var x=b.b[v];x&&(x.after&&(u.push(v),x.after.forEach(C=>{if(l[C]){if(u.includes(C))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+u.join(", "));y(C)}}),u.length--),m.push({key:v,Db:x}));n[v]=!0}});return m} -function k(l,m,n){var u=b.a.f.Xa(l,p,{}),w=u.Ub;if(!m){if(w)throw Error("You cannot apply bindings multiple times to the same element.");u.Ub=!0}w||(u.context=n);u.$a||(u.$a={});if(m&&"function"!==typeof m)var v=m;else{var y=b.j(()=>{if(v=m?m(n,l):b.vb.ac(l,n)){if(n[g])n[g]();if(n[h])n[h]()}return v},{i:l});v&&y.fa()||(y=null)}var x=n,C;if(v){var H=y?z=>()=>y()[z]():z=>v[z],F={get:z=>v[z]&&H(z)(),has:z=>z in v};b.c.A in v&&b.c.subscribe(l,b.c.A,()=>{var z=v[b.c.A]();if(z){var G=b.h.childNodes(l); -G.length&&z(G,b.zb(G[0]))}});b.c.W in v&&(x=b.c.fb(l,n),b.c.subscribe(l,b.c.W,()=>{var z=v[b.c.W]();z&&b.h.firstChild(l)&&z(l)}));e(v).forEach(z=>{var G=z.Db.init,J=z.Db.update,M=z.key;if(8===l.nodeType&&!b.h.aa[M])throw Error("The binding '"+M+"' cannot be used with virtual elements");try{"function"==typeof G&&b.l.M(()=>{var S=G(l,H(M),F,x.$data,x);if(S&&S.controlsDescendantBindings){if(void 0!==C)throw Error("Multiple bindings ("+C+" and "+M+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element."); -C=M}}),"function"==typeof J&&b.j(()=>J(l,H(M),F,x.$data,x),{i:l})}catch(S){throw S.message='Unable to process binding "'+M+": "+v[M]+'"\nMessage: '+S.message,S;}})}u=void 0===C;return{shouldBindDescendants:u,bindingContextForDescendants:u&&x}}function r(l,m){return l&&l instanceof b.ca?l:new b.ca(l,void 0,void 0,m)}var g=Symbol("_subscribable"),f=Symbol("_ancestorBindingInfo"),h=Symbol("_dataDependency");b.b={};var q={};b.ca=class{constructor(l,m,n,u,w){function v(){var G=H?C():C,J=b.a.g(G);m?(b.a.extend(y, -m),f in m&&(y[f]=m[f])):(y.$parents=[],y.$root=J,y.ko=b);y[g]=z;x?J=y.$data:(y.$rawData=G,y.$data=J);n&&(y[n]=J);u&&u(y,m,J);if(m&&m[g]&&!b.l.j().Ya(m[g]))m[g]();F&&(y[h]=F);return y.$data}var y=this,x=l===q,C=x?void 0:l,H="function"==typeof C&&!b.N(C),F=w&&w.dataDependency;if(w&&w.exportDependencies)v();else{var z=b.nc(v);z.F();z.fa()?z.equalityComparer=null:y[g]=void 0}}["createChildContext"](l,m,n,u){!u&&m&&"object"==typeof m&&(u=m,m=u.as,n=u.extend);return new b.ca(l,this,m,(w,v)=>{w.$parentContext= -v;w.$parent=v.$data;w.$parents=(v.$parents||[]).slice(0);w.$parents.unshift(w.$parent);n&&n(w)},u)}["extend"](l,m){return new b.ca(q,this,null,n=>b.a.extend(n,"function"==typeof l?l(n):l),m)}};var p=b.a.f.U();class t{constructor(l,m,n){this.B=l;this.na=m;this.va=new Set;this.A=!1;m.C||b.a.H.la(l,a);n&&n.C&&(n.C.va.add(l),this.V=n)}Ib(){this.V&&this.V.C&&this.V.C.Yb(this.B)}Yb(l){this.va.delete(l);!this.va.size&&this.A&&this.yb()}yb(){this.A=!0;this.na.C&&!this.va.size&&(this.na.C=null,b.a.H.cb(this.B, -a),b.c.notify(this.B,b.c.W),this.Ib())}}b.c={A:"childrenComplete",W:"descendantsComplete",subscribe:(l,m,n,u,w)=>{var v=b.a.f.Xa(l,p,{});v.ea||(v.ea=new b.P);w&&w.notifyImmediately&&v.$a[m]&&b.l.M(n,u,[l]);return v.ea.subscribe(n,u,m)},notify:(l,m)=>{var n=b.a.f.get(l,p);if(n&&(n.$a[m]=!0,n.ea&&n.ea.notifySubscribers(l,m),m==b.c.A))if(n.C)n.C.yb();else if(void 0===n.C&&n.ea&&n.ea.qa(b.c.W))throw Error("descendantsComplete event not supported for bindings on this node");},fb:(l,m)=>{var n=b.a.f.Xa(l, -p,{});n.C||(n.C=new t(l,n,m[f]));return m[f]==n?m:m.extend(u=>{u[f]=n})}};b.qc=l=>(l=b.a.f.get(l,p))&&l.context;b.rb=(l,m,n)=>k(l,m,r(n));b.tb=(l,m)=>{1!==m.nodeType&&8!==m.nodeType||c(r(l),m)};b.sb=function(l,m,n){if(2>arguments.length){if(m=Q.body,!m)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?");}else if(!m||1!==m.nodeType&&8!==m.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node"); -d(r(l,n),m)};b.zb=l=>(l=l&&[1,8].includes(l.nodeType)&&b.qc(l))?l.$data:void 0;b.o("bindingHandlers",b.b);b.o("applyBindings",b.sb);b.o("applyBindingAccessorsToNode",b.rb);b.o("dataFor",b.zb)})();(()=>{function a(f,h){var q={},p=r[f]||{},t=p.template;p=p.viewModel;if(t){t.element||c(f,"Unknown template value: "+t);t=t.element;var l=Q.getElementById(t);l||c(f,"Cannot find element with ID "+t);l.matches("TEMPLATE")||c(f,"Template Source Element not a