var jsPsychSurvey = (function (jspsych) {
"use strict";
var commonjsGlobal =
typeof globalThis !== "undefined"
? globalThis
: typeof window !== "undefined"
? window
: typeof global !== "undefined"
? global
: typeof self !== "undefined"
? self
: {};
var surveyKnockoutUi = { exports: {} };
var knockoutLatest = { exports: {} };
/*!
* Knockout JavaScript library v3.5.1
* (c) The Knockout.js team - http://knockoutjs.com/
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
*/
var hasRequiredKnockoutLatest;
function requireKnockoutLatest() {
if (hasRequiredKnockoutLatest) return knockoutLatest.exports;
hasRequiredKnockoutLatest = 1;
(function (module, exports) {
(function () {
(function (n) {
var A = this || (0, eval)("this"),
w = A.document,
R = A.navigator,
v = A.jQuery,
H = A.JSON;
v || "undefined" === typeof jQuery || (v = jQuery);
(function (n) {
n(module.exports || exports);
})(function (S, T) {
function K(a, c) {
return null === a || typeof a in W ? a === c : !1;
}
function X(b, c) {
var d;
return function () {
d ||
(d = a.a.setTimeout(function () {
d = n;
b();
}, c));
};
}
function Y(b, c) {
var d;
return function () {
clearTimeout(d);
d = a.a.setTimeout(b, c);
};
}
function Z(a, c) {
c && "change" !== c
? "beforeChange" === c
? this.pc(a)
: this.gb(a, c)
: this.qc(a);
}
function aa(a, c) {
null !== c && c.s && c.s();
}
function ba(a, c) {
var d = this.qd,
e = d[r];
e.ra ||
(this.Qb && this.mb[c]
? (d.uc(c, a, this.mb[c]), (this.mb[c] = null), --this.Qb)
: e.I[c] || d.uc(c, a, e.J ? { da: a } : d.$c(a)),
a.Ja && a.gd());
}
var a = "undefined" !== typeof S ? S : {};
a.b = function (b, c) {
for (var d = b.split("."), e = a, f = 0; f < d.length - 1; f++) e = e[d[f]];
e[d[d.length - 1]] = c;
};
a.L = function (a, c, d) {
a[c] = d;
};
a.version = "3.5.1";
a.b("version", a.version);
a.options = { deferUpdates: !1, useOnlyNativeEvents: !1, foreachHidesDestroyed: !1 };
a.a = (function () {
function b(a, b) {
for (var c in a) f.call(a, c) && b(c, a[c]);
}
function c(a, b) {
if (b) for (var c in b) f.call(b, c) && (a[c] = b[c]);
return a;
}
function d(a, b) {
a.__proto__ = b;
return a;
}
function e(b, c, d, e) {
var l = b[c].match(q) || [];
a.a.D(d.match(q), function (b) {
a.a.Na(l, b, e);
});
b[c] = l.join(" ");
}
var f = Object.prototype.hasOwnProperty,
g = { __proto__: [] } instanceof Array,
h = "function" === typeof Symbol,
m = {},
k = {};
m[R && /Firefox\/2/i.test(R.userAgent) ? "KeyboardEvent" : "UIEvents"] = [
"keyup",
"keydown",
"keypress",
];
m.MouseEvents =
"click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(
" "
);
b(m, function (a, b) {
if (b.length) for (var c = 0, d = b.length; c < d; c++) k[b[c]] = a;
});
var l = { propertychange: !0 },
p =
w &&
(function () {
for (
var a = 3, b = w.createElement("div"), c = b.getElementsByTagName("i");
(b.innerHTML = "\x3c!--[if gt IE " + ++a + "]> a.a.A(c, b) && c.push(b);
});
return c;
},
Mb: function (a, b, c) {
var d = [];
if (a) for (var e = 0, l = a.length; e < l; e++) d.push(b.call(c, a[e], e));
return d;
},
jb: function (a, b, c) {
var d = [];
if (a)
for (var e = 0, l = a.length; e < l; e++) b.call(c, a[e], e) && d.push(a[e]);
return d;
},
Nb: function (a, b) {
if (b instanceof Array) a.push.apply(a, b);
else for (var c = 0, d = b.length; c < d; c++) a.push(b[c]);
return a;
},
Na: function (b, c, d) {
var e = a.a.A(a.a.bc(b), c);
0 > e ? d && b.push(c) : d || b.splice(e, 1);
},
Ba: g,
extend: c,
setPrototypeOf: d,
Ab: g ? d : c,
P: b,
Ga: function (a, b, c) {
if (!a) return a;
var d = {},
e;
for (e in a) f.call(a, e) && (d[e] = b.call(c, a[e], e, a));
return d;
},
Tb: function (b) {
for (; b.firstChild; ) a.removeNode(b.firstChild);
},
Yb: function (b) {
b = a.a.la(b);
for (
var c = ((b[0] && b[0].ownerDocument) || w).createElement("div"),
d = 0,
e = b.length;
d < e;
d++
)
c.appendChild(a.oa(b[d]));
return c;
},
Ca: function (b, c) {
for (var d = 0, e = b.length, l = []; d < e; d++) {
var k = b[d].cloneNode(!0);
l.push(c ? a.oa(k) : k);
}
return l;
},
va: function (b, c) {
a.a.Tb(b);
if (c) for (var d = 0, e = c.length; d < e; d++) b.appendChild(c[d]);
},
Xc: function (b, c) {
var d = b.nodeType ? [b] : b;
if (0 < d.length) {
for (var e = d[0], l = e.parentNode, k = 0, f = c.length; k < f; k++)
l.insertBefore(c[k], e);
k = 0;
for (f = d.length; k < f; k++) a.removeNode(d[k]);
}
},
Ua: function (a, b) {
if (a.length) {
for (
b = (8 === b.nodeType && b.parentNode) || b;
a.length && a[0].parentNode !== b;
)
a.splice(0, 1);
for (; 1 < a.length && a[a.length - 1].parentNode !== b; ) a.length--;
if (1 < a.length) {
var c = a[0],
d = a[a.length - 1];
for (a.length = 0; c !== d; ) a.push(c), (c = c.nextSibling);
a.push(d);
}
}
return a;
},
Zc: function (a, b) {
7 > p ? a.setAttribute("selected", b) : (a.selected = b);
},
Db: function (a) {
return null === a || a === n
? ""
: a.trim
? a.trim()
: a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g, "");
},
Ud: function (a, b) {
a = a || "";
return b.length > a.length ? !1 : a.substring(0, b.length) === b;
},
vd: function (a, b) {
if (a === b) return !0;
if (11 === a.nodeType) return !1;
if (b.contains) return b.contains(1 !== a.nodeType ? a.parentNode : a);
if (b.compareDocumentPosition) return 16 == (b.compareDocumentPosition(a) & 16);
for (; a && a != b; ) a = a.parentNode;
return !!a;
},
Sb: function (b) {
return a.a.vd(b, b.ownerDocument.documentElement);
},
kd: function (b) {
return !!a.a.Lb(b, a.a.Sb);
},
R: function (a) {
return a && a.tagName && a.tagName.toLowerCase();
},
Ac: function (b) {
return a.onError
? function () {
try {
return b.apply(this, arguments);
} catch (c) {
throw (a.onError && a.onError(c), c);
}
}
: b;
},
setTimeout: function (b, c) {
return setTimeout(a.a.Ac(b), c);
},
Gc: function (b) {
setTimeout(function () {
a.onError && a.onError(b);
throw b;
}, 0);
},
B: function (b, c, d) {
var e = a.a.Ac(d);
d = l[c];
if (a.options.useOnlyNativeEvents || d || !v)
if (d || "function" != typeof b.addEventListener)
if ("undefined" != typeof b.attachEvent) {
var k = function (a) {
e.call(b, a);
},
f = "on" + c;
b.attachEvent(f, k);
a.a.K.za(b, function () {
b.detachEvent(f, k);
});
} else throw Error("Browser doesn't support addEventListener or attachEvent");
else b.addEventListener(c, e, !1);
else t || (t = "function" == typeof v(b).on ? "on" : "bind"), v(b)[t](c, e);
},
Fb: function (b, c) {
if (!b || !b.nodeType)
throw Error("element must be a DOM node when calling triggerEvent");
var d;
"input" === a.a.R(b) && b.type && "click" == c.toLowerCase()
? ((d = b.type), (d = "checkbox" == d || "radio" == d))
: (d = !1);
if (a.options.useOnlyNativeEvents || !v || d)
if ("function" == typeof w.createEvent)
if ("function" == typeof b.dispatchEvent)
(d = w.createEvent(k[c] || "HTMLEvents")),
d.initEvent(c, !0, !0, A, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, b),
b.dispatchEvent(d);
else throw Error("The supplied element doesn't support dispatchEvent");
else if (d && b.click) b.click();
else if ("undefined" != typeof b.fireEvent) b.fireEvent("on" + c);
else throw Error("Browser doesn't support triggering events");
else v(b).trigger(c);
},
f: function (b) {
return a.O(b) ? b() : b;
},
bc: function (b) {
return a.O(b) ? b.v() : b;
},
Eb: function (b, c, d) {
var l;
c &&
("object" === typeof b.classList
? ((l = b.classList[d ? "add" : "remove"]),
a.a.D(c.match(q), function (a) {
l.call(b.classList, a);
}))
: "string" === typeof b.className.baseVal
? e(b.className, "baseVal", c, d)
: e(b, "className", c, d));
},
Bb: function (b, c) {
var d = a.a.f(c);
if (null === d || d === n) d = "";
var e = a.h.firstChild(b);
!e || 3 != e.nodeType || a.h.nextSibling(e)
? a.h.va(b, [b.ownerDocument.createTextNode(d)])
: (e.data = d);
a.a.Ad(b);
},
Yc: function (a, b) {
a.name = b;
if (7 >= p)
try {
var c = a.name.replace(/[&<>'"]/g, function (a) {
return "" + a.charCodeAt(0) + ";";
});
a.mergeAttributes(w.createElement(""), !1);
} catch (d) {}
},
Ad: function (a) {
9 <= p &&
((a = 1 == a.nodeType ? a : a.parentNode),
a.style && (a.style.zoom = a.style.zoom));
},
wd: function (a) {
if (p) {
var b = a.style.width;
a.style.width = 0;
a.style.width = b;
}
},
Pd: function (b, c) {
b = a.a.f(b);
c = a.a.f(c);
for (var d = [], e = b; e <= c; e++) d.push(e);
return d;
},
la: function (a) {
for (var b = [], c = 0, d = a.length; c < d; c++) b.push(a[c]);
return b;
},
Da: function (a) {
return h ? Symbol(a) : a;
},
Zd: 6 === p,
$d: 7 === p,
W: p,
Lc: function (b, c) {
for (
var d = a.a
.la(b.getElementsByTagName("input"))
.concat(a.a.la(b.getElementsByTagName("textarea"))),
e =
"string" == typeof c
? function (a) {
return a.name === c;
}
: function (a) {
return c.test(a.name);
},
l = [],
k = d.length - 1;
0 <= k;
k--
)
e(d[k]) && l.push(d[k]);
return l;
},
Nd: function (b) {
return "string" == typeof b && (b = a.a.Db(b))
? H && H.parse
? H.parse(b)
: new Function("return " + b)()
: null;
},
hc: function (b, c, d) {
if (!H || !H.stringify)
throw Error(
"Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js"
);
return H.stringify(a.a.f(b), c, d);
},
Od: function (c, d, e) {
e = e || {};
var l = e.params || {},
k = e.includeFields || this.Jc,
f = c;
if ("object" == typeof c && "form" === a.a.R(c))
for (var f = c.action, h = k.length - 1; 0 <= h; h--)
for (var g = a.a.Lc(c, k[h]), m = g.length - 1; 0 <= m; m--)
l[g[m].name] = g[m].value;
d = a.a.f(d);
var p = w.createElement("form");
p.style.display = "none";
p.action = f;
p.method = "post";
for (var q in d)
(c = w.createElement("input")),
(c.type = "hidden"),
(c.name = q),
(c.value = a.a.hc(a.a.f(d[q]))),
p.appendChild(c);
b(l, function (a, b) {
var c = w.createElement("input");
c.type = "hidden";
c.name = a;
c.value = b;
p.appendChild(c);
});
w.body.appendChild(p);
e.submitter ? e.submitter(p) : p.submit();
setTimeout(function () {
p.parentNode.removeChild(p);
}, 0);
},
};
})();
a.b("utils", a.a);
a.b("utils.arrayForEach", a.a.D);
a.b("utils.arrayFirst", a.a.Lb);
a.b("utils.arrayFilter", a.a.jb);
a.b("utils.arrayGetDistinctValues", a.a.wc);
a.b("utils.arrayIndexOf", a.a.A);
a.b("utils.arrayMap", a.a.Mb);
a.b("utils.arrayPushAll", a.a.Nb);
a.b("utils.arrayRemoveItem", a.a.Pa);
a.b("utils.cloneNodes", a.a.Ca);
a.b("utils.createSymbolOrString", a.a.Da);
a.b("utils.extend", a.a.extend);
a.b("utils.fieldsIncludedWithJsonPost", a.a.Jc);
a.b("utils.getFormFields", a.a.Lc);
a.b("utils.objectMap", a.a.Ga);
a.b("utils.peekObservable", a.a.bc);
a.b("utils.postJson", a.a.Od);
a.b("utils.parseJson", a.a.Nd);
a.b("utils.registerEventHandler", a.a.B);
a.b("utils.stringifyJson", a.a.hc);
a.b("utils.range", a.a.Pd);
a.b("utils.toggleDomNodeCssClass", a.a.Eb);
a.b("utils.triggerEvent", a.a.Fb);
a.b("utils.unwrapObservable", a.a.f);
a.b("utils.objectForEach", a.a.P);
a.b("utils.addOrRemoveItem", a.a.Na);
a.b("utils.setTextContent", a.a.Bb);
a.b("unwrap", a.a.f);
Function.prototype.bind ||
(Function.prototype.bind = function (a) {
var c = this;
if (1 === arguments.length)
return function () {
return c.apply(a, arguments);
};
var d = Array.prototype.slice.call(arguments, 1);
return function () {
var e = d.slice(0);
e.push.apply(e, arguments);
return c.apply(a, e);
};
});
a.a.g = new (function () {
var b = 0,
c = "__ko__" + new Date().getTime(),
d = {},
e,
f;
a.a.W
? ((e = function (a, e) {
var f = a[c];
if (!f || "null" === f || !d[f]) {
if (!e) return n;
f = a[c] = "ko" + b++;
d[f] = {};
}
return d[f];
}),
(f = function (a) {
var b = a[c];
return b ? (delete d[b], (a[c] = null), !0) : !1;
}))
: ((e = function (a, b) {
var d = a[c];
!d && b && (d = a[c] = {});
return d;
}),
(f = function (a) {
return a[c] ? (delete a[c], !0) : !1;
}));
return {
get: function (a, b) {
var c = e(a, !1);
return c && c[b];
},
set: function (a, b, c) {
(a = e(a, c !== n)) && (a[b] = c);
},
Ub: function (a, b, c) {
a = e(a, !0);
return a[b] || (a[b] = c);
},
clear: f,
Z: function () {
return b++ + c;
},
};
})();
a.b("utils.domData", a.a.g);
a.b("utils.domData.clear", a.a.g.clear);
a.a.K = new (function () {
function b(b, c) {
var d = a.a.g.get(b, e);
d === n && c && ((d = []), a.a.g.set(b, e, d));
return d;
}
function c(c) {
var e = b(c, !1);
if (e) for (var e = e.slice(0), k = 0; k < e.length; k++) e[k](c);
a.a.g.clear(c);
a.a.K.cleanExternalData(c);
g[c.nodeType] && d(c.childNodes, !0);
}
function d(b, d) {
for (var e = [], l, f = 0; f < b.length; f++)
if (!d || 8 === b[f].nodeType)
if ((c((e[e.length] = l = b[f])), b[f] !== l))
for (; f-- && -1 == a.a.A(e, b[f]); );
}
var e = a.a.g.Z(),
f = { 1: !0, 8: !0, 9: !0 },
g = { 1: !0, 9: !0 };
return {
za: function (a, c) {
if ("function" != typeof c) throw Error("Callback must be a function");
b(a, !0).push(c);
},
yb: function (c, d) {
var f = b(c, !1);
f && (a.a.Pa(f, d), 0 == f.length && a.a.g.set(c, e, n));
},
oa: function (b) {
a.u.G(function () {
f[b.nodeType] && (c(b), g[b.nodeType] && d(b.getElementsByTagName("*")));
});
return b;
},
removeNode: function (b) {
a.oa(b);
b.parentNode && b.parentNode.removeChild(b);
},
cleanExternalData: function (a) {
v && "function" == typeof v.cleanData && v.cleanData([a]);
},
};
})();
a.oa = a.a.K.oa;
a.removeNode = a.a.K.removeNode;
a.b("cleanNode", a.oa);
a.b("removeNode", a.removeNode);
a.b("utils.domNodeDisposal", a.a.K);
a.b("utils.domNodeDisposal.addDisposeCallback", a.a.K.za);
a.b("utils.domNodeDisposal.removeDisposeCallback", a.a.K.yb);
(function () {
var b = [0, "", ""],
c = [1, "
", "
"],
d = [3, "
", "
"],
e = [1, ""],
f = {
thead: c,
tbody: c,
tfoot: c,
tr: [2, "
", "
"],
td: d,
th: d,
option: e,
optgroup: e,
},
g = 8 >= a.a.W;
a.a.ua = function (c, d) {
var e;
if (v)
if (v.parseHTML) e = v.parseHTML(c, d) || [];
else {
if ((e = v.clean([c], d)) && e[0]) {
for (var l = e[0]; l.parentNode && 11 !== l.parentNode.nodeType; )
l = l.parentNode;
l.parentNode && l.parentNode.removeChild(l);
}
}
else {
(e = d) || (e = w);
var l = e.parentWindow || e.defaultView || A,
p = a.a.Db(c).toLowerCase(),
q = e.createElement("div"),
t;
t = ((p = p.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/)) && f[p[1]]) || b;
p = t[0];
t = "ignored
" + t[1] + c + t[2] + "
";
"function" == typeof l.innerShiv
? q.appendChild(l.innerShiv(t))
: (g && e.body.appendChild(q),
(q.innerHTML = t),
g && q.parentNode.removeChild(q));
for (; p--; ) q = q.lastChild;
e = a.a.la(q.lastChild.childNodes);
}
return e;
};
a.a.Md = function (b, c) {
var d = a.a.ua(b, c);
return (d.length && d[0].parentElement) || a.a.Yb(d);
};
a.a.fc = function (b, c) {
a.a.Tb(b);
c = a.a.f(c);
if (null !== c && c !== n)
if (("string" != typeof c && (c = c.toString()), v)) v(b).html(c);
else
for (var d = a.a.ua(c, b.ownerDocument), e = 0; e < d.length; e++)
b.appendChild(d[e]);
};
})();
a.b("utils.parseHtmlFragment", a.a.ua);
a.b("utils.setHtml", a.a.fc);
a.aa = (function () {
function b(c, e) {
if (c)
if (8 == c.nodeType) {
var f = a.aa.Uc(c.nodeValue);
null != f && e.push({ ud: c, Kd: f });
} else if (1 == c.nodeType)
for (var f = 0, g = c.childNodes, h = g.length; f < h; f++) b(g[f], e);
}
var c = {};
return {
Xb: function (a) {
if ("function" != typeof a)
throw Error("You can only pass a function to ko.memoization.memoize()");
var b =
((4294967296 * (1 + Math.random())) | 0).toString(16).substring(1) +
((4294967296 * (1 + Math.random())) | 0).toString(16).substring(1);
c[b] = a;
return "\x3c!--[ko_memo:" + b + "]--\x3e";
},
bd: function (a, b) {
var f = c[a];
if (f === n)
throw Error(
"Couldn't find any memo with ID " +
a +
". Perhaps it's already been unmemoized."
);
try {
return f.apply(null, b || []), !0;
} finally {
delete c[a];
}
},
cd: function (c, e) {
var f = [];
b(c, f);
for (var g = 0, h = f.length; g < h; g++) {
var m = f[g].ud,
k = [m];
e && a.a.Nb(k, e);
a.aa.bd(f[g].Kd, k);
m.nodeValue = "";
m.parentNode && m.parentNode.removeChild(m);
}
},
Uc: function (a) {
return (a = a.match(/^\[ko_memo\:(.*?)\]$/)) ? a[1] : null;
},
};
})();
a.b("memoization", a.aa);
a.b("memoization.memoize", a.aa.Xb);
a.b("memoization.unmemoize", a.aa.bd);
a.b("memoization.parseMemoText", a.aa.Uc);
a.b("memoization.unmemoizeDomNodeAndDescendants", a.aa.cd);
a.na = (function () {
function b() {
if (f)
for (var b = f, c = 0, d; h < f; )
if ((d = e[h++])) {
if (h > b) {
if (5e3 <= ++c) {
h = f;
a.a.Gc(
Error("'Too much recursion' after processing " + c + " task groups.")
);
break;
}
b = f;
}
try {
d();
} catch (p) {
a.a.Gc(p);
}
}
}
function c() {
b();
h = f = e.length = 0;
}
var d,
e = [],
f = 0,
g = 1,
h = 0;
A.MutationObserver
? (d = (function (a) {
var b = w.createElement("div");
new MutationObserver(a).observe(b, { attributes: !0 });
return function () {
b.classList.toggle("foo");
};
})(c))
: (d =
w && "onreadystatechange" in w.createElement("script")
? function (a) {
var b = w.createElement("script");
b.onreadystatechange = function () {
b.onreadystatechange = null;
w.documentElement.removeChild(b);
b = null;
a();
};
w.documentElement.appendChild(b);
}
: function (a) {
setTimeout(a, 0);
});
return {
scheduler: d,
zb: function (b) {
f || a.na.scheduler(c);
e[f++] = b;
return g++;
},
cancel: function (a) {
a = a - (g - f);
a >= h && a < f && (e[a] = null);
},
resetForTesting: function () {
var a = f - h;
h = f = e.length = 0;
return a;
},
Sd: b,
};
})();
a.b("tasks", a.na);
a.b("tasks.schedule", a.na.zb);
a.b("tasks.runEarly", a.na.Sd);
a.Ta = {
throttle: function (b, c) {
b.throttleEvaluation = c;
var d = null;
return a.$({
read: b,
write: function (e) {
clearTimeout(d);
d = a.a.setTimeout(function () {
b(e);
}, c);
},
});
},
rateLimit: function (a, c) {
var d, e, f;
"number" == typeof c ? (d = c) : ((d = c.timeout), (e = c.method));
a.Hb = !1;
f = "function" == typeof e ? e : "notifyWhenChangesStop" == e ? Y : X;
a.ub(function (a) {
return f(a, d, c);
});
},
deferred: function (b, c) {
if (!0 !== c)
throw Error(
"The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled."
);
b.Hb ||
((b.Hb = !0),
b.ub(function (c) {
var e,
f = !1;
return function () {
if (!f) {
a.na.cancel(e);
e = a.na.zb(c);
try {
(f = !0), b.notifySubscribers(n, "dirty");
} finally {
f = !1;
}
}
};
}));
},
notify: function (a, c) {
a.equalityComparer = "always" == c ? null : K;
},
};
var W = { undefined: 1, boolean: 1, number: 1, string: 1 };
a.b("extenders", a.Ta);
a.ic = function (b, c, d) {
this.da = b;
this.lc = c;
this.mc = d;
this.Ib = !1;
this.fb = this.Jb = null;
a.L(this, "dispose", this.s);
a.L(this, "disposeWhenNodeIsRemoved", this.l);
};
a.ic.prototype.s = function () {
this.Ib ||
(this.fb && a.a.K.yb(this.Jb, this.fb),
(this.Ib = !0),
this.mc(),
(this.da = this.lc = this.mc = this.Jb = this.fb = null));
};
a.ic.prototype.l = function (b) {
this.Jb = b;
a.a.K.za(b, (this.fb = this.s.bind(this)));
};
a.T = function () {
a.a.Ab(this, D);
D.qb(this);
};
var D = {
qb: function (a) {
a.U = { change: [] };
a.sc = 1;
},
subscribe: function (b, c, d) {
var e = this;
d = d || "change";
var f = new a.ic(e, c ? b.bind(c) : b, function () {
a.a.Pa(e.U[d], f);
e.hb && e.hb(d);
});
e.Qa && e.Qa(d);
e.U[d] || (e.U[d] = []);
e.U[d].push(f);
return f;
},
notifySubscribers: function (b, c) {
c = c || "change";
"change" === c && this.Gb();
if (this.Wa(c)) {
var d = ("change" === c && this.ed) || this.U[c].slice(0);
try {
a.u.xc();
for (var e = 0, f; (f = d[e]); ++e) f.Ib || f.lc(b);
} finally {
a.u.end();
}
}
},
ob: function () {
return this.sc;
},
Dd: function (a) {
return this.ob() !== a;
},
Gb: function () {
++this.sc;
},
ub: function (b) {
var c = this,
d = a.O(c),
e,
f,
g,
h,
m;
c.gb || ((c.gb = c.notifySubscribers), (c.notifySubscribers = Z));
var k = b(function () {
c.Ja = !1;
d && h === c && (h = c.nc ? c.nc() : c());
var a = f || (m && c.sb(g, h));
m = f = e = !1;
a && c.gb((g = h));
});
c.qc = function (a, b) {
(b && c.Ja) || (m = !b);
c.ed = c.U.change.slice(0);
c.Ja = e = !0;
h = a;
k();
};
c.pc = function (a) {
e || ((g = a), c.gb(a, "beforeChange"));
};
c.rc = function () {
m = !0;
};
c.gd = function () {
c.sb(g, c.v(!0)) && (f = !0);
};
},
Wa: function (a) {
return this.U[a] && this.U[a].length;
},
Bd: function (b) {
if (b) return (this.U[b] && this.U[b].length) || 0;
var c = 0;
a.a.P(this.U, function (a, b) {
"dirty" !== a && (c += b.length);
});
return c;
},
sb: function (a, c) {
return !this.equalityComparer || !this.equalityComparer(a, c);
},
toString: function () {
return "[object Object]";
},
extend: function (b) {
var c = this;
b &&
a.a.P(b, function (b, e) {
var f = a.Ta[b];
"function" == typeof f && (c = f(c, e) || c);
});
return c;
},
};
a.L(D, "init", D.qb);
a.L(D, "subscribe", D.subscribe);
a.L(D, "extend", D.extend);
a.L(D, "getSubscriptionsCount", D.Bd);
a.a.Ba && a.a.setPrototypeOf(D, Function.prototype);
a.T.fn = D;
a.Qc = function (a) {
return (
null != a &&
"function" == typeof a.subscribe &&
"function" == typeof a.notifySubscribers
);
};
a.b("subscribable", a.T);
a.b("isSubscribable", a.Qc);
a.S = a.u = (function () {
function b(a) {
d.push(e);
e = a;
}
function c() {
e = d.pop();
}
var d = [],
e,
f = 0;
return {
xc: b,
end: c,
cc: function (b) {
if (e) {
if (!a.Qc(b)) throw Error("Only subscribable things can act as dependencies");
e.od.call(e.pd, b, b.fd || (b.fd = ++f));
}
},
G: function (a, d, e) {
try {
return b(), a.apply(d, e || []);
} finally {
c();
}
},
qa: function () {
if (e) return e.o.qa();
},
Va: function () {
if (e) return e.o.Va();
},
Ya: function () {
if (e) return e.Ya;
},
o: function () {
if (e) return e.o;
},
};
})();
a.b("computedContext", a.S);
a.b("computedContext.getDependenciesCount", a.S.qa);
a.b("computedContext.getDependencies", a.S.Va);
a.b("computedContext.isInitial", a.S.Ya);
a.b("computedContext.registerDependency", a.S.cc);
a.b("ignoreDependencies", (a.Yd = a.u.G));
var I = a.a.Da("_latestValue");
a.ta = function (b) {
function c() {
if (0 < arguments.length)
return c.sb(c[I], arguments[0]) && (c.ya(), (c[I] = arguments[0]), c.xa()), this;
a.u.cc(c);
return c[I];
}
c[I] = b;
a.a.Ba || a.a.extend(c, a.T.fn);
a.T.fn.qb(c);
a.a.Ab(c, F);
a.options.deferUpdates && a.Ta.deferred(c, !0);
return c;
};
var F = {
equalityComparer: K,
v: function () {
return this[I];
},
xa: function () {
this.notifySubscribers(this[I], "spectate");
this.notifySubscribers(this[I]);
},
ya: function () {
this.notifySubscribers(this[I], "beforeChange");
},
};
a.a.Ba && a.a.setPrototypeOf(F, a.T.fn);
var G = (a.ta.Ma = "__ko_proto__");
F[G] = a.ta;
a.O = function (b) {
if ((b = "function" == typeof b && b[G]) && b !== F[G] && b !== a.o.fn[G])
throw Error(
"Invalid object that looks like an observable; possibly from another Knockout instance"
);
return !!b;
};
a.Za = function (b) {
return "function" == typeof b && (b[G] === F[G] || (b[G] === a.o.fn[G] && b.Nc));
};
a.b("observable", a.ta);
a.b("isObservable", a.O);
a.b("isWriteableObservable", a.Za);
a.b("isWritableObservable", a.Za);
a.b("observable.fn", F);
a.L(F, "peek", F.v);
a.L(F, "valueHasMutated", F.xa);
a.L(F, "valueWillMutate", F.ya);
a.Ha = function (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.ta(b);
a.a.Ab(b, a.Ha.fn);
return b.extend({ trackArrayChanges: !0 });
};
a.Ha.fn = {
remove: function (b) {
for (
var c = this.v(),
d = [],
e =
"function" != typeof b || a.O(b)
? function (a) {
return a === b;
}
: b,
f = 0;
f < c.length;
f++
) {
var g = c[f];
if (e(g)) {
0 === d.length && this.ya();
if (c[f] !== g) throw Error("Array modified during remove; cannot remove item");
d.push(g);
c.splice(f, 1);
f--;
}
}
d.length && this.xa();
return d;
},
removeAll: function (b) {
if (b === n) {
var c = this.v(),
d = c.slice(0);
this.ya();
c.splice(0, c.length);
this.xa();
return d;
}
return b
? this.remove(function (c) {
return 0 <= a.a.A(b, c);
})
: [];
},
destroy: function (b) {
var c = this.v(),
d =
"function" != typeof b || a.O(b)
? function (a) {
return a === b;
}
: b;
this.ya();
for (var e = c.length - 1; 0 <= e; e--) {
var f = c[e];
d(f) && (f._destroy = !0);
}
this.xa();
},
destroyAll: function (b) {
return b === n
? this.destroy(function () {
return !0;
})
: b
? this.destroy(function (c) {
return 0 <= a.a.A(b, c);
})
: [];
},
indexOf: function (b) {
var c = this();
return a.a.A(c, b);
},
replace: function (a, c) {
var d = this.indexOf(a);
0 <= d && (this.ya(), (this.v()[d] = c), this.xa());
},
sorted: function (a) {
var c = this().slice(0);
return a ? c.sort(a) : c.sort();
},
reversed: function () {
return this().slice(0).reverse();
},
};
a.a.Ba && a.a.setPrototypeOf(a.Ha.fn, a.ta.fn);
a.a.D("pop push reverse shift sort splice unshift".split(" "), function (b) {
a.Ha.fn[b] = function () {
var a = this.v();
this.ya();
this.zc(a, b, arguments);
var d = a[b].apply(a, arguments);
this.xa();
return d === a ? this : d;
};
});
a.a.D(["slice"], function (b) {
a.Ha.fn[b] = function () {
var a = this();
return a[b].apply(a, arguments);
};
});
a.Pc = function (b) {
return a.O(b) && "function" == typeof b.remove && "function" == typeof b.push;
};
a.b("observableArray", a.Ha);
a.b("isObservableArray", a.Pc);
a.Ta.trackArrayChanges = function (b, c) {
function d() {
function c() {
if (m) {
var d = [].concat(b.v() || []),
e;
if (b.Wa("arrayChange")) {
if (!f || 1 < m) f = a.a.Pb(k, d, b.Ob);
e = f;
}
k = d;
f = null;
m = 0;
e && e.length && b.notifySubscribers(e, "arrayChange");
}
}
e
? c()
: ((e = !0),
(h = b.subscribe(
function () {
++m;
},
null,
"spectate"
)),
(k = [].concat(b.v() || [])),
(f = null),
(g = b.subscribe(c)));
}
b.Ob = {};
c && "object" == typeof c && a.a.extend(b.Ob, c);
b.Ob.sparse = !0;
if (!b.zc) {
var e = !1,
f = null,
g,
h,
m = 0,
k,
l = b.Qa,
p = b.hb;
b.Qa = function (a) {
l && l.call(b, a);
"arrayChange" === a && d();
};
b.hb = function (a) {
p && p.call(b, a);
"arrayChange" !== a ||
b.Wa("arrayChange") ||
(g && g.s(), h && h.s(), (h = g = null), (e = !1), (k = n));
};
b.zc = function (b, c, d) {
function l(a, b, c) {
return (k[k.length] = { status: a, value: b, index: c });
}
if (e && !m) {
var k = [],
p = b.length,
g = d.length,
h = 0;
switch (c) {
case "push":
h = p;
case "unshift":
for (c = 0; c < g; c++) l("added", d[c], h + c);
break;
case "pop":
h = p - 1;
case "shift":
p && l("deleted", b[h], h);
break;
case "splice":
c = Math.min(Math.max(0, 0 > d[0] ? p + d[0] : d[0]), p);
for (
var p = 1 === g ? p : Math.min(c + (d[1] || 0), p),
g = c + g - 2,
h = Math.max(p, g),
U = [],
L = [],
n = 2;
c < h;
++c, ++n
)
c < p && L.push(l("deleted", b[c], c)),
c < g && U.push(l("added", d[n], c));
a.a.Kc(L, U);
break;
default:
return;
}
f = k;
}
};
}
};
var r = a.a.Da("_state");
a.o = a.$ = function (b, c, d) {
function e() {
if (0 < arguments.length) {
if ("function" === typeof f) f.apply(g.nb, 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;
}
g.ra || a.u.cc(e);
(g.ka || (g.J && e.Xa())) && e.ha();
return g.X;
}
"object" === typeof b ? (d = b) : ((d = d || {}), b && (d.read = b));
if ("function" != typeof d.read)
throw Error("Pass a function that returns the value of the ko.computed");
var f = d.write,
g = {
X: n,
sa: !0,
ka: !0,
rb: !1,
jc: !1,
ra: !1,
wb: !1,
J: !1,
Wc: d.read,
nb: c || d.owner,
l: d.disposeWhenNodeIsRemoved || d.l || null,
Sa: d.disposeWhen || d.Sa,
Rb: null,
I: {},
V: 0,
Ic: null,
};
e[r] = g;
e.Nc = "function" === typeof f;
a.a.Ba || a.a.extend(e, a.T.fn);
a.T.fn.qb(e);
a.a.Ab(e, C);
d.pure
? ((g.wb = !0), (g.J = !0), a.a.extend(e, da))
: d.deferEvaluation && a.a.extend(e, ea);
a.options.deferUpdates && a.Ta.deferred(e, !0);
g.l && ((g.jc = !0), g.l.nodeType || (g.l = null));
g.J || d.deferEvaluation || e.ha();
g.l &&
e.ja() &&
a.a.K.za(
g.l,
(g.Rb = function () {
e.s();
})
);
return e;
};
var C = {
equalityComparer: K,
qa: function () {
return this[r].V;
},
Va: function () {
var b = [];
a.a.P(this[r].I, function (a, d) {
b[d.Ka] = d.da;
});
return b;
},
Vb: function (b) {
if (!this[r].V) return !1;
var c = this.Va();
return -1 !== a.a.A(c, b)
? !0
: !!a.a.Lb(c, function (a) {
return a.Vb && a.Vb(b);
});
},
uc: function (a, c, d) {
if (this[r].wb && c === this)
throw Error("A 'pure' computed must not be called recursively");
this[r].I[a] = d;
d.Ka = this[r].V++;
d.La = c.ob();
},
Xa: function () {
var a,
c,
d = this[r].I;
for (a in d)
if (
Object.prototype.hasOwnProperty.call(d, a) &&
((c = d[a]), (this.Ia && c.da.Ja) || c.da.Dd(c.La))
)
return !0;
},
Jd: function () {
this.Ia && !this[r].rb && this.Ia(!1);
},
ja: function () {
var a = this[r];
return a.ka || 0 < a.V;
},
Rd: function () {
this.Ja ? this[r].ka && (this[r].sa = !0) : this.Hc();
},
$c: function (a) {
if (a.Hb) {
var c = a.subscribe(this.Jd, this, "dirty"),
d = a.subscribe(this.Rd, this);
return {
da: a,
s: function () {
c.s();
d.s();
},
};
}
return a.subscribe(this.Hc, this);
},
Hc: function () {
var b = this,
c = b.throttleEvaluation;
c && 0 <= c
? (clearTimeout(this[r].Ic),
(this[r].Ic = a.a.setTimeout(function () {
b.ha(!0);
}, c)))
: b.Ia
? b.Ia(!0)
: b.ha(!0);
},
ha: function (b) {
var c = this[r],
d = c.Sa,
e = !1;
if (!c.rb && !c.ra) {
if ((c.l && !a.a.Sb(c.l)) || (d && d())) {
if (!c.jc) {
this.s();
return;
}
} else c.jc = !1;
c.rb = !0;
try {
e = this.zd(b);
} finally {
c.rb = !1;
}
return e;
}
},
zd: function (b) {
var c = this[r],
d = !1,
e = c.wb ? n : !c.V,
d = { qd: this, mb: c.I, Qb: c.V };
a.u.xc({ pd: d, od: ba, o: this, Ya: e });
c.I = {};
c.V = 0;
var f = this.yd(c, d);
c.V ? (d = this.sb(c.X, f)) : (this.s(), (d = !0));
d &&
(c.J ? this.Gb() : this.notifySubscribers(c.X, "beforeChange"),
(c.X = f),
this.notifySubscribers(c.X, "spectate"),
!c.J && b && this.notifySubscribers(c.X),
this.rc && this.rc());
e && this.notifySubscribers(c.X, "awake");
return d;
},
yd: function (b, c) {
try {
var d = b.Wc;
return b.nb ? d.call(b.nb) : d();
} finally {
a.u.end(), c.Qb && !b.J && a.a.P(c.mb, aa), (b.sa = b.ka = !1);
}
},
v: function (a) {
var c = this[r];
((c.ka && (a || !c.V)) || (c.J && this.Xa())) && this.ha();
return c.X;
},
ub: function (b) {
a.T.fn.ub.call(this, b);
this.nc = function () {
this[r].J || (this[r].sa ? this.ha() : (this[r].ka = !1));
return this[r].X;
};
this.Ia = function (a) {
this.pc(this[r].X);
this[r].ka = !0;
a && (this[r].sa = !0);
this.qc(this, !a);
};
},
s: function () {
var b = this[r];
!b.J &&
b.I &&
a.a.P(b.I, function (a, b) {
b.s && b.s();
});
b.l && b.Rb && a.a.K.yb(b.l, b.Rb);
b.I = n;
b.V = 0;
b.ra = !0;
b.sa = !1;
b.ka = !1;
b.J = !1;
b.l = n;
b.Sa = n;
b.Wc = n;
this.Nc || (b.nb = n);
},
},
da = {
Qa: function (b) {
var c = this,
d = c[r];
if (!d.ra && d.J && "change" == b) {
d.J = !1;
if (d.sa || c.Xa()) (d.I = null), (d.V = 0), c.ha() && c.Gb();
else {
var e = [];
a.a.P(d.I, function (a, b) {
e[b.Ka] = a;
});
a.a.D(e, function (a, b) {
var e = d.I[a],
m = c.$c(e.da);
m.Ka = b;
m.La = e.La;
d.I[a] = m;
});
c.Xa() && c.ha() && c.Gb();
}
d.ra || c.notifySubscribers(d.X, "awake");
}
},
hb: function (b) {
var c = this[r];
c.ra ||
"change" != b ||
this.Wa("change") ||
(a.a.P(c.I, function (a, b) {
b.s && ((c.I[a] = { da: b.da, Ka: b.Ka, La: b.La }), b.s());
}),
(c.J = !0),
this.notifySubscribers(n, "asleep"));
},
ob: function () {
var b = this[r];
b.J && (b.sa || this.Xa()) && this.ha();
return a.T.fn.ob.call(this);
},
},
ea = {
Qa: function (a) {
("change" != a && "beforeChange" != a) || this.v();
},
};
a.a.Ba && a.a.setPrototypeOf(C, a.T.fn);
var N = a.ta.Ma;
C[N] = a.o;
a.Oc = function (a) {
return "function" == typeof a && a[N] === C[N];
};
a.Fd = function (b) {
return a.Oc(b) && b[r] && b[r].wb;
};
a.b("computed", a.o);
a.b("dependentObservable", a.o);
a.b("isComputed", a.Oc);
a.b("isPureComputed", a.Fd);
a.b("computed.fn", C);
a.L(C, "peek", C.v);
a.L(C, "dispose", C.s);
a.L(C, "isActive", C.ja);
a.L(C, "getDependenciesCount", C.qa);
a.L(C, "getDependencies", C.Va);
a.xb = function (b, c) {
if ("function" === typeof b) return a.o(b, c, { pure: !0 });
b = a.a.extend({}, b);
b.pure = !0;
return a.o(b, c);
};
a.b("pureComputed", a.xb);
(function () {
function b(a, f, g) {
g = g || new d();
a = f(a);
if (
"object" != typeof a ||
null === a ||
a === n ||
a instanceof RegExp ||
a instanceof Date ||
a instanceof String ||
a instanceof Number ||
a instanceof Boolean
)
return a;
var h = a instanceof Array ? [] : {};
g.save(a, h);
c(a, function (c) {
var d = f(a[c]);
switch (typeof d) {
case "boolean":
case "number":
case "string":
case "function":
h[c] = d;
break;
case "object":
case "undefined":
var l = g.get(d);
h[c] = l !== n ? l : b(d, f, g);
}
});
return h;
}
function c(a, b) {
if (a instanceof Array) {
for (var c = 0; c < a.length; c++) b(c);
"function" == typeof a.toJSON && b("toJSON");
} else for (c in a) b(c);
}
function d() {
this.keys = [];
this.values = [];
}
a.ad = function (c) {
if (0 == arguments.length)
throw Error("When calling ko.toJS, pass the object you want to convert.");
return b(c, function (b) {
for (var c = 0; a.O(b) && 10 > c; c++) b = b();
return b;
});
};
a.toJSON = function (b, c, d) {
b = a.ad(b);
return a.a.hc(b, c, d);
};
d.prototype = {
constructor: d,
save: function (b, c) {
var d = a.a.A(this.keys, b);
0 <= d ? (this.values[d] = c) : (this.keys.push(b), this.values.push(c));
},
get: function (b) {
b = a.a.A(this.keys, b);
return 0 <= b ? this.values[b] : n;
},
};
})();
a.b("toJS", a.ad);
a.b("toJSON", a.toJSON);
a.Wd = function (b, c, d) {
function e(c) {
var e = a.xb(b, d).extend({ ma: "always" }),
h = e.subscribe(function (a) {
a && (h.s(), c(a));
});
e.notifySubscribers(e.v());
return h;
}
return "function" !== typeof Promise || c ? e(c.bind(d)) : new Promise(e);
};
a.b("when", a.Wd);
(function () {
a.w = {
M: function (b) {
switch (a.a.R(b)) {
case "option":
return !0 === b.__ko__hasDomDataOptionValue__
? a.a.g.get(b, a.c.options.$b)
: 7 >= a.a.W
? b.getAttributeNode("value") && b.getAttributeNode("value").specified
? b.value
: b.text
: b.value;
case "select":
return 0 <= b.selectedIndex ? a.w.M(b.options[b.selectedIndex]) : n;
default:
return b.value;
}
},
cb: function (b, c, d) {
switch (a.a.R(b)) {
case "option":
"string" === typeof c
? (a.a.g.set(b, a.c.options.$b, n),
"__ko__hasDomDataOptionValue__" in b &&
delete b.__ko__hasDomDataOptionValue__,
(b.value = c))
: (a.a.g.set(b, a.c.options.$b, c),
(b.__ko__hasDomDataOptionValue__ = !0),
(b.value = "number" === typeof c ? c : ""));
break;
case "select":
if ("" === c || null === c) c = n;
for (var e = -1, f = 0, g = b.options.length, h; f < g; ++f)
if (((h = a.w.M(b.options[f])), h == c || ("" === h && c === n))) {
e = f;
break;
}
if (d || 0 <= e || (c === n && 1 < b.size))
(b.selectedIndex = e),
6 === a.a.W &&
a.a.setTimeout(function () {
b.selectedIndex = e;
}, 0);
break;
default:
if (null === c || c === n) c = "";
b.value = c;
}
},
};
})();
a.b("selectExtensions", a.w);
a.b("selectExtensions.readValue", a.w.M);
a.b("selectExtensions.writeValue", a.w.cb);
a.m = (function () {
function b(b) {
b = a.a.Db(b);
123 === b.charCodeAt(0) && (b = b.slice(1, -1));
b += "\n,";
var c = [],
d = b.match(e),
p,
q = [],
h = 0;
if (1 < d.length) {
for (var x = 0, B; (B = d[x]); ++x) {
var u = B.charCodeAt(0);
if (44 === u) {
if (0 >= h) {
c.push(
p && q.length
? { key: p, value: q.join("") }
: { unknown: p || q.join("") }
);
p = h = 0;
q = [];
continue;
}
} else if (58 === u) {
if (!h && !p && 1 === q.length) {
p = q.pop();
continue;
}
} else if (
47 === u &&
1 < B.length &&
(47 === B.charCodeAt(1) || 42 === B.charCodeAt(1))
)
continue;
else
47 === u && x && 1 < B.length
? (u = d[x - 1].match(f)) &&
!g[u[0]] &&
((b = b.substr(b.indexOf(B) + 1)), (d = b.match(e)), (x = -1), (B = "/"))
: 40 === u || 123 === u || 91 === u
? ++h
: 41 === u || 125 === u || 93 === u
? --h
: p || q.length || (34 !== u && 39 !== u) || (B = B.slice(1, -1));
q.push(B);
}
if (0 < h) throw Error("Unbalanced parentheses, braces, or brackets");
}
return c;
}
var c = ["true", "false", "null", "undefined"],
d = /^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,
e = RegExp(
"\"(?:\\\\.|[^\"])*\"|'(?:\\\\.|[^'])*'|`(?:\\\\.|[^`])*`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.*\n|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,\"'`{}()/:[\\]]*[^\\s,\"'`{}()/:[\\]]|[^\\s]",
"g"
),
f = /[\])"'A-Za-z0-9_$]+$/,
g = { in: 1, return: 1, typeof: 1 },
h = {};
return {
Ra: [],
wa: h,
ac: b,
vb: function (e, f) {
function l(b, e) {
var f;
if (!x) {
var k = a.getBindingHandler(b);
if (k && k.preprocess && !(e = k.preprocess(e, b, l))) return;
if ((k = h[b]))
(f = e),
0 <= a.a.A(c, f)
? (f = !1)
: ((k = f.match(d)),
(f = null === k ? !1 : k[1] ? "Object(" + k[1] + ")" + k[2] : f)),
(k = f);
k &&
q.push(
"'" +
("string" == typeof h[b] ? h[b] : b) +
"':function(_z){" +
f +
"=_z}"
);
}
g && (e = "function(){return " + e + " }");
p.push("'" + b + "':" + e);
}
f = f || {};
var p = [],
q = [],
g = f.valueAccessors,
x = f.bindingParams,
B = "string" === typeof e ? b(e) : e;
a.a.D(B, function (a) {
l(a.key || a.unknown, a.value);
});
q.length && l("_ko_property_writers", "{" + q.join(",") + " }");
return p.join(",");
},
Id: function (a, b) {
for (var c = 0; c < a.length; c++) if (a[c].key == b) return !0;
return !1;
},
eb: function (b, c, d, e, f) {
if (b && a.O(b)) !a.Za(b) || (f && b.v() === e) || b(e);
else if ((b = c.get("_ko_property_writers")) && b[d]) b[d](e);
},
};
})();
a.b("expressionRewriting", a.m);
a.b("expressionRewriting.bindingRewriteValidators", a.m.Ra);
a.b("expressionRewriting.parseObjectLiteral", a.m.ac);
a.b("expressionRewriting.preProcessBindings", a.m.vb);
a.b("expressionRewriting._twoWayBindings", a.m.wa);
a.b("jsonExpressionRewriting", a.m);
a.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson", a.m.vb);
(function () {
function b(a) {
return 8 == a.nodeType && g.test(f ? a.text : a.nodeValue);
}
function c(a) {
return 8 == a.nodeType && h.test(f ? a.text : a.nodeValue);
}
function d(d, e) {
for (var f = d, h = 1, g = []; (f = f.nextSibling); ) {
if (c(f) && (a.a.g.set(f, k, !0), h--, 0 === h)) return g;
g.push(f);
b(f) && h++;
}
if (!e) throw Error("Cannot find closing comment tag to match: " + d.nodeValue);
return null;
}
function e(a, b) {
var c = d(a, b);
return c ? (0 < c.length ? c[c.length - 1].nextSibling : a.nextSibling) : null;
}
var f = w && "\x3c!--test--\x3e" === w.createComment("test").text,
g = f ? /^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/ : /^\s*ko(?:\s+([\s\S]+))?\s*$/,
h = f ? /^\x3c!--\s*\/ko\s*--\x3e$/ : /^\s*\/ko\s*$/,
m = { ul: !0, ol: !0 },
k = "__ko_matchedEndComment__";
a.h = {
ea: {},
childNodes: function (a) {
return b(a) ? d(a) : a.childNodes;
},
Ea: function (c) {
if (b(c)) {
c = a.h.childNodes(c);
for (var d = 0, e = c.length; d < e; d++) a.removeNode(c[d]);
} else a.a.Tb(c);
},
va: function (c, d) {
if (b(c)) {
a.h.Ea(c);
for (var e = c.nextSibling, f = 0, k = d.length; f < k; f++)
e.parentNode.insertBefore(d[f], e);
} else a.a.va(c, d);
},
Vc: function (a, c) {
var d;
b(a) ? ((d = a.nextSibling), (a = a.parentNode)) : (d = a.firstChild);
d ? c !== d && a.insertBefore(c, d) : a.appendChild(c);
},
Wb: function (c, d, e) {
e
? ((e = e.nextSibling),
b(c) && (c = c.parentNode),
e ? d !== e && c.insertBefore(d, e) : c.appendChild(d))
: a.h.Vc(c, d);
},
firstChild: function (a) {
if (b(a)) return !a.nextSibling || c(a.nextSibling) ? null : a.nextSibling;
if (a.firstChild && c(a.firstChild))
throw Error("Found invalid end comment, as the first child of " + a);
return a.firstChild;
},
nextSibling: function (d) {
b(d) && (d = e(d));
if (d.nextSibling && c(d.nextSibling)) {
var f = d.nextSibling;
if (c(f) && !a.a.g.get(f, k))
throw Error(
"Found end comment without a matching opening comment, as child of " + d
);
return null;
}
return d.nextSibling;
},
Cd: b,
Vd: function (a) {
return (a = (f ? a.text : a.nodeValue).match(g)) ? a[1] : null;
},
Sc: function (d) {
if (m[a.a.R(d)]) {
var f = d.firstChild;
if (f) {
do
if (1 === f.nodeType) {
var k;
k = f.firstChild;
var h = null;
if (k) {
do
if (h) h.push(k);
else if (b(k)) {
var g = e(k, !0);
g ? (k = g) : (h = [k]);
} else c(k) && (h = [k]);
while ((k = k.nextSibling));
}
if ((k = h))
for (h = f.nextSibling, g = 0; g < k.length; g++)
h ? d.insertBefore(k[g], h) : d.appendChild(k[g]);
}
while ((f = f.nextSibling));
}
}
},
};
})();
a.b("virtualElements", a.h);
a.b("virtualElements.allowedBindings", a.h.ea);
a.b("virtualElements.emptyNode", a.h.Ea);
a.b("virtualElements.insertAfter", a.h.Wb);
a.b("virtualElements.prepend", a.h.Vc);
a.b("virtualElements.setDomNodeChildren", a.h.va);
(function () {
a.ga = function () {
this.nd = {};
};
a.a.extend(a.ga.prototype, {
nodeHasBindings: function (b) {
switch (b.nodeType) {
case 1:
return null != b.getAttribute("data-bind") || a.j.getComponentNameForNode(b);
case 8:
return a.h.Cd(b);
default:
return !1;
}
},
getBindings: function (b, c) {
var d = this.getBindingsString(b, c),
d = d ? this.parseBindingsString(d, c, b) : null;
return a.j.tc(d, b, c, !1);
},
getBindingAccessors: function (b, c) {
var d = this.getBindingsString(b, c),
d = d ? this.parseBindingsString(d, c, b, { valueAccessors: !0 }) : null;
return a.j.tc(d, b, c, !0);
},
getBindingsString: function (b) {
switch (b.nodeType) {
case 1:
return b.getAttribute("data-bind");
case 8:
return a.h.Vd(b);
default:
return null;
}
},
parseBindingsString: function (b, c, d, e) {
try {
var f = this.nd,
g = b + ((e && e.valueAccessors) || ""),
h;
if (!(h = f[g])) {
var m,
k = "with($context){with($data||{}){return{" + a.m.vb(b, e) + "}}}";
m = new Function("$context", "$element", k);
h = f[g] = m;
}
return h(c, d);
} catch (l) {
throw (
((l.message =
"Unable to parse bindings.\nBindings value: " +
b +
"\nMessage: " +
l.message),
l)
);
}
},
});
a.ga.instance = new a.ga();
})();
a.b("bindingProvider", a.ga);
(function () {
function b(b) {
var c = (b = a.a.g.get(b, z)) && b.N;
c && ((b.N = null), c.Tc());
}
function c(c, d, e) {
this.node = c;
this.yc = d;
this.kb = [];
this.H = !1;
d.N || a.a.K.za(c, b);
e && e.N && (e.N.kb.push(c), (this.Kb = e));
}
function d(a) {
return function () {
return a;
};
}
function e(a) {
return a();
}
function f(b) {
return a.a.Ga(a.u.G(b), function (a, c) {
return function () {
return b()[c];
};
});
}
function g(b, c, e) {
return "function" === typeof b ? f(b.bind(null, c, e)) : a.a.Ga(b, d);
}
function h(a, b) {
return f(this.getBindings.bind(this, a, b));
}
function m(b, c) {
var d = a.h.firstChild(c);
if (d) {
var e,
f = a.ga.instance,
l = f.preprocessNode;
if (l) {
for (; (e = d); ) (d = a.h.nextSibling(e)), l.call(f, e);
d = a.h.firstChild(c);
}
for (; (e = d); ) (d = a.h.nextSibling(e)), k(b, e);
}
a.i.ma(c, a.i.H);
}
function k(b, c) {
var d = b,
e = 1 === c.nodeType;
e && a.h.Sc(c);
if (e || a.ga.instance.nodeHasBindings(c))
d = p(c, null, b).bindingContextForDescendants;
d && !u[a.a.R(c)] && m(d, c);
}
function l(b) {
var c = [],
d = {},
e = [];
a.a.P(b, function ca(f) {
if (!d[f]) {
var k = a.getBindingHandler(f);
k &&
(k.after &&
(e.push(f),
a.a.D(k.after, function (c) {
if (b[c]) {
if (-1 !== a.a.A(e, c))
throw Error(
"Cannot combine the following bindings, because they have a cyclic dependency: " +
e.join(", ")
);
ca(c);
}
}),
e.length--),
c.push({ key: f, Mc: k }));
d[f] = !0;
}
});
return c;
}
function p(b, c, d) {
var f = a.a.g.Ub(b, z, {}),
k = f.hd;
if (!c) {
if (k)
throw Error("You cannot apply bindings multiple times to the same element.");
f.hd = !0;
}
k || (f.context = d);
f.Zb || (f.Zb = {});
var g;
if (c && "function" !== typeof c) g = c;
else {
var p = a.ga.instance,
q = p.getBindingAccessors || h,
m = a.$(
function () {
if ((g = c ? c(d, b) : q.call(p, b, d))) {
if (d[t]) d[t]();
if (d[B]) d[B]();
}
return g;
},
null,
{ l: b }
);
(g && m.ja()) || (m = null);
}
var x = d,
u;
if (g) {
var J = function () {
return a.a.Ga(m ? m() : g, e);
},
r = m
? function (a) {
return function () {
return e(m()[a]);
};
}
: function (a) {
return g[a];
};
J.get = function (a) {
return g[a] && e(r(a));
};
J.has = function (a) {
return a in g;
};
a.i.H in g &&
a.i.subscribe(b, a.i.H, function () {
var c = (0, g[a.i.H])();
if (c) {
var d = a.h.childNodes(b);
d.length && c(d, a.Ec(d[0]));
}
});
a.i.pa in g &&
((x = a.i.Cb(b, d)),
a.i.subscribe(b, a.i.pa, function () {
var c = (0, g[a.i.pa])();
c && a.h.firstChild(b) && c(b);
}));
f = l(g);
a.a.D(f, function (c) {
var d = c.Mc.init,
e = c.Mc.update,
f = c.key;
if (8 === b.nodeType && !a.h.ea[f])
throw Error("The binding '" + f + "' cannot be used with virtual elements");
try {
"function" == typeof d &&
a.u.G(function () {
var a = d(b, r(f), J, x.$data, x);
if (a && a.controlsDescendantBindings) {
if (u !== n)
throw Error(
"Multiple bindings (" +
u +
" and " +
f +
") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element."
);
u = f;
}
}),
"function" == typeof e &&
a.$(
function () {
e(b, r(f), J, x.$data, x);
},
null,
{ l: b }
);
} catch (k) {
throw (
((k.message =
'Unable to process binding "' +
f +
": " +
g[f] +
'"\nMessage: ' +
k.message),
k)
);
}
});
}
f = u === n;
return { shouldBindDescendants: f, bindingContextForDescendants: f && x };
}
function q(b, c) {
return b && b instanceof a.fa ? b : new a.fa(b, n, n, c);
}
var t = a.a.Da("_subscribable"),
x = a.a.Da("_ancestorBindingInfo"),
B = a.a.Da("_dataDependency");
a.c = {};
var u = { script: !0, textarea: !0, template: !0 };
a.getBindingHandler = function (b) {
return a.c[b];
};
var J = {};
a.fa = function (b, c, d, e, f) {
function k() {
var b = p ? h() : h,
f = a.a.f(b);
c
? (a.a.extend(l, c), x in c && (l[x] = c[x]))
: ((l.$parents = []), (l.$root = f), (l.ko = a));
l[t] = q;
g ? (f = l.$data) : ((l.$rawData = b), (l.$data = f));
d && (l[d] = f);
e && e(l, c, f);
if (c && c[t] && !a.S.o().Vb(c[t])) c[t]();
m && (l[B] = m);
return l.$data;
}
var l = this,
g = b === J,
h = g ? n : b,
p = "function" == typeof h && !a.O(h),
q,
m = f && f.dataDependency;
f && f.exportDependencies
? k()
: ((q = a.xb(k)), q.v(), q.ja() ? (q.equalityComparer = null) : (l[t] = n));
};
a.fa.prototype.createChildContext = function (b, c, d, e) {
!e && c && "object" == typeof c && ((e = c), (c = e.as), (d = e.extend));
if (c && e && e.noChildContext) {
var f = "function" == typeof b && !a.O(b);
return new a.fa(
J,
this,
null,
function (a) {
d && d(a);
a[c] = f ? b() : b;
},
e
);
}
return new a.fa(
b,
this,
c,
function (a, b) {
a.$parentContext = b;
a.$parent = b.$data;
a.$parents = (b.$parents || []).slice(0);
a.$parents.unshift(a.$parent);
d && d(a);
},
e
);
};
a.fa.prototype.extend = function (b, c) {
return new a.fa(
J,
this,
null,
function (c) {
a.a.extend(c, "function" == typeof b ? b(c) : b);
},
c
);
};
var z = a.a.g.Z();
c.prototype.Tc = function () {
this.Kb && this.Kb.N && this.Kb.N.sd(this.node);
};
c.prototype.sd = function (b) {
a.a.Pa(this.kb, b);
!this.kb.length && this.H && this.Cc();
};
c.prototype.Cc = function () {
this.H = !0;
this.yc.N &&
!this.kb.length &&
((this.yc.N = null),
a.a.K.yb(this.node, b),
a.i.ma(this.node, a.i.pa),
this.Tc());
};
a.i = {
H: "childrenComplete",
pa: "descendantsComplete",
subscribe: function (b, c, d, e, f) {
var k = a.a.g.Ub(b, z, {});
k.Fa || (k.Fa = new a.T());
f && f.notifyImmediately && k.Zb[c] && a.u.G(d, e, [b]);
return k.Fa.subscribe(d, e, c);
},
ma: function (b, c) {
var d = a.a.g.get(b, z);
if (d && ((d.Zb[c] = !0), d.Fa && d.Fa.notifySubscribers(b, c), c == a.i.H))
if (d.N) d.N.Cc();
else if (d.N === n && d.Fa && d.Fa.Wa(a.i.pa))
throw Error(
"descendantsComplete event not supported for bindings on this node"
);
},
Cb: function (b, d) {
var e = a.a.g.Ub(b, z, {});
e.N || (e.N = new c(b, e, d[x]));
return d[x] == e
? d
: d.extend(function (a) {
a[x] = e;
});
},
};
a.Td = function (b) {
return (b = a.a.g.get(b, z)) && b.context;
};
a.ib = function (b, c, d) {
1 === b.nodeType && a.h.Sc(b);
return p(b, c, q(d));
};
a.ld = function (b, c, d) {
d = q(d);
return a.ib(b, g(c, d, b), d);
};
a.Oa = function (a, b) {
(1 !== b.nodeType && 8 !== b.nodeType) || m(q(a), b);
};
a.vc = function (a, b, c) {
!v && A.jQuery && (v = A.jQuery);
if (2 > arguments.length) {
if (((b = w.body), !b))
throw Error(
"ko.applyBindings: could not find document.body; has the document been loaded?"
);
} else if (!b || (1 !== b.nodeType && 8 !== b.nodeType))
throw Error(
"ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node"
);
k(q(a, c), b);
};
a.Dc = function (b) {
return !b || (1 !== b.nodeType && 8 !== b.nodeType) ? n : a.Td(b);
};
a.Ec = function (b) {
return (b = a.Dc(b)) ? b.$data : n;
};
a.b("bindingHandlers", a.c);
a.b("bindingEvent", a.i);
a.b("bindingEvent.subscribe", a.i.subscribe);
a.b("bindingEvent.startPossiblyAsyncContentBinding", a.i.Cb);
a.b("applyBindings", a.vc);
a.b("applyBindingsToDescendants", a.Oa);
a.b("applyBindingAccessorsToNode", a.ib);
a.b("applyBindingsToNode", a.ld);
a.b("contextFor", a.Dc);
a.b("dataFor", a.Ec);
})();
(function (b) {
function c(c, e) {
var k = Object.prototype.hasOwnProperty.call(f, c) ? f[c] : b,
l;
k
? k.subscribe(e)
: ((k = f[c] = new a.T()),
k.subscribe(e),
d(c, function (b, d) {
var e = !(!d || !d.synchronous);
g[c] = { definition: b, Gd: e };
delete f[c];
l || e
? k.notifySubscribers(b)
: a.na.zb(function () {
k.notifySubscribers(b);
});
}),
(l = !0));
}
function d(a, b) {
e("getConfig", [a], function (c) {
c
? e("loadComponent", [a, c], function (a) {
b(a, c);
})
: b(null, null);
});
}
function e(c, d, f, l) {
l || (l = a.j.loaders.slice(0));
var g = l.shift();
if (g) {
var q = g[c];
if (q) {
var t = !1;
if (
q.apply(
g,
d.concat(function (a) {
t ? f(null) : null !== a ? f(a) : e(c, d, f, l);
})
) !== b &&
((t = !0), !g.suppressLoaderExceptions)
)
throw Error(
"Component loaders must supply values by invoking the callback, not by returning values synchronously."
);
} else e(c, d, f, l);
} else f(null);
}
var f = {},
g = {};
a.j = {
get: function (d, e) {
var f = Object.prototype.hasOwnProperty.call(g, d) ? g[d] : b;
f
? f.Gd
? a.u.G(function () {
e(f.definition);
})
: a.na.zb(function () {
e(f.definition);
})
: c(d, e);
},
Bc: function (a) {
delete g[a];
},
oc: e,
};
a.j.loaders = [];
a.b("components", a.j);
a.b("components.get", a.j.get);
a.b("components.clearCachedDefinition", a.j.Bc);
})();
(function () {
function b(b, c, d, e) {
function g() {
0 === --B && e(h);
}
var h = {},
B = 2,
u = d.template;
d = d.viewModel;
u
? f(c, u, function (c) {
a.j.oc("loadTemplate", [b, c], function (a) {
h.template = a;
g();
});
})
: g();
d
? f(c, d, function (c) {
a.j.oc("loadViewModel", [b, c], function (a) {
h[m] = a;
g();
});
})
: g();
}
function c(a, b, d) {
if ("function" === typeof b)
d(function (a) {
return new b(a);
});
else if ("function" === typeof b[m]) d(b[m]);
else if ("instance" in b) {
var e = b.instance;
d(function () {
return e;
});
} else "viewModel" in b ? c(a, b.viewModel, d) : a("Unknown viewModel value: " + b);
}
function d(b) {
switch (a.a.R(b)) {
case "script":
return a.a.ua(b.text);
case "textarea":
return a.a.ua(b.value);
case "template":
if (e(b.content)) return a.a.Ca(b.content.childNodes);
}
return a.a.Ca(b.childNodes);
}
function e(a) {
return A.DocumentFragment ? a instanceof DocumentFragment : a && 11 === a.nodeType;
}
function f(a, b, c) {
"string" === typeof b.require
? T || A.require
? (T || A.require)([b.require], function (a) {
a && "object" === typeof a && a.Xd && a["default"] && (a = a["default"]);
c(a);
})
: a("Uses require, but no AMD loader is present")
: c(b);
}
function g(a) {
return function (b) {
throw Error("Component '" + a + "': " + b);
};
}
var h = {};
a.j.register = function (b, c) {
if (!c) throw Error("Invalid configuration for " + b);
if (a.j.tb(b)) throw Error("Component " + b + " is already registered");
h[b] = c;
};
a.j.tb = function (a) {
return Object.prototype.hasOwnProperty.call(h, a);
};
a.j.unregister = function (b) {
delete h[b];
a.j.Bc(b);
};
a.j.Fc = {
getConfig: function (b, c) {
c(a.j.tb(b) ? h[b] : null);
},
loadComponent: function (a, c, d) {
var e = g(a);
f(e, c, function (c) {
b(a, e, c, d);
});
},
loadTemplate: function (b, c, f) {
b = g(b);
if ("string" === typeof c) f(a.a.ua(c));
else if (c instanceof Array) f(c);
else if (e(c)) f(a.a.la(c.childNodes));
else if (c.element)
if (
((c = c.element),
A.HTMLElement ? c instanceof HTMLElement : c && c.tagName && 1 === c.nodeType)
)
f(d(c));
else if ("string" === typeof c) {
var h = w.getElementById(c);
h ? f(d(h)) : b("Cannot find element with ID " + c);
} else b("Unknown element type: " + c);
else b("Unknown template value: " + c);
},
loadViewModel: function (a, b, d) {
c(g(a), b, d);
},
};
var m = "createViewModel";
a.b("components.register", a.j.register);
a.b("components.isRegistered", a.j.tb);
a.b("components.unregister", a.j.unregister);
a.b("components.defaultLoader", a.j.Fc);
a.j.loaders.push(a.j.Fc);
a.j.dd = h;
})();
(function () {
function b(b, e) {
var f = b.getAttribute("params");
if (f) {
var f = c.parseBindingsString(f, e, b, { valueAccessors: !0, bindingParams: !0 }),
f = a.a.Ga(f, function (c) {
return a.o(c, null, { l: b });
}),
g = a.a.Ga(f, function (c) {
var e = c.v();
return c.ja()
? a.o({
read: function () {
return a.a.f(c());
},
write:
a.Za(e) &&
function (a) {
c()(a);
},
l: b,
})
: e;
});
Object.prototype.hasOwnProperty.call(g, "$raw") || (g.$raw = f);
return g;
}
return { $raw: {} };
}
a.j.getComponentNameForNode = function (b) {
var c = a.a.R(b);
if (
a.j.tb(c) &&
(-1 != c.indexOf("-") ||
"[object HTMLUnknownElement]" == "" + b ||
(8 >= a.a.W && b.tagName === c))
)
return c;
};
a.j.tc = function (c, e, f, g) {
if (1 === e.nodeType) {
var h = a.j.getComponentNameForNode(e);
if (h) {
c = c || {};
if (c.component)
throw Error(
'Cannot use the "component" binding on a custom element matching a component'
);
var m = { name: h, params: b(e, f) };
c.component = g
? function () {
return m;
}
: m;
}
}
return c;
};
var c = new a.ga();
9 > a.a.W &&
((a.j.register = (function (a) {
return function (b) {
return a.apply(this, arguments);
};
})(a.j.register)),
(w.createDocumentFragment = (function (b) {
return function () {
var c = b();
a.j.dd;
return c;
};
})(w.createDocumentFragment)));
})();
(function () {
function b(b, c, d) {
c = c.template;
if (!c) throw Error("Component '" + b + "' has no template");
b = a.a.Ca(c);
a.h.va(d, b);
}
function c(a, b, c) {
var d = a.createViewModel;
return d ? d.call(a, b, c) : b;
}
var d = 0;
a.c.component = {
init: function (e, f, g, h, m) {
function k() {
var a = l && l.dispose;
"function" === typeof a && a.call(l);
q && q.s();
p = l = q = null;
}
var l,
p,
q,
t = a.a.la(a.h.childNodes(e));
a.h.Ea(e);
a.a.K.za(e, k);
a.o(
function () {
var g = a.a.f(f()),
h,
u;
"string" === typeof g
? (h = g)
: ((h = a.a.f(g.name)), (u = a.a.f(g.params)));
if (!h) throw Error("No component name specified");
var n = a.i.Cb(e, m),
z = (p = ++d);
a.j.get(h, function (d) {
if (p === z) {
k();
if (!d) throw Error("Unknown component '" + h + "'");
b(h, d, e);
var f = c(d, u, { element: e, templateNodes: t });
d = n.createChildContext(f, {
extend: function (a) {
a.$component = f;
a.$componentTemplateNodes = t;
},
});
f &&
f.koDescendantsComplete &&
(q = a.i.subscribe(e, a.i.pa, f.koDescendantsComplete, f));
l = f;
a.Oa(d, e);
}
});
},
null,
{ l: e }
);
return { controlsDescendantBindings: !0 };
},
};
a.h.ea.component = !0;
})();
var V = { class: "className", for: "htmlFor" };
a.c.attr = {
update: function (b, c) {
var d = a.a.f(c()) || {};
a.a.P(d, function (c, d) {
d = a.a.f(d);
var g = c.indexOf(":"),
g = "lookupNamespaceURI" in b && 0 < g && b.lookupNamespaceURI(c.substr(0, g)),
h = !1 === d || null === d || d === n;
h ? (g ? b.removeAttributeNS(g, c) : b.removeAttribute(c)) : (d = d.toString());
8 >= a.a.W && c in V
? ((c = V[c]), h ? b.removeAttribute(c) : (b[c] = d))
: h || (g ? b.setAttributeNS(g, c, d) : b.setAttribute(c, d));
"name" === c && a.a.Yc(b, h ? "" : d);
});
},
};
(function () {
a.c.checked = {
after: ["value", "attr"],
init: function (b, c, d) {
function e() {
var e = b.checked,
f = g();
if (!a.S.Ya() && (e || (!m && !a.S.qa()))) {
var k = a.u.G(c);
if (l) {
var q = p ? k.v() : k,
z = t;
t = f;
z !== f ? e && (a.a.Na(q, f, !0), a.a.Na(q, z, !1)) : a.a.Na(q, f, e);
p && a.Za(k) && k(q);
} else
h && (f === n ? (f = e) : e || (f = n)), a.m.eb(k, d, "checked", f, !0);
}
}
function f() {
var d = a.a.f(c()),
e = g();
l
? ((b.checked = 0 <= a.a.A(d, e)), (t = e))
: (b.checked = h && e === n ? !!d : g() === d);
}
var g = a.xb(function () {
if (d.has("checkedValue")) return a.a.f(d.get("checkedValue"));
if (q) return d.has("value") ? a.a.f(d.get("value")) : b.value;
}),
h = "checkbox" == b.type,
m = "radio" == b.type;
if (h || m) {
var k = c(),
l = h && a.a.f(k) instanceof Array,
p = !(l && k.push && k.splice),
q = m || l,
t = l ? g() : n;
m &&
!b.name &&
a.c.uniqueName.init(b, function () {
return !0;
});
a.o(e, null, { l: b });
a.a.B(b, "click", e);
a.o(f, null, { l: b });
k = n;
}
},
};
a.m.wa.checked = !0;
a.c.checkedValue = {
update: function (b, c) {
b.value = a.a.f(c());
},
};
})();
a.c["class"] = {
update: function (b, c) {
var d = a.a.Db(a.a.f(c()));
a.a.Eb(b, b.__ko__cssValue, !1);
b.__ko__cssValue = d;
a.a.Eb(b, d, !0);
},
};
a.c.css = {
update: function (b, c) {
var d = a.a.f(c());
null !== d && "object" == typeof d
? a.a.P(d, function (c, d) {
d = a.a.f(d);
a.a.Eb(b, c, d);
})
: a.c["class"].update(b, c);
},
};
a.c.enable = {
update: function (b, c) {
var d = a.a.f(c());
d && b.disabled
? b.removeAttribute("disabled")
: d || b.disabled || (b.disabled = !0);
},
};
a.c.disable = {
update: function (b, c) {
a.c.enable.update(b, function () {
return !a.a.f(c());
});
},
};
a.c.event = {
init: function (b, c, d, e, f) {
var g = c() || {};
a.a.P(g, function (g) {
"string" == typeof g &&
a.a.B(b, g, function (b) {
var k,
l = c()[g];
if (l) {
try {
var p = a.a.la(arguments);
e = f.$data;
p.unshift(e);
k = l.apply(e, p);
} finally {
!0 !== k &&
(b.preventDefault ? b.preventDefault() : (b.returnValue = !1));
}
!1 === d.get(g + "Bubble") &&
((b.cancelBubble = !0), b.stopPropagation && b.stopPropagation());
}
});
});
},
};
a.c.foreach = {
Rc: function (b) {
return function () {
var c = b(),
d = a.a.bc(c);
if (!d || "number" == typeof d.length)
return { foreach: c, templateEngine: a.ba.Ma };
a.a.f(c);
return {
foreach: d.data,
as: d.as,
noChildContext: d.noChildContext,
includeDestroyed: d.includeDestroyed,
afterAdd: d.afterAdd,
beforeRemove: d.beforeRemove,
afterRender: d.afterRender,
beforeMove: d.beforeMove,
afterMove: d.afterMove,
templateEngine: a.ba.Ma,
};
};
},
init: function (b, c) {
return a.c.template.init(b, a.c.foreach.Rc(c));
},
update: function (b, c, d, e, f) {
return a.c.template.update(b, a.c.foreach.Rc(c), d, e, f);
},
};
a.m.Ra.foreach = !1;
a.h.ea.foreach = !0;
a.c.hasfocus = {
init: function (b, c, d) {
function e(e) {
b.__ko_hasfocusUpdating = !0;
var f = b.ownerDocument;
if ("activeElement" in f) {
var g;
try {
g = f.activeElement;
} catch (l) {
g = f.body;
}
e = g === b;
}
f = c();
a.m.eb(f, d, "hasfocus", e, !0);
b.__ko_hasfocusLastValue = e;
b.__ko_hasfocusUpdating = !1;
}
var f = e.bind(null, !0),
g = e.bind(null, !1);
a.a.B(b, "focus", f);
a.a.B(b, "focusin", f);
a.a.B(b, "blur", g);
a.a.B(b, "focusout", g);
b.__ko_hasfocusLastValue = !1;
},
update: function (b, c) {
var d = !!a.a.f(c());
b.__ko_hasfocusUpdating ||
b.__ko_hasfocusLastValue === d ||
(d ? b.focus() : b.blur(),
!d && b.__ko_hasfocusLastValue && b.ownerDocument.body.focus(),
a.u.G(a.a.Fb, null, [b, d ? "focusin" : "focusout"]));
},
};
a.m.wa.hasfocus = !0;
a.c.hasFocus = a.c.hasfocus;
a.m.wa.hasFocus = "hasfocus";
a.c.html = {
init: function () {
return { controlsDescendantBindings: !0 };
},
update: function (b, c) {
a.a.fc(b, c());
},
};
(function () {
function b(b, d, e) {
a.c[b] = {
init: function (b, c, h, m, k) {
var l,
p,
q = {},
t,
x,
n;
if (d) {
m = h.get("as");
var u = h.get("noChildContext");
n = !(m && u);
q = { as: m, noChildContext: u, exportDependencies: n };
}
x = (t = "render" == h.get("completeOn")) || h.has(a.i.pa);
a.o(
function () {
var h = a.a.f(c()),
m = !e !== !h,
u = !p,
r;
if (n || m !== l) {
x && (k = a.i.Cb(b, k));
if (m) {
if (!d || n) q.dataDependency = a.S.o();
r = d
? k.createChildContext("function" == typeof h ? h : c, q)
: a.S.qa()
? k.extend(null, q)
: k;
}
u && a.S.qa() && (p = a.a.Ca(a.h.childNodes(b), !0));
m
? (u || a.h.va(b, a.a.Ca(p)), a.Oa(r, b))
: (a.h.Ea(b), t || a.i.ma(b, a.i.H));
l = m;
}
},
null,
{ l: b }
);
return { controlsDescendantBindings: !0 };
},
};
a.m.Ra[b] = !1;
a.h.ea[b] = !0;
}
b("if");
b("ifnot", !1, !0);
b("with", !0);
})();
a.c.let = {
init: function (b, c, d, e, f) {
c = f.extend(c);
a.Oa(c, b);
return { controlsDescendantBindings: !0 };
},
};
a.h.ea.let = !0;
var Q = {};
a.c.options = {
init: function (b) {
if ("select" !== a.a.R(b))
throw Error("options binding applies only to SELECT elements");
for (; 0 < b.length; ) b.remove(0);
return { controlsDescendantBindings: !0 };
},
update: function (b, c, d) {
function e() {
return a.a.jb(b.options, function (a) {
return a.selected;
});
}
function f(a, b, c) {
var d = typeof b;
return "function" == d ? b(a) : "string" == d ? a[b] : c;
}
function g(c, d) {
if (x && l) a.i.ma(b, a.i.H);
else if (t.length) {
var e = 0 <= a.a.A(t, a.w.M(d[0]));
a.a.Zc(d[0], e);
x && !e && a.u.G(a.a.Fb, null, [b, "change"]);
}
}
var h = b.multiple,
m = 0 != b.length && h ? b.scrollTop : null,
k = a.a.f(c()),
l = d.get("valueAllowUnset") && d.has("value"),
p = d.get("optionsIncludeDestroyed");
c = {};
var q,
t = [];
l ||
(h
? (t = a.a.Mb(e(), a.w.M))
: 0 <= b.selectedIndex && t.push(a.w.M(b.options[b.selectedIndex])));
k &&
("undefined" == typeof k.length && (k = [k]),
(q = a.a.jb(k, function (b) {
return p || b === n || null === b || !a.a.f(b._destroy);
})),
d.has("optionsCaption") &&
((k = a.a.f(d.get("optionsCaption"))), null !== k && k !== n && q.unshift(Q)));
var x = !1;
c.beforeRemove = function (a) {
b.removeChild(a);
};
k = g;
d.has("optionsAfterRender") &&
"function" == typeof d.get("optionsAfterRender") &&
(k = function (b, c) {
g(0, c);
a.u.G(d.get("optionsAfterRender"), null, [c[0], b !== Q ? b : n]);
});
a.a.ec(
b,
q,
function (c, e, g) {
g.length && ((t = !l && g[0].selected ? [a.w.M(g[0])] : []), (x = !0));
e = b.ownerDocument.createElement("option");
c === Q
? (a.a.Bb(e, d.get("optionsCaption")), a.w.cb(e, n))
: ((g = f(c, d.get("optionsValue"), c)),
a.w.cb(e, a.a.f(g)),
(c = f(c, d.get("optionsText"), g)),
a.a.Bb(e, c));
return [e];
},
c,
k
);
if (!l) {
var B;
h
? (B = t.length && e().length < t.length)
: (B =
t.length && 0 <= b.selectedIndex
? a.w.M(b.options[b.selectedIndex]) !== t[0]
: t.length || 0 <= b.selectedIndex);
B && a.u.G(a.a.Fb, null, [b, "change"]);
}
(l || a.S.Ya()) && a.i.ma(b, a.i.H);
a.a.wd(b);
m && 20 < Math.abs(m - b.scrollTop) && (b.scrollTop = m);
},
};
a.c.options.$b = a.a.g.Z();
a.c.selectedOptions = {
init: function (b, c, d) {
function e() {
var e = c(),
f = [];
a.a.D(b.getElementsByTagName("option"), function (b) {
b.selected && f.push(a.w.M(b));
});
a.m.eb(e, d, "selectedOptions", f);
}
function f() {
var d = a.a.f(c()),
e = b.scrollTop;
d &&
"number" == typeof d.length &&
a.a.D(b.getElementsByTagName("option"), function (b) {
var c = 0 <= a.a.A(d, a.w.M(b));
b.selected != c && a.a.Zc(b, c);
});
b.scrollTop = e;
}
if ("select" != a.a.R(b))
throw Error("selectedOptions binding applies only to SELECT elements");
var g;
a.i.subscribe(
b,
a.i.H,
function () {
g ? e() : (a.a.B(b, "change", e), (g = a.o(f, null, { l: b })));
},
null,
{ notifyImmediately: !0 }
);
},
update: function () {},
};
a.m.wa.selectedOptions = !0;
a.c.style = {
update: function (b, c) {
var d = a.a.f(c() || {});
a.a.P(d, function (c, d) {
d = a.a.f(d);
if (null === d || d === n || !1 === d) d = "";
if (v) v(b).css(c, d);
else if (/^--/.test(c)) b.style.setProperty(c, d);
else {
c = c.replace(/-(\w)/g, function (a, b) {
return b.toUpperCase();
});
var g = b.style[c];
b.style[c] = d;
d === g || b.style[c] != g || isNaN(d) || (b.style[c] = d + "px");
}
});
},
};
a.c.submit = {
init: function (b, c, d, e, f) {
if ("function" != typeof c())
throw Error("The value for a submit binding must be a function");
a.a.B(b, "submit", function (a) {
var d,
e = c();
try {
d = e.call(f.$data, b);
} finally {
!0 !== d && (a.preventDefault ? a.preventDefault() : (a.returnValue = !1));
}
});
},
};
a.c.text = {
init: function () {
return { controlsDescendantBindings: !0 };
},
update: function (b, c) {
a.a.Bb(b, c());
},
};
a.h.ea.text = !0;
(function () {
if (A && A.navigator) {
var b = function (a) {
if (a) return parseFloat(a[1]);
},
c = A.navigator.userAgent,
d,
e,
f,
g,
h;
(d = A.opera && A.opera.version && parseInt(A.opera.version())) ||
(h = b(c.match(/Edge\/([^ ]+)$/))) ||
b(c.match(/Chrome\/([^ ]+)/)) ||
(e = b(c.match(/Version\/([^ ]+) Safari/))) ||
(f = b(c.match(/Firefox\/([^ ]+)/))) ||
(g = a.a.W || b(c.match(/MSIE ([^ ]+)/))) ||
(g = b(c.match(/rv:([^ )]+)/)));
}
if (8 <= g && 10 > g)
var m = a.a.g.Z(),
k = a.a.g.Z(),
l = function (b) {
var c = this.activeElement;
(c = c && a.a.g.get(c, k)) && c(b);
},
p = function (b, c) {
var d = b.ownerDocument;
a.a.g.get(d, m) || (a.a.g.set(d, m, !0), a.a.B(d, "selectionchange", l));
a.a.g.set(b, k, c);
};
a.c.textInput = {
init: function (b, c, k) {
function l(c, d) {
a.a.B(b, c, d);
}
function m() {
var d = a.a.f(c());
if (null === d || d === n) d = "";
L !== n && d === L
? a.a.setTimeout(m, 4)
: b.value !== d && ((y = !0), (b.value = d), (y = !1), (v = b.value));
}
function r() {
w || ((L = b.value), (w = a.a.setTimeout(z, 4)));
}
function z() {
clearTimeout(w);
L = w = n;
var d = b.value;
v !== d && ((v = d), a.m.eb(c(), k, "textInput", d));
}
var v = b.value,
w,
L,
A = 9 == a.a.W ? r : z,
y = !1;
g && l("keypress", z);
11 > g &&
l("propertychange", function (a) {
y || "value" !== a.propertyName || A();
});
8 == g && (l("keyup", z), l("keydown", z));
p && (p(b, A), l("dragend", r));
(!g || 9 <= g) && l("input", A);
5 > e && "textarea" === a.a.R(b)
? (l("keydown", r), l("paste", r), l("cut", r))
: 11 > d
? l("keydown", r)
: 4 > f
? (l("DOMAutoComplete", z), l("dragdrop", z), l("drop", z))
: h && "number" === b.type && l("keydown", r);
l("change", z);
l("blur", z);
a.o(m, null, { l: b });
},
};
a.m.wa.textInput = !0;
a.c.textinput = {
preprocess: function (a, b, c) {
c("textInput", a);
},
};
})();
a.c.uniqueName = {
init: function (b, c) {
if (c()) {
var d = "ko_unique_" + ++a.c.uniqueName.rd;
a.a.Yc(b, d);
}
},
};
a.c.uniqueName.rd = 0;
a.c.using = {
init: function (b, c, d, e, f) {
var g;
d.has("as") && (g = { as: d.get("as"), noChildContext: d.get("noChildContext") });
c = f.createChildContext(c, g);
a.Oa(c, b);
return { controlsDescendantBindings: !0 };
},
};
a.h.ea.using = !0;
a.c.value = {
init: function (b, c, d) {
var e = a.a.R(b),
f = "input" == e;
if (!f || ("checkbox" != b.type && "radio" != b.type)) {
var g = [],
h = d.get("valueUpdate"),
m = !1,
k = null;
h && ("string" == typeof h ? (g = [h]) : (g = a.a.wc(h)), a.a.Pa(g, "change"));
var l = function () {
k = null;
m = !1;
var e = c(),
f = a.w.M(b);
a.m.eb(e, d, "value", f);
};
!a.a.W ||
!f ||
"text" != b.type ||
"off" == b.autocomplete ||
(b.form && "off" == b.form.autocomplete) ||
-1 != a.a.A(g, "propertychange") ||
(a.a.B(b, "propertychange", function () {
m = !0;
}),
a.a.B(b, "focus", function () {
m = !1;
}),
a.a.B(b, "blur", function () {
m && l();
}));
a.a.D(g, function (c) {
var d = l;
a.a.Ud(c, "after") &&
((d = function () {
k = a.w.M(b);
a.a.setTimeout(l, 0);
}),
(c = c.substring(5)));
a.a.B(b, c, d);
});
var p;
p =
f && "file" == b.type
? function () {
var d = a.a.f(c());
null === d || d === n || "" === d ? (b.value = "") : a.u.G(l);
}
: function () {
var f = a.a.f(c()),
g = a.w.M(b);
if (null !== k && f === k) a.a.setTimeout(p, 0);
else if (f !== g || g === n)
"select" === e
? ((g = d.get("valueAllowUnset")),
a.w.cb(b, f, g),
g || f === a.w.M(b) || a.u.G(l))
: a.w.cb(b, f);
};
if ("select" === e) {
var q;
a.i.subscribe(
b,
a.i.H,
function () {
q
? d.get("valueAllowUnset")
? p()
: l()
: (a.a.B(b, "change", l), (q = a.o(p, null, { l: b })));
},
null,
{ notifyImmediately: !0 }
);
} else a.a.B(b, "change", l), a.o(p, null, { l: b });
} else a.ib(b, { checkedValue: c });
},
update: function () {},
};
a.m.wa.value = !0;
a.c.visible = {
update: function (b, c) {
var d = a.a.f(c()),
e = "none" != b.style.display;
d && !e ? (b.style.display = "") : !d && e && (b.style.display = "none");
},
};
a.c.hidden = {
update: function (b, c) {
a.c.visible.update(b, function () {
return !a.a.f(c());
});
},
};
(function (b) {
a.c[b] = {
init: function (c, d, e, f, g) {
return a.c.event.init.call(
this,
c,
function () {
var a = {};
a[b] = d();
return a;
},
e,
f,
g
);
},
};
})("click");
a.ca = function () {};
a.ca.prototype.renderTemplateSource = function () {
throw Error("Override renderTemplateSource");
};
a.ca.prototype.createJavaScriptEvaluatorBlock = function () {
throw Error("Override createJavaScriptEvaluatorBlock");
};
a.ca.prototype.makeTemplateSource = function (b, c) {
if ("string" == typeof b) {
c = c || w;
var d = c.getElementById(b);
if (!d) throw Error("Cannot find template with ID " + b);
return new a.C.F(d);
}
if (1 == b.nodeType || 8 == b.nodeType) return new a.C.ia(b);
throw Error("Unknown template type: " + b);
};
a.ca.prototype.renderTemplate = function (a, c, d, e) {
a = this.makeTemplateSource(a, e);
return this.renderTemplateSource(a, c, d, e);
};
a.ca.prototype.isTemplateRewritten = function (a, c) {
return !1 === this.allowTemplateRewriting
? !0
: this.makeTemplateSource(a, c).data("isRewritten");
};
a.ca.prototype.rewriteTemplate = function (a, c, d) {
a = this.makeTemplateSource(a, d);
c = c(a.text());
a.text(c);
a.data("isRewritten", !0);
};
a.b("templateEngine", a.ca);
a.kc = (function () {
function b(b, c, d, h) {
b = a.m.ac(b);
for (var m = a.m.Ra, k = 0; k < b.length; k++) {
var l = b[k].key;
if (Object.prototype.hasOwnProperty.call(m, l)) {
var p = m[l];
if ("function" === typeof p) {
if ((l = p(b[k].value))) throw Error(l);
} else if (!p)
throw Error(
"This template engine does not support the '" +
l +
"' binding within its templates"
);
}
}
d =
"ko.__tr_ambtns(function($context,$element){return(function(){return{ " +
a.m.vb(b, { valueAccessors: !0 }) +
" } })()},'" +
d.toLowerCase() +
"')";
return h.createJavaScriptEvaluatorBlock(d) + c;
}
var c =
/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,
d = /\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;
return {
xd: function (b, c, d) {
c.isTemplateRewritten(b, d) ||
c.rewriteTemplate(
b,
function (b) {
return a.kc.Ld(b, c);
},
d
);
},
Ld: function (a, f) {
return a
.replace(c, function (a, c, d, e, l) {
return b(l, c, d, f);
})
.replace(d, function (a, c) {
return b(c, "\x3c!-- ko --\x3e", "#comment", f);
});
},
md: function (b, c) {
return a.aa.Xb(function (d, h) {
var m = d.nextSibling;
m && m.nodeName.toLowerCase() === c && a.ib(m, b, h);
});
},
};
})();
a.b("__tr_ambtns", a.kc.md);
(function () {
a.C = {};
a.C.F = function (b) {
if ((this.F = b)) {
var c = a.a.R(b);
this.ab =
"script" === c
? 1
: "textarea" === c
? 2
: "template" == c && b.content && 11 === b.content.nodeType
? 3
: 4;
}
};
a.C.F.prototype.text = function () {
var b = 1 === this.ab ? "text" : 2 === this.ab ? "value" : "innerHTML";
if (0 == arguments.length) return this.F[b];
var c = arguments[0];
"innerHTML" === b ? a.a.fc(this.F, c) : (this.F[b] = c);
};
var b = a.a.g.Z() + "_";
a.C.F.prototype.data = function (c) {
if (1 === arguments.length) return a.a.g.get(this.F, b + c);
a.a.g.set(this.F, b + c, arguments[1]);
};
var c = a.a.g.Z();
a.C.F.prototype.nodes = function () {
var b = this.F;
if (0 == arguments.length) {
var e = a.a.g.get(b, c) || {},
f = e.lb || (3 === this.ab ? b.content : 4 === this.ab ? b : n);
if (!f || e.jd) {
var g = this.text();
g &&
g !== e.bb &&
((f = a.a.Md(g, b.ownerDocument)), a.a.g.set(b, c, { lb: f, bb: g, jd: !0 }));
}
return f;
}
e = arguments[0];
this.ab !== n && this.text("");
a.a.g.set(b, c, { lb: e });
};
a.C.ia = function (a) {
this.F = a;
};
a.C.ia.prototype = new a.C.F();
a.C.ia.prototype.constructor = a.C.ia;
a.C.ia.prototype.text = function () {
if (0 == arguments.length) {
var b = a.a.g.get(this.F, c) || {};
b.bb === n && b.lb && (b.bb = b.lb.innerHTML);
return b.bb;
}
a.a.g.set(this.F, c, { bb: arguments[0] });
};
a.b("templateSources", a.C);
a.b("templateSources.domElement", a.C.F);
a.b("templateSources.anonymousTemplate", a.C.ia);
})();
(function () {
function b(b, c, d) {
var e;
for (c = a.h.nextSibling(c); b && (e = b) !== c; )
(b = a.h.nextSibling(e)), d(e, b);
}
function c(c, d) {
if (c.length) {
var e = c[0],
f = c[c.length - 1],
g = e.parentNode,
h = a.ga.instance,
m = h.preprocessNode;
if (m) {
b(e, f, function (a, b) {
var c = a.previousSibling,
d = m.call(h, a);
d && (a === e && (e = d[0] || b), a === f && (f = d[d.length - 1] || c));
});
c.length = 0;
if (!e) return;
e === f ? c.push(e) : (c.push(e, f), a.a.Ua(c, g));
}
b(e, f, function (b) {
(1 !== b.nodeType && 8 !== b.nodeType) || a.vc(d, b);
});
b(e, f, function (b) {
(1 !== b.nodeType && 8 !== b.nodeType) || a.aa.cd(b, [d]);
});
a.a.Ua(c, g);
}
}
function d(a) {
return a.nodeType ? a : 0 < a.length ? a[0] : null;
}
function e(b, e, f, h, m) {
m = m || {};
var n = ((b && d(b)) || f || {}).ownerDocument,
B = m.templateEngine || g;
a.kc.xd(f, B, n);
f = B.renderTemplate(f, h, m, n);
if (
"number" != typeof f.length ||
(0 < f.length && "number" != typeof f[0].nodeType)
)
throw Error("Template engine must return an array of DOM nodes");
n = !1;
switch (e) {
case "replaceChildren":
a.h.va(b, f);
n = !0;
break;
case "replaceNode":
a.a.Xc(b, f);
n = !0;
break;
case "ignoreTargetNode":
break;
default:
throw Error("Unknown renderMode: " + e);
}
n &&
(c(f, h),
m.afterRender && a.u.G(m.afterRender, null, [f, h[m.as || "$data"]]),
"replaceChildren" == e && a.i.ma(b, a.i.H));
return f;
}
function f(b, c, d) {
return a.O(b) ? b() : "function" === typeof b ? b(c, d) : b;
}
var g;
a.gc = function (b) {
if (b != n && !(b instanceof a.ca))
throw Error("templateEngine must inherit from ko.templateEngine");
g = b;
};
a.dc = function (b, c, h, m, t) {
h = h || {};
if ((h.templateEngine || g) == n)
throw Error("Set a template engine before calling renderTemplate");
t = t || "replaceChildren";
if (m) {
var x = d(m);
return a.$(
function () {
var g =
c && c instanceof a.fa
? c
: new a.fa(c, null, null, null, { exportDependencies: !0 }),
n = f(b, g.$data, g),
g = e(m, t, n, g, h);
"replaceNode" == t && ((m = g), (x = d(m)));
},
null,
{
Sa: function () {
return !x || !a.a.Sb(x);
},
l: x && "replaceNode" == t ? x.parentNode : x,
}
);
}
return a.aa.Xb(function (d) {
a.dc(b, c, h, d, "replaceNode");
});
};
a.Qd = function (b, d, g, h, m) {
function x(b, c) {
a.u.G(a.a.ec, null, [h, b, u, g, r, c]);
a.i.ma(h, a.i.H);
}
function r(a, b) {
c(b, v);
g.afterRender && g.afterRender(b, a);
v = null;
}
function u(a, c) {
v = m.createChildContext(a, {
as: z,
noChildContext: g.noChildContext,
extend: function (a) {
a.$index = c;
z && (a[z + "Index"] = c);
},
});
var d = f(b, a, v);
return e(h, "ignoreTargetNode", d, v, g);
}
var v,
z = g.as,
w =
!1 === g.includeDestroyed ||
(a.options.foreachHidesDestroyed && !g.includeDestroyed);
if (w || g.beforeRemove || !a.Pc(d))
return a.$(
function () {
var b = a.a.f(d) || [];
"undefined" == typeof b.length && (b = [b]);
w &&
(b = a.a.jb(b, function (b) {
return b === n || null === b || !a.a.f(b._destroy);
}));
x(b);
},
null,
{ l: h }
);
x(d.v());
var A = d.subscribe(
function (a) {
x(d(), a);
},
null,
"arrayChange"
);
A.l(h);
return A;
};
var h = a.a.g.Z(),
m = a.a.g.Z();
a.c.template = {
init: function (b, c) {
var d = a.a.f(c());
if ("string" == typeof d || "name" in d) a.h.Ea(b);
else if ("nodes" in d) {
d = d.nodes || [];
if (a.O(d))
throw Error('The "nodes" option must be a plain, non-observable array.');
var e = d[0] && d[0].parentNode;
(e && a.a.g.get(e, m)) || ((e = a.a.Yb(d)), a.a.g.set(e, m, !0));
new a.C.ia(b).nodes(e);
} else if (((d = a.h.childNodes(b)), 0 < d.length))
(e = a.a.Yb(d)), new a.C.ia(b).nodes(e);
else
throw Error("Anonymous template defined, but no template content was provided");
return { controlsDescendantBindings: !0 };
},
update: function (b, c, d, e, f) {
var g = c();
c = a.a.f(g);
d = !0;
e = null;
"string" == typeof c
? (c = {})
: ((g = "name" in c ? c.name : b),
"if" in c && (d = a.a.f(c["if"])),
d && "ifnot" in c && (d = !a.a.f(c.ifnot)),
d && !g && (d = !1));
"foreach" in c
? (e = a.Qd(g, (d && c.foreach) || [], c, b, f))
: d
? ((d = f),
"data" in c &&
(d = f.createChildContext(c.data, {
as: c.as,
noChildContext: c.noChildContext,
exportDependencies: !0,
})),
(e = a.dc(g, d, c, b)))
: a.h.Ea(b);
f = e;
(c = a.a.g.get(b, h)) && "function" == typeof c.s && c.s();
a.a.g.set(b, h, !f || (f.ja && !f.ja()) ? n : f);
},
};
a.m.Ra.template = function (b) {
b = a.m.ac(b);
return (1 == b.length && b[0].unknown) || a.m.Id(b, "name")
? null
: "This template engine does not support anonymous templates nested within its templates";
};
a.h.ea.template = !0;
})();
a.b("setTemplateEngine", a.gc);
a.b("renderTemplate", a.dc);
a.a.Kc = function (a, c, d) {
if (a.length && c.length) {
var e, f, g, h, m;
for (e = f = 0; (!d || e < d) && (h = a[f]); ++f) {
for (g = 0; (m = c[g]); ++g)
if (h.value === m.value) {
h.moved = m.index;
m.moved = h.index;
c.splice(g, 1);
e = g = 0;
break;
}
e += g;
}
}
};
a.a.Pb = (function () {
function b(b, d, e, f, g) {
var h = Math.min,
m = Math.max,
k = [],
l,
p = b.length,
q,
n = d.length,
r = n - p || 1,
v = p + n + 1,
u,
w,
z;
for (l = 0; l <= p; l++)
for (w = u, k.push((u = [])), z = h(n, l + r), q = m(0, l - 1); q <= z; q++)
u[q] = q
? l
? b[l - 1] === d[q - 1]
? w[q - 1]
: h(w[q] || v, u[q - 1] || v) + 1
: q + 1
: l + 1;
h = [];
m = [];
r = [];
l = p;
for (q = n; l || q; )
(n = k[l][q] - 1),
q && n === k[l][q - 1]
? m.push((h[h.length] = { status: e, value: d[--q], index: q }))
: l && n === k[l - 1][q]
? r.push((h[h.length] = { status: f, value: b[--l], index: l }))
: (--q, --l, g.sparse || h.push({ status: "retained", value: d[q] }));
a.a.Kc(r, m, !g.dontLimitMoves && 10 * p);
return h.reverse();
}
return function (a, d, e) {
e = "boolean" === typeof e ? { dontLimitMoves: e } : e || {};
a = a || [];
d = d || [];
return a.length < d.length
? b(a, d, "added", "deleted", e)
: b(d, a, "deleted", "added", e);
};
})();
a.b("utils.compareArrays", a.a.Pb);
(function () {
function b(b, c, d, h, m) {
var k = [],
l = a.$(
function () {
var l = c(d, m, a.a.Ua(k, b)) || [];
0 < k.length && (a.a.Xc(k, l), h && a.u.G(h, null, [d, l, m]));
k.length = 0;
a.a.Nb(k, l);
},
null,
{
l: b,
Sa: function () {
return !a.a.kd(k);
},
}
);
return { Y: k, $: l.ja() ? l : n };
}
var c = a.a.g.Z(),
d = a.a.g.Z();
a.a.ec = function (e, f, g, h, m, k) {
function l(b) {
y = { Aa: b, pb: a.ta(w++) };
v.push(y);
r || F.push(y);
}
function p(b) {
y = t[b];
w !== y.pb.v() && D.push(y);
y.pb(w++);
a.a.Ua(y.Y, e);
v.push(y);
}
function q(b, c) {
if (b)
for (var d = 0, e = c.length; d < e; d++)
a.a.D(c[d].Y, function (a) {
b(a, d, c[d].Aa);
});
}
f = f || [];
"undefined" == typeof f.length && (f = [f]);
h = h || {};
var t = a.a.g.get(e, c),
r = !t,
v = [],
u = 0,
w = 0,
z = [],
A = [],
C = [],
D = [],
F = [],
y,
I = 0;
if (r) a.a.D(f, l);
else {
if (!k || (t && t._countWaitingForRemove)) {
var E = a.a.Mb(t, function (a) {
return a.Aa;
});
k = a.a.Pb(E, f, { dontLimitMoves: h.dontLimitMoves, sparse: !0 });
}
for (var E = 0, G, H, K; (G = k[E]); E++)
switch (((H = G.moved), (K = G.index), G.status)) {
case "deleted":
for (; u < K; ) p(u++);
H === n &&
((y = t[u]),
y.$ && (y.$.s(), (y.$ = n)),
a.a.Ua(y.Y, e).length &&
(h.beforeRemove &&
(v.push(y), I++, y.Aa === d ? (y = null) : C.push(y)),
y && z.push.apply(z, y.Y)));
u++;
break;
case "added":
for (; w < K; ) p(u++);
H !== n ? (A.push(v.length), p(H)) : l(G.value);
}
for (; w < f.length; ) p(u++);
v._countWaitingForRemove = I;
}
a.a.g.set(e, c, v);
q(h.beforeMove, D);
a.a.D(z, h.beforeRemove ? a.oa : a.removeNode);
var M, O, P;
try {
P = e.ownerDocument.activeElement;
} catch (N) {}
if (A.length)
for (; (E = A.shift()) != n; ) {
y = v[E];
for (M = n; E; )
if ((O = v[--E].Y) && O.length) {
M = O[O.length - 1];
break;
}
for (f = 0; (u = y.Y[f]); M = u, f++) a.h.Wb(e, u, M);
}
for (E = 0; (y = v[E]); E++) {
y.Y || a.a.extend(y, b(e, g, y.Aa, m, y.pb));
for (f = 0; (u = y.Y[f]); M = u, f++) a.h.Wb(e, u, M);
!y.Ed && m && (m(y.Aa, y.Y, y.pb), (y.Ed = !0), (M = y.Y[y.Y.length - 1]));
}
P && e.ownerDocument.activeElement != P && P.focus();
q(h.beforeRemove, C);
for (E = 0; E < C.length; ++E) C[E].Aa = d;
q(h.afterMove, D);
q(h.afterAdd, F);
};
})();
a.b("utils.setDomNodeChildrenFromArrayMapping", a.a.ec);
a.ba = function () {
this.allowTemplateRewriting = !1;
};
a.ba.prototype = new a.ca();
a.ba.prototype.constructor = a.ba;
a.ba.prototype.renderTemplateSource = function (b, c, d, e) {
if ((c = (9 > a.a.W ? 0 : b.nodes) ? b.nodes() : null))
return a.a.la(c.cloneNode(!0).childNodes);
b = b.text();
return a.a.ua(b, e);
};
a.ba.Ma = new a.ba();
a.gc(a.ba.Ma);
a.b("nativeTemplateEngine", a.ba);
(function () {
a.$a = function () {
var a = (this.Hd = (function () {
if (!v || !v.tmpl) return 0;
try {
if (0 <= v.tmpl.tag.tmpl.open.toString().indexOf("__")) return 2;
} catch (a) {}
return 1;
})());
this.renderTemplateSource = function (b, e, f, g) {
g = g || w;
f = f || {};
if (2 > a)
throw Error(
"Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later."
);
var h = b.data("precompiled");
h ||
((h = b.text() || ""),
(h = v.template(
null,
"{{ko_with $item.koBindingContext}}" + h + "{{/ko_with}}"
)),
b.data("precompiled", h));
b = [e.$data];
e = v.extend({ koBindingContext: e }, f.templateOptions);
e = v.tmpl(h, b, e);
e.appendTo(g.createElement("div"));
v.fragments = {};
return e;
};
this.createJavaScriptEvaluatorBlock = function (a) {
return "{{ko_code ((function() { return " + a + " })()) }}";
};
this.addTemplate = function (a, b) {
w.write("";
};
SurveyTemplateText.prototype.replaceText = function (
replaceText,
id,
questionType
) {
if (questionType === void 0) {
questionType = null;
}
var posId = this.getId(id, questionType);
var pos = this.text.indexOf(posId);
if (pos < 0) {
this.addText(replaceText, id, questionType);
return;
}
pos = this.text.indexOf(">", pos);
if (pos < 0) return;
var startPos = pos + 1;
var endString = "";
pos = this.text.indexOf(endString, startPos);
if (pos < 0) return;
this.text =
this.text.substring(0, startPos) + replaceText + this.text.substring(pos);
};
SurveyTemplateText.prototype.getId = function (id, questionType) {
var result = 'id="survey-' + id;
if (questionType) {
result += "-" + questionType;
}
return result + '"';
};
Object.defineProperty(SurveyTemplateText.prototype, "text", {
get: function () {
return koTemplate;
},
set: function (value) {
koTemplate = value;
},
enumerable: false,
configurable: true,
});
return SurveyTemplateText;
})();
/***/
},
/***/ "./src/knockout/templates/comment.html":
/*!*********************************************!*\
!*** ./src/knockout/templates/comment.html ***!
\*********************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/flowpanel.html":
/*!***********************************************!*\
!*** ./src/knockout/templates/flowpanel.html ***!
\***********************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n\n';
/***/
},
/***/ "./src/knockout/templates/header.html":
/*!********************************************!*\
!*** ./src/knockout/templates/header.html ***!
\********************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"";
/***/
},
/***/ "./src/knockout/templates/index.html":
/*!*******************************************!*\
!*** ./src/knockout/templates/index.html ***!
\*******************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n\n';
/***/
},
/***/ "./src/knockout/templates/page.html":
/*!******************************************!*\
!*** ./src/knockout/templates/page.html ***!
\******************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"\n";
/***/
},
/***/ "./src/knockout/templates/panel.html":
/*!*******************************************!*\
!*** ./src/knockout/templates/panel.html ***!
\*******************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"\n";
/***/
},
/***/ "./src/knockout/templates/popup-pointer.html":
/*!***************************************************!*\
!*** ./src/knockout/templates/popup-pointer.html ***!
\***************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'';
/***/
},
/***/ "./src/knockout/templates/question-boolean.html":
/*!******************************************************!*\
!*** ./src/knockout/templates/question-boolean.html ***!
\******************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'';
/***/
},
/***/ "./src/knockout/templates/question-buttongroup.html":
/*!**********************************************************!*\
!*** ./src/knockout/templates/question-buttongroup.html ***!
\**********************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-checkbox.html":
/*!*******************************************************!*\
!*** ./src/knockout/templates/question-checkbox.html ***!
\*******************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n\n';
/***/
},
/***/ "./src/knockout/templates/question-comment.html":
/*!******************************************************!*\
!*** ./src/knockout/templates/question-comment.html ***!
\******************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"";
/***/
},
/***/ "./src/knockout/templates/question-composite.html":
/*!********************************************************!*\
!*** ./src/knockout/templates/question-composite.html ***!
\********************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"\n";
/***/
},
/***/ "./src/knockout/templates/question-custom.html":
/*!*****************************************************!*\
!*** ./src/knockout/templates/question-custom.html ***!
\*****************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-dropdown.html":
/*!*******************************************************!*\
!*** ./src/knockout/templates/question-dropdown.html ***!
\*******************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"\n";
/***/
},
/***/ "./src/knockout/templates/question-empty.html":
/*!****************************************************!*\
!*** ./src/knockout/templates/question-empty.html ***!
\****************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-errors.html":
/*!*****************************************************!*\
!*** ./src/knockout/templates/question-errors.html ***!
\*****************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'';
/***/
},
/***/ "./src/knockout/templates/question-expression.html":
/*!*********************************************************!*\
!*** ./src/knockout/templates/question-expression.html ***!
\*********************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-file.html":
/*!***************************************************!*\
!*** ./src/knockout/templates/question-file.html ***!
\***************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n\n\n';
/***/
},
/***/ "./src/knockout/templates/question-html.html":
/*!***************************************************!*\
!*** ./src/knockout/templates/question-html.html ***!
\***************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-image.html":
/*!****************************************************!*\
!*** ./src/knockout/templates/question-image.html ***!
\****************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-imagepicker.html":
/*!**********************************************************!*\
!*** ./src/knockout/templates/question-imagepicker.html ***!
\**********************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-matrix.html":
/*!*****************************************************!*\
!*** ./src/knockout/templates/question-matrix.html ***!
\*****************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n\n\n';
/***/
},
/***/ "./src/knockout/templates/question-matrixdropdown.html":
/*!*************************************************************!*\
!*** ./src/knockout/templates/question-matrixdropdown.html ***!
\*************************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'';
/***/
},
/***/ "./src/knockout/templates/question-matrixdynamic.html":
/*!************************************************************!*\
!*** ./src/knockout/templates/question-matrixdynamic.html ***!
\************************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n\n';
/***/
},
/***/ "./src/knockout/templates/question-multipletext.html":
/*!***********************************************************!*\
!*** ./src/knockout/templates/question-multipletext.html ***!
\***********************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-paneldynamic-navigator.html":
/*!*********************************************************************!*\
!*** ./src/knockout/templates/question-paneldynamic-navigator.html ***!
\*********************************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-paneldynamic.html":
/*!***********************************************************!*\
!*** ./src/knockout/templates/question-paneldynamic.html ***!
\***********************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"";
/***/
},
/***/ "./src/knockout/templates/question-radiogroup.html":
/*!*********************************************************!*\
!*** ./src/knockout/templates/question-radiogroup.html ***!
\*********************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n\n';
/***/
},
/***/ "./src/knockout/templates/question-ranking.html":
/*!******************************************************!*\
!*** ./src/knockout/templates/question-ranking.html ***!
\******************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n\n\n';
/***/
},
/***/ "./src/knockout/templates/question-rating.html":
/*!*****************************************************!*\
!*** ./src/knockout/templates/question-rating.html ***!
\*****************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/question-signaturepad.html":
/*!***********************************************************!*\
!*** ./src/knockout/templates/question-signaturepad.html ***!
\***********************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'';
/***/
},
/***/ "./src/knockout/templates/question-tagbox.html":
/*!*****************************************************!*\
!*** ./src/knockout/templates/question-tagbox.html ***!
\*****************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"";
/***/
},
/***/ "./src/knockout/templates/question-text.html":
/*!***************************************************!*\
!*** ./src/knockout/templates/question-text.html ***!
\***************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"\n";
/***/
},
/***/ "./src/knockout/templates/question.html":
/*!**********************************************!*\
!*** ./src/knockout/templates/question.html ***!
\**********************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"\n";
/***/
},
/***/ "./src/knockout/templates/questioncontent.html":
/*!*****************************************************!*\
!*** ./src/knockout/templates/questioncontent.html ***!
\*****************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"";
/***/
},
/***/ "./src/knockout/templates/questiontitle.html":
/*!***************************************************!*\
!*** ./src/knockout/templates/questiontitle.html ***!
\***************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"";
/***/
},
/***/ "./src/knockout/templates/row.html":
/*!*****************************************!*\
!*** ./src/knockout/templates/row.html ***!
\*****************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/rows.html":
/*!******************************************!*\
!*** ./src/knockout/templates/rows.html ***!
\******************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
"";
/***/
},
/***/ "./src/knockout/templates/string.html":
/*!********************************************!*\
!*** ./src/knockout/templates/string.html ***!
\********************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ "./src/knockout/templates/timerpanel.html":
/*!************************************************!*\
!*** ./src/knockout/templates/timerpanel.html ***!
\************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports =
'\n';
/***/
},
/***/ knockout:
/*!********************************************************************************************!*\
!*** external {"root":"ko","commonjs2":"knockout","commonjs":"knockout","amd":"knockout"} ***!
\********************************************************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_knockout__;
/***/
},
/***/ "survey-core":
/*!*********************************************************************************************************!*\
!*** external {"root":"Survey","commonjs2":"survey-core","commonjs":"survey-core","amd":"survey-core"} ***!
\*********************************************************************************************************/
/*! no static exports found */
/***/ function (module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_survey_core__;
/***/
},
/******/
}
);
}
);
})(surveyKnockoutUi);
var surveyKnockoutUiExports = surveyKnockoutUi.exports;
// import SurveyJS dependencies: survey-core and survey-knockout-ui (UI theme): https://surveyjs.io/documentation/surveyjs-architecture#surveyjs-packages
const info = {
name: "survey",
parameters: {
/**
* A SurveyJS survey model defined as a JavaScript object.
* See: https://surveyjs.io/form-library/documentation/design-survey/create-a-simple-survey#define-a-static-survey-model-in-json
*/
survey_json: {
type: jspsych.ParameterType.OBJECT,
default: {},
pretty_name: "Survey JSON object",
},
/**
* A SurveyJS survey model defined as a function. The function receives an empty SurveyJS survey object as an argument.
* See: https://surveyjs.io/form-library/documentation/design-survey/create-a-simple-survey#create-or-change-a-survey-model-dynamically
*/
survey_function: {
type: jspsych.ParameterType.FUNCTION,
default: null,
pretty_name: "Survey function",
},
/**
* A function that can be used to validate responses. This function is called whenever the SurveyJS onValidateQuestion event occurs.
* See: https://surveyjs.io/form-library/documentation/data-validation#implement-custom-client-side-validation
*/
validation_function: {
type: jspsych.ParameterType.FUNCTION,
default: null,
pretty_name: "Validation function",
},
},
};
// Define the mapping between custom jsPsych class names (jspsych-*) and class names provided by SurveyJS.
// See here for full list: https://github.com/surveyjs/survey-library/blob/master/src/defaultCss/defaultV2Css.ts.
// To modify the survey plugin CSS:
// (1) search for the CSS selector that you want to modify,
// (2) look it up and get the associated ID (note that some of these are nested)
// (3) if the ID isn't already listed as a key here, add it and use a new jspsych class name as the value
// (4) in survey.scss, use the jspsych class name as the selector and add/modify the rule
const jsPsychSurveyCssClassMap = {
body: "jspsych-body",
bodyContainer: "jspsych-body-container",
question: {
content: "jspsych-question-content",
mainRoot: "jspsych-question-root",
},
page: {
root: "jspsych-page",
},
footer: "jspsych-footer",
navigation: {
complete: "jspsych-nav-complete",
},
rowMultiple: "jspsych-row-multiple",
};
/**
* **survey**
*
* jsPsych plugin for presenting complex questionnaires using the SurveyJS library
*
* @author Becky Gilbert
* @see {@link https://www.jspsych.org/plugins/survey/ survey plugin documentation on jspsych.org}
*/
class SurveyPlugin {
constructor(jsPsych) {
this.jsPsych = jsPsych;
this.jsPsych = jsPsych;
}
applyStyles(survey) {
// TO DO: this method of applying custom styles is deprecated, but I'm
// saving this here for reference while we make decisions about default style
// import { StylesManager } from "survey-core";
// const colors = StylesManager.ThemeColors["default"];
// colors["$background-dim"] = "#f3f3f3";
// colors["$body-background-color"] = "white";
// colors["$body-container-background-color"] = "white";
// colors["$border-color"] = "#e7e7e7";
// colors["$disable-color"] = "#dbdbdb";
// colors["$disabled-label-color"] = "rgba(64, 64, 64, 0.5)";
// colors["$disabled-slider-color"] = "#cfcfcf";
// colors["$disabled-switch-color"] = "#9f9f9f";
// colors["$error-background-color"] = "#fd6575";
// colors["$error-color"] = "#ed5565";
// colors["$foreground-disabled"] = "#161616";
// //colors['$foreground-light'] = "orange"
// colors["$header-background-color"] = "white";
// colors["$header-color"] = "#6d7072";
// colors["$inputs-background-color"] = "white";
// colors["$main-color"] = "#919191";
// colors["$main-hover-color"] = "#6b6b6b";
// colors["$progress-buttons-color"] = "#8dd9ca";
// colors["$progress-buttons-line-color"] = "#d4d4d4";
// colors["$progress-text-color"] = "#9d9d9d";
// colors["$slider-color"] = "white";
// colors["$text-color"] = "#6d7072";
// colors["$text-input-color"] = "#6d7072";
// StylesManager.applyTheme();
// Updated method for creating custom themes
// https://surveyjs.io/form-library/documentation/manage-default-themes-and-styles#create-a-custom-theme
//colors["$border-color"] = "#e7e7e7";
survey.applyTheme({
cssVariables: {
"--sjs-general-backcolor": "rgba(255, 255, 255, 1)",
"--sjs-general-backcolor-dim": "rgba(255, 255, 255, 1)",
"--sjs-general-backcolor-dim-light": "rgba(249, 249, 249, 1)",
"--sjs-general-forecolor": "rgba(0, 0, 0, 0.91)",
"--sjs-general-forecolor-light": "rgba(0, 0, 0, 0.45)",
"--sjs-general-dim-forecolor": "rgba(0, 0, 0, 0.91)",
"--sjs-general-dim-forecolor-light": "rgba(0, 0, 0, 0.45)",
"--sjs-primary-backcolor": "#474747",
"--sjs-primary-backcolor-light": "rgba(0, 0, 0, 0.1)",
"--sjs-primary-backcolor-dark": "#000000",
"--sjs-primary-forecolor": "rgba(255, 255, 255, 1)",
"--sjs-primary-forecolor-light": "rgba(255, 255, 255, 0.25)",
// all shadow and border variables below affect the question/panel borders
"--sjs-shadow-small": "0px 0px 0px 1px rgba(0, 0, 0, 0.15)",
"--sjs-shadow-small-reset": "0px 0px 0px 0px rgba(0, 0, 0, 0.15)",
"--sjs-shadow-medium": "0px 0px 0px 1px rgba(0, 0, 0, 0.1)",
"--sjs-shadow-large": "0px 8px 16px 0px rgba(0, 0, 0, 0.05)",
"--sjs-shadow-inner": "0px 0px 0px 1px rgba(0, 0, 0, 0.15)",
"--sjs-shadow-inner-reset": "0px 0px 0px 0px rgba(0, 0, 0, 0.15)",
"--sjs-border-light": "rgba(0, 0, 0, 0.15)",
"--sjs-border-default": "rgba(0, 0, 0, 0.15)",
"--sjs-border-inside": " rgba(0, 0, 0, 0.16)",
},
themeName: "plain",
colorPalette: "light",
isPanelless: false,
});
}
trial(display_element, trial) {
// check for empty JSON and no survey function
if (JSON.stringify(trial.survey_json) === "{}" && trial.survey_function === null) {
console.error(
"Survey plugin warning: you must define the survey using a non-empty JSON object and/or a survey function."
);
}
this.survey = new surveyKnockoutUiExports.Survey(trial.survey_json);
if (trial.survey_function !== null) {
trial.survey_function(this.survey);
}
this.applyStyles(this.survey); // customize colors
// apply our custom CSS class names
this.survey.css = jsPsychSurveyCssClassMap;
if (trial.validation_function) {
this.survey.onValidateQuestion.add(trial.validation_function);
}
this.survey.onComplete.add((sender, options) => {
var _a;
// add default values to any questions without responses
const all_questions = sender.getAllQuestions();
const data_names = Object.keys(sender.data);
for (const question of all_questions) {
if (!data_names.includes(question.name)) {
sender.mergeData({
[question.name]: (_a = question.defaultValue) !== null && _a !== void 0 ? _a : null,
});
}
}
// clear display and reset flex on jspsych-content-wrapper
display_element.innerHTML = "";
document.querySelector(".jspsych-content-wrapper").style.display = "flex";
// finish trial and save data
this.jsPsych.finishTrial({
rt: Math.round(performance.now() - this.start_time),
response: sender.data,
});
});
// remove flex display from jspsych-content-wrapper to get formatting to work
document.querySelector(".jspsych-content-wrapper").style.display = "block";
this.survey.render(display_element);
this.start_time = performance.now();
}
}
SurveyPlugin.info = info;
return SurveyPlugin;
})(jsPsychModule);
//# sourceMappingURL=index.browser.js.map