Basic JSON object properties revival now handled by AbstractModel

This will be better for future use of JSON.stringify() and JSON.parse()
For now the difference between the PHP JSON being PascalCase and the JS object properties being camelCase is handled by AbstractModel
This commit is contained in:
djmaze 2020-10-20 17:39:00 +02:00
parent 53bf7c1d60
commit 188a40b196
17 changed files with 131 additions and 185 deletions

View file

@ -27,7 +27,7 @@ module.exports = {
'Squire': "readonly", 'Squire': "readonly",
'SquireUI': "readonly", 'SquireUI': "readonly",
// node_modules/knockout but dev/External/ko.js is used // node_modules/knockout but dev/External/ko.js is used
// 'ko': "readonly", 'ko': "readonly",
// vendors/routes/ // vendors/routes/
'hasher': "readonly", 'hasher': "readonly",
'signals': "readonly", 'signals': "readonly",

View file

@ -71,7 +71,7 @@ The result is faster and smaller download code (good for mobile networks).
Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill for array.flat(). Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill for array.flat().
* Added dev/prototype-*.js for some additional features * Added dev/prototype*.js for some additional features
* boot.js without webpack overhead * boot.js without webpack overhead
* Modified Jua.js to be without jQuery * Modified Jua.js to be without jQuery
* Replaced ProgressJS with simple native dropin * Replaced ProgressJS with simple native dropin
@ -107,22 +107,22 @@ RainLoop 1.14 vs SnappyMail
|js/* |RainLoop |Snappy | |js/* |RainLoop |Snappy |
|----------- |--------: |--------: | |----------- |--------: |--------: |
|admin.js |2.130.942 | 666.175 | |admin.js |2.130.942 | 665.605 |
|app.js |4.184.455 |2.412.164 | |app.js |4.184.455 |2.402.380 |
|boot.js | 671.522 | 5.285 | |boot.js | 671.522 | 5.285 |
|libs.js | 647.614 | 238.674 | |libs.js | 647.614 | 238.766 |
|polyfills.js | 325.834 | 0 | |polyfills.js | 325.834 | 0 |
|TOTAL |7.960.367 |3.322.298 | |TOTAL |7.960.367 |3.312.036 |
|js/min/* |RainLoop |Snappy |Rain gzip |gzip |brotli | |js/min/* |RainLoop |Snappy |Rain gzip |gzip |brotli |
|--------------- |--------: |--------: |--------: |--------: |--------: | |--------------- |--------: |--------: |--------: |--------: |--------: |
|admin.min.js | 252.147 | 91.598 | 73.657 | 23.547 | 20.518 | |admin.min.js | 252.147 | 91.510 | 73.657 | 23.529 | 20.480 |
|app.min.js | 511.202 | 325.187 |140.462 | 83.936 | 68.135 | |app.min.js | 511.202 | 322.449 |140.462 | 83.183 | 67.656 |
|boot.min.js | 66.007 | 2.918 | 22.567 | 1.500 | 1.275 | |boot.min.js | 66.007 | 2.918 | 22.567 | 1.500 | 1.275 |
|libs.min.js | 572.545 | 134.223 |176.720 | 48.183 | 42.816 | |libs.min.js | 572.545 | 134.315 |176.720 | 48.216 | 42.855 |
|polyfills.min.js | 32.452 | 0 | 11.312 | 0 | 0 | |polyfills.min.js | 32.452 | 0 | 11.312 | 0 | 0 |
|TOTAL |1.434.353 | 553.926 |424.718 |157.166 |132.744 | |TOTAL |1.434.353 | 551.192 |424.718 |156.428 |132.266 |
|TOTAL (no admin) |1.182.206 | 462.328 |351.061 |133.619 |112.226 | |TOTAL (no admin) |1.182.206 | 459.682 |351.061 |132.899 |111.786 |
For a user its around 61% smaller and faster than traditional RainLoop. For a user its around 61% smaller and faster than traditional RainLoop.
@ -156,7 +156,7 @@ For a user its around 61% smaller and faster than traditional RainLoop.
### Squire vs CKEditor ### Squire vs CKEditor
The [Squire](https://github.com/neilj/Squire) implementation is not 100% compatible yet, but is shows the massive overhead of CKEditor. The [Squire](https://github.com/neilj/Squire) implementation is not 100% compatible yet, but it shows the massive overhead of CKEditor.
Still TODO: Still TODO:

View file

@ -5,6 +5,18 @@ function disposeOne(disposable) {
} }
} }
function typeCast(current, value) {
switch (typeof current)
{
case 'boolean': return !!value;
case 'string': return null != value ? '' + value : '';
case 'number':
value = parseInt(value, 10);
return (isNaN(value) || !isFinite(value)) ? 0 : value;
}
return value;
}
export class AbstractModel { export class AbstractModel {
disposables = []; disposables = [];
@ -13,7 +25,7 @@ export class AbstractModel {
*/ */
constructor() { constructor() {
/* /*
if (new.target === Parent) { if (new.target === AbstractModel) {
throw new Error("Can't instantiate abstract class!"); throw new Error("Can't instantiate abstract class!");
} }
this.sModelName = new.target.name; this.sModelName = new.target.name;
@ -50,15 +62,35 @@ export class AbstractModel {
* @returns {*Model} * @returns {*Model}
*/ */
static reviveFromJson(json) { static reviveFromJson(json) {
// Object/Attachment let obj = this.validJson(json) ? new this() : null;
// Object/Contact try {
// Object/Email obj && Object.entries(json).forEach(([key, value]) => {
// Object/Filter if ('@' !== key[0]) {
// Object/Folder key = key[0].toLowerCase() + key.substr(1);
// Object/Message switch (typeof obj[key])
// Object/Template {
return this.validJson(json) ? new this() : null; case 'function':
// json && Object.entries(json).forEach(([key, value]) => '@' !== key[0] && (this[key] = value)); if (ko.isObservable(obj[key]) && !ko.isObservableArray(obj[key])) {
obj[key](typeCast(obj[key](), value));
}
// else { console.log('('+(typeof obj[key])+') '+key+' not revived'); }
break;
case 'boolean':
case 'string':
case 'number':
obj[key] = typeCast(obj[key], value);
break;
// case 'undefined':
// default:
// console.log('('+(typeof obj[key])+') '+key+' not revived');
}
}
});
} catch (e) {
console.log(this.name);
console.error(e);
}
return obj;
} }
} }

View file

@ -47,23 +47,6 @@ class AttachmentModel extends AbstractModel {
static reviveFromJson(json) { static reviveFromJson(json) {
const attachment = super.reviveFromJson(json); const attachment = super.reviveFromJson(json);
if (attachment) { if (attachment) {
attachment.mimeType = ((json.MimeType || '').toLowerCase()).trim();
attachment.fileName = json.FileName.trim();
// if it is inline
attachment.isInline = !!json.IsInline;
// if inline image is linked with CID in html
// and 'src="cid:' or background-image:url(cid:)
attachment.isLinked = !!json.IsLinked;
attachment.isThumbnail = !!json.IsThumbnail;
attachment.cid = json.CID;
attachment.contentLocation = json.ContentLocation;
attachment.download = json.Download;
attachment.folder = json.Folder;
attachment.uid = json.Uid;
attachment.mimeIndex = json.MimeIndex;
attachment.framed = !!json.Framed;
attachment.friendlySize = File.friendlySize(json.EstimatedSize); attachment.friendlySize = File.friendlySize(json.EstimatedSize);
attachment.cidWithoutTags = attachment.cid.replace(/^<+/, '').replace(/>+$/, ''); attachment.cidWithoutTags = attachment.cid.replace(/^<+/, '').replace(/>+$/, '');

View file

@ -2,7 +2,6 @@ import ko from 'ko';
import { ContactPropertyModel } from 'Model/ContactProperty'; import { ContactPropertyModel } from 'Model/ContactProperty';
import { ContactPropertyType } from 'Common/Enums'; import { ContactPropertyType } from 'Common/Enums';
import { pInt, pString } from 'Common/Utils';
import { AbstractModel } from 'Knoin/AbstractModel'; import { AbstractModel } from 'Knoin/AbstractModel';
@ -53,10 +52,6 @@ class ContactModel extends AbstractModel {
static reviveFromJson(json) { static reviveFromJson(json) {
const contact = super.reviveFromJson(json); const contact = super.reviveFromJson(json);
if (contact) { if (contact) {
contact.id = pInt(json.id);
contact.display = pString(json.display);
contact.readOnly = !!json.readOnly;
let list = []; let list = [];
if (Array.isNotEmpty(json.properties)) { if (Array.isNotEmpty(json.properties)) {
json.properties.forEach(property => { json.properties.forEach(property => {
@ -103,7 +98,7 @@ class ContactModel extends AbstractModel {
* @returns {string} * @returns {string}
*/ */
generateUid() { generateUid() {
return pString(this.id); return ''+this.id;
} }
/** /**

View file

@ -42,16 +42,7 @@ class ContactPropertyModel extends AbstractModel {
}; };
} }
static reviveFromJson(json) { // static reviveFromJson(json) {}
const property = super.reviveFromJson(json);
if (property) {
property.type(pInt(json.type));
property.typeStr(pString(json.typeStr));
property.value(pString(json.value));
return property;
}
return null;
}
} }
export { ContactPropertyModel, ContactPropertyModel as default }; export { ContactPropertyModel, ContactPropertyModel as default };

View file

@ -289,13 +289,7 @@ class EmailModel extends AbstractModel {
*/ */
static reviveFromJson(json) { static reviveFromJson(json) {
const email = super.reviveFromJson(json); const email = super.reviveFromJson(json);
if (email) { email && email.clearDuplicateName();
email.name = json.Name;
email.email = json.Email;
email.dkimStatus = (json.DkimStatus || '');
email.dkimValue = (json.DkimValue || '');
email.clearDuplicateName();
}
return email; return email;
} }

View file

@ -216,10 +216,6 @@ class FilterModel extends AbstractModel {
const filter = super.reviveFromJson(json); const filter = super.reviveFromJson(json);
if (filter) { if (filter) {
filter.id = pString(json.ID); filter.id = pString(json.ID);
filter.name(pString(json.Name));
filter.enabled(!!json.Enabled);
filter.conditionsType(pString(json.ConditionsType));
filter.conditions([]); filter.conditions([]);
@ -229,13 +225,6 @@ class FilterModel extends AbstractModel {
); );
} }
filter.actionType(pString(json.ActionType));
filter.actionValue(pString(json.ActionValue));
filter.actionValueSecond(pString(json.ActionValueSecond));
filter.actionValueThird(pString(json.ActionValueThird));
filter.actionValueFourth(pString(json.ActionValueFourth));
filter.actionNoStop(!json.Stop); filter.actionNoStop(!json.Stop);
filter.actionKeep(!!json.Keep); filter.actionKeep(!!json.Keep);
filter.actionMarkAsRead(!!json.MarkAsRead); filter.actionMarkAsRead(!!json.MarkAsRead);

View file

@ -1,7 +1,6 @@
import ko from 'ko'; import ko from 'ko';
import { FilterConditionField, FilterConditionType } from 'Common/Enums'; import { FilterConditionField, FilterConditionType } from 'Common/Enums';
import { pString } from 'Common/Utils';
import { AbstractModel } from 'Knoin/AbstractModel'; import { AbstractModel } from 'Knoin/AbstractModel';
@ -56,16 +55,7 @@ class FilterConditionModel extends AbstractModel {
return true; return true;
} }
static reviveFromJson(json) { // static reviveFromJson(json) {}
const filter = super.reviveFromJson(json);
if (filter) {
this.field(pString(json.field));
this.type(pString(json.type));
this.value(pString(json.value));
this.valueSecond(pString(json.valueSecond));
}
return filter;
}
toJson() { toJson() {
return { return {

View file

@ -49,17 +49,11 @@ class FolderModel extends AbstractModel {
static reviveFromJson(json) { static reviveFromJson(json) {
const folder = super.reviveFromJson(json); const folder = super.reviveFromJson(json);
if (folder) { if (folder) {
folder.name(json.Name);
folder.delimiter = json.Delimiter;
folder.fullName = json.FullName;
folder.fullNameRaw = json.FullNameRaw;
folder.fullNameHash = json.FullNameHash;
folder.deep = json.FullNameRaw.split(folder.delimiter).length - 1; folder.deep = json.FullNameRaw.split(folder.delimiter).length - 1;
folder.selectable = !!json.IsSelectable; folder.selectable = !!json.IsSelectable;
folder.existen = !!json.IsExists; folder.existen = !!json.IsExists;
folder.subScribed(!!json.IsSubscribed); folder.subScribed(!!json.IsSubscribed);
folder.checkable(!!json.Checkable);
folder.isInbox = ko.computed(() => FolderType.Inbox === folder.type()); folder.isInbox = ko.computed(() => FolderType.Inbox === folder.type());

View file

@ -100,11 +100,6 @@ class MessageModel extends AbstractModel {
const oMessageModel = super.reviveFromJson(json); const oMessageModel = super.reviveFromJson(json);
if (oMessageModel) { if (oMessageModel) {
oMessageModel.folderFullNameRaw = json.Folder; oMessageModel.folderFullNameRaw = json.Folder;
oMessageModel.uid = json.Uid;
oMessageModel.hash = json.Hash;
oMessageModel.requestHash = json.RequestHash;
oMessageModel.size(pInt(json.Size));
oMessageModel.from = EmailCollectionModel.reviveFromJson(json.From); oMessageModel.from = EmailCollectionModel.reviveFromJson(json.From);
oMessageModel.to = EmailCollectionModel.reviveFromJson(json.To); oMessageModel.to = EmailCollectionModel.reviveFromJson(json.To);
@ -114,7 +109,6 @@ class MessageModel extends AbstractModel {
oMessageModel.deliveredTo = EmailCollectionModel.reviveFromJson(json.DeliveredTo); oMessageModel.deliveredTo = EmailCollectionModel.reviveFromJson(json.DeliveredTo);
oMessageModel.unsubsribeLinks = Array.isNotEmpty(json.UnsubsribeLinks) ? json.UnsubsribeLinks : []; oMessageModel.unsubsribeLinks = Array.isNotEmpty(json.UnsubsribeLinks) ? json.UnsubsribeLinks : [];
oMessageModel.subject(json.Subject);
if (isArray(json.SubjectParts)) { if (isArray(json.SubjectParts)) {
oMessageModel.subjectPrefix(json.SubjectParts[0]); oMessageModel.subjectPrefix(json.SubjectParts[0]);
oMessageModel.subjectSuffix(json.SubjectParts[1]); oMessageModel.subjectSuffix(json.SubjectParts[1]);
@ -123,8 +117,6 @@ class MessageModel extends AbstractModel {
oMessageModel.subjectSuffix(oMessageModel.subject()); oMessageModel.subjectSuffix(oMessageModel.subject());
} }
oMessageModel.dateTimeStampInUTC(pInt(json.DateTimeStampInUTC));
oMessageModel.fromEmailString(oMessageModel.from.toString(true)); oMessageModel.fromEmailString(oMessageModel.from.toString(true));
oMessageModel.fromClearEmailString(oMessageModel.from.toStringClear()); oMessageModel.fromClearEmailString(oMessageModel.from.toStringClear());
oMessageModel.toEmailsString(oMessageModel.to.toString(true)); oMessageModel.toEmailsString(oMessageModel.to.toString(true));

View file

@ -1,7 +1,5 @@
import ko from 'ko'; import ko from 'ko';
import { pString } from 'Common/Utils';
import { AbstractModel } from 'Knoin/AbstractModel'; import { AbstractModel } from 'Knoin/AbstractModel';
class TemplateModel extends AbstractModel { class TemplateModel extends AbstractModel {
@ -10,7 +8,7 @@ class TemplateModel extends AbstractModel {
* @param {string} name * @param {string} name
* @param {string} body * @param {string} body
*/ */
constructor(id, name, body) { constructor(id = '', name = '', body = '') {
super(); super();
this.id = id; this.id = id;
@ -21,21 +19,7 @@ class TemplateModel extends AbstractModel {
this.deleteAccess = ko.observable(false); this.deleteAccess = ko.observable(false);
} }
/** // static reviveFromJson(json) {}
* @static
* @param {FetchJsonTemplate} json
* @returns {?TemplateModel}
*/
static reviveFromJson(json) {
const template = super.reviveFromJson(json);
if (template) {
template.id = pString(json.ID);
template.name = pString(json.Name);
template.body = pString(json.Body);
template.populated = !!json.Populated;
}
return template;
}
} }
export { TemplateModel, TemplateModel as default }; export { TemplateModel, TemplateModel as default };

View file

@ -431,7 +431,7 @@ trait Response
'FileName' => \MailSo\Base\Utils::ClearFileName( 'FileName' => \MailSo\Base\Utils::ClearFileName(
\MailSo\Base\Utils::ClearXss($mResponse->FileName(true))), \MailSo\Base\Utils::ClearXss($mResponse->FileName(true))),
'EstimatedSize' => $mResponse->EstimatedSize(), 'EstimatedSize' => $mResponse->EstimatedSize(),
'CID' => $mResponse->Cid(), 'Cid' => $mResponse->Cid(),
'ContentLocation' => $mResponse->ContentLocation(), 'ContentLocation' => $mResponse->ContentLocation(),
'IsInline' => $mResponse->IsInline(), 'IsInline' => $mResponse->IsInline(),
'IsThumbnail' => $this->GetCapa(false, false, Capa::ATTACHMENT_THUMBNAILS), 'IsThumbnail' => $this->GetCapa(false, false, Capa::ATTACHMENT_THUMBNAILS),

View file

@ -86,11 +86,11 @@ class Template implements \JsonSerializable
} }
} }
return array( return array(
// '@Object' => 'Object/Template', '@Object' => 'Object/Template',
'ID' => $this->Id(), 'id' => $this->Id(),
'Name' => $this->Name(), 'name' => $this->Name(),
'Body' => $sBody, 'body' => $sBody,
'Populated' => $bPopulated 'populated' => $bPopulated
); );
} }

View file

@ -1046,6 +1046,7 @@ ko.isObservableArray = instance => {
}; };
ko.exportSymbol('observableArray', ko.observableArray); ko.exportSymbol('observableArray', ko.observableArray);
ko.exportSymbol('isObservableArray', ko.isObservableArray);
var arrayChangeEventName = 'arrayChange'; var arrayChangeEventName = 'arrayChange';
ko.extenders['trackArrayChanges'] = (target, options) => { ko.extenders['trackArrayChanges'] = (target, options) => {
// Use the provided options--each call to trackArrayChanges overwrites the previously set options // Use the provided options--each call to trackArrayChanges overwrites the previously set options

View file

@ -4,92 +4,92 @@
* License: MIT (http://www.opensource.org/licenses/mit-license.php) * License: MIT (http://www.opensource.org/licenses/mit-license.php)
*/ */
(E=>{function I(b,c){return null===b||typeof b in ha?b===c:!1}function G(b,c){var e;return()=>{e||(e=a.a.setTimeout(()=>{e=void 0;b()},c))}}function J(b,c){var e;return()=>{clearTimeout(e);e=a.a.setTimeout(b,c)}}function U(b,c){null!==c&&c.o&&c.o()}function Y(b,c){var e=this.Fc,f=e[F];f.ia||(this.lb&&this.Qa[c]?(e.Sb(c,b,this.Qa[c]),this.Qa[c]=null,--this.lb):f.u[c]||e.Sb(c,b,f.A?{Y:b}:e.sc(b)),b.ta&&b.wc())}var V=E.document,Z={},a="undefined"!==typeof Z?Z:{};a.s=(b,c)=>{b=b.split(".");for(var e= (E=>{function I(b,c){return null===b||typeof b in ha?b===c:!1}function G(b,c){var e;return()=>{e||(e=a.a.setTimeout(()=>{e=void 0;b()},c))}}function J(b,c){var e;return()=>{clearTimeout(e);e=a.a.setTimeout(b,c)}}function U(b,c){null!==c&&c.s&&c.s()}function Y(b,c){var e=this.Gc,f=e[F];f.ia||(this.lb&&this.Qa[c]?(e.Sb(c,b,this.Qa[c]),this.Qa[c]=null,--this.lb):f.u[c]||e.Sb(c,b,f.A?{Y:b}:e.tc(b)),b.ta&&b.xc())}var V=E.document,Z={},a="undefined"!==typeof Z?Z:{};a.m=(b,c)=>{b=b.split(".");for(var e=
a,f=0;f<b.length-1;f++)e=e[b[f]];e[b[b.length-1]]=c};a.ba=(b,c,e)=>{b[c]=e};a.version="3.5.1-sm";a.s("version",a.version);a.a=(()=>{const b=(h,l,d,g)=>Array.prototype[h].call(l,d,g),c=(h,l)=>{l&&Object.entries(l).forEach(d=>h[d[0]]=d[1]);return h},e=(h,l)=>{h.__proto__=l;return h};var f={__proto__:[]}instanceof Array;return{Z:(h,l,d)=>Array.prototype.forEach.call(h,l,d),$:(h,l)=>Array.prototype.indexOf.call(h,l,void 0),Vb:(h,l,d)=>b("find",h,(g,k,m)=>l.call(d,g,k,m)),Ma:(h,l)=>{l=a.a.$(h,l);0<l?h.splice(l, a,f=0;f<b.length-1;f++)e=e[b[f]];e[b[b.length-1]]=c};a.ba=(b,c,e)=>{b[c]=e};a.version="3.5.1-sm";a.m("version",a.version);a.a=(()=>{const b=(h,l,d,g)=>Array.prototype[h].call(l,d,g),c=(h,l)=>{l&&Object.entries(l).forEach(d=>h[d[0]]=d[1]);return h},e=(h,l)=>{h.__proto__=l;return h};var f={__proto__:[]}instanceof Array;return{Z:(h,l,d)=>Array.prototype.forEach.call(h,l,d),$:(h,l)=>Array.prototype.indexOf.call(h,l,void 0),Vb:(h,l,d)=>b("find",h,(g,k,m)=>l.call(d,g,k,m)),Ma:(h,l)=>{l=a.a.$(h,l);0<l?h.splice(l,
1):0===l&&h.shift()},Ac:(h,l)=>{if(l instanceof Array)h.push.apply(h,l);else for(var d=0,g=l.length;d<g;d++)h.push(l[d]);return h},na:f,extend:c,setPrototypeOf:e,Za:f?e:c,J:(h,l)=>h&&Object.entries(h).forEach(d=>l(d[0],d[1])),Ea:(h,l,d)=>{if(!h)return h;var g={};Object.entries(h).forEach(k=>g[k[0]]=l.call(d,k[1],k[0],h));return g},ob:h=>{for(;h.firstChild;)a.removeNode(h.firstChild)},wb:h=>{var l=a.a.qa(h),d=(l[0]&&l[0].ownerDocument||V).createElement("div");h.forEach(g=>d.append(a.oa(g)));return d}, 1):0===l&&h.shift()},Bc:(h,l)=>{if(l instanceof Array)h.push.apply(h,l);else for(var d=0,g=l.length;d<g;d++)h.push(l[d]);return h},na:f,extend:c,setPrototypeOf:e,Za:f?e:c,J:(h,l)=>h&&Object.entries(h).forEach(d=>l(d[0],d[1])),Ea:(h,l,d)=>{if(!h)return h;var g={};Object.entries(h).forEach(k=>g[k[0]]=l.call(d,k[1],k[0],h));return g},ob:h=>{for(;h.firstChild;)a.removeNode(h.firstChild)},wb:h=>{var l=a.a.qa(h),d=(l[0]&&l[0].ownerDocument||V).createElement("div");h.forEach(g=>d.append(a.oa(g)));return d},
Oa:(h,l)=>b("map",h,l?d=>a.oa(d.cloneNode(!0)):d=>d.cloneNode(!0)),Fa:(h,l)=>{a.a.ob(h);l&&h.append.apply(h,l)},Ba:(h,l)=>{if(h.length){for(l=8===l.nodeType&&l.parentNode||l;h.length&&h[0].parentNode!==l;)h.splice(0,1);for(;1<h.length&&h[h.length-1].parentNode!==l;)h.length--;if(1<h.length){l=h[0];var d=h[h.length-1];for(h.length=0;l!==d;)h.push(l),l=l.nextSibling;h.push(d)}}return h},Db:h=>null==h?"":h.trim?h.trim():h.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,""),cd:(h,l)=>{h=h||"";return l.length> Oa:(h,l)=>b("map",h,l?d=>a.oa(d.cloneNode(!0)):d=>d.cloneNode(!0)),Fa:(h,l)=>{a.a.ob(h);l&&h.append.apply(h,l)},Ba:(h,l)=>{if(h.length){for(l=8===l.nodeType&&l.parentNode||l;h.length&&h[0].parentNode!==l;)h.splice(0,1);for(;1<h.length&&h[h.length-1].parentNode!==l;)h.length--;if(1<h.length){l=h[0];var d=h[h.length-1];for(h.length=0;l!==d;)h.push(l),l=l.nextSibling;h.push(d)}}return h},Db:h=>null==h?"":h.trim?h.trim():h.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,""),cd:(h,l)=>{h=h||"";return l.length>
h.length?!1:h.substring(0,l.length)===l},Ic:(h,l)=>l.contains(1!==h.nodeType?h.parentNode:h),nb:h=>a.a.Ic(h,h.ownerDocument.documentElement),da:h=>h&&h.tagName&&h.tagName.toLowerCase(),Zb:h=>a.onError?function(){try{return h.apply(this,arguments)}catch(l){throw a.onError&&a.onError(l),l;}}:h,setTimeout:(h,l)=>setTimeout(a.a.Zb(h),l),cc:h=>setTimeout(()=>{a.onError&&a.onError(h);throw h;},0),K:(h,l,d)=>{h.addEventListener(l,a.a.Zb(d),!1)},tc:(h,l)=>{if(!h||!h.nodeType)throw Error("element must be a DOM node when calling triggerEvent"); h.length?!1:h.substring(0,l.length)===l},Jc:(h,l)=>l.contains(1!==h.nodeType?h.parentNode:h),nb:h=>a.a.Jc(h,h.ownerDocument.documentElement),da:h=>h&&h.tagName&&h.tagName.toLowerCase(),Zb:h=>a.onError?function(){try{return h.apply(this,arguments)}catch(l){throw a.onError&&a.onError(l),l;}}:h,setTimeout:(h,l)=>setTimeout(a.a.Zb(h),l),cc:h=>setTimeout(()=>{a.onError&&a.onError(h);throw h;},0),K:(h,l,d)=>{h.addEventListener(l,a.a.Zb(d),!1)},uc:(h,l)=>{if(!h||!h.nodeType)throw Error("element must be a DOM node when calling triggerEvent");
h.dispatchEvent(new Event(l))},g:h=>a.O(h)?h():h,Wc:h=>a.O(h)?h.D():h,Hb:(h,l,d)=>{if(l){var g=d?"add":"remove";l.split(/\s+/).forEach(k=>h.classList[g](k))}},Bb:(h,l)=>h.textContent=a.a.g(l)||"",qa:h=>Array.from(h)}})();a.s("utils",a.a);a.s("unwrap",a.a.g);a.a.b=new function(){var b=0,c="__ko__"+Date.now(),e=(f,h)=>{var l=f[c];!l&&h&&(l=f[c]={});return l};return{get:(f,h)=>(f=e(f,!1))&&f[h],set:(f,h,l)=>{(f=e(f,void 0!==l))&&(f[h]=l)},rb:(f,h,l)=>{f=e(f,!0);return f[h]||(f[h]=l)},clear:f=>f[c]?(delete f[c], h.dispatchEvent(new Event(l))},g:h=>a.O(h)?h():h,Wc:h=>a.O(h)?h.D():h,Hb:(h,l,d)=>{if(l){var g=d?"add":"remove";l.split(/\s+/).forEach(k=>h.classList[g](k))}},Bb:(h,l)=>h.textContent=a.a.g(l)||"",qa:h=>Array.from(h)}})();a.m("utils",a.a);a.m("unwrap",a.a.g);a.a.b=new function(){var b=0,c="__ko__"+Date.now(),e=(f,h)=>{var l=f[c];!l&&h&&(l=f[c]={});return l};return{get:(f,h)=>(f=e(f,!1))&&f[h],set:(f,h,l)=>{(f=e(f,void 0!==l))&&(f[h]=l)},rb:(f,h,l)=>{f=e(f,!0);return f[h]||(f[h]=l)},clear:f=>f[c]?(delete f[c],
!0):!1,X:()=>b++ +c}};a.a.N=new function(){function b(d,g){var k=a.a.b.get(d,f);void 0===k&&g&&(k=[],a.a.b.set(d,f,k));return k}function c(d){var g=b(d,!1);if(g){g=g.slice(0);for(var k=0;k<g.length;k++)g[k](d)}a.a.b.clear(d);l[d.nodeType]&&e(d.childNodes,!0)}function e(d,g){for(var k=[],m,p=0;p<d.length;p++)if(!g||8===d[p].nodeType)if(c(k[k.length]=m=d[p]),d[p]!==m)for(;p--&&-1==a.a.$(k,d[p]););}var f=a.a.b.X(),h={1:!0,8:!0,9:!0},l={1:!0,9:!0};return{wa:(d,g)=>{if("function"!=typeof g)throw Error("Callback must be a function"); !0):!1,X:()=>b++ +c}};a.a.N=new function(){function b(d,g){var k=a.a.b.get(d,f);void 0===k&&g&&(k=[],a.a.b.set(d,f,k));return k}function c(d){var g=b(d,!1);if(g){g=g.slice(0);for(var k=0;k<g.length;k++)g[k](d)}a.a.b.clear(d);l[d.nodeType]&&e(d.childNodes,!0)}function e(d,g){for(var k=[],m,p=0;p<d.length;p++)if(!g||8===d[p].nodeType)if(c(k[k.length]=m=d[p]),d[p]!==m)for(;p--&&-1==a.a.$(k,d[p]););}var f=a.a.b.X(),h={1:!0,8:!0,9:!0},l={1:!0,9:!0};return{wa:(d,g)=>{if("function"!=typeof g)throw Error("Callback must be a function");
b(d,!0).push(g)},Ab:(d,g)=>{var k=b(d,!1);k&&(a.a.Ma(k,g),0==k.length&&a.a.b.set(d,f,void 0))},oa:d=>{a.m.I(()=>{h[d.nodeType]&&(c(d),l[d.nodeType]&&e(d.getElementsByTagName("*")))});return d},removeNode:d=>{a.oa(d);d.parentNode&&d.parentNode.removeChild(d)}}};a.oa=a.a.N.oa;a.removeNode=a.a.N.removeNode;a.s("utils.domNodeDisposal",a.a.N);a.s("utils.domNodeDisposal.addDisposeCallback",a.a.N.wa);(()=>{var b=[0,"",""],c=[1,"<table>","</table>"],e=[3,"<table><tbody><tr>","</tr></tbody></table>"],f=[1, b(d,!0).push(g)},Ab:(d,g)=>{var k=b(d,!1);k&&(a.a.Ma(k,g),0==k.length&&a.a.b.set(d,f,void 0))},oa:d=>{a.o.I(()=>{h[d.nodeType]&&(c(d),l[d.nodeType]&&e(d.getElementsByTagName("*")))});return d},removeNode:d=>{a.oa(d);d.parentNode&&d.parentNode.removeChild(d)}}};a.oa=a.a.N.oa;a.removeNode=a.a.N.removeNode;a.m("utils.domNodeDisposal",a.a.N);a.m("utils.domNodeDisposal.addDisposeCallback",a.a.N.wa);(()=>{var b=[0,"",""],c=[1,"<table>","</table>"],e=[3,"<table><tbody><tr>","</tr></tbody></table>"],f=[1,
"<select multiple='multiple'>","</select>"],h={thead:c,tbody:c,tfoot:c,tr:[2,"<table><tbody>","</tbody></table>"],td:e,th:e,option:f,optgroup:f};a.a.Ya=(l,d)=>{var g=d;g||(g=V);d=g.parentWindow||g.defaultView||E;var k=a.a.Db(l).toLowerCase();g=g.createElement("div");var m=(k=k.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&h[k[1]]||b;k=m[0];l="ignored<div>"+m[1]+l+m[2]+"</div>";for("function"==typeof d.innerShiv?g.append(d.innerShiv(l)):g.innerHTML=l;k--;)g=g.lastChild;return a.a.qa(g.lastChild.childNodes)}; "<select multiple='multiple'>","</select>"],h={thead:c,tbody:c,tfoot:c,tr:[2,"<table><tbody>","</tbody></table>"],td:e,th:e,option:f,optgroup:f};a.a.Ya=(l,d)=>{var g=d;g||(g=V);d=g.parentWindow||g.defaultView||E;var k=a.a.Db(l).toLowerCase();g=g.createElement("div");var m=(k=k.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&h[k[1]]||b;k=m[0];l="ignored<div>"+m[1]+l+m[2]+"</div>";for("function"==typeof d.innerShiv?g.append(d.innerShiv(l)):g.innerHTML=l;k--;)g=g.lastChild;return a.a.qa(g.lastChild.childNodes)};
a.a.Uc=(l,d)=>{l=a.a.Ya(l,d);return l.length&&l[0].parentElement||a.a.wb(l)};a.a.rc=(l,d)=>{a.a.ob(l);d=a.a.g(d);if(null!==d&&void 0!==d){"string"!=typeof d&&(d=d.toString());d=a.a.Ya(d,l.ownerDocument);for(var g=0;g<d.length;g++)l.appendChild(d[g])}}})();a.Gb=(()=>{function b(){if(e)for(var d=e,g=0,k;h<e;)if(k=c[h++]){if(h>d){if(5E3<=++g){h=e;a.a.cc(Error("'Too much recursion' after processing "+g+" task groups."));break}d=e}try{k()}catch(m){a.a.cc(m)}}h=e=c.length=0}var c=[],e=0,f=1,h=0,l=(d=>{var g= a.a.Uc=(l,d)=>{l=a.a.Ya(l,d);return l.length&&l[0].parentElement||a.a.wb(l)};a.a.sc=(l,d)=>{a.a.ob(l);d=a.a.g(d);if(null!==d&&void 0!==d){"string"!=typeof d&&(d=d.toString());d=a.a.Ya(d,l.ownerDocument);for(var g=0;g<d.length;g++)l.appendChild(d[g])}}})();a.Gb=(()=>{function b(){if(e)for(var d=e,g=0,k;h<e;)if(k=c[h++]){if(h>d){if(5E3<=++g){h=e;a.a.cc(Error("'Too much recursion' after processing "+g+" task groups."));break}d=e}try{k()}catch(m){a.a.cc(m)}}h=e=c.length=0}var c=[],e=0,f=1,h=0,l=(d=>{var g=
V.createElement("div");(new MutationObserver(d)).observe(g,{attributes:!0});return()=>g.classList.toggle("foo")})(b);return{pc:d=>{e||l(b);c[e++]=d;return f++},cancel:d=>{d-=f-e;d>=h&&d<e&&(c[d]=null)}}})();a.s("tasks",a.Gb);a.pb={throttle:(b,c)=>{b.throttleEvaluation=c;var e=null;return a.i({read:b,write:f=>{clearTimeout(e);e=a.a.setTimeout(()=>b(f),c)}})},rateLimit:(b,c)=>{if("number"==typeof c)var e=c;else{e=c.timeout;var f=c.method}var h="function"==typeof f?f:"notifyWhenChangesStop"==f?J:G;b.vb(l=> V.createElement("div");(new MutationObserver(d)).observe(g,{attributes:!0});return()=>g.classList.toggle("foo")})(b);return{qc:d=>{e||l(b);c[e++]=d;return f++},cancel:d=>{d-=f-e;d>=h&&d<e&&(c[d]=null)}}})();a.m("tasks",a.Gb);a.pb={throttle:(b,c)=>{b.throttleEvaluation=c;var e=null;return a.i({read:b,write:f=>{clearTimeout(e);e=a.a.setTimeout(()=>b(f),c)}})},rateLimit:(b,c)=>{if("number"==typeof c)var e=c;else{e=c.timeout;var f=c.method}var h="function"==typeof f?f:"notifyWhenChangesStop"==f?J:G;b.vb(l=>
h(l,e,c))},notify:(b,c)=>{b.equalityComparer="always"==c?null:I}};var ha={undefined:1,"boolean":1,number:1,string:1};a.s("extenders",a.pb);a.Eb=function(b,c,e){this.Y=b;this.Jb=c;this.Kb=e;this.eb=!1;this.Ja=this.fb=null;a.ba(this,"dispose",this.o);a.ba(this,"disposeWhenNodeIsRemoved",this.j)};a.Eb.prototype.o=function(){this.eb||(this.Ja&&a.a.N.Ab(this.fb,this.Ja),this.eb=!0,this.Kb(),this.Y=this.Jb=this.Kb=this.fb=this.Ja=null)};a.Eb.prototype.j=function(b){this.fb=b;a.a.N.wa(b,this.Ja=this.o.bind(this))}; h(l,e,c))},notify:(b,c)=>{b.equalityComparer="always"==c?null:I}};var ha={undefined:1,"boolean":1,number:1,string:1};a.m("extenders",a.pb);a.Eb=function(b,c,e){this.Y=b;this.Jb=c;this.Kb=e;this.eb=!1;this.Ja=this.fb=null;a.ba(this,"dispose",this.s);a.ba(this,"disposeWhenNodeIsRemoved",this.j)};a.Eb.prototype.s=function(){this.eb||(this.Ja&&a.a.N.Ab(this.fb,this.Ja),this.eb=!0,this.Kb(),this.Y=this.Jb=this.Kb=this.fb=this.Ja=null)};a.Eb.prototype.j=function(b){this.fb=b;a.a.N.wa(b,this.Ja=this.s.bind(this))};
a.T=function(){a.a.Za(this,O);O.Va(this)};var O={Va:b=>{b.L={change:[]};b.Qb=1},subscribe:function(b,c,e){var f=this;e=e||"change";var h=new a.Eb(f,c?b.bind(c):b,()=>{a.a.Ma(f.L[e],h);f.La&&f.La(e)});f.xa&&f.xa(e);f.L[e]||(f.L[e]=[]);f.L[e].push(h);return h},notifySubscribers:function(b,c){c=c||"change";"change"===c&&this.ab();if(this.Ca(c)){c="change"===c&&this.uc||this.L[c].slice(0);try{a.m.Wb();for(var e=0,f;f=c[e];++e)f.eb||f.Jb(b)}finally{a.m.end()}}},Ta:function(){return this.Qb},Nc:function(b){return this.Ta()!== a.T=function(){a.a.Za(this,O);O.Va(this)};var O={Va:b=>{b.L={change:[]};b.Qb=1},subscribe:function(b,c,e){var f=this;e=e||"change";var h=new a.Eb(f,c?b.bind(c):b,()=>{a.a.Ma(f.L[e],h);f.La&&f.La(e)});f.xa&&f.xa(e);f.L[e]||(f.L[e]=[]);f.L[e].push(h);return h},notifySubscribers:function(b,c){c=c||"change";"change"===c&&this.ab();if(this.Ca(c)){c="change"===c&&this.vc||this.L[c].slice(0);try{a.o.Wb();for(var e=0,f;f=c[e];++e)f.eb||f.Jb(b)}finally{a.o.end()}}},Ta:function(){return this.Qb},Oc:function(b){return this.Ta()!==
b},ab:function(){++this.Qb},vb:function(b){var c=this,e=a.O(c),f,h,l,d,g;c.Ka||(c.Ka=c.notifySubscribers,c.notifySubscribers=function(m,p){p&&"change"!==p?"beforeChange"===p?this.Nb(m):this.Ka(m,p):this.Ob(m)});var k=b(()=>{c.ta=!1;e&&d===c&&(d=c.Lb?c.Lb():c());var m=h||g&&c.Xa(l,d);g=h=f=!1;m&&c.Ka(l=d)});c.Ob=(m,p)=>{p&&c.ta||(g=!p);c.uc=c.L.change.slice(0);c.ta=f=!0;d=m;k()};c.Nb=m=>{f||(l=m,c.Ka(m,"beforeChange"))};c.Pb=()=>{g=!0};c.wc=()=>{c.Xa(l,c.D(!0))&&(h=!0)}},Ca:function(b){return this.L[b]&& b},ab:function(){++this.Qb},vb:function(b){var c=this,e=a.O(c),f,h,l,d,g;c.Ka||(c.Ka=c.notifySubscribers,c.notifySubscribers=function(m,p){p&&"change"!==p?"beforeChange"===p?this.Nb(m):this.Ka(m,p):this.Ob(m)});var k=b(()=>{c.ta=!1;e&&d===c&&(d=c.Lb?c.Lb():c());var m=h||g&&c.Xa(l,d);g=h=f=!1;m&&c.Ka(l=d)});c.Ob=(m,p)=>{p&&c.ta||(g=!p);c.vc=c.L.change.slice(0);c.ta=f=!0;d=m;k()};c.Nb=m=>{f||(l=m,c.Ka(m,"beforeChange"))};c.Pb=()=>{g=!0};c.xc=()=>{c.Xa(l,c.D(!0))&&(h=!0)}},Ca:function(b){return this.L[b]&&
this.L[b].length},Lc:function(b){if(b)return this.L[b]&&this.L[b].length||0;var c=0;a.a.J(this.L,(e,f)=>c+=f.length);return c},Xa:function(b,c){return!this.equalityComparer||!this.equalityComparer(b,c)},toString:()=>"[object Object]",extend:function(b){var c=this;b&&a.a.J(b,(e,f)=>{e=a.pb[e];"function"==typeof e&&(c=e(c,f)||c)});return c}};a.ba(O,"init",O.Va);a.ba(O,"subscribe",O.subscribe);a.ba(O,"extend",O.extend);a.ba(O,"getSubscriptionsCount",O.Lc);a.a.na&&a.a.setPrototypeOf(O,Function.prototype); this.L[b].length},Mc:function(b){if(b)return this.L[b]&&this.L[b].length||0;var c=0;a.a.J(this.L,(e,f)=>c+=f.length);return c},Xa:function(b,c){return!this.equalityComparer||!this.equalityComparer(b,c)},toString:()=>"[object Object]",extend:function(b){var c=this;b&&a.a.J(b,(e,f)=>{e=a.pb[e];"function"==typeof e&&(c=e(c,f)||c)});return c}};a.ba(O,"init",O.Va);a.ba(O,"subscribe",O.subscribe);a.ba(O,"extend",O.extend);a.ba(O,"getSubscriptionsCount",O.Mc);a.a.na&&a.a.setPrototypeOf(O,Function.prototype);
a.T.fn=O;a.Qc=b=>null!=b&&"function"==typeof b.subscribe&&"function"==typeof b.notifySubscribers;a.ya=a.m=(()=>{function b(l){e.push(f);f=l}function c(){f=e.pop()}var e=[],f,h=0;return{Wb:b,end:c,oc:l=>{if(f){if(!a.Qc(l))throw Error("Only subscribable things can act as dependencies");f.Cc.call(f.Dc,l,l.vc||(l.vc=++h))}},I:(l,d,g)=>{try{return b(),l.apply(d,g||[])}finally{c()}},Sa:()=>{if(f)return f.i.Sa()},qb:()=>{if(f)return f.i.qb()},tb:()=>{if(f)return f.tb},i:()=>{if(f)return f.i}}})();var P= a.T.fn=O;a.Qc=b=>null!=b&&"function"==typeof b.subscribe&&"function"==typeof b.notifySubscribers;a.ya=a.o=(()=>{function b(l){e.push(f);f=l}function c(){f=e.pop()}var e=[],f,h=0;return{Wb:b,end:c,pc:l=>{if(f){if(!a.Qc(l))throw Error("Only subscribable things can act as dependencies");f.Dc.call(f.Ec,l,l.wc||(l.wc=++h))}},I:(l,d,g)=>{try{return b(),l.apply(d,g||[])}finally{c()}},Sa:()=>{if(f)return f.i.Sa()},qb:()=>{if(f)return f.i.qb()},tb:()=>{if(f)return f.tb},i:()=>{if(f)return f.i}}})();var P=
Symbol("_latestValue");a.ka=b=>{function c(){if(0<arguments.length)return c.Xa(c[P],arguments[0])&&(c.bb(),c[P]=arguments[0],c.Ia()),this;a.m.oc(c);return c[P]}c[P]=b;a.a.na||a.a.extend(c,a.T.fn);a.T.fn.Va(c);a.a.Za(c,Q);return c};var Q={toJSON:function(){let b=this[P];return b.toJSON?b.toJSON():b},equalityComparer:I,D:function(){return this[P]},Ia:function(){this.notifySubscribers(this[P],"spectate");this.notifySubscribers(this[P])},bb:function(){this.notifySubscribers(this[P],"beforeChange")}}; Symbol("_latestValue");a.ka=b=>{function c(){if(0<arguments.length)return c.Xa(c[P],arguments[0])&&(c.bb(),c[P]=arguments[0],c.Ia()),this;a.o.pc(c);return c[P]}c[P]=b;a.a.na||a.a.extend(c,a.T.fn);a.T.fn.Va(c);a.a.Za(c,Q);return c};var Q={toJSON:function(){let b=this[P];return b.toJSON?b.toJSON():b},equalityComparer:I,D:function(){return this[P]},Ia:function(){this.notifySubscribers(this[P],"spectate");this.notifySubscribers(this[P])},bb:function(){this.notifySubscribers(this[P],"beforeChange")}};
a.a.na&&a.a.setPrototypeOf(Q,a.T.fn);var R=a.ka.xc="__ko_proto__";Q[R]=a.ka;a.O=b=>{if((b="function"==typeof b&&b[R])&&b!==Q[R]&&b!==a.i.fn[R])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!b};a.kc=b=>"function"==typeof b&&(b[R]===Q[R]||b[R]===a.i.fn[R]&&b.ic);a.s("observable",a.ka);a.s("isObservable",a.O);a.s("observable.fn",Q);a.ba(Q,"valueHasMutated",Q.Ia);a.ra=b=>{b=b||[];if("object"!=typeof b||!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined."); a.a.na&&a.a.setPrototypeOf(Q,a.T.fn);var R=a.ka.yc="__ko_proto__";Q[R]=a.ka;a.O=b=>{if((b="function"==typeof b&&b[R])&&b!==Q[R]&&b!==a.i.fn[R])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!b};a.lc=b=>"function"==typeof b&&(b[R]===Q[R]||b[R]===a.i.fn[R]&&b.ic);a.m("observable",a.ka);a.m("isObservable",a.O);a.m("observable.fn",Q);a.ba(Q,"valueHasMutated",Q.Ia);a.ra=b=>{b=b||[];if("object"!=typeof b||!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");
b=a.ka(b);a.a.Za(b,a.ra.fn);return b.extend({trackArrayChanges:!0})};a.ra.fn={remove:function(b){for(var c=this.D(),e=[],f="function"!=typeof b||a.O(b)?function(d){return d===b}:b,h=0;h<c.length;h++){var l=c[h];if(f(l)){0===e.length&&this.bb();if(c[h]!==l)throw Error("Array modified during remove; cannot remove item");e.push(l);c.splice(h,1);h--}}e.length&&this.Ia();return e},removeAll:function(b){if(void 0===b){var c=this.D(),e=c.slice(0);this.bb();c.splice(0,c.length);this.Ia();return e}return b? b=a.ka(b);a.a.Za(b,a.ra.fn);return b.extend({trackArrayChanges:!0})};a.ra.fn={remove:function(b){for(var c=this.D(),e=[],f="function"!=typeof b||a.O(b)?function(d){return d===b}:b,h=0;h<c.length;h++){var l=c[h];if(f(l)){0===e.length&&this.bb();if(c[h]!==l)throw Error("Array modified during remove; cannot remove item");e.push(l);c.splice(h,1);h--}}e.length&&this.Ia();return e},removeAll:function(b){if(void 0===b){var c=this.D(),e=c.slice(0);this.bb();c.splice(0,c.length);this.Ia();return e}return b?
this.remove(function(f){return 0<=a.a.$(b,f)}):[]},indexOf:function(b){return a.a.$(this(),b)}};a.a.na&&a.a.setPrototypeOf(a.ra.fn,a.ka.fn);"pop push reverse shift sort splice unshift".split(" ").forEach(b=>{a.ra.fn[b]=function(){var c=this.D();this.bb();this.Yb(c,b,arguments);var e=c[b].apply(c,arguments);this.Ia();return e===c?this:e}});["slice"].forEach(b=>{a.ra.fn[b]=function(){var c=this();return c[b].apply(c,arguments)}});a.Pc=b=>a.O(b)&&"function"==typeof b.remove&&"function"==typeof b.push; this.remove(function(f){return 0<=a.a.$(b,f)}):[]},indexOf:function(b){return a.a.$(this(),b)}};a.a.na&&a.a.setPrototypeOf(a.ra.fn,a.ka.fn);"pop push reverse shift sort splice unshift".split(" ").forEach(b=>{a.ra.fn[b]=function(){var c=this.D();this.bb();this.Yb(c,b,arguments);var e=c[b].apply(c,arguments);this.Ia();return e===c?this:e}});["slice"].forEach(b=>{a.ra.fn[b]=function(){var c=this();return c[b].apply(c,arguments)}});a.kc=b=>a.O(b)&&"function"==typeof b.remove&&"function"==typeof b.push;
a.s("observableArray",a.ra);a.pb.trackArrayChanges=(b,c)=>{function e(){function q(){if(g){var u=[].concat(b.D()||[]);if(b.Ca("arrayChange")){if(!h||1<g)h=a.a.$b(k,u,b.jb);var y=h}k=u;h=null;g=0;y&&y.length&&b.notifySubscribers(y,"arrayChange")}}f?q():(f=!0,d=b.subscribe(()=>++g,null,"spectate"),k=[].concat(b.D()||[]),h=null,l=b.subscribe(q))}b.jb={};c&&"object"==typeof c&&a.a.extend(b.jb,c);b.jb.sparse=!0;if(!b.Yb){var f=!1,h=null,l,d,g=0,k,m=b.xa,p=b.La;b.xa=q=>{m&&m.call(b,q);"arrayChange"===q&& a.m("observableArray",a.ra);a.m("isObservableArray",a.kc);a.pb.trackArrayChanges=(b,c)=>{function e(){function q(){if(g){var u=[].concat(b.D()||[]);if(b.Ca("arrayChange")){if(!h||1<g)h=a.a.$b(k,u,b.jb);var y=h}k=u;h=null;g=0;y&&y.length&&b.notifySubscribers(y,"arrayChange")}}f?q():(f=!0,d=b.subscribe(()=>++g,null,"spectate"),k=[].concat(b.D()||[]),h=null,l=b.subscribe(q))}b.jb={};c&&"object"==typeof c&&a.a.extend(b.jb,c);b.jb.sparse=!0;if(!b.Yb){var f=!1,h=null,l,d,g=0,k,m=b.xa,p=b.La;b.xa=q=>{m&&
e()};b.La=q=>{p&&p.call(b,q);"arrayChange"!==q||b.Ca("arrayChange")||(l&&l.o(),d&&d.o(),d=l=null,f=!1,k=void 0)};b.Yb=(q,u,y)=>{function t(C,A,H){return x[x.length]={status:C,value:A,index:H}}if(f&&!g){var x=[],n=q.length,r=y.length,v=0;switch(u){case "push":v=n;case "unshift":for(u=0;u<r;u++)t("added",y[u],v+u);break;case "pop":v=n-1;case "shift":n&&t("deleted",q[v],v);break;case "splice":u=Math.min(Math.max(0,0>y[0]?n+y[0]:y[0]),n);n=1===r?n:Math.min(u+(y[1]||0),n);r=u+r-2;v=Math.max(n,r);for(var w= m.call(b,q);"arrayChange"===q&&e()};b.La=q=>{p&&p.call(b,q);"arrayChange"!==q||b.Ca("arrayChange")||(l&&l.s(),d&&d.s(),d=l=null,f=!1,k=void 0)};b.Yb=(q,u,y)=>{function t(C,A,H){return x[x.length]={status:C,value:A,index:H}}if(f&&!g){var x=[],n=q.length,r=y.length,v=0;switch(u){case "push":v=n;case "unshift":for(u=0;u<r;u++)t("added",y[u],v+u);break;case "pop":v=n-1;case "shift":n&&t("deleted",q[v],v);break;case "splice":u=Math.min(Math.max(0,0>y[0]?n+y[0]:y[0]),n);n=1===r?n:Math.min(u+(y[1]||0),n);
[],B=[],z=2;u<v;++u,++z)u<n&&B.push(t("deleted",q[u],u)),u<r&&w.push(t("added",y[z],u));a.a.fc(B,w);break;default:return}h=x}}}};var F=Symbol("_state");a.i=function(b,c,e){function f(){if(0<arguments.length){if("function"===typeof h)h.apply(l.Ra,arguments);else throw 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 this}l.ia||a.m.oc(f);(l.ca||l.A&&f.Da())&&f.V();return l.P}"object"===typeof b? r=u+r-2;v=Math.max(n,r);for(var w=[],B=[],z=2;u<v;++u,++z)u<n&&B.push(t("deleted",q[u],u)),u<r&&w.push(t("added",y[z],u));a.a.fc(B,w);break;default:return}h=x}}}};var F=Symbol("_state");a.i=function(b,c,e){function f(){if(0<arguments.length){if("function"===typeof h)h.apply(l.Ra,arguments);else throw 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 this}l.ia||a.o.pc(f);(l.ca||l.A&&f.Da())&&
e=b:(e=e||{},b&&(e.read=b));if("function"!=typeof e.read)throw Error("Pass a function that returns the value of the ko.computed");var h=e.write,l={P:void 0,ja:!0,ca:!0,Wa:!1,Fb:!1,ia:!1,zb:!1,A:!1,nc:e.read,Ra:c||e.owner,j:e.disposeWhenNodeIsRemoved||e.j||null,za:e.disposeWhen||e.za,mb:null,u:{},M:0,ec:null};f[F]=l;f.ic="function"===typeof h;a.a.na||a.a.extend(f,a.T.fn);a.T.fn.Va(f);a.a.Za(f,W);e.pure?(l.zb=!0,l.A=!0,a.a.extend(f,ia)):e.deferEvaluation&&a.a.extend(f,ja);l.j&&(l.Fb=!0,l.j.nodeType|| f.V();return l.P}"object"===typeof b?e=b:(e=e||{},b&&(e.read=b));if("function"!=typeof e.read)throw Error("Pass a function that returns the value of the ko.computed");var h=e.write,l={P:void 0,ja:!0,ca:!0,Wa:!1,Fb:!1,ia:!1,zb:!1,A:!1,oc:e.read,Ra:c||e.owner,j:e.disposeWhenNodeIsRemoved||e.j||null,za:e.disposeWhen||e.za,mb:null,u:{},M:0,ec:null};f[F]=l;f.ic="function"===typeof h;a.a.na||a.a.extend(f,a.T.fn);a.T.fn.Va(f);a.a.Za(f,W);e.pure?(l.zb=!0,l.A=!0,a.a.extend(f,ia)):e.deferEvaluation&&a.a.extend(f,
(l.j=null));l.A||e.deferEvaluation||f.V();l.j&&f.ha()&&a.a.N.wa(l.j,l.mb=function(){f.o()});return f};var W={equalityComparer:I,Sa:function(){return this[F].M},qb:function(){var b=[];a.a.J(this[F].u,(c,e)=>b[e.ua]=e.Y);return b},sb:function(b){if(!this[F].M)return!1;var c=this.qb();return-1!==a.a.$(c,b)?!0:!!a.a.Vb(c,e=>e.sb&&e.sb(b))},Sb:function(b,c,e){if(this[F].zb&&c===this)throw Error("A 'pure' computed must not be called recursively");this[F].u[b]=e;e.ua=this[F].M++;e.va=c.Ta()},Da:function(){var b, ja);l.j&&(l.Fb=!0,l.j.nodeType||(l.j=null));l.A||e.deferEvaluation||f.V();l.j&&f.ha()&&a.a.N.wa(l.j,l.mb=function(){f.s()});return f};var W={equalityComparer:I,Sa:function(){return this[F].M},qb:function(){var b=[];a.a.J(this[F].u,(c,e)=>b[e.ua]=e.Y);return b},sb:function(b){if(!this[F].M)return!1;var c=this.qb();return-1!==a.a.$(c,b)?!0:!!a.a.Vb(c,e=>e.sb&&e.sb(b))},Sb:function(b,c,e){if(this[F].zb&&c===this)throw Error("A 'pure' computed must not be called recursively");this[F].u[b]=e;e.ua=this[F].M++;
c=this[F].u;for(b in c)if(Object.prototype.hasOwnProperty.call(c,b)){var e=c[b];if(this.sa&&e.Y.ta||e.Y.Nc(e.va))return!0}},fd:function(){this.sa&&!this[F].Wa&&this.sa(!1)},ha:function(){var b=this[F];return b.ca||0<b.M},gd:function(){this.ta?this[F].ca&&(this[F].ja=!0):this.dc()},sc:function(b){return b.subscribe(this.dc,this)},dc:function(){var b=this,c=b.throttleEvaluation;c&&0<=c?(clearTimeout(this[F].ec),this[F].ec=a.a.setTimeout(()=>b.V(!0),c)):b.sa?b.sa(!0):b.V(!0)},V:function(b){var c=this[F], e.va=c.Ta()},Da:function(){var b,c=this[F].u;for(b in c)if(Object.prototype.hasOwnProperty.call(c,b)){var e=c[b];if(this.sa&&e.Y.ta||e.Y.Oc(e.va))return!0}},fd:function(){this.sa&&!this[F].Wa&&this.sa(!1)},ha:function(){var b=this[F];return b.ca||0<b.M},gd:function(){this.ta?this[F].ca&&(this[F].ja=!0):this.dc()},tc:function(b){return b.subscribe(this.dc,this)},dc:function(){var b=this,c=b.throttleEvaluation;c&&0<=c?(clearTimeout(this[F].ec),this[F].ec=a.a.setTimeout(()=>b.V(!0),c)):b.sa?b.sa(!0):
e=c.za,f=!1;if(!c.Wa&&!c.ia){if(c.j&&!a.a.nb(c.j)||e&&e()){if(!c.Fb){this.o();return}}else c.Fb=!1;c.Wa=!0;try{f=this.Kc(b)}finally{c.Wa=!1}return f}},Kc:function(b){var c=this[F],e=c.zb?void 0:!c.M;var f={Fc:this,Qa:c.u,lb:c.M};a.m.Wb({Dc:f,Cc:Y,i:this,tb:e});c.u={};c.M=0;var h=this.Jc(c,f);c.M?f=this.Xa(c.P,h):(this.o(),f=!0);f&&(c.A?this.ab():this.notifySubscribers(c.P,"beforeChange"),c.P=h,this.notifySubscribers(c.P,"spectate"),!c.A&&b&&this.notifySubscribers(c.P),this.Pb&&this.Pb());e&&this.notifySubscribers(c.P, b.V(!0)},V:function(b){var c=this[F],e=c.za,f=!1;if(!c.Wa&&!c.ia){if(c.j&&!a.a.nb(c.j)||e&&e()){if(!c.Fb){this.s();return}}else c.Fb=!1;c.Wa=!0;try{f=this.Lc(b)}finally{c.Wa=!1}return f}},Lc:function(b){var c=this[F],e=c.zb?void 0:!c.M;var f={Gc:this,Qa:c.u,lb:c.M};a.o.Wb({Ec:f,Dc:Y,i:this,tb:e});c.u={};c.M=0;var h=this.Kc(c,f);c.M?f=this.Xa(c.P,h):(this.s(),f=!0);f&&(c.A?this.ab():this.notifySubscribers(c.P,"beforeChange"),c.P=h,this.notifySubscribers(c.P,"spectate"),!c.A&&b&&this.notifySubscribers(c.P),
"awake");return f},Jc:(b,c)=>{try{var e=b.nc;return b.Ra?e.call(b.Ra):e()}finally{a.m.end(),c.lb&&!b.A&&a.a.J(c.Qa,U),b.ja=b.ca=!1}},D:function(b){var c=this[F];(c.ca&&(b||!c.M)||c.A&&this.Da())&&this.V();return c.P},vb:function(b){a.T.fn.vb.call(this,b);this.Lb=function(){this[F].A||(this[F].ja?this.V():this[F].ca=!1);return this[F].P};this.sa=function(c){this.Nb(this[F].P);this[F].ca=!0;c&&(this[F].ja=!0);this.Ob(this,!c)}},o:function(){var b=this[F];!b.A&&b.u&&a.a.J(b.u,(c,e)=>e.o&&e.o());b.j&& this.Pb&&this.Pb());e&&this.notifySubscribers(c.P,"awake");return f},Kc:(b,c)=>{try{var e=b.oc;return b.Ra?e.call(b.Ra):e()}finally{a.o.end(),c.lb&&!b.A&&a.a.J(c.Qa,U),b.ja=b.ca=!1}},D:function(b){var c=this[F];(c.ca&&(b||!c.M)||c.A&&this.Da())&&this.V();return c.P},vb:function(b){a.T.fn.vb.call(this,b);this.Lb=function(){this[F].A||(this[F].ja?this.V():this[F].ca=!1);return this[F].P};this.sa=function(c){this.Nb(this[F].P);this[F].ca=!0;c&&(this[F].ja=!0);this.Ob(this,!c)}},s:function(){var b=this[F];
b.mb&&a.a.N.Ab(b.j,b.mb);b.u=void 0;b.M=0;b.ia=!0;b.ja=!1;b.ca=!1;b.A=!1;b.j=void 0;b.za=void 0;b.nc=void 0;this.ic||(b.Ra=void 0)}},ia={xa:function(b){var c=this,e=c[F];if(!e.ia&&e.A&&"change"==b){e.A=!1;if(e.ja||c.Da())e.u=null,e.M=0,c.V()&&c.ab();else{var f=[];a.a.J(e.u,(h,l)=>f[l.ua]=h);a.a.Z(f,(h,l)=>{var d=e.u[h],g=c.sc(d.Y);g.ua=l;g.va=d.va;e.u[h]=g});c.Da()&&c.V()&&c.ab()}e.ia||c.notifySubscribers(e.P,"awake")}},La:function(b){var c=this[F];c.ia||"change"!=b||this.Ca("change")||(a.a.J(c.u, !b.A&&b.u&&a.a.J(b.u,(c,e)=>e.s&&e.s());b.j&&b.mb&&a.a.N.Ab(b.j,b.mb);b.u=void 0;b.M=0;b.ia=!0;b.ja=!1;b.ca=!1;b.A=!1;b.j=void 0;b.za=void 0;b.oc=void 0;this.ic||(b.Ra=void 0)}},ia={xa:function(b){var c=this,e=c[F];if(!e.ia&&e.A&&"change"==b){e.A=!1;if(e.ja||c.Da())e.u=null,e.M=0,c.V()&&c.ab();else{var f=[];a.a.J(e.u,(h,l)=>f[l.ua]=h);a.a.Z(f,(h,l)=>{var d=e.u[h],g=c.tc(d.Y);g.ua=l;g.va=d.va;e.u[h]=g});c.Da()&&c.V()&&c.ab()}e.ia||c.notifySubscribers(e.P,"awake")}},La:function(b){var c=this[F];c.ia||
(e,f)=>{f.o&&(c.u[e]={Y:f.Y,ua:f.ua,va:f.va},f.o())}),c.A=!0,this.notifySubscribers(void 0,"asleep"))},Ta:function(){var b=this[F];b.A&&(b.ja||this.Da())&&this.V();return a.T.fn.Ta.call(this)}},ja={xa:function(b){"change"!=b&&"beforeChange"!=b||this.D()}};a.a.na&&a.a.setPrototypeOf(W,a.T.fn);W[a.ka.xc]=a.i;a.s("computed",a.i);a.s("computed.fn",W);a.ba(W,"dispose",W.o);a.Yc=b=>{if("function"===typeof b)return a.i(b,void 0,{pure:!0});b=a.a.extend({},b);b.pure=!0;return a.i(b,void 0)};(()=>{a.B={S:b=> "change"!=b||this.Ca("change")||(a.a.J(c.u,(e,f)=>{f.s&&(c.u[e]={Y:f.Y,ua:f.ua,va:f.va},f.s())}),c.A=!0,this.notifySubscribers(void 0,"asleep"))},Ta:function(){var b=this[F];b.A&&(b.ja||this.Da())&&this.V();return a.T.fn.Ta.call(this)}},ja={xa:function(b){"change"!=b&&"beforeChange"!=b||this.D()}};a.a.na&&a.a.setPrototypeOf(W,a.T.fn);W[a.ka.yc]=a.i;a.m("computed",a.i);a.m("computed.fn",W);a.ba(W,"dispose",W.s);a.Yc=b=>{if("function"===typeof b)return a.i(b,void 0,{pure:!0});b=a.a.extend({},b);b.pure=
{switch(a.a.da(b)){case "option":return!0===b.__ko__hasDomDataOptionValue__?a.a.b.get(b,a.c.options.yb):b.value;case "select":return 0<=b.selectedIndex?a.B.S(b.options[b.selectedIndex]):void 0;default:return b.value}},cb:(b,c,e)=>{switch(a.a.da(b)){case "option":"string"===typeof c?(a.a.b.set(b,a.c.options.yb,void 0),delete b.__ko__hasDomDataOptionValue__,b.value=c):(a.a.b.set(b,a.c.options.yb,c),b.__ko__hasDomDataOptionValue__=!0,b.value="number"===typeof c?c:"");break;case "select":if(""===c||null=== !0;return a.i(b,void 0)};(()=>{a.B={S:b=>{switch(a.a.da(b)){case "option":return!0===b.__ko__hasDomDataOptionValue__?a.a.b.get(b,a.c.options.yb):b.value;case "select":return 0<=b.selectedIndex?a.B.S(b.options[b.selectedIndex]):void 0;default:return b.value}},cb:(b,c,e)=>{switch(a.a.da(b)){case "option":"string"===typeof c?(a.a.b.set(b,a.c.options.yb,void 0),delete b.__ko__hasDomDataOptionValue__,b.value=c):(a.a.b.set(b,a.c.options.yb,c),b.__ko__hasDomDataOptionValue__=!0,b.value="number"===typeof c?
c)c=void 0;for(var f=-1,h=0,l=b.options.length,d;h<l;++h)if(d=a.B.S(b.options[h]),d==c||""===d&&void 0===c){f=h;break}if(e||0<=f||void 0===c&&1<b.size)b.selectedIndex=f;break;default:if(null===c||void 0===c)c="";b.value=c}}}})();a.H=(()=>{function b(g){g=a.a.Db(g);123===g.charCodeAt(0)&&(g=g.slice(1,-1));g+="\n,";var k=[],m=g.match(f),p=[],q=0;if(1<m.length){for(var u=0,y;y=m[u];++u){var t=y.charCodeAt(0);if(44===t){if(0>=q){k.push(x&&p.length?{key:x,value:p.join("")}:{unknown:x||p.join("")});var x= c:"");break;case "select":if(""===c||null===c)c=void 0;for(var f=-1,h=0,l=b.options.length,d;h<l;++h)if(d=a.B.S(b.options[h]),d==c||""===d&&void 0===c){f=h;break}if(e||0<=f||void 0===c&&1<b.size)b.selectedIndex=f;break;default:if(null===c||void 0===c)c="";b.value=c}}}})();a.H=(()=>{function b(g){g=a.a.Db(g);123===g.charCodeAt(0)&&(g=g.slice(1,-1));g+="\n,";var k=[],m=g.match(f),p=[],q=0;if(1<m.length){for(var u=0,y;y=m[u];++u){var t=y.charCodeAt(0);if(44===t){if(0>=q){k.push(x&&p.length?{key:x,value:p.join("")}:
q=0;p=[];continue}}else if(58===t){if(!q&&!x&&1===p.length){x=p.pop();continue}}else if(47===t&&1<y.length&&(47===y.charCodeAt(1)||42===y.charCodeAt(1)))continue;else 47===t&&u&&1<y.length?(t=m[u-1].match(h))&&!l[t[0]]&&(g=g.substr(g.indexOf(y)+1),m=g.match(f),u=-1,y="/"):40===t||123===t||91===t?++q:41===t||125===t||93===t?--q:x||p.length||34!==t&&39!==t||(y=y.slice(1,-1));p.push(y)}if(0<q)throw Error("Unbalanced parentheses, braces, or brackets");}return k}var c=["true","false","null","undefined"], {unknown:x||p.join("")});var x=q=0;p=[];continue}}else if(58===t){if(!q&&!x&&1===p.length){x=p.pop();continue}}else if(47===t&&1<y.length&&(47===y.charCodeAt(1)||42===y.charCodeAt(1)))continue;else 47===t&&u&&1<y.length?(t=m[u-1].match(h))&&!l[t[0]]&&(g=g.substr(g.indexOf(y)+1),m=g.match(f),u=-1,y="/"):40===t||123===t||91===t?++q:41===t||125===t||93===t?--q:x||p.length||34!==t&&39!==t||(y=y.slice(1,-1));p.push(y)}if(0<q)throw Error("Unbalanced parentheses, braces, or brackets");}return k}var c=["true",
e=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,f=/"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|`(?:\\.|[^`])*`|\/\*(?:[^*]|\*+[^*/])*\*+\/|\/\/.*\n|\/(?:\\.|[^/])+\/w*|[^\s:,/][^,"'`{}()/:[\]]*[^\s,"'`{}()/:[\]]|[^\s]/g,h=/[\])"'A-Za-z0-9_$]+$/,l={"in":1,"return":1,"typeof":1},d={};return{ib:[],$a:d,Vc:b,Xc:function(g,k){function m(t,x){if(!y){var n=a.getBindingHandler(t);if(n&&n.preprocess&&!(x=n.preprocess(x,t,m)))return;if(n=d[t]){var r=x;0<=a.a.$(c,r)?r=!1:(n=r.match(e),r=null===n?!1:n[1]?"Object("+ "false","null","undefined"],e=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,f=/"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|`(?:\\.|[^`])*`|\/\*(?:[^*]|\*+[^*/])*\*+\/|\/\/.*\n|\/(?:\\.|[^/])+\/w*|[^\s:,/][^,"'`{}()/:[\]]*[^\s,"'`{}()/:[\]]|[^\s]/g,h=/[\])"'A-Za-z0-9_$]+$/,l={"in":1,"return":1,"typeof":1},d={};return{ib:[],$a:d,Vc:b,Xc:function(g,k){function m(t,x){if(!y){var n=a.getBindingHandler(t);if(n&&n.preprocess&&!(x=n.preprocess(x,t,m)))return;if(n=d[t]){var r=x;0<=a.a.$(c,r)?r=!1:(n=r.match(e),
n[1]+")"+n[2]:r);n=r}n&&q.push("'"+("string"==typeof d[t]?d[t]:t)+"':function(_z){"+r+"=_z}")}u&&(x="function(){return "+x+" }");p.push("'"+t+"':"+x)}k=k||{};var p=[],q=[],u=k.valueAccessors,y=k.bindingParams;g="string"===typeof g?b(g):g;a.a.Z(g,t=>m(t.key||t.unknown,t.value));q.length&&m("_ko_property_writers","{"+q.join(",")+" }");return p.join(",")},Sc:(g,k)=>{for(var m=0;m<g.length;m++)if(g[m].key==k)return!0;return!1},Ib:(g,k,m,p,q)=>{if(g&&a.O(g))!a.kc(g)||q&&g.D()===p||g(p);else if((g=k.get("_ko_property_writers"))&& r=null===n?!1:n[1]?"Object("+n[1]+")"+n[2]:r);n=r}n&&q.push("'"+("string"==typeof d[t]?d[t]:t)+"':function(_z){"+r+"=_z}")}u&&(x="function(){return "+x+" }");p.push("'"+t+"':"+x)}k=k||{};var p=[],q=[],u=k.valueAccessors,y=k.bindingParams;g="string"===typeof g?b(g):g;a.a.Z(g,t=>m(t.key||t.unknown,t.value));q.length&&m("_ko_property_writers","{"+q.join(",")+" }");return p.join(",")},Sc:(g,k)=>{for(var m=0;m<g.length;m++)if(g[m].key==k)return!0;return!1},Ib:(g,k,m,p,q)=>{if(g&&a.O(g))!a.lc(g)||q&&g.D()===
g[m])g[m](p)}}})();(()=>{function b(d){return 8==d.nodeType&&f.test(d.nodeValue)}function c(d){return 8==d.nodeType&&h.test(d.nodeValue)}function e(d,g){for(var k=d,m=1,p=[];k=k.nextSibling;){if(c(k)&&(a.a.b.set(k,l,!0),m--,0===m))return p;p.push(k);b(k)&&m++}if(!g)throw Error("Cannot find closing comment tag to match: "+d.nodeValue);return null}var f=/^\s*ko(?:\s+([\s\S]+))?\s*$/,h=/^\s*\/ko\s*$/,l="__ko_matchedEndComment__";a.h={la:{},childNodes:d=>b(d)?e(d):d.childNodes,Aa:d=>{if(b(d)){d=a.h.childNodes(d); p||g(p);else if((g=k.get("_ko_property_writers"))&&g[m])g[m](p)}}})();(()=>{function b(d){return 8==d.nodeType&&f.test(d.nodeValue)}function c(d){return 8==d.nodeType&&h.test(d.nodeValue)}function e(d,g){for(var k=d,m=1,p=[];k=k.nextSibling;){if(c(k)&&(a.a.b.set(k,l,!0),m--,0===m))return p;p.push(k);b(k)&&m++}if(!g)throw Error("Cannot find closing comment tag to match: "+d.nodeValue);return null}var f=/^\s*ko(?:\s+([\s\S]+))?\s*$/,h=/^\s*\/ko\s*$/,l="__ko_matchedEndComment__";a.h={la:{},childNodes:d=>
for(var g=0,k=d.length;g<k;g++)a.removeNode(d[g])}else a.a.ob(d)},Fa:(d,g)=>{if(b(d)){a.h.Aa(d);d=d.nextSibling;for(var k=0,m=g.length;k<m;k++)d.parentNode.insertBefore(g[k],d)}else a.a.Fa(d,g)},prepend:(d,g)=>{if(b(d)){var k=d.nextSibling;d=d.parentNode}else k=d.firstChild;d.insertBefore(g,k)},jc:(d,g,k)=>{k?(k=k.nextSibling,b(d)&&(d=d.parentNode),d.insertBefore(g,k)):a.h.prepend(d,g)},firstChild:d=>{if(!b(d)){if(d.firstChild&&c(d.firstChild))throw Error("Found invalid end comment, as the first child of "+ b(d)?e(d):d.childNodes,Aa:d=>{if(b(d)){d=a.h.childNodes(d);for(var g=0,k=d.length;g<k;g++)a.removeNode(d[g])}else a.a.ob(d)},Fa:(d,g)=>{if(b(d)){a.h.Aa(d);d=d.nextSibling;for(var k=0,m=g.length;k<m;k++)d.parentNode.insertBefore(g[k],d)}else a.a.Fa(d,g)},prepend:(d,g)=>{if(b(d)){var k=d.nextSibling;d=d.parentNode}else k=d.firstChild;d.insertBefore(g,k)},jc:(d,g,k)=>{k?(k=k.nextSibling,b(d)&&(d=d.parentNode),d.insertBefore(g,k)):a.h.prepend(d,g)},firstChild:d=>{if(!b(d)){if(d.firstChild&&c(d.firstChild))throw Error("Found invalid end comment, as the first child of "+
d);return d.firstChild}return!d.nextSibling||c(d.nextSibling)?null:d.nextSibling},nextSibling:d=>{if(b(d)){var g=e(d,void 0);d=g?0<g.length?g[g.length-1].nextSibling:d.nextSibling:null}if(d.nextSibling&&c(d.nextSibling)){g=d.nextSibling;if(c(g)&&!a.a.b.get(g,l))throw Error("Found end comment without a matching opening comment, as child of "+d);return null}return d.nextSibling},Mc:b,dd:d=>(d=d.nodeValue.match(f))?d[1]:null}})();(function(){a.aa=function(){this.Bc={}};a.a.extend(a.aa.prototype,{nodeHasBindings:b=> d);return d.firstChild}return!d.nextSibling||c(d.nextSibling)?null:d.nextSibling},nextSibling:d=>{if(b(d)){var g=e(d,void 0);d=g?0<g.length?g[g.length-1].nextSibling:d.nextSibling:null}if(d.nextSibling&&c(d.nextSibling)){g=d.nextSibling;if(c(g)&&!a.a.b.get(g,l))throw Error("Found end comment without a matching opening comment, as child of "+d);return null}return d.nextSibling},Nc:b,dd:d=>(d=d.nodeValue.match(f))?d[1]:null}})();(function(){a.aa=function(){this.Cc={}};a.a.extend(a.aa.prototype,{nodeHasBindings:b=>
{switch(b.nodeType){case 1:return null!=b.getAttribute("data-bind")||a.l.getComponentNameForNode(b);case 8:return a.h.Mc(b);default:return!1}},getBindings:function(b,c){var e=this.getBindingsString(b,c);e=e?this.parseBindingsString(e,c,b):null;return a.l.Rb(e,b,c,!1)},getBindingAccessors:function(b,c){var e=this.getBindingsString(b,c);e=e?this.parseBindingsString(e,c,b,{valueAccessors:!0}):null;return a.l.Rb(e,b,c,!0)},getBindingsString:b=>{switch(b.nodeType){case 1:return b.getAttribute("data-bind"); {switch(b.nodeType){case 1:return null!=b.getAttribute("data-bind")||a.l.getComponentNameForNode(b);case 8:return a.h.Nc(b);default:return!1}},getBindings:function(b,c){var e=this.getBindingsString(b,c);e=e?this.parseBindingsString(e,c,b):null;return a.l.Rb(e,b,c,!1)},getBindingAccessors:function(b,c){var e=this.getBindingsString(b,c);e=e?this.parseBindingsString(e,c,b,{valueAccessors:!0}):null;return a.l.Rb(e,b,c,!0)},getBindingsString:b=>{switch(b.nodeType){case 1:return b.getAttribute("data-bind");
case 8:return a.h.dd(b)}return null},parseBindingsString:function(b,c,e,f){try{var h=this.Bc,l=b+(f&&f.valueAccessors||""),d;if(!(d=h[l])){var g="with($context){with($data||{}){return{"+a.H.Xc(b,f)+"}}}";var k=new Function("$context","$element",g);d=h[l]=k}return d(c,e)}catch(m){throw m.message="Unable to parse bindings.\nBindings value: "+b+"\nMessage: "+m.message,m;}}});a.aa.instance=new a.aa})();(()=>{function b(n){var r=(n=a.a.b.get(n,x))&&n.G;r&&(n.G=null,r.mc())}function c(n,r,v){this.node= case 8:return a.h.dd(b)}return null},parseBindingsString:function(b,c,e,f){try{var h=this.Cc,l=b+(f&&f.valueAccessors||""),d;if(!(d=h[l])){var g="with($context){with($data||{}){return{"+a.H.Xc(b,f)+"}}}";var k=new Function("$context","$element",g);d=h[l]=k}return d(c,e)}catch(m){throw m.message="Unable to parse bindings.\nBindings value: "+b+"\nMessage: "+m.message,m;}}});a.aa.instance=new a.aa})();(()=>{function b(n){var r=(n=a.a.b.get(n,x))&&n.G;r&&(n.G=null,r.nc())}function c(n,r,v){this.node=
n;this.Xb=r;this.Na=[];this.C=!1;r.G||a.a.N.wa(n,b);v&&v.G&&(v.G.Na.push(n),this.gb=v)}function e(n){return a.a.Ea(a.m.I(n),(r,v)=>()=>n()[v])}function f(n,r,v){return"function"===typeof n?e(n.bind(null,r,v)):a.a.Ea(n,w=>()=>w)}function h(n,r){return e(this.getBindings.bind(this,n,r))}function l(n,r){var v=a.h.firstChild(r);if(v){var w,B=a.aa.instance,z=B.preprocessNode;if(z){for(;w=v;)v=a.h.nextSibling(w),z.call(B,w);v=a.h.firstChild(r)}for(;w=v;)v=a.h.nextSibling(w),d(n,w)}a.f.notify(r,a.f.C)}function d(n, n;this.Xb=r;this.Na=[];this.C=!1;r.G||a.a.N.wa(n,b);v&&v.G&&(v.G.Na.push(n),this.gb=v)}function e(n){return a.a.Ea(a.o.I(n),(r,v)=>()=>n()[v])}function f(n,r,v){return"function"===typeof n?e(n.bind(null,r,v)):a.a.Ea(n,w=>()=>w)}function h(n,r){return e(this.getBindings.bind(this,n,r))}function l(n,r){var v=a.h.firstChild(r);if(v){var w,B=a.aa.instance,z=B.preprocessNode;if(z){for(;w=v;)v=a.h.nextSibling(w),z.call(B,w);v=a.h.firstChild(r)}for(;w=v;)v=a.h.nextSibling(w),d(n,w)}a.f.notify(r,a.f.C)}function d(n,
r){var v=n;if(1===r.nodeType||a.aa.instance.nodeHasBindings(r))v=k(r,null,n).bindingContextForDescendants;v&&!y[a.a.da(r)]&&l(v,r)}function g(n){var r=[],v={},w=[];a.a.J(n,function C(z){if(!v[z]){var A=a.getBindingHandler(z);A&&(A.after&&(w.push(z),a.a.Z(A.after,H=>{if(n[H]){if(-1!==a.a.$(w,H))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+w.join(", "));C(H)}}),w.length--),r.push({key:z,hc:A}));v[z]=!0}});return r}function k(n,r,v){var w=a.a.b.rb(n,x, r){var v=n;if(1===r.nodeType||a.aa.instance.nodeHasBindings(r))v=k(r,null,n).bindingContextForDescendants;v&&!y[a.a.da(r)]&&l(v,r)}function g(n){var r=[],v={},w=[];a.a.J(n,function C(z){if(!v[z]){var A=a.getBindingHandler(z);A&&(A.after&&(w.push(z),a.a.Z(A.after,H=>{if(n[H]){if(-1!==a.a.$(w,H))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+w.join(", "));C(H)}}),w.length--),r.push({key:z,hc:A}));v[z]=!0}});return r}function k(n,r,v){var w=a.a.b.rb(n,x,
{}),B=w.yc;if(!r){if(B)throw Error("You cannot apply bindings multiple times to the same element.");w.yc=!0}B||(w.context=v);w.xb||(w.xb={});if(r&&"function"!==typeof r)var z=r;else{var C=a.aa.instance,A=C.getBindingAccessors||h,H=a.i(()=>{if(z=r?r(v,n):A.call(C,n,v)){if(v[p])v[p]();if(v[u])v[u]()}return z},null,{j:n});z&&H.ha()||(H=null)}var N=v,K;if(z){var L=H?D=>()=>H()[D]():D=>z[D];function M(){return a.a.Ea(H?H():z,D=>D())}M.get=D=>z[D]&&L(D)();M.has=D=>D in z;a.f.C in z&&a.f.subscribe(n,a.f.C, {}),B=w.zc;if(!r){if(B)throw Error("You cannot apply bindings multiple times to the same element.");w.zc=!0}B||(w.context=v);w.xb||(w.xb={});if(r&&"function"!==typeof r)var z=r;else{var C=a.aa.instance,A=C.getBindingAccessors||h,H=a.i(()=>{if(z=r?r(v,n):A.call(C,n,v)){if(v[p])v[p]();if(v[u])v[u]()}return z},null,{j:n});z&&H.ha()||(H=null)}var N=v,K;if(z){var L=H?D=>()=>H()[D]():D=>z[D];function M(){return a.a.Ea(H?H():z,D=>D())}M.get=D=>z[D]&&L(D)();M.has=D=>D in z;a.f.C in z&&a.f.subscribe(n,a.f.C,
()=>{var D=z[a.f.C]();if(D){var S=a.h.childNodes(n);S.length&&D(S,a.bc(S[0]))}});a.f.ga in z&&(N=a.f.Cb(n,v),a.f.subscribe(n,a.f.ga,()=>{var D=z[a.f.ga]();D&&a.h.firstChild(n)&&D(n)}));w=g(z);a.a.Z(w,D=>{var S=D.hc.init,ca=D.hc.update,T=D.key;if(8===n.nodeType&&!a.h.la[T])throw Error("The binding '"+T+"' cannot be used with virtual elements");try{"function"==typeof S&&a.m.I(()=>{var X=S(n,L(T),M,N.$data,N);if(X&&X.controlsDescendantBindings){if(void 0!==K)throw Error("Multiple bindings ("+K+" and "+ ()=>{var D=z[a.f.C]();if(D){var S=a.h.childNodes(n);S.length&&D(S,a.bc(S[0]))}});a.f.ga in z&&(N=a.f.Cb(n,v),a.f.subscribe(n,a.f.ga,()=>{var D=z[a.f.ga]();D&&a.h.firstChild(n)&&D(n)}));w=g(z);a.a.Z(w,D=>{var S=D.hc.init,ca=D.hc.update,T=D.key;if(8===n.nodeType&&!a.h.la[T])throw Error("The binding '"+T+"' cannot be used with virtual elements");try{"function"==typeof S&&a.o.I(()=>{var X=S(n,L(T),M,N.$data,N);if(X&&X.controlsDescendantBindings){if(void 0!==K)throw Error("Multiple bindings ("+K+" and "+
T+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");K=T}}),"function"==typeof ca&&a.i(()=>ca(n,L(T),M,N.$data,N),null,{j:n})}catch(X){throw X.message='Unable to process binding "'+T+": "+z[T]+'"\nMessage: '+X.message,X;}})}w=void 0===K;return{shouldBindDescendants:w,bindingContextForDescendants:w&&N}}function m(n,r){return n&&n instanceof a.U?n:new a.U(n,void 0,void 0,r)}var p=Symbol("_subscribable"),q=Symbol("_ancestorBindingInfo"), T+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");K=T}}),"function"==typeof ca&&a.i(()=>ca(n,L(T),M,N.$data,N),null,{j:n})}catch(X){throw X.message='Unable to process binding "'+T+": "+z[T]+'"\nMessage: '+X.message,X;}})}w=void 0===K;return{shouldBindDescendants:w,bindingContextForDescendants:w&&N}}function m(n,r){return n&&n instanceof a.U?n:new a.U(n,void 0,void 0,r)}var p=Symbol("_subscribable"),q=Symbol("_ancestorBindingInfo"),
u=Symbol("_dataDependency");a.c={};var y={script:!0,textarea:!0,template:!0};a.getBindingHandler=n=>a.c[n];var t={};a.U=function(n,r,v,w,B){function z(){var M=N?H():H,D=a.a.g(M);r?(a.a.extend(C,r),q in r&&(C[q]=r[q])):(C.$parents=[],C.$root=D,C.ko=a);C[p]=L;A?D=C.$data:(C.$rawData=M,C.$data=D);v&&(C[v]=D);w&&w(C,r,D);if(r&&r[p]&&!a.ya.i().sb(r[p]))r[p]();K&&(C[u]=K);return C.$data}var C=this,A=n===t,H=A?void 0:n,N="function"==typeof H&&!a.O(H),K=B&&B.dataDependency;if(B&&B.exportDependencies)z(); u=Symbol("_dataDependency");a.c={};var y={script:!0,textarea:!0,template:!0};a.getBindingHandler=n=>a.c[n];var t={};a.U=function(n,r,v,w,B){function z(){var M=N?H():H,D=a.a.g(M);r?(a.a.extend(C,r),q in r&&(C[q]=r[q])):(C.$parents=[],C.$root=D,C.ko=a);C[p]=L;A?D=C.$data:(C.$rawData=M,C.$data=D);v&&(C[v]=D);w&&w(C,r,D);if(r&&r[p]&&!a.ya.i().sb(r[p]))r[p]();K&&(C[u]=K);return C.$data}var C=this,A=n===t,H=A?void 0:n,N="function"==typeof H&&!a.O(H),K=B&&B.dataDependency;if(B&&B.exportDependencies)z();
else{var L=a.Yc(z);L.D();L.ha()?L.equalityComparer=null:C[p]=void 0}};a.U.prototype.createChildContext=function(n,r,v,w){!w&&r&&"object"==typeof r&&(w=r,r=w.as,v=w.extend);if(r&&w&&w.noChildContext){var B="function"==typeof n&&!a.O(n);return new a.U(t,this,null,z=>{v&&v(z);z[r]=B?n():n},w)}return new a.U(n,this,r,(z,C)=>{z.$parentContext=C;z.$parent=C.$data;z.$parents=(C.$parents||[]).slice(0);z.$parents.unshift(z.$parent);v&&v(z)},w)};a.U.prototype.extend=function(n,r){return new a.U(t,this,null, else{var L=a.Yc(z);L.D();L.ha()?L.equalityComparer=null:C[p]=void 0}};a.U.prototype.createChildContext=function(n,r,v,w){!w&&r&&"object"==typeof r&&(w=r,r=w.as,v=w.extend);if(r&&w&&w.noChildContext){var B="function"==typeof n&&!a.O(n);return new a.U(t,this,null,z=>{v&&v(z);z[r]=B?n():n},w)}return new a.U(n,this,r,(z,C)=>{z.$parentContext=C;z.$parent=C.$data;z.$parents=(C.$parents||[]).slice(0);z.$parents.unshift(z.$parent);v&&v(z)},w)};a.U.prototype.extend=function(n,r){return new a.U(t,this,null,
v=>a.a.extend(v,"function"==typeof n?n(v):n),r)};var x=a.a.b.X();c.prototype.mc=function(){this.gb&&this.gb.G&&this.gb.G.Hc(this.node)};c.prototype.Hc=function(n){a.a.Ma(this.Na,n);!this.Na.length&&this.C&&this.ac()};c.prototype.ac=function(){this.C=!0;this.Xb.G&&!this.Na.length&&(this.Xb.G=null,a.a.N.Ab(this.node,b),a.f.notify(this.node,a.f.ga),this.mc())};a.f={C:"childrenComplete",ga:"descendantsComplete",subscribe:(n,r,v,w,B)=>{var z=a.a.b.rb(n,x,{});z.pa||(z.pa=new a.T);B&&B.notifyImmediately&& v=>a.a.extend(v,"function"==typeof n?n(v):n),r)};var x=a.a.b.X();c.prototype.nc=function(){this.gb&&this.gb.G&&this.gb.G.Ic(this.node)};c.prototype.Ic=function(n){a.a.Ma(this.Na,n);!this.Na.length&&this.C&&this.ac()};c.prototype.ac=function(){this.C=!0;this.Xb.G&&!this.Na.length&&(this.Xb.G=null,a.a.N.Ab(this.node,b),a.f.notify(this.node,a.f.ga),this.nc())};a.f={C:"childrenComplete",ga:"descendantsComplete",subscribe:(n,r,v,w,B)=>{var z=a.a.b.rb(n,x,{});z.pa||(z.pa=new a.T);B&&B.notifyImmediately&&
z.xb[r]&&a.m.I(v,w,[n]);return z.pa.subscribe(v,w,r)},notify:(n,r)=>{var v=a.a.b.get(n,x);if(v&&(v.xb[r]=!0,v.pa&&v.pa.notifySubscribers(n,r),r==a.f.C))if(v.G)v.G.ac();else if(void 0===v.G&&v.pa&&v.pa.Ca(a.f.ga))throw Error("descendantsComplete event not supported for bindings on this node");},Cb:(n,r)=>{var v=a.a.b.rb(n,x,{});v.G||(v.G=new c(n,v,r[q]));return r[q]==v?r:r.extend(w=>{w[q]=v})}};a.bd=n=>(n=a.a.b.get(n,x))&&n.context;a.hb=(n,r,v)=>k(n,r,m(v));a.ed=(n,r,v)=>{v=m(v);return a.hb(n,f(r, z.xb[r]&&a.o.I(v,w,[n]);return z.pa.subscribe(v,w,r)},notify:(n,r)=>{var v=a.a.b.get(n,x);if(v&&(v.xb[r]=!0,v.pa&&v.pa.notifySubscribers(n,r),r==a.f.C))if(v.G)v.G.ac();else if(void 0===v.G&&v.pa&&v.pa.Ca(a.f.ga))throw Error("descendantsComplete event not supported for bindings on this node");},Cb:(n,r)=>{var v=a.a.b.rb(n,x,{});v.G||(v.G=new c(n,v,r[q]));return r[q]==v?r:r.extend(w=>{w[q]=v})}};a.bd=n=>(n=a.a.b.get(n,x))&&n.context;a.hb=(n,r,v)=>k(n,r,m(v));a.ed=(n,r,v)=>{v=m(v);return a.hb(n,f(r,
v,n),v)};a.Ub=(n,r)=>{1!==r.nodeType&&8!==r.nodeType||l(m(n),r)};a.Tb=function(n,r,v){if(2>arguments.length){if(r=V.body,!r)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?");}else if(!r||1!==r.nodeType&&8!==r.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");d(m(n,v),r)};a.bc=n=>(n=n&&[1,8].includes(n.nodeType)&&a.bd(n))?n.$data:void 0;a.s("bindingHandlers",a.c);a.s("applyBindings", v,n),v)};a.Ub=(n,r)=>{1!==r.nodeType&&8!==r.nodeType||l(m(n),r)};a.Tb=function(n,r,v){if(2>arguments.length){if(r=V.body,!r)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?");}else if(!r||1!==r.nodeType&&8!==r.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");d(m(n,v),r)};a.bc=n=>(n=n&&[1,8].includes(n.nodeType)&&a.bd(n))?n.$data:void 0;a.m("bindingHandlers",a.c);a.m("applyBindings",
a.Tb);a.s("applyBindingAccessorsToNode",a.hb);a.s("dataFor",a.bc)})();(()=>{function b(d,g){return Object.prototype.hasOwnProperty.call(d,g)?d[g]:void 0}function c(d,g){var k=b(h,d);if(k)k.subscribe(g);else{k=h[d]=new a.T;k.subscribe(g);e(d,(p,q)=>{q=!(!q||!q.synchronous);l[d]={definition:p,Rc:q};delete h[d];m||q?k.notifySubscribers(p):a.Gb.pc(()=>k.notifySubscribers(p))});var m=!0}}function e(d,g){f("getConfig",[d],k=>{k?f("loadComponent",[d,k],m=>g(m,k)):g(null,null)})}function f(d,g,k,m){m||(m= a.Tb);a.m("applyBindingAccessorsToNode",a.hb);a.m("dataFor",a.bc)})();(()=>{function b(d,g){return Object.prototype.hasOwnProperty.call(d,g)?d[g]:void 0}function c(d,g){var k=b(h,d);if(k)k.subscribe(g);else{k=h[d]=new a.T;k.subscribe(g);e(d,(p,q)=>{q=!(!q||!q.synchronous);l[d]={definition:p,Rc:q};delete h[d];m||q?k.notifySubscribers(p):a.Gb.qc(()=>k.notifySubscribers(p))});var m=!0}}function e(d,g){f("getConfig",[d],k=>{k?f("loadComponent",[d,k],m=>g(m,k)):g(null,null)})}function f(d,g,k,m){m||(m=
a.l.loaders.slice(0));var p=m.shift();if(p){var q=p[d];if(q){var u=!1;if(void 0!==q.apply(p,g.concat(function(y){u?k(null):null!==y?k(y):f(d,g,k,m)}))&&(u=!0,!p.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.");}else f(d,g,k,m)}else k(null)}var h={},l={};a.l={get:(d,g)=>{var k=b(l,d);k?k.Rc?a.m.I(()=>g(k.definition)):a.Gb.pc(()=>g(k.definition)):c(d,g)},Ec:d=>delete l[d],Mb:f};a.l.loaders=[];a.s("components", a.l.loaders.slice(0));var p=m.shift();if(p){var q=p[d];if(q){var u=!1;if(void 0!==q.apply(p,g.concat(function(y){u?k(null):null!==y?k(y):f(d,g,k,m)}))&&(u=!0,!p.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.");}else f(d,g,k,m)}else k(null)}var h={},l={};a.l={get:(d,g)=>{var k=b(l,d);k?k.Rc?a.o.I(()=>g(k.definition)):a.Gb.qc(()=>g(k.definition)):c(d,g)},Fc:d=>delete l[d],Mb:f};a.l.loaders=[];a.m("components",
a.l)})();(()=>{function b(d,g,k,m){var p={},q=2;g=k.template;k=k.viewModel;g?a.l.Mb("loadTemplate",[d,g],u=>{p.template=u;0===--q&&m(p)}):0===--q&&m(p);k?a.l.Mb("loadViewModel",[d,k],u=>{p[l]=u;0===--q&&m(p)}):0===--q&&m(p)}function c(d,g,k){if("function"===typeof g)k(p=>new g(p));else if("function"===typeof g[l])k(g[l]);else if("instance"in g){var m=g.instance;k(()=>m)}else"viewModel"in g?c(d,g.viewModel,k):d("Unknown viewModel value: "+g)}function e(d){if("template"==a.a.da(d)&&d.content instanceof a.l)})();(()=>{function b(d,g,k,m){var p={},q=2;g=k.template;k=k.viewModel;g?a.l.Mb("loadTemplate",[d,g],u=>{p.template=u;0===--q&&m(p)}):0===--q&&m(p);k?a.l.Mb("loadViewModel",[d,k],u=>{p[l]=u;0===--q&&m(p)}):0===--q&&m(p)}function c(d,g,k){if("function"===typeof g)k(p=>new g(p));else if("function"===typeof g[l])k(g[l]);else if("instance"in g){var m=g.instance;k(()=>m)}else"viewModel"in g?c(d,g.viewModel,k):d("Unknown viewModel value: "+g)}function e(d){if("template"==a.a.da(d)&&d.content instanceof
DocumentFragment)return a.a.Oa(d.content.childNodes);throw"Template Source Element not a <template>";}function f(d){return g=>{throw Error("Component '"+d+"': "+g);}}var h={};a.l.register=(d,g)=>{if(!g)throw Error("Invalid configuration for "+d);if(a.l.ub(d))throw Error("Component "+d+" is already registered");h[d]=g};a.l.ub=d=>Object.prototype.hasOwnProperty.call(h,d);a.l.unregister=d=>{delete h[d];a.l.Ec(d)};a.l.Gc={getConfig:(d,g)=>{d=a.l.ub(d)?h[d]:null;g(d)},loadComponent:(d,g,k)=>{var m=f(d); DocumentFragment)return a.a.Oa(d.content.childNodes);throw"Template Source Element not a <template>";}function f(d){return g=>{throw Error("Component '"+d+"': "+g);}}var h={};a.l.register=(d,g)=>{if(!g)throw Error("Invalid configuration for "+d);if(a.l.ub(d))throw Error("Component "+d+" is already registered");h[d]=g};a.l.ub=d=>Object.prototype.hasOwnProperty.call(h,d);a.l.unregister=d=>{delete h[d];a.l.Fc(d)};a.l.Hc={getConfig:(d,g)=>{d=a.l.ub(d)?h[d]:null;g(d)},loadComponent:(d,g,k)=>{var m=f(d);
b(d,m,g,k)},loadTemplate:(d,g,k)=>{d=f(d);if("string"===typeof g)k(a.a.Ya(g));else if(g instanceof Array)k(g);else if(g instanceof DocumentFragment)k(a.a.qa(g.childNodes));else if(g.element)if(g=g.element,g instanceof HTMLElement)k(e(g));else if("string"===typeof g){var m=V.getElementById(g);m?k(e(m)):d("Cannot find element with ID "+g)}else d("Unknown element type: "+g);else d("Unknown template value: "+g)},loadViewModel:(d,g,k)=>c(f(d),g,k)};var l="createViewModel";a.s("components.register",a.l.register); b(d,m,g,k)},loadTemplate:(d,g,k)=>{d=f(d);if("string"===typeof g)k(a.a.Ya(g));else if(g instanceof Array)k(g);else if(g instanceof DocumentFragment)k(a.a.qa(g.childNodes));else if(g.element)if(g=g.element,g instanceof HTMLElement)k(e(g));else if("string"===typeof g){var m=V.getElementById(g);m?k(e(m)):d("Cannot find element with ID "+g)}else d("Unknown element type: "+g);else d("Unknown template value: "+g)},loadViewModel:(d,g,k)=>c(f(d),g,k)};var l="createViewModel";a.m("components.register",a.l.register);
a.l.loaders.push(a.l.Gc)})();(()=>{function b(e,f){var h=e.getAttribute("params");return h?(f=c.parseBindingsString(h,f,e,{valueAccessors:!0,bindingParams:!0}),f=a.a.Ea(f,l=>a.i(l,null,{j:e})),h=a.a.Ea(f,l=>{var d=l.D();return l.ha()?a.i({read:()=>a.a.g(l()),write:a.kc(d)&&(g=>l()(g)),j:e}):d}),Object.prototype.hasOwnProperty.call(h,"$raw")||(h.$raw=f),h):{$raw:{}}}a.l.getComponentNameForNode=e=>{var f=a.a.da(e);if(a.l.ub(f)&&(-1!=f.indexOf("-")||"[object HTMLUnknownElement]"==""+e))return f};a.l.Rb= a.l.loaders.push(a.l.Hc)})();(()=>{function b(e,f){var h=e.getAttribute("params");return h?(f=c.parseBindingsString(h,f,e,{valueAccessors:!0,bindingParams:!0}),f=a.a.Ea(f,l=>a.i(l,null,{j:e})),h=a.a.Ea(f,l=>{var d=l.D();return l.ha()?a.i({read:()=>a.a.g(l()),write:a.lc(d)&&(g=>l()(g)),j:e}):d}),Object.prototype.hasOwnProperty.call(h,"$raw")||(h.$raw=f),h):{$raw:{}}}a.l.getComponentNameForNode=e=>{var f=a.a.da(e);if(a.l.ub(f)&&(-1!=f.indexOf("-")||"[object HTMLUnknownElement]"==""+e))return f};a.l.Rb=
(e,f,h,l)=>{if(1===f.nodeType){var d=a.l.getComponentNameForNode(f);if(d){e=e||{};if(e.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var g={name:d,params:b(f,h)};e.component=l?()=>g:g}}return e};var c=new a.aa})();(()=>{function b(f,h,l){h=h.template;if(!h)throw Error("Component '"+f+"' has no template");f=a.a.Oa(h);a.h.Fa(l,f)}function c(f,h,l){var d=f.createViewModel;return d?d.call(f,h,l):h}var e=0;a.c.component={init:(f,h,l,d,g)=>{var k,m, (e,f,h,l)=>{if(1===f.nodeType){var d=a.l.getComponentNameForNode(f);if(d){e=e||{};if(e.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var g={name:d,params:b(f,h)};e.component=l?()=>g:g}}return e};var c=new a.aa})();(()=>{function b(f,h,l){h=h.template;if(!h)throw Error("Component '"+f+"' has no template");f=a.a.Oa(h);a.h.Fa(l,f)}function c(f,h,l){var d=f.createViewModel;return d?d.call(f,h,l):h}var e=0;a.c.component={init:(f,h,l,d,g)=>{var k,m,
p,q=()=>{var y=k&&k.dispose;"function"===typeof y&&y.call(k);p&&p.o();m=k=p=null},u=a.a.qa(a.h.childNodes(f));a.h.Aa(f);a.a.N.wa(f,q);a.i(()=>{var y=a.a.g(h());if("string"===typeof y)var t=y;else{t=a.a.g(y.name);var x=a.a.g(y.params)}if(!t)throw Error("No component name specified");var n=a.f.Cb(f,g),r=m=++e;a.l.get(t,v=>{if(m===r){q();if(!v)throw Error("Unknown component '"+t+"'");b(t,v,f);var w=c(v,x,{element:f,templateNodes:u});v=n.createChildContext(w,{extend:B=>{B.$component=w;B.$componentTemplateNodes= p,q=()=>{var y=k&&k.dispose;"function"===typeof y&&y.call(k);p&&p.s();m=k=p=null},u=a.a.qa(a.h.childNodes(f));a.h.Aa(f);a.a.N.wa(f,q);a.i(()=>{var y=a.a.g(h());if("string"===typeof y)var t=y;else{t=a.a.g(y.name);var x=a.a.g(y.params)}if(!t)throw Error("No component name specified");var n=a.f.Cb(f,g),r=m=++e;a.l.get(t,v=>{if(m===r){q();if(!v)throw Error("Unknown component '"+t+"'");b(t,v,f);var w=c(v,x,{element:f,templateNodes:u});v=n.createChildContext(w,{extend:B=>{B.$component=w;B.$componentTemplateNodes=
u}});w&&w.koDescendantsComplete&&(p=a.f.subscribe(f,a.f.ga,w.koDescendantsComplete,w));k=w;a.Ub(v,f)}})},null,{j:f});return{controlsDescendantBindings:!0}}};a.h.la.component=!0})();a.c.attr={update:(b,c)=>{c=a.a.g(c())||{};a.a.J(c,function(e,f){f=a.a.g(f);var h=e.indexOf(":");h="lookupNamespaceURI"in b&&0<h&&b.lookupNamespaceURI(e.substr(0,h));var l=!1===f||null===f||void 0===f;l?h?b.removeAttributeNS(h,e):b.removeAttribute(e):f=f.toString();l||(h?b.setAttributeNS(h,e,f):b.setAttribute(e,f));"name"=== u}});w&&w.koDescendantsComplete&&(p=a.f.subscribe(f,a.f.ga,w.koDescendantsComplete,w));k=w;a.Ub(v,f)}})},null,{j:f});return{controlsDescendantBindings:!0}}};a.h.la.component=!0})();a.c.attr={update:(b,c)=>{c=a.a.g(c())||{};a.a.J(c,function(e,f){f=a.a.g(f);var h=e.indexOf(":");h="lookupNamespaceURI"in b&&0<h&&b.lookupNamespaceURI(e.substr(0,h));var l=!1===f||null===f||void 0===f;l?h?b.removeAttributeNS(h,e):b.removeAttribute(e):f=f.toString();l||(h?b.setAttributeNS(h,e,f):b.setAttribute(e,f));"name"===
e&&(b.name=l?"":f)})}};a.c.css={update:(b,c)=>{c=a.a.g(c());null!==c&&"object"==typeof c?a.a.J(c,(e,f)=>{f=a.a.g(f);a.a.Hb(b,e,f)}):(c=a.a.Db(c),a.a.Hb(b,b.__ko__cssValue,!1),b.__ko__cssValue=c,a.a.Hb(b,c,!0))}};a.c.enable={update:(b,c)=>{(c=a.a.g(c()))&&b.disabled?b.removeAttribute("disabled"):c||b.disabled||(b.disabled=!0)}};a.c.disable={update:(b,c)=>a.c.enable.update(b,()=>!a.a.g(c()))};a.c.event={init:(b,c,e,f,h)=>{var l=c()||{};a.a.J(l,d=>{"string"==typeof d&&a.a.K(b,d,function(g){var k=c()[d]; e&&(b.name=l?"":f)})}};a.c.css={update:(b,c)=>{c=a.a.g(c());null!==c&&"object"==typeof c?a.a.J(c,(e,f)=>{f=a.a.g(f);a.a.Hb(b,e,f)}):(c=a.a.Db(c),a.a.Hb(b,b.__ko__cssValue,!1),b.__ko__cssValue=c,a.a.Hb(b,c,!0))}};a.c.enable={update:(b,c)=>{(c=a.a.g(c()))&&b.disabled?b.removeAttribute("disabled"):c||b.disabled||(b.disabled=!0)}};a.c.disable={update:(b,c)=>a.c.enable.update(b,()=>!a.a.g(c()))};a.c.event={init:(b,c,e,f,h)=>{var l=c()||{};a.a.J(l,d=>{"string"==typeof d&&a.a.K(b,d,function(g){var k=c()[d];
if(k){try{var m=a.a.qa(arguments);f=h.$data;m.unshift(f);var p=k.apply(f,m)}finally{!0!==p&&(g.preventDefault?g.preventDefault():g.returnValue=!1)}!1===e.get(d+"Bubble")&&(g.cancelBubble=!0,g.stopPropagation&&g.stopPropagation())}})})}};a.c.foreach={lc:b=>()=>{var c=b(),e=a.a.Wc(c);if(!e||"number"==typeof e.length)return{foreach:c,templateEngine:a.W.instance};a.a.g(c);return{foreach:e.data,as:e.as,noChildContext:e.noChildContext,includeDestroyed:e.includeDestroyed,afterAdd:e.afterAdd,beforeRemove:e.beforeRemove, if(k){try{var m=a.a.qa(arguments);f=h.$data;m.unshift(f);var p=k.apply(f,m)}finally{!0!==p&&(g.preventDefault?g.preventDefault():g.returnValue=!1)}!1===e.get(d+"Bubble")&&(g.cancelBubble=!0,g.stopPropagation&&g.stopPropagation())}})})}};a.c.foreach={mc:b=>()=>{var c=b(),e=a.a.Wc(c);if(!e||"number"==typeof e.length)return{foreach:c,templateEngine:a.W.instance};a.a.g(c);return{foreach:e.data,as:e.as,noChildContext:e.noChildContext,includeDestroyed:e.includeDestroyed,afterAdd:e.afterAdd,beforeRemove:e.beforeRemove,
afterRender:e.afterRender,beforeMove:e.beforeMove,afterMove:e.afterMove,templateEngine:a.W.instance}},init:(b,c)=>a.c.template.init(b,a.c.foreach.lc(c)),update:(b,c,e,f,h)=>a.c.template.update(b,a.c.foreach.lc(c),e,f,h)};a.H.ib.foreach=!1;a.h.la.foreach=!0;a.c.hasfocus={init:(b,c,e)=>{var f=l=>{b.__ko_hasfocusUpdating=!0;l=b.ownerDocument.activeElement===b;var d=c();a.H.Ib(d,e,"hasfocus",l,!0);b.__ko_hasfocusLastValue=l;b.__ko_hasfocusUpdating=!1},h=f.bind(null,!0);f=f.bind(null,!1);a.a.K(b,"focus", afterRender:e.afterRender,beforeMove:e.beforeMove,afterMove:e.afterMove,templateEngine:a.W.instance}},init:(b,c)=>a.c.template.init(b,a.c.foreach.mc(c)),update:(b,c,e,f,h)=>a.c.template.update(b,a.c.foreach.mc(c),e,f,h)};a.H.ib.foreach=!1;a.h.la.foreach=!0;a.c.hasfocus={init:(b,c,e)=>{var f=l=>{b.__ko_hasfocusUpdating=!0;l=b.ownerDocument.activeElement===b;var d=c();a.H.Ib(d,e,"hasfocus",l,!0);b.__ko_hasfocusLastValue=l;b.__ko_hasfocusUpdating=!1},h=f.bind(null,!0);f=f.bind(null,!1);a.a.K(b,"focus",
h);a.a.K(b,"focusin",h);a.a.K(b,"blur",f);a.a.K(b,"focusout",f);b.__ko_hasfocusLastValue=!1},update:(b,c)=>{c=!!a.a.g(c());b.__ko_hasfocusUpdating||b.__ko_hasfocusLastValue===c||(c?b.focus():b.blur())}};a.H.$a.hasfocus=!0;a.c.hasFocus=a.c.hasfocus;a.H.$a.hasFocus="hasfocus";a.c.html={init:()=>({controlsDescendantBindings:!0}),update:(b,c)=>a.a.rc(b,c())};(function(){function b(c,e,f){a.c[c]={init:(h,l,d,g,k)=>{var m,p,q={},u;if(e){g=d.get("as");var y=d.get("noChildContext");var t=!(g&&y);q={as:g, h);a.a.K(b,"focusin",h);a.a.K(b,"blur",f);a.a.K(b,"focusout",f);b.__ko_hasfocusLastValue=!1},update:(b,c)=>{c=!!a.a.g(c());b.__ko_hasfocusUpdating||b.__ko_hasfocusLastValue===c||(c?b.focus():b.blur())}};a.H.$a.hasfocus=!0;a.c.hasFocus=a.c.hasfocus;a.H.$a.hasFocus="hasfocus";a.c.html={init:()=>({controlsDescendantBindings:!0}),update:(b,c)=>a.a.sc(b,c())};(function(){function b(c,e,f){a.c[c]={init:(h,l,d,g,k)=>{var m,p,q={},u;if(e){g=d.get("as");var y=d.get("noChildContext");var t=!(g&&y);q={as:g,
noChildContext:y,exportDependencies:t}}var x=(u="render"==d.get("completeOn"))||d.has(a.f.ga);a.i(()=>{var n=a.a.g(l()),r=!f!==!n,v=!p;if(t||r!==m){x&&(k=a.f.Cb(h,k));if(r){if(!e||t)q.dataDependency=a.ya.i();var w=e?k.createChildContext("function"==typeof n?n:l,q):a.ya.Sa()?k.extend(null,q):k}v&&a.ya.Sa()&&(p=a.a.Oa(a.h.childNodes(h),!0));r?(v||a.h.Fa(h,a.a.Oa(p)),a.Ub(w,h)):(a.h.Aa(h),u||a.f.notify(h,a.f.C));m=r}},null,{j:h});return{controlsDescendantBindings:!0}}};a.H.ib[c]=!1;a.h.la[c]=!0}b("if"); noChildContext:y,exportDependencies:t}}var x=(u="render"==d.get("completeOn"))||d.has(a.f.ga);a.i(()=>{var n=a.a.g(l()),r=!f!==!n,v=!p;if(t||r!==m){x&&(k=a.f.Cb(h,k));if(r){if(!e||t)q.dataDependency=a.ya.i();var w=e?k.createChildContext("function"==typeof n?n:l,q):a.ya.Sa()?k.extend(null,q):k}v&&a.ya.Sa()&&(p=a.a.Oa(a.h.childNodes(h),!0));r?(v||a.h.Fa(h,a.a.Oa(p)),a.Ub(w,h)):(a.h.Aa(h),u||a.f.notify(h,a.f.C));m=r}},null,{j:h});return{controlsDescendantBindings:!0}}};a.H.ib[c]=!1;a.h.la[c]=!0}b("if");
b("ifnot",!1,!0);b("with",!0)})();var aa={};a.c.options={init:b=>{if("select"!==a.a.da(b))throw Error("options binding applies only to SELECT elements");for(;0<b.length;)b.remove(0);return{controlsDescendantBindings:!0}},update:(b,c,e)=>{function f(){return Array.from(b.options).filter(t=>t.selected)}function h(t,x,n){var r=typeof x;return"function"==r?x(t):"string"==r?t[x]:n}function l(t,x){u&&m?a.f.notify(b,a.f.C):p.length&&(t=0<=a.a.$(p,a.B.S(x[0])),x[0].selected=t,u&&!t&&a.m.I(a.a.tc,null,[b, b("ifnot",!1,!0);b("with",!0)})();var aa={};a.c.options={init:b=>{if("select"!==a.a.da(b))throw Error("options binding applies only to SELECT elements");for(;0<b.length;)b.remove(0);return{controlsDescendantBindings:!0}},update:(b,c,e)=>{function f(){return Array.from(b.options).filter(t=>t.selected)}function h(t,x,n){var r=typeof x;return"function"==r?x(t):"string"==r?t[x]:n}function l(t,x){u&&m?a.f.notify(b,a.f.C):p.length&&(t=0<=a.a.$(p,a.B.S(x[0])),x[0].selected=t,u&&!t&&a.o.I(a.a.uc,null,[b,
"change"]))}var d=b.multiple,g=0!=b.length&&d?b.scrollTop:null,k=a.a.g(c()),m=e.get("valueAllowUnset")&&e.has("value");c={};var p=[];m||(d?p=f().map(a.B.S):0<=b.selectedIndex&&p.push(a.B.S(b.options[b.selectedIndex])));if(k){"undefined"==typeof k.length&&(k=[k]);var q=k.filter(t=>t||null==t);e.has("optionsCaption")&&(k=a.a.g(e.get("optionsCaption")),null!==k&&void 0!==k&&q.unshift(aa))}var u=!1;c.beforeRemove=t=>b.removeChild(t);k=l;e.has("optionsAfterRender")&&"function"==typeof e.get("optionsAfterRender")&& "change"]))}var d=b.multiple,g=0!=b.length&&d?b.scrollTop:null,k=a.a.g(c()),m=e.get("valueAllowUnset")&&e.has("value");c={};var p=[];m||(d?p=f().map(a.B.S):0<=b.selectedIndex&&p.push(a.B.S(b.options[b.selectedIndex])));if(k){"undefined"==typeof k.length&&(k=[k]);var q=k.filter(t=>t||null==t);e.has("optionsCaption")&&(k=a.a.g(e.get("optionsCaption")),null!==k&&void 0!==k&&q.unshift(aa))}var u=!1;c.beforeRemove=t=>b.removeChild(t);k=l;e.has("optionsAfterRender")&&"function"==typeof e.get("optionsAfterRender")&&
(k=(t,x)=>{l(t,x);a.m.I(e.get("optionsAfterRender"),null,[x[0],t!==aa?t:void 0])});a.a.qc(b,q,function(t,x,n){n.length&&(p=!m&&n[0].selected?[a.B.S(n[0])]:[],u=!0);x=b.ownerDocument.createElement("option");t===aa?(a.a.Bb(x,e.get("optionsCaption")),a.B.cb(x,void 0)):(n=h(t,e.get("optionsValue"),t),a.B.cb(x,a.a.g(n)),t=h(t,e.get("optionsText"),n),a.a.Bb(x,t));return[x]},c,k);if(!m){var y;d?y=p.length&&f().length<p.length:y=p.length&&0<=b.selectedIndex?a.B.S(b.options[b.selectedIndex])!==p[0]:p.length|| (k=(t,x)=>{l(t,x);a.o.I(e.get("optionsAfterRender"),null,[x[0],t!==aa?t:void 0])});a.a.rc(b,q,function(t,x,n){n.length&&(p=!m&&n[0].selected?[a.B.S(n[0])]:[],u=!0);x=b.ownerDocument.createElement("option");t===aa?(a.a.Bb(x,e.get("optionsCaption")),a.B.cb(x,void 0)):(n=h(t,e.get("optionsValue"),t),a.B.cb(x,a.a.g(n)),t=h(t,e.get("optionsText"),n),a.a.Bb(x,t));return[x]},c,k);if(!m){var y;d?y=p.length&&f().length<p.length:y=p.length&&0<=b.selectedIndex?a.B.S(b.options[b.selectedIndex])!==p[0]:p.length||
0<=b.selectedIndex;y&&a.m.I(a.a.tc,null,[b,"change"])}(m||a.ya.tb())&&a.f.notify(b,a.f.C);g&&20<Math.abs(g-b.scrollTop)&&(b.scrollTop=g)}};a.c.options.yb=a.a.b.X();a.c.style={update:(b,c)=>{c=a.a.g(c()||{});a.a.J(c,(e,f)=>{f=a.a.g(f);if(null===f||void 0===f||!1===f)f="";if(/^--/.test(e))b.style.setProperty(e,f);else{e=e.replace(/-(\w)/g,(l,d)=>d.toUpperCase());var h=b.style[e];b.style[e]=f;f===h||b.style[e]!=h||isNaN(f)||(b.style[e]=f+"px")}})}};a.c.submit={init:(b,c,e,f,h)=>{if("function"!=typeof c())throw Error("The value for a submit binding must be a function"); 0<=b.selectedIndex;y&&a.o.I(a.a.uc,null,[b,"change"])}(m||a.ya.tb())&&a.f.notify(b,a.f.C);g&&20<Math.abs(g-b.scrollTop)&&(b.scrollTop=g)}};a.c.options.yb=a.a.b.X();a.c.style={update:(b,c)=>{c=a.a.g(c()||{});a.a.J(c,(e,f)=>{f=a.a.g(f);if(null===f||void 0===f||!1===f)f="";if(/^--/.test(e))b.style.setProperty(e,f);else{e=e.replace(/-(\w)/g,(l,d)=>d.toUpperCase());var h=b.style[e];b.style[e]=f;f===h||b.style[e]!=h||isNaN(f)||(b.style[e]=f+"px")}})}};a.c.submit={init:(b,c,e,f,h)=>{if("function"!=typeof c())throw Error("The value for a submit binding must be a function");
a.a.K(b,"submit",l=>{var d=c();try{var g=d.call(h.$data,b)}finally{!0!==g&&(l.preventDefault?l.preventDefault():l.returnValue=!1)}})}};a.c.text={init:()=>({controlsDescendantBindings:!0}),update:(b,c)=>a.a.Bb(b,c())};a.h.la.text=!0;a.c.textInput={init:(b,c,e)=>{var f=b.value,h,l,d=()=>{clearTimeout(h);l=h=void 0;var k=b.value;f!==k&&(f=k,a.H.Ib(c(),e,"textInput",k))},g=()=>{var k=a.a.g(c());if(null===k||void 0===k)k="";void 0!==l&&k===l?a.a.setTimeout(g,4):b.value!==k&&(b.value=k,f=b.value)};a.a.K(b, a.a.K(b,"submit",l=>{var d=c();try{var g=d.call(h.$data,b)}finally{!0!==g&&(l.preventDefault?l.preventDefault():l.returnValue=!1)}})}};a.c.text={init:()=>({controlsDescendantBindings:!0}),update:(b,c)=>a.a.Bb(b,c())};a.h.la.text=!0;a.c.textInput={init:(b,c,e)=>{var f=b.value,h,l,d=()=>{clearTimeout(h);l=h=void 0;var k=b.value;f!==k&&(f=k,a.H.Ib(c(),e,"textInput",k))},g=()=>{var k=a.a.g(c());if(null===k||void 0===k)k="";void 0!==l&&k===l?a.a.setTimeout(g,4):b.value!==k&&(b.value=k,f=b.value)};a.a.K(b,
"input",d);a.a.K(b,"change",d);a.a.K(b,"blur",d);a.i(g,null,{j:b})}};a.H.$a.textInput=!0;a.c.textinput={preprocess:(b,c,e)=>e("textInput",b)};a.c.value={init:(b,c,e)=>{var f=a.a.da(b),h="input"==f;if(!h||"checkbox"!=b.type&&"radio"!=b.type){var l=[],d=e.get("valueUpdate"),g=null;d&&("string"==typeof d?l=[d]:l=d?d.filter((q,u)=>d.indexOf(q)===u):[],a.a.Ma(l,"change"));var k=()=>{g=null;var q=c(),u=a.B.S(b);a.H.Ib(q,e,"value",u)};a.a.Z(l,q=>{var u=k;a.a.cd(q,"after")&&(u=()=>{g=a.B.S(b);a.a.setTimeout(k, "input",d);a.a.K(b,"change",d);a.a.K(b,"blur",d);a.i(g,null,{j:b})}};a.H.$a.textInput=!0;a.c.textinput={preprocess:(b,c,e)=>e("textInput",b)};a.c.value={init:(b,c,e)=>{var f=a.a.da(b),h="input"==f;if(!h||"checkbox"!=b.type&&"radio"!=b.type){var l=[],d=e.get("valueUpdate"),g=null;d&&("string"==typeof d?l=[d]:l=d?d.filter((q,u)=>d.indexOf(q)===u):[],a.a.Ma(l,"change"));var k=()=>{g=null;var q=c(),u=a.B.S(b);a.H.Ib(q,e,"value",u)};a.a.Z(l,q=>{var u=k;a.a.cd(q,"after")&&(u=()=>{g=a.B.S(b);a.a.setTimeout(k,
0)},q=q.substring(5));a.a.K(b,q,u)});var m=h&&"file"==b.type?()=>{var q=a.a.g(c());null===q||void 0===q||""===q?b.value="":a.m.I(k)}:()=>{var q=a.a.g(c()),u=a.B.S(b);if(null!==g&&q===g)a.a.setTimeout(m,0);else if(q!==u||void 0===u)"select"===f?(u=e.get("valueAllowUnset"),a.B.cb(b,q,u),u||q===a.B.S(b)||a.m.I(k)):a.B.cb(b,q)};if("select"===f){var p;a.f.subscribe(b,a.f.C,()=>{p?e.get("valueAllowUnset")?m():k():(a.a.K(b,"change",k),p=a.i(m,null,{j:b}))},null,{notifyImmediately:!0})}else a.a.K(b,"change", 0)},q=q.substring(5));a.a.K(b,q,u)});var m=h&&"file"==b.type?()=>{var q=a.a.g(c());null===q||void 0===q||""===q?b.value="":a.o.I(k)}:()=>{var q=a.a.g(c()),u=a.B.S(b);if(null!==g&&q===g)a.a.setTimeout(m,0);else if(q!==u||void 0===u)"select"===f?(u=e.get("valueAllowUnset"),a.B.cb(b,q,u),u||q===a.B.S(b)||a.o.I(k)):a.B.cb(b,q)};if("select"===f){var p;a.f.subscribe(b,a.f.C,()=>{p?e.get("valueAllowUnset")?m():k():(a.a.K(b,"change",k),p=a.i(m,null,{j:b}))},null,{notifyImmediately:!0})}else a.a.K(b,"change",
k),a.i(m,null,{j:b})}else a.hb(b,{checkedValue:c})},update:()=>{}};a.H.$a.value=!0;a.c.visible={update:(b,c)=>{c=a.a.g(c());var e="none"!=b.style.display;c&&!e?b.style.display="":e&&!c&&(b.style.display="none")}};a.c.hidden={update:(b,c)=>b.hidden=!!a.a.g(c())};(function(b){a.c[b]={init:function(c,e,f,h,l){return a.c.event.init.call(this,c,()=>{var d={};d[b]=e();return d},f,h,l)}}})("click");a.ea=function(){};a.ea.prototype.renderTemplateSource=()=>{throw Error("Override renderTemplateSource");}; k),a.i(m,null,{j:b})}else a.hb(b,{checkedValue:c})},update:()=>{}};a.H.$a.value=!0;a.c.visible={update:(b,c)=>{c=a.a.g(c());var e="none"!=b.style.display;c&&!e?b.style.display="":e&&!c&&(b.style.display="none")}};a.c.hidden={update:(b,c)=>b.hidden=!!a.a.g(c())};(function(b){a.c[b]={init:function(c,e,f,h,l){return a.c.event.init.call(this,c,()=>{var d={};d[b]=e();return d},f,h,l)}}})("click");a.ea=function(){};a.ea.prototype.renderTemplateSource=()=>{throw Error("Override renderTemplateSource");};
a.ea.prototype.createJavaScriptEvaluatorBlock=()=>{throw Error("Override createJavaScriptEvaluatorBlock");};a.ea.prototype.makeTemplateSource=(b,c)=>{if("string"==typeof b){c=c||V;c=c.getElementById(b);if(!c)throw Error("Cannot find template with ID "+b);return new a.F.v(c)}if(1==b.nodeType||8==b.nodeType)return new a.F.fa(b);throw Error("Unknown template type: "+b);};a.ea.prototype.renderTemplate=function(b,c,e,f){b=this.makeTemplateSource(b,f);return this.renderTemplateSource(b,c,e,f)};a.ea.prototype.isTemplateRewritten= a.ea.prototype.createJavaScriptEvaluatorBlock=()=>{throw Error("Override createJavaScriptEvaluatorBlock");};a.ea.prototype.makeTemplateSource=(b,c)=>{if("string"==typeof b){c=c||V;c=c.getElementById(b);if(!c)throw Error("Cannot find template with ID "+b);return new a.F.v(c)}if(1==b.nodeType||8==b.nodeType)return new a.F.fa(b);throw Error("Unknown template type: "+b);};a.ea.prototype.renderTemplate=function(b,c,e,f){b=this.makeTemplateSource(b,f);return this.renderTemplateSource(b,c,e,f)};a.ea.prototype.isTemplateRewritten=
function(b,c){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(b,c).data("isRewritten")};a.ea.prototype.rewriteTemplate=function(b,c,e){b=this.makeTemplateSource(b,e);c=c(b.text());b.text(c);b.data("isRewritten",!0)};(()=>{a.F={};a.F.v=function(e){if(this.v=e){var f=a.a.da(e);this.Ga="script"===f?1:"textarea"===f?2:"template"==f&&e.content&&11===e.content.nodeType?3:4}};a.F.v.prototype.text=function(){var e=1===this.Ga?"text":2===this.Ga?"value":"innerHTML";if(0==arguments.length)return this.v[e]; function(b,c){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(b,c).data("isRewritten")};a.ea.prototype.rewriteTemplate=function(b,c,e){b=this.makeTemplateSource(b,e);c=c(b.text());b.text(c);b.data("isRewritten",!0)};(()=>{a.F={};a.F.v=function(e){if(this.v=e){var f=a.a.da(e);this.Ga="script"===f?1:"textarea"===f?2:"template"==f&&e.content&&11===e.content.nodeType?3:4}};a.F.v.prototype.text=function(){var e=1===this.Ga?"text":2===this.Ga?"value":"innerHTML";if(0==arguments.length)return this.v[e];
var f=arguments[0];"innerHTML"===e?a.a.rc(this.v,f):this.v[e]=f};var b=a.a.b.X()+"_";a.F.v.prototype.data=function(e){if(1===arguments.length)return a.a.b.get(this.v,b+e);a.a.b.set(this.v,b+e,arguments[1])};var c=a.a.b.X();a.F.v.prototype.nodes=function(){var e=this.v;if(0==arguments.length){var f=a.a.b.get(e,c)||{},h=f.Pa||(3===this.Ga?e.content:4===this.Ga?e:void 0);if(!h||f.zc){var l=this.text();l&&l!==f.Ha&&(h=a.a.Uc(l,e.ownerDocument),a.a.b.set(e,c,{Pa:h,Ha:l,zc:!0}))}return h}f=arguments[0]; var f=arguments[0];"innerHTML"===e?a.a.sc(this.v,f):this.v[e]=f};var b=a.a.b.X()+"_";a.F.v.prototype.data=function(e){if(1===arguments.length)return a.a.b.get(this.v,b+e);a.a.b.set(this.v,b+e,arguments[1])};var c=a.a.b.X();a.F.v.prototype.nodes=function(){var e=this.v;if(0==arguments.length){var f=a.a.b.get(e,c)||{},h=f.Pa||(3===this.Ga?e.content:4===this.Ga?e:void 0);if(!h||f.Ac){var l=this.text();l&&l!==f.Ha&&(h=a.a.Uc(l,e.ownerDocument),a.a.b.set(e,c,{Pa:h,Ha:l,Ac:!0}))}return h}f=arguments[0];
void 0!==this.Ga&&this.text("");a.a.b.set(e,c,{Pa:f})};a.F.fa=function(e){this.v=e};a.F.fa.prototype=new a.F.v;a.F.fa.prototype.constructor=a.F.fa;a.F.fa.prototype.text=function(){if(0==arguments.length){var e=a.a.b.get(this.v,c)||{};void 0===e.Ha&&e.Pa&&(e.Ha=e.Pa.innerHTML);return e.Ha}a.a.b.set(this.v,c,{Ha:arguments[0]})}})();(function(){function b(g,k,m){var p;for(k=a.h.nextSibling(k);g&&(p=g)!==k;)g=a.h.nextSibling(p),m(p,g)}function c(g,k){if(g.length){var m=g[0],p=g[g.length-1],q=m.parentNode, void 0!==this.Ga&&this.text("");a.a.b.set(e,c,{Pa:f})};a.F.fa=function(e){this.v=e};a.F.fa.prototype=new a.F.v;a.F.fa.prototype.constructor=a.F.fa;a.F.fa.prototype.text=function(){if(0==arguments.length){var e=a.a.b.get(this.v,c)||{};void 0===e.Ha&&e.Pa&&(e.Ha=e.Pa.innerHTML);return e.Ha}a.a.b.set(this.v,c,{Ha:arguments[0]})}})();(function(){function b(g,k,m){var p;for(k=a.h.nextSibling(k);g&&(p=g)!==k;)g=a.h.nextSibling(p),m(p,g)}function c(g,k){if(g.length){var m=g[0],p=g[g.length-1],q=m.parentNode,
u=a.aa.instance,y=u.preprocessNode;if(y){b(m,p,(t,x)=>{var n=t.previousSibling,r=y.call(u,t);r&&(t===m&&(m=r[0]||x),t===p&&(p=r[r.length-1]||n))});g.length=0;if(!m)return;m===p?g.push(m):(g.push(m,p),a.a.Ba(g,q))}b(m,p,t=>{1!==t.nodeType&&8!==t.nodeType||a.Tb(k,t)});a.a.Ba(g,q)}}function e(g,k,m,p,q){q=q||{};var u=(g&&(g.nodeType?g:0<g.length?g[0]:null)||m||{}).ownerDocument,y=q.templateEngine||h;y.isTemplateRewritten(m,u)||y.rewriteTemplate(m,t=>t,u);m=y.renderTemplate(m,p,q,u);if("number"!=typeof m.length|| u=a.aa.instance,y=u.preprocessNode;if(y){b(m,p,(t,x)=>{var n=t.previousSibling,r=y.call(u,t);r&&(t===m&&(m=r[0]||x),t===p&&(p=r[r.length-1]||n))});g.length=0;if(!m)return;m===p?g.push(m):(g.push(m,p),a.a.Ba(g,q))}b(m,p,t=>{1!==t.nodeType&&8!==t.nodeType||a.Tb(k,t)});a.a.Ba(g,q)}}function e(g,k,m,p,q){q=q||{};var u=(g&&(g.nodeType?g:0<g.length?g[0]:null)||m||{}).ownerDocument,y=q.templateEngine||h;y.isTemplateRewritten(m,u)||y.rewriteTemplate(m,t=>t,u);m=y.renderTemplate(m,p,q,u);if("number"!=typeof m.length||
0<m.length&&"number"!=typeof m[0].nodeType)throw Error("Template engine must return an array of DOM nodes");u=!1;switch(k){case "replaceChildren":a.h.Fa(g,m);u=!0;break;case "ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+k);}u&&(c(m,p),q.afterRender&&a.m.I(q.afterRender,null,[m,p[q.as||"$data"]]),"replaceChildren"==k&&a.f.notify(g,a.f.C));return m}function f(g,k,m){return a.O(g)?g():"function"===typeof g?g(k,m):g}var h;a.ad=g=>{if(void 0!=g&&!(g instanceof a.ea))throw Error("templateEngine must inherit from ko.templateEngine"); 0<m.length&&"number"!=typeof m[0].nodeType)throw Error("Template engine must return an array of DOM nodes");u=!1;switch(k){case "replaceChildren":a.h.Fa(g,m);u=!0;break;case "ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+k);}u&&(c(m,p),q.afterRender&&a.o.I(q.afterRender,null,[m,p[q.as||"$data"]]),"replaceChildren"==k&&a.f.notify(g,a.f.C));return m}function f(g,k,m){return a.O(g)?g():"function"===typeof g?g(k,m):g}var h;a.ad=g=>{if(void 0!=g&&!(g instanceof a.ea))throw Error("templateEngine must inherit from ko.templateEngine");
h=g};a.Zc=function(g,k,m,p){m=m||{};if(void 0==(m.templateEngine||h))throw Error("Set a template engine before calling renderTemplate");var q=q||"replaceChildren";if(p){var u=p.nodeType?p:0<p.length?p[0]:null;return a.i(()=>{var y=k&&k instanceof a.U?k:new a.U(k,null,null,null,{exportDependencies:!0}),t=f(g,y.$data,y);e(p,q,t,y,m)},null,{za:()=>!u||!a.a.nb(u),j:u})}console.log("no targetNodeOrNodeArray")};a.$c=(g,k,m,p,q)=>{function u(w,B){a.m.I(a.a.qc,null,[p,w,x,m,n,B]);a.f.notify(p,a.f.C)}var y, h=g};a.Zc=function(g,k,m,p){m=m||{};if(void 0==(m.templateEngine||h))throw Error("Set a template engine before calling renderTemplate");var q=q||"replaceChildren";if(p){var u=p.nodeType?p:0<p.length?p[0]:null;return a.i(()=>{var y=k&&k instanceof a.U?k:new a.U(k,null,null,null,{exportDependencies:!0}),t=f(g,y.$data,y);e(p,q,t,y,m)},null,{za:()=>!u||!a.a.nb(u),j:u})}console.log("no targetNodeOrNodeArray")};a.$c=(g,k,m,p,q)=>{function u(w,B){a.o.I(a.a.rc,null,[p,w,x,m,n,B]);a.f.notify(p,a.f.C)}var y,
t=m.as,x=(w,B)=>{y=q.createChildContext(w,{as:t,noChildContext:m.noChildContext,extend:z=>{z.$index=B;t&&(z[t+"Index"]=B)}});w=f(g,w,y);return e(p,"ignoreTargetNode",w,y,m)},n=(w,B)=>{c(B,y);m.afterRender&&m.afterRender(B,w);y=null},r=!1===m.includeDestroyed;if(r||m.beforeRemove||!a.Pc(k))return a.i(()=>{var w=a.a.g(k)||[];"undefined"==typeof w.length&&(w=[w]);r&&(w=w.filter(B=>B||null==B));u(w)},null,{j:p});u(k.D());var v=k.subscribe(w=>{u(k(),w)},null,"arrayChange");v.j(p);return v};var l=a.a.b.X(), t=m.as,x=(w,B)=>{y=q.createChildContext(w,{as:t,noChildContext:m.noChildContext,extend:z=>{z.$index=B;t&&(z[t+"Index"]=B)}});w=f(g,w,y);return e(p,"ignoreTargetNode",w,y,m)},n=(w,B)=>{c(B,y);m.afterRender&&m.afterRender(B,w);y=null},r=!1===m.includeDestroyed;if(r||m.beforeRemove||!a.kc(k))return a.i(()=>{var w=a.a.g(k)||[];"undefined"==typeof w.length&&(w=[w]);r&&(w=w.filter(B=>B||null==B));u(w)},null,{j:p});u(k.D());var v=k.subscribe(w=>{u(k(),w)},null,"arrayChange");v.j(p);return v};var l=a.a.b.X(),
d=a.a.b.X();a.c.template={init:(g,k)=>{k=a.a.g(k());if("string"==typeof k||"name"in k)a.h.Aa(g);else if("nodes"in k){k=k.nodes||[];if(a.O(k))throw Error('The "nodes" option must be a plain, non-observable array.');let m=k[0]&&k[0].parentNode;m&&a.a.b.get(m,d)||(m=a.a.wb(k),a.a.b.set(m,d,!0));(new a.F.fa(g)).nodes(m)}else if(k=a.h.childNodes(g),0<k.length)k=a.a.wb(k),(new a.F.fa(g)).nodes(k);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}}, d=a.a.b.X();a.c.template={init:(g,k)=>{k=a.a.g(k());if("string"==typeof k||"name"in k)a.h.Aa(g);else if("nodes"in k){k=k.nodes||[];if(a.O(k))throw Error('The "nodes" option must be a plain, non-observable array.');let m=k[0]&&k[0].parentNode;m&&a.a.b.get(m,d)||(m=a.a.wb(k),a.a.b.set(m,d,!0));(new a.F.fa(g)).nodes(m)}else if(k=a.h.childNodes(g),0<k.length)k=a.a.wb(k),(new a.F.fa(g)).nodes(k);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},
update:(g,k,m,p,q)=>{var u=k();k=a.a.g(u);m=!0;p=null;"string"==typeof k?k={}:(u="name"in k?k.name:g,"if"in k&&(m=a.a.g(k["if"])),m&&"ifnot"in k&&(m=!a.a.g(k.ifnot)),m&&!u&&(m=!1));"foreach"in k?p=a.$c(u,m&&k.foreach||[],k,g,q):m?(m=q,"data"in k&&(m=q.createChildContext(k.data,{as:k.as,noChildContext:k.noChildContext,exportDependencies:!0})),p=a.Zc(u,m,k,g)):a.h.Aa(g);q=p;(k=a.a.b.get(g,l))&&"function"==typeof k.o&&k.o();a.a.b.set(g,l,!q||q.ha&&!q.ha()?void 0:q)}};a.H.ib.template=g=>{g=a.H.Vc(g); update:(g,k,m,p,q)=>{var u=k();k=a.a.g(u);m=!0;p=null;"string"==typeof k?k={}:(u="name"in k?k.name:g,"if"in k&&(m=a.a.g(k["if"])),m&&"ifnot"in k&&(m=!a.a.g(k.ifnot)),m&&!u&&(m=!1));"foreach"in k?p=a.$c(u,m&&k.foreach||[],k,g,q):m?(m=q,"data"in k&&(m=q.createChildContext(k.data,{as:k.as,noChildContext:k.noChildContext,exportDependencies:!0})),p=a.Zc(u,m,k,g)):a.h.Aa(g);q=p;(k=a.a.b.get(g,l))&&"function"==typeof k.s&&k.s();a.a.b.set(g,l,!q||q.ha&&!q.ha()?void 0:q)}};a.H.ib.template=g=>{g=a.H.Vc(g);
return 1==g.length&&g[0].unknown||a.H.Sc(g,"name")?null:"This template engine does not support anonymous templates nested within its templates"};a.h.la.template=!0})();a.a.fc=(b,c,e)=>{if(b.length&&c.length){var f,h,l,d,g;for(f=h=0;(!e||f<e)&&(d=b[h]);++h){for(l=0;g=c[l];++l)if(d.value===g.value){d.moved=g.index;g.moved=d.index;c.splice(l,1);f=l=0;break}f+=l}}};a.a.$b=(()=>{function b(c,e,f,h,l){var d=Math.min,g=Math.max,k=[],m,p=c.length,q,u=e.length,y=u-p||1,t=p+u+1,x;for(m=0;m<=p;m++){var n=x; return 1==g.length&&g[0].unknown||a.H.Sc(g,"name")?null:"This template engine does not support anonymous templates nested within its templates"};a.h.la.template=!0})();a.a.fc=(b,c,e)=>{if(b.length&&c.length){var f,h,l,d,g;for(f=h=0;(!e||f<e)&&(d=b[h]);++h){for(l=0;g=c[l];++l)if(d.value===g.value){d.moved=g.index;g.moved=d.index;c.splice(l,1);f=l=0;break}f+=l}}};a.a.$b=(()=>{function b(c,e,f,h,l){var d=Math.min,g=Math.max,k=[],m,p=c.length,q,u=e.length,y=u-p||1,t=p+u+1,x;for(m=0;m<=p;m++){var n=x;
k.push(x=[]);var r=d(u,m+y);for(q=g(0,m-1);q<=r;q++)x[q]=q?m?c[m-1]===e[q-1]?n[q-1]:d(n[q]||t,x[q-1]||t)+1:q+1:m+1}d=[];g=[];y=[];m=p;for(q=u;m||q;)u=k[m][q]-1,q&&u===k[m][q-1]?g.push(d[d.length]={status:f,value:e[--q],index:q}):m&&u===k[m-1][q]?y.push(d[d.length]={status:h,value:c[--m],index:m}):(--q,--m,l.sparse||d.push({status:"retained",value:e[q]}));a.a.fc(y,g,!l.dontLimitMoves&&10*p);return d.reverse()}return function(c,e,f){f="boolean"===typeof f?{dontLimitMoves:f}:f||{};c=c||[];e=e||[];return c.length< k.push(x=[]);var r=d(u,m+y);for(q=g(0,m-1);q<=r;q++)x[q]=q?m?c[m-1]===e[q-1]?n[q-1]:d(n[q]||t,x[q-1]||t)+1:q+1:m+1}d=[];g=[];y=[];m=p;for(q=u;m||q;)u=k[m][q]-1,q&&u===k[m][q-1]?g.push(d[d.length]={status:f,value:e[--q],index:q}):m&&u===k[m-1][q]?y.push(d[d.length]={status:h,value:c[--m],index:m}):(--q,--m,l.sparse||d.push({status:"retained",value:e[q]}));a.a.fc(y,g,!l.dontLimitMoves&&10*p);return d.reverse()}return function(c,e,f){f="boolean"===typeof f?{dontLimitMoves:f}:f||{};c=c||[];e=e||[];return c.length<
e.length?b(c,e,"added","deleted",f):b(e,c,"deleted","added",f)}})();(()=>{function b(f,h,l,d,g){var k=[],m=a.i(()=>{var p=h(l,g,a.a.Ba(k,f))||[];if(0<k.length){var q=k.nodeType?[k]:k;if(0<q.length){var u=q[0],y=u.parentNode,t;var x=0;for(t=p.length;x<t;x++)y.insertBefore(p[x],u);x=0;for(t=q.length;x<t;x++)a.removeNode(q[x])}d&&a.m.I(d,null,[l,p,g])}k.length=0;a.a.Ac(k,p)},null,{j:f,za:()=>!!a.a.Vb(k,a.a.nb)});return{R:k,kb:m.ha()?m:void 0}}var c=a.a.b.X(),e=a.a.b.X();a.a.qc=(f,h,l,d,g,k)=>{function m(K){A= e.length?b(c,e,"added","deleted",f):b(e,c,"deleted","added",f)}})();(()=>{function b(f,h,l,d,g){var k=[],m=a.i(()=>{var p=h(l,g,a.a.Ba(k,f))||[];if(0<k.length){var q=k.nodeType?[k]:k;if(0<q.length){var u=q[0],y=u.parentNode,t;var x=0;for(t=p.length;x<t;x++)y.insertBefore(p[x],u);x=0;for(t=q.length;x<t;x++)a.removeNode(q[x])}d&&a.o.I(d,null,[l,p,g])}k.length=0;a.a.Bc(k,p)},null,{j:f,za:()=>!!a.a.Vb(k,a.a.nb)});return{R:k,kb:m.ha()?m:void 0}}var c=a.a.b.X(),e=a.a.b.X();a.a.rc=(f,h,l,d,g,k)=>{function m(K){A=
{ma:K,Ua:a.ka(n++)};t.push(A);y||z.push(A)}function p(K){A=u[K];n!==A.Ua.D()&&B.push(A);A.Ua(n++);a.a.Ba(A.R,f);t.push(A)}function q(K,L){if(K)for(var M=0,D=L.length;M<D;M++)a.a.Z(L[M].R,function(S){K(S,M,L[M].ma)})}h=h||[];"undefined"==typeof h.length&&(h=[h]);d=d||{};var u=a.a.b.get(f,c),y=!u,t=[],x=0,n=0,r=[],v=[],w=[],B=[],z=[],C=0;if(y)a.a.Z(h,m);else{if(!k||u&&u._countWaitingForRemove)k=Array.prototype.map.call(u,K=>K.ma),k=a.a.$b(k,h,{dontLimitMoves:d.dontLimitMoves,sparse:!0});for(let K=0, {ma:K,Ua:a.ka(n++)};t.push(A);y||z.push(A)}function p(K){A=u[K];n!==A.Ua.D()&&B.push(A);A.Ua(n++);a.a.Ba(A.R,f);t.push(A)}function q(K,L){if(K)for(var M=0,D=L.length;M<D;M++)a.a.Z(L[M].R,function(S){K(S,M,L[M].ma)})}h=h||[];"undefined"==typeof h.length&&(h=[h]);d=d||{};var u=a.a.b.get(f,c),y=!u,t=[],x=0,n=0,r=[],v=[],w=[],B=[],z=[],C=0;if(y)a.a.Z(h,m);else{if(!k||u&&u._countWaitingForRemove)k=Array.prototype.map.call(u,K=>K.ma),k=a.a.$b(k,h,{dontLimitMoves:d.dontLimitMoves,sparse:!0});for(let K=0,
L,M,D;L=k[K];K++)switch(M=L.moved,D=L.index,L.status){case "deleted":for(;x<D;)p(x++);if(void 0===M){var A=u[x];A.kb&&(A.kb.o(),A.kb=void 0);a.a.Ba(A.R,f).length&&(d.beforeRemove&&(t.push(A),C++,A.ma===e?A=null:w.push(A)),A&&r.push.apply(r,A.R))}x++;break;case "added":for(;n<D;)p(x++);void 0!==M?(v.push(t.length),p(M)):m(L.value)}for(;n<h.length;)p(x++);t._countWaitingForRemove=C}a.a.b.set(f,c,t);q(d.beforeMove,B);a.a.Z(r,d.beforeRemove?a.oa:a.removeNode);var H,N;C=f.ownerDocument.activeElement;if(v.length)for(;void 0!= L,M,D;L=k[K];K++)switch(M=L.moved,D=L.index,L.status){case "deleted":for(;x<D;)p(x++);if(void 0===M){var A=u[x];A.kb&&(A.kb.s(),A.kb=void 0);a.a.Ba(A.R,f).length&&(d.beforeRemove&&(t.push(A),C++,A.ma===e?A=null:w.push(A)),A&&r.push.apply(r,A.R))}x++;break;case "added":for(;n<D;)p(x++);void 0!==M?(v.push(t.length),p(M)):m(L.value)}for(;n<h.length;)p(x++);t._countWaitingForRemove=C}a.a.b.set(f,c,t);q(d.beforeMove,B);a.a.Z(r,d.beforeRemove?a.oa:a.removeNode);var H,N;C=f.ownerDocument.activeElement;if(v.length)for(;void 0!=
(h=v.shift());){A=t[h];for(H=void 0;h;)if((N=t[--h].R)&&N.length){H=N[N.length-1];break}for(x=0;r=A.R[x];H=r,x++)a.h.jc(f,r,H)}for(h=0;A=t[h];h++){A.R||a.a.extend(A,b(f,l,A.ma,g,A.Ua));for(x=0;r=A.R[x];H=r,x++)a.h.jc(f,r,H);!A.Oc&&g&&(g(A.ma,A.R,A.Ua),A.Oc=!0,H=A.R[A.R.length-1])}C&&f.ownerDocument.activeElement!=C&&C.focus();q(d.beforeRemove,w);for(h=0;h<w.length;++h)w[h].ma=e;q(d.afterMove,B);q(d.afterAdd,z)}})();a.W=function(){this.allowTemplateRewriting=!1};a.W.prototype=new a.ea;a.W.prototype.constructor= (h=v.shift());){A=t[h];for(H=void 0;h;)if((N=t[--h].R)&&N.length){H=N[N.length-1];break}for(x=0;r=A.R[x];H=r,x++)a.h.jc(f,r,H)}for(h=0;A=t[h];h++){A.R||a.a.extend(A,b(f,l,A.ma,g,A.Ua));for(x=0;r=A.R[x];H=r,x++)a.h.jc(f,r,H);!A.Pc&&g&&(g(A.ma,A.R,A.Ua),A.Pc=!0,H=A.R[A.R.length-1])}C&&f.ownerDocument.activeElement!=C&&C.focus();q(d.beforeRemove,w);for(h=0;h<w.length;++h)w[h].ma=e;q(d.afterMove,B);q(d.afterAdd,z)}})();a.W=function(){this.allowTemplateRewriting=!1};a.W.prototype=new a.ea;a.W.prototype.constructor=
a.W;a.W.prototype.renderTemplateSource=(b,c,e,f)=>{if(c=b.Tc?b.Tc():null)return a.a.qa(c.cloneNode(!0).childNodes);b=b.text();return a.a.Ya(b,f)};a.W.instance=new a.W;a.ad(a.W.instance);E.ko=Z})(this); a.W;a.W.prototype.renderTemplateSource=(b,c,e,f)=>{if(c=b.Tc?b.Tc():null)return a.a.qa(c.cloneNode(!0).childNodes);b=b.text();return a.a.Ya(b,f)};a.W.instance=new a.W;a.ad(a.W.instance);E.ko=Z})(this);

View file

@ -95,3 +95,4 @@ ko.isObservableArray = instance => {
}; };
ko.exportSymbol('observableArray', ko.observableArray); ko.exportSymbol('observableArray', ko.observableArray);
ko.exportSymbol('isObservableArray', ko.isObservableArray);